Current File : //usr/share/man/man5/lf64.5
'\" te
.\" Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
.TH lf64 5 "14 Jul 2008" "SunOS 5.11" "Standards, Environments, and Macros"
.SH NAME
lf64 \- transitional interfaces for 64-bit file offsets
.SH DESCRIPTION
.sp
.LP
The data types, interfaces, and macros described on this page provide explicit access to 64-bit file offsets. They are accessible through the transitional compilation environment described on the \fBlfcompile64\fR(5) manual page. The function prototype and semantics of a transitional interface are equivalent to those of the standard version of the call, except that relevant data types are 64-bit entities. However, there is one exception concerning the behavior of \fBgetrlimit64\fR when called from a 32-bit process. When \fBgetrlimit64\fR is called from a 32-bit process,  it returns a real limit value when the limit value is greater than or equal to 32-bit model maximum and less than 64-bit model maximum. On the other hand, the standard \fBgetrlimit\fR(2) returns a limit value as \fBRLIM_INFINITY\fR for limit values that fall in this range.
.SS "Data Types"
.sp
.LP
The following tables list the standard data or struct types in the left-hand column and their  corresponding explicit 64-bit file offset types in the right-hand column, grouped by header. The absence of an entry in the  left-hand column indicates that there is no existing explicit 32-bit type that corresponds to the 64-bit type listed in the right\(emhand column.  Note that in a 64-bit application, the standard definition is equivalent to the 64-bit file offset definition. 
.SS "<\fBaio.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
struct \fBaiocb\fRstruct \fBaiocb64\fR
   \fBoff_t\fR aio_offset;   \fBoff64_t\fR aio_offset;
.TE

.SS "<\fBsys/dirent.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
struct \fBdirent\fRstruct \fBdirent64\fR
   \fBino_t\fR d_ino;   \fBino64_t\fR d_ino;
   \fBoff_t\fR d_off;   \fBoff64_t\fR d_off;
.TE

.SS "<\fBsys/fcntl.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
struct \fBflock\fRstruct \fBflock64\fR
   \fBoff_t\fR l_start;   \fBoff64_t\fR l_start;
   \fBoff_t\fR l_len;   \fBoff64_t\fR l_len;
\fBF_SETLK\fR\fBF_SETLK64\fR
\fBF_SETLKW\fR\fBF_SETLKW64\fR
\fBF_GETLK\fR\fBF_GETLK64\fR
\fBF_FREESP\fR\fBF_FREESP64\fR
\fBF_ALLOCSP\fR\fBF_ALLOCSP64\fR
\fBO_LARGEFILE\fR
.TE

.SS "<\fBsys/stdio.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
.
\fBfpos_t\fR\fBfpos64_t\fR
.TE

.SS "<\fBsys/resource.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
\fBrlim_t\fR\fBrlim64_t\fR
struct \fBrlimit\fRstruct \fBrlimit64\fR
   \fBrlim_t\fR rlim_cur;   \fBrlim64_t\fR rlim_cur;
   \fBrlim_t\fR rlim_max;   \fBrlim64_t\fR rlim_max;
\fBRLIM_INFINITY\fR\fBRLIM64_INFINITY\fR
\fBRLIM_SAVED_MAX\fR\fBRLIM64_SAVED_MAX\fR
\fBRLIM_SAVED_CUR\fR\fBRLIM64_SAVED_CUR\fR
.TE

.SS "<\fBsys/stat.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
struct \fBstat\fRstruct \fBstat64\fR
   \fBino_t\fR st_ino;   \fBino64_t\fR st_ino;
   \fBoff_t\fR st_size;   \fBoff64_t\fR st_size;
   \fBblkcnt_t\fR st_blocks;   \fBblkcnt64_t\fR st_blocks;
.TE

.SS "<\fBsys/statvfs.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
struct \fBstatvfs\fRstruct \fBstatvfs64\fR
   \fBfsblkcnt_t\fR f_blocks;   \fBfsblkcnt64_t\fR f_blocks;
   \fBfsblkcnt_t\fR f_bfree;   \fBfsblkcnt64_t\fR f_bfree;
   \fBfsblkcnt_t\fR f_bavial;   \fBfsblkcnt64_t\fR f_bavial;
   \fBfsfilcnt_t\fR  f_files;   \fBfsfilcnt64_t\fR  f_files;
   \fBfsfilcnt_t\fR  f_ffree;   \fBfsfilcnt64_t\fR  f_ffree;
   \fBfsfilcnt_t\fR  f_favail;   \fBfsfilcnt64_t\fR  f_favail;
.TE

.SS "<\fBsys/types.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
\fBoff_t\fR;\fBoff64_t\fR;
\fBino_t\fR;\fBino64_t\fR;  
\fBblkcnt_t\fR;\fBblkcnt64_t\fR;
\fBfsblkcnt_t\fR;\fBfsblkcnt64_t\fR;
\fBfsfilcnt_t\fR;\fBfsfilcnt64_t\fR;
.TE

.SS "<\fBunistd.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
\fB_LFS64_LARGEFILE\fR
\fB_LFS64_STDIO\fR
.TE

.SS "<\fBsys/unistd.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
\fB_CS_LFS64_CFLAGS\fR
\fB_CS_LFS64_LDFLAGS\fR
\fB_CS_LFS64_LIBS\fR
\fB_CS_LFS64_LINTFLAGS\fR
.TE

.SS "System Interfaces"
.sp
.LP
The following tables display the standard API and the corresponding transitional  interfaces for 64-bit file offsets. The interfaces are grouped by header. The interface name and the affected data types are displayed in courier font.
.SS "<\fBaio.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBaio_cancel\fR(..., int \fBaio_cancel64\fR(..., 
   struct \fBaiocb\fR *);   struct \fBaiocb64\fR *);
int \fBaio_error\fR(int \fBaio_error64\fR(
   const struct \fBaiocb\fR *);   const struct \fBaiocb64\fR *);
int \fBaio_fsync\fR(..., int \fBaio_fsync64\fR(..., 
   struct \fBaiocb\fR *);   struct \fBaiocb64\fR *);
int \fBaio_read\fR(struct \fBaiocb\fR *);int \fBaio_read64\fR(struct \fBaiocb64\fR *);
int \fBaio_return\fR(struct \fBaiocb\fR *);int \fBaio_return64\fR(struct \fBaiocb64\fR *);
int \fBaio_suspend\fR(int \fBaio_suspend64\fR(
   const struct \fBaiocb\fR *, ...);   const struct \fBaiocb64\fR *, ...);
int \fBaio_waitn\fR(aiocb_t *[],int \fBaio_waitn64\fR(aiocb64_t *[],
   ...);   ...);
int \fBaio_write\fR(struct \fBaiocb\fR *);int \fBaio_write64\fR(struct \fBaiocb64\fR *);
int \fBlio_listio\fR(..., int \fBlio_listio64\fR(..., 
   const struct \fBaiocb\fR *, ...);   const struct \fBaiocb64\fR *, ...);
.TE

.SS "<\fBdirent.h\fR>"
.sp

.sp
.TS
tab();
lw(2.74i) lw(2.76i) 
lw(2.74i) lw(2.76i) 
.
int \fBalphasort\fR(int \fBalphasort64\fR(
   const struct dirent **,    const struct dirent64 **, 
   const struct dirent **)   const struct dirent64 **)
struct \fBdirent *\fR\fBreaddir()\fR;struct \fBdirent64 *\fR\fBreaddir64()\fR;
struct \fBdirent *\fR\fBreaddir_r()\fR;struct \fBdirent64 *\fR\fBreaddir64_r()\fR;
int \fBscandir\fR(..., int \fBscandir64\fR(..., 
   struct dirent *(*[]),    struct dirent64 *(*[]), 
   int (*)(const struct dirent *),   int (*)(const struct dirent64 *),
   int (*)(const struct dirent **,   int (*)(const struct dirent64 **,
      const struct dirent **))      const struct dirent64 **))
.TE

.SS "<\fBfcntl.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBattropen()\fR;int \fBattropen64()\fR;
int \fBcreat()\fR;int \fBcreat64()\fR;
int \fBopen()\fR;int \fBopen64()\fR;
int \fBopenat()\fR;int \fBopenat64()\fR;
int \fBposix_fadvise()\fRint \fBposix_fadvise64()\fR
int \fBposix_fallocate()\fRint \fBposix_fallocate64()\fR
.TE

.SS "<\fBftw.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBftw\fR(...,int \fBftw64\fR(...,
   const struct \fBstat\fR *, ...);   const struct \fBstat64\fR *, ...);

int \fBnftw\fR(..int \fBnftw64\fR(...,
   const struct \fBstat\fR *, ...);   const struct \fBstat64\fR *,  ...);

.TE

.SS "<\fBlibgen.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
.
char *\fBcopylist\fR(..., \fBoff_t\fR);char *\fBcopylist64\fR(..., \fBoff64_t\fR);
.TE

.SS "<\fBstdio.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBfgetpos()\fR;int \fBfgetpos64()\fR;
FILE *\fBfopen()\fR;FILE *\fBfopen64()\fR;
FILE *\fBfreopen()\fR;FILE *\fBfreopen64()\fR;
int \fBfseeko\fR(..., \fBoff_t\fR, \&...);int \fBfseeko64\fR(..., \fBoff64_t\fR, \&...);
int \fBfsetpos\fR(...,int \fBfsetpos64\fR(...,
   const \fBfpos_t\fR *);  const \fBfpos64_t\fR *);
off_t \fBftello()\fR;off64_t \fBftello64()\fR();
FILE *\fBtmpfile()\fR;FILE *\fBtmpfile64()\fR;
.TE

.SS "<\fBstdlib.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
.
int \fBmkstemp()\fR;int \fBmkstemp64()\fR;
.TE

.SS "<\fBsys/async.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBaioread\fR(..., \fBoff_t\fR, \&...);int \fBaioread64\fR(..., \fBoff64_t\fR, \&...);
int \fBaiowrite\fR(..., \fBoff_t\fR, \&...);int \fBaiowrite64\fR(..., \fBoff64_t\fR, \&...);
.TE

.SS "<\fBsys/dirent.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBgetdents\fR(..., \fBdirent\fR);int \fBgetdents64\fR(..., \fBdirent64\fR);

.TE

.SS "<\fBsys/mman.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
.
void \fBmmap\fR(..., \fBoff_t\fR);void \fBmmap64\fR(..., \fBoff64_t\fR);
.TE

.SS "<\fBsys/resource.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBgetrlimit\fR(...,int \fBgetrlimit64\fR(...,
   struct \fBrlimit\fR *);   struct \fBrlimit64\fR *);
int \fBsetrlimit\fR(...,int \fBsetrlimit64\fR(...,
   const struct \fBrlimit\fR *);   const struct \fBrlimit64\fR *);
.TE

.SS "<\fBsys/sendfile.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
ssize_t \fBsendfile\fR(..., ssize_t \fBsendfile64\fR(...,
   \fBoff_t\fR *, ...);   \fBoff64_t\fR *, ...);
ssize_t \fBsendfilev\fR(..., const ssize_t \fBsendfilev64\fR(..., const
   struct \fBsendfilevec\fR *,  ...);  struct \fBsendfilevec64\fR *, ...); 

.TE

.SS "<\fBsys/stat.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBfstat\fR(..., struct \fBstat\fR *);int \fBfstat64\fR(...,  struct \fBstat64\fR *);
int \fBfstatat\fR(..., int \fBfstatat64\fR(..., 
   struct \fBstat\fR *, int);   struct \fBstat64\fR *, int);
int \fBlstat\fR(..., struct \fBstat\fR *);int \fBlstat64\fR(..., struct \fBstat64\fR *);
int \fBstat\fR(..., struct \fBstat\fR *);int \fBstat64\fR(..., struct \fBstat64\fR *);
.TE

.SS "<\fBsys/statvfs.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBstatvfs\fR(...,int \fBstatvfs64\fR(...,
   struct \fBstatvfs\fR *);   struct \fBstatvfs64\fR *);
int \fBfstatvfs\fR(..., int \fBfstatvfs64\fR(..., 
   struct \fBstatvfs\fR *);  struct \fBstatvfs64\fR *); 
.TE

.SS "<\fBucbinclude/stdio.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
FILE *\fBfopen()\fRFILE *\fBfopen64()\fR
FILE *\fBfreopen()\fRFILE *\fBfreopen64()\fR
.TE

.SS "<\fBucbinclude/sys/dir.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBalphasort\fR(int \fBalphasort64\fR(
   struct \fBdirect\fR **,   struct \fBdirect64\fR **,
   struct \fBdirect\fR **);   struct \fBdirect64\fR **);
struct \fBdirect *\fR\fBreaddir()\fR;struct \fBdirect64 *\fR\fBreaddir64()\fR;
int \fBscandir\fR(...,int \fBscandir64\fR(...,
   struct \fBdirect\fR *(*[]);,  ...);   struct \fBdirect64\fR *(*[]);,  ...);

.TE

.SS "<\fBunistd.h\fR>"
.sp

.sp
.TS
tab();
lw(2.75i) lw(2.75i) 
lw(2.75i) lw(2.75i) 
.
int \fBlockf\fR(..., \fBoff_t\fR);int \fBlockf64\fR(..., \fBoff64_t\fR);
\fBoff_t lseek\fR(..., \fBoff_t\fR, \&...);\fBoff64_t lseek64\fR(..., \fBoff64_t\fR, \&...);
int \fBftruncate\fR(..., \fBoff_t\fR);int \fBftruncate64\fR..., \fBoff64_t\fR);
ssize_t \fBpread\fR(..., \fBoff_t\fR);ssize_t \fBpread64\fR..., \fBoff64_t\fR);
ssize_t \fBpwrite\fR(..., \fBoff_t\fR);ssize_t \fBpwrite64\fR(..., \fBoff64_t\fR);
int \fBtruncate\fR(..., \fBoff_t\fR);int \fBtruncate64\fR(..., \fBoff64_t\fR);
.TE

.SH SEE ALSO
.sp
.LP
\fBlfcompile\fR(5), \fBlfcompile64\fR(5)