1 '\" te
   2 .\" Copyright (c) 2008, Sun Microsystems, Inc.  All Rights Reserved.
   3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   6 .\" Copyright (c) 2015, Joyent, Inc.  All rights reserved.
   7 .TH LF64 5 "May 17, 2020"
   8 .SH NAME
   9 lf64 \- transitional interfaces for 64-bit file offsets
  10 .SH DESCRIPTION
  11 The data types, interfaces, and macros described on this page provide explicit
  12 access to 64-bit file offsets. They are accessible through the transitional
  13 compilation environment described on the \fBlfcompile64\fR(5) manual page. The
  14 function prototype and semantics of a transitional interface are equivalent to
  15 those of the standard version of the call, except that relevant data types are
  16 64-bit entities.
  17 .SS "Data Types"
  18 The following tables list the standard data or struct types in the left-hand
  19 column and their  corresponding explicit 64-bit file offset types in the
  20 right-hand column, grouped by header. The absence of an entry in the  left-hand
  21 column indicates that there is no existing explicit 32-bit type that
  22 corresponds to the 64-bit type listed in the right\(emhand column.  Note that
  23 in a 64-bit application, the standard definition is equivalent to the 64-bit
  24 file offset definition.
  25 .SS "<\fBaio.h\fR>"
  26 
  27 .TS
  28 l l
  29 l l .
  30 struct \fBaiocb\fR      struct \fBaiocb64\fR
  31    \fBoff_t\fR aio_offset;         \fBoff64_t\fR aio_offset;
  32 .TE
  33 
  34 .SS "<\fBsys/dirent.h\fR>"
  35 
  36 .TS
  37 l l
  38 l l .
  39 struct \fBdirent\fR     struct \fBdirent64\fR
  40    \fBino_t\fR d_ino;      \fBino64_t\fR d_ino;
  41    \fBoff_t\fR d_off;      \fBoff64_t\fR d_off;
  42 .TE
  43 
  44 .SS "<\fBsys/fcntl.h\fR>"
  45 
  46 .TS
  47 l l
  48 l l .
  49 struct \fBflock\fR      struct \fBflock64\fR
  50    \fBoff_t\fR l_start;    \fBoff64_t\fR l_start;
  51    \fBoff_t\fR l_len;      \fBoff64_t\fR l_len;
  52 \fBF_SETLK\fR   \fBF_SETLK64\fR
  53 \fBF_SETLKW\fR  \fBF_SETLKW64\fR
  54 \fBF_GETLK\fR   \fBF_GETLK64\fR
  55 \fBF_FREESP\fR  \fBF_FREESP64\fR
  56 \fBF_ALLOCSP\fR \fBF_ALLOCSP64\fR
  57         \fBO_LARGEFILE\fR
  58 .TE
  59 
  60 .SS "<\fBsys/stdio.h\fR>"
  61 
  62 .TS
  63 l l .
  64 \fBfpos_t\fR    \fBfpos64_t\fR
  65 .TE
  66 
  67 .SS "<\fBsys/resource.h\fR>"
  68 
  69 .TS
  70 l l
  71 l l .
  72 \fBrlim_t\fR    \fBrlim64_t\fR
  73 struct \fBrlimit\fR     struct \fBrlimit64\fR
  74    \fBrlim_t\fR rlim_cur;          \fBrlim64_t\fR rlim_cur;
  75    \fBrlim_t\fR rlim_max;          \fBrlim64_t\fR rlim_max;
  76 \fBRLIM_INFINITY\fR     \fBRLIM64_INFINITY\fR
  77 \fBRLIM_SAVED_MAX\fR    \fBRLIM64_SAVED_MAX\fR
  78 \fBRLIM_SAVED_CUR\fR    \fBRLIM64_SAVED_CUR\fR
  79 .TE
  80 
  81 .SS "<\fBsys/stat.h\fR>"
  82 
  83 .TS
  84 l l
  85 l l .
  86 struct \fBstat\fR       struct \fBstat64\fR
  87    \fBino_t\fR st_ino;     \fBino64_t\fR st_ino;
  88    \fBoff_t\fR st_size;    \fBoff64_t\fR st_size;
  89    \fBblkcnt_t\fR st_blocks;       \fBblkcnt64_t\fR st_blocks;
  90 .TE
  91 
  92 .SS "<\fBsys/statvfs.h\fR>"
  93 
  94 .TS
  95 l l
  96 l l .
  97 struct \fBstatvfs\fR    struct \fBstatvfs64\fR
  98    \fBfsblkcnt_t\fR f_blocks;      \fBfsblkcnt64_t\fR f_blocks;
  99    \fBfsblkcnt_t\fR f_bfree;       \fBfsblkcnt64_t\fR f_bfree;
 100    \fBfsblkcnt_t\fR f_bavail;      \fBfsblkcnt64_t\fR f_bavail;
 101    \fBfsfilcnt_t\fR  f_files;      \fBfsfilcnt64_t\fR  f_files;
 102    \fBfsfilcnt_t\fR  f_ffree;      \fBfsfilcnt64_t\fR  f_ffree;
 103    \fBfsfilcnt_t\fR  f_favail;     \fBfsfilcnt64_t\fR  f_favail;
 104 .TE
 105 
 106 .SS "<\fBsys/types.h\fR>"
 107 
 108 .TS
 109 l l
 110 l l .
 111 \fBoff_t\fR;    \fBoff64_t\fR;
 112 \fBino_t\fR;    \fBino64_t\fR;
 113 \fBblkcnt_t\fR; \fBblkcnt64_t\fR;
 114 \fBfsblkcnt_t\fR;       \fBfsblkcnt64_t\fR;
 115 \fBfsfilcnt_t\fR;       \fBfsfilcnt64_t\fR;
 116 .TE
 117 
 118 .SS "<\fBunistd.h\fR>"
 119 
 120 .TS
 121 l l
 122 l l .
 123         \fB_LFS64_LARGEFILE\fR
 124         \fB_LFS64_STDIO\fR
 125 .TE
 126 
 127 .SS "<\fBsys/unistd.h\fR>"
 128 
 129 .TS
 130 l l
 131 l l .
 132         \fB_CS_LFS64_CFLAGS\fR
 133         \fB_CS_LFS64_LDFLAGS\fR
 134         \fB_CS_LFS64_LIBS\fR
 135         \fB_CS_LFS64_LINTFLAGS\fR
 136 .TE
 137 
 138 .SS "System Interfaces"
 139 The following tables display the standard API and the corresponding
 140 transitional  interfaces for 64-bit file offsets. The interfaces are grouped by
 141 header. The interface name and the affected data types are displayed in courier
 142 font.
 143 .SS "<\fBaio.h\fR>"
 144 
 145 .TS
 146 l l
 147 l l .
 148 int \fBaio_cancel\fR(...,       int \fBaio_cancel64\fR(...,
 149    struct \fBaiocb\fR *);          struct \fBaiocb64\fR *);
 150 int \fBaio_error\fR(    int \fBaio_error64\fR(
 151    const struct \fBaiocb\fR *);    const struct \fBaiocb64\fR *);
 152 int \fBaio_fsync\fR(...,        int \fBaio_fsync64\fR(...,
 153    struct \fBaiocb\fR *);          struct \fBaiocb64\fR *);
 154 int \fBaio_read\fR(struct \fBaiocb\fR *);       int \fBaio_read64\fR(struct \fBaiocb64\fR *);
 155 int \fBaio_return\fR(struct \fBaiocb\fR *);     int \fBaio_return64\fR(struct \fBaiocb64\fR *);
 156 int \fBaio_suspend\fR(  int \fBaio_suspend64\fR(
 157    const struct \fBaiocb\fR *, ...);       const struct \fBaiocb64\fR *, ...);
 158 int \fBaio_waitn\fR(aiocb_t *[],        int \fBaio_waitn64\fR(aiocb64_t *[],
 159    ...);           ...);
 160 int \fBaio_write\fR(struct \fBaiocb\fR *);      int \fBaio_write64\fR(struct \fBaiocb64\fR *);
 161 int \fBlio_listio\fR(...,       int \fBlio_listio64\fR(...,
 162    const struct \fBaiocb\fR *, ...);       const struct \fBaiocb64\fR *, ...);
 163 .TE
 164 
 165 .SS "<\fBdirent.h\fR>"
 166 
 167 .TS
 168 l l
 169 l l .
 170 int \fBalphasort\fR(    int \fBalphasort64\fR(
 171    const struct dirent **,         const struct dirent64 **,
 172    const struct dirent **)         const struct dirent64 **)
 173 struct \fBdirent *\fR\fBreaddir()\fR;   struct \fBdirent64 *\fR\fBreaddir64()\fR;
 174 struct \fBdirent *\fR\fBreaddir_r()\fR; struct \fBdirent64 *\fR\fBreaddir64_r()\fR;
 175 int \fBscandir\fR(...,  int \fBscandir64\fR(...,
 176    struct dirent *(*[]),           struct dirent64 *(*[]),
 177    int (*)(const struct dirent *),         int (*)(const struct dirent64 *),
 178    int (*)(const struct dirent **,         int (*)(const struct dirent64 **,
 179       const struct dirent **))        const struct dirent64 **))
 180 .TE
 181 
 182 .SS "<\fBfcntl.h\fR>"
 183 
 184 .TS
 185 l l
 186 l l .
 187 int \fBattropen()\fR;   int \fBattropen64()\fR;
 188 int \fBcreat()\fR;      int \fBcreat64()\fR;
 189 int \fBopen()\fR;       int \fBopen64()\fR;
 190 int \fBopenat()\fR;     int \fBopenat64()\fR;
 191 int \fBposix_fadvise()\fR       int \fBposix_fadvise64()\fR
 192 int \fBposix_fallocate()\fR     int \fBposix_fallocate64()\fR
 193 .TE
 194 
 195 .SS "<\fBftw.h\fR>"
 196 
 197 .TS
 198 l l
 199 l l .
 200 int \fBftw\fR(...,      int \fBftw64\fR(...,
 201    const struct \fBstat\fR *, ...);        const struct \fBstat64\fR *, ...);
 202 
 203 int \fBnftw\fR(..       int \fBnftw64\fR(...,
 204    const struct \fBstat\fR *, ...);        const struct \fBstat64\fR *,  ...);
 205 
 206 .TE
 207 
 208 .SS "<\fBlibgen.h\fR>"
 209 
 210 .TS
 211 l l .
 212 char *\fBcopylist\fR(..., \fBoff_t\fR); char *\fBcopylist64\fR(..., \fBoff64_t\fR);
 213 .TE
 214 
 215 .SS "<\fBstdio.h\fR>"
 216 
 217 .TS
 218 l l
 219 l l .
 220 int \fBfgetpos()\fR;    int \fBfgetpos64()\fR;
 221 FILE *\fBfopen()\fR;    FILE *\fBfopen64()\fR;
 222 FILE *\fBfreopen()\fR;  FILE *\fBfreopen64()\fR;
 223 int \fBfseeko\fR(..., \fBoff_t\fR, ...);        int \fBfseeko64\fR(..., \fBoff64_t\fR, ...);
 224 int \fBfsetpos\fR(...,  int \fBfsetpos64\fR(...,
 225    const \fBfpos_t\fR *);         const \fBfpos64_t\fR *);
 226 off_t \fBftello()\fR;   off64_t \fBftello64()\fR();
 227 FILE *\fBtmpfile()\fR;  FILE *\fBtmpfile64()\fR;
 228 .TE
 229 
 230 .SS "<\fBstdlib.h\fR>"
 231 
 232 .TS
 233 l l .
 234 int \fBmkstemp()\fR;    int \fBmkstemp64()\fR;
 235 .TE
 236 
 237 .SS "<\fBsys/async.h\fR>"
 238 
 239 .TS
 240 l l
 241 l l .
 242 int \fBaioread\fR(..., \fBoff_t\fR, ...);       int \fBaioread64\fR(..., \fBoff64_t\fR, ...);
 243 int \fBaiowrite\fR(..., \fBoff_t\fR, ...);      int \fBaiowrite64\fR(..., \fBoff64_t\fR, ...);
 244 .TE
 245 
 246 .SS "<\fBsys/dirent.h\fR>"
 247 
 248 .TS
 249 l l
 250 l l .
 251 int \fBgetdents\fR(..., \fBdirent\fR);  int \fBgetdents64\fR(..., \fBdirent64\fR);
 252 
 253 .TE
 254 
 255 .SS "<\fBsys/mman.h\fR>"
 256 
 257 .TS
 258 l l .
 259 void \fBmmap\fR(..., \fBoff_t\fR);      void \fBmmap64\fR(..., \fBoff64_t\fR);
 260 .TE
 261 
 262 .SS "<\fBsys/resource.h\fR>"
 263 
 264 .TS
 265 l l
 266 l l .
 267 int \fBgetrlimit\fR(...,        int \fBgetrlimit64\fR(...,
 268    struct \fBrlimit\fR *);         struct \fBrlimit64\fR *);
 269 int \fBsetrlimit\fR(...,        int \fBsetrlimit64\fR(...,
 270    const struct \fBrlimit\fR *);           const struct \fBrlimit64\fR *);
 271 .TE
 272 
 273 .SS "<\fBsys/sendfile.h\fR>"
 274 
 275 .TS
 276 l l
 277 l l .
 278 ssize_t \fBsendfile\fR(...,     ssize_t \fBsendfile64\fR(...,
 279    \fBoff_t\fR *, ...);    \fBoff64_t\fR *, ...);
 280 ssize_t \fBsendfilev\fR(..., const      ssize_t \fBsendfilev64\fR(..., const
 281    struct \fBsendfilevec\fR *,  ...);     struct \fBsendfilevec64\fR *, ...);
 282 
 283 .TE
 284 
 285 .SS "<\fBsys/stat.h\fR>"
 286 
 287 .TS
 288 l l
 289 l l .
 290 int \fBfstat\fR(..., struct \fBstat\fR *);      int \fBfstat64\fR(...,  struct \fBstat64\fR *);
 291 int \fBfstatat\fR(...,  int \fBfstatat64\fR(...,
 292    struct \fBstat\fR *, int);      struct \fBstat64\fR *, int);
 293 int \fBlstat\fR(..., struct \fBstat\fR *);      int \fBlstat64\fR(..., struct \fBstat64\fR *);
 294 int \fBstat\fR(..., struct \fBstat\fR *);       int \fBstat64\fR(..., struct \fBstat64\fR *);
 295 .TE
 296 
 297 .SS "<\fBsys/statvfs.h\fR>"
 298 
 299 .TS
 300 l l
 301 l l .
 302 int \fBstatvfs\fR(...,  int \fBstatvfs64\fR(...,
 303    struct \fBstatvfs\fR *);        struct \fBstatvfs64\fR *);
 304 int \fBfstatvfs\fR(..., int \fBfstatvfs64\fR(...,
 305    struct \fBstatvfs\fR *);       struct \fBstatvfs64\fR *);
 306 .TE
 307 
 308 .SS "<\fBucbinclude/stdio.h\fR>"
 309 
 310 .TS
 311 l l
 312 l l .
 313 FILE *\fBfopen()\fR     FILE *\fBfopen64()\fR
 314 FILE *\fBfreopen()\fR   FILE *\fBfreopen64()\fR
 315 .TE
 316 
 317 .SS "<\fBucbinclude/sys/dir.h\fR>"
 318 
 319 .TS
 320 l l
 321 l l .
 322 int \fBalphasort\fR(    int \fBalphasort64\fR(
 323    struct \fBdirect\fR **,         struct \fBdirect64\fR **,
 324    struct \fBdirect\fR **);        struct \fBdirect64\fR **);
 325 struct \fBdirect *\fR\fBreaddir()\fR;   struct \fBdirect64 *\fR\fBreaddir64()\fR;
 326 int \fBscandir\fR(...,  int \fBscandir64\fR(...,
 327    struct \fBdirect\fR *(*[]);,  ...);     struct \fBdirect64\fR *(*[]);,  ...);
 328 
 329 .TE
 330 
 331 .SS "<\fBunistd.h\fR>"
 332 
 333 .TS
 334 l l
 335 l l .
 336 int \fBlockf\fR(..., \fBoff_t\fR);      int \fBlockf64\fR(..., \fBoff64_t\fR);
 337 \fBoff_t lseek\fR(..., \fBoff_t\fR, ...);       \fBoff64_t lseek64\fR(..., \fBoff64_t\fR, ...);
 338 int \fBftruncate\fR(..., \fBoff_t\fR);  int \fBftruncate64\fR..., \fBoff64_t\fR);
 339 ssize_t \fBpread\fR(..., \fBoff_t\fR);  ssize_t \fBpread64\fR..., \fBoff64_t\fR);
 340 ssize_t \fBpwrite\fR(..., \fBoff_t\fR); ssize_t \fBpwrite64\fR(..., \fBoff64_t\fR);
 341 ssize_t \fBpreadv\fR(..., \fBoff_t\fR); ssize_t \fBpreadv64\fR..., \fBoff64_t\fR);
 342 ssize_t \fBpwritev\fR(..., \fBoff_t\fR);        ssize_t \fBpwritev64\fR(..., \fBoff64_t\fR);
 343 int \fBtruncate\fR(..., \fBoff_t\fR);   int \fBtruncate64\fR(..., \fBoff64_t\fR);
 344 .TE
 345 
 346 .SH SEE ALSO
 347 \fBlfcompile\fR(5), \fBlfcompile64\fR(5)