Mercurial > projects > ldc
diff druntime/import/stdc/posix/fcntl.d @ 760:6f33b427bfd1
Seems like hg ignores .di files, so I missed a bunch of stuff. complete druntime should be there now :)
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Wed, 12 Nov 2008 00:19:18 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/druntime/import/stdc/posix/fcntl.d Wed Nov 12 00:19:18 2008 +0100 @@ -0,0 +1,248 @@ +/** + * D header file for POSIX. + * + * Copyright: Public Domain + * License: Public Domain + * Authors: Sean Kelly + * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition + */ +module stdc.posix.fcntl; + +private import stdc.posix.config; +private import stdc.stdint; +public import stdc.stddef; // for size_t +public import stdc.posix.sys.types; // for off_t, mode_t +public import stdc.posix.sys.stat; // for S_IFMT, etc. + +extern (C): + +// +// Required +// +/* +F_DUPFD +F_GETFD +F_SETFD +F_GETFL +F_SETFL +F_GETLK +F_SETLK +F_SETLKW +F_GETOWN +F_SETOWN + +FD_CLOEXEC + +F_RDLCK +F_UNLCK +F_WRLCK + +O_CREAT +O_EXCL +O_NOCTTY +O_TRUNC + +O_APPEND +O_DSYNC +O_NONBLOCK +O_RSYNC +O_SYNC + +O_ACCMODE +O_RDONLY +O_RDWR +O_WRONLY + +struct flock +{ + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +} + +int creat(in char*, mode_t); +int fcntl(int, int, ...); +int open(in char*, int, ...); +*/ +version( linux ) +{ + const F_DUPFD = 0; + const F_GETFD = 1; + const F_SETFD = 2; + const F_GETFL = 3; + const F_SETFL = 4; + static if( __USE_FILE_OFFSET64 ) + { + const F_GETLK = 12; + const F_SETLK = 13; + const F_SETLKW = 14; + } + else + { + const F_GETLK = 5; + const F_SETLK = 6; + const F_SETLKW = 7; + } + const F_GETOWN = 9; + const F_SETOWN = 8; + + const FD_CLOEXEC = 1; + + const F_RDLCK = 0; + const F_UNLCK = 2; + const F_WRLCK = 1; + + const O_CREAT = 0100; + const O_EXCL = 0200; + const O_NOCTTY = 0400; + const O_TRUNC = 01000; + + const O_APPEND = 02000; + const O_NONBLOCK = 04000; + const O_SYNC = 010000; + const O_DSYNC = O_SYNC; + const O_RSYNC = O_SYNC; + + const O_ACCMODE = 0003; + const O_RDONLY = 00; + const O_WRONLY = 01; + const O_RDWR = 02; + + struct flock + { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; + } + + static if( __USE_LARGEFILE64 ) + { + int creat64(in char*, mode_t); + alias creat64 creat; + + int open64(in char*, int, ...); + alias open64 open; + } + else + { + int creat(in char*, mode_t); + int open(in char*, int, ...); + } +} +else version( darwin ) +{ + const F_DUPFD = 0; + const F_GETFD = 1; + const F_SETFD = 2; + const F_GETFL = 3; + const F_SETFL = 4; + const F_GETOWN = 5; + const F_SETOWN = 6; + const F_GETLK = 7; + const F_SETLK = 8; + const F_SETLKW = 9; + + const FD_CLOEXEC = 1; + + const F_RDLCK = 1; + const F_UNLCK = 2; + const F_WRLCK = 3; + + const O_CREAT = 0x0200; + const O_EXCL = 0x0800; + const O_NOCTTY = 0; + const O_TRUNC = 0x0400; + + const O_RDONLY = 0x0000; + const O_WRONLY = 0x0001; + const O_RDWR = 0x0002; + const O_ACCMODE = 0x0003; + + const O_NONBLOCK = 0x0004; + const O_APPEND = 0x0008; + const O_SYNC = 0x0080; + //const O_DSYNC + //const O_RSYNC + + struct flock + { + off_t l_start; + off_t l_len; + pid_t l_pid; + short l_type; + short l_whence; + } + + int creat(in char*, mode_t); + int open(in char*, int, ...); +} +else version( freebsd ) +{ + const F_DUPFD = 0; + const F_GETFD = 1; + const F_SETFD = 2; + const F_GETFL = 3; + const F_SETFL = 4; + const F_GETOWN = 5; + const F_SETOWN = 6; + const F_GETLK = 7; + const F_SETLK = 8; + const F_SETLKW = 9; + + const FD_CLOEXEC = 1; + + const F_RDLCK = 1; + const F_UNLCK = 2; + const F_WRLCK = 3; + + const O_CREAT = 0x0200; + const O_EXCL = 0x0800; + const O_NOCTTY = 0; + const O_TRUNC = 0x0400; + + const O_RDONLY = 0x0000; + const O_WRONLY = 0x0001; + const O_RDWR = 0x0002; + const O_ACCMODE = 0x0003; + + const O_NONBLOCK = 0x0004; + const O_APPEND = 0x0008; + const O_SYNC = 0x0080; + //const O_DSYNC + //const O_RSYNC + + struct flock + { + off_t l_start; + off_t l_len; + pid_t l_pid; + short l_type; + short l_whence; + } + + int creat(in char*, mode_t); + int open(in char*, int, ...); +} + +//int creat(in char*, mode_t); +int fcntl(int, int, ...); +//int open(in char*, int, ...); + +// +// Advisory Information (ADV) +// +/* +POSIX_FADV_NORMAL +POSIX_FADV_SEQUENTIAL +POSIX_FADV_RANDOM +POSIX_FADV_WILLNEED +POSIX_FADV_DONTNEED +POSIX_FADV_NOREUSE + +int posix_fadvise(int, off_t, off_t, int); +int posix_fallocate(int, off_t, off_t); +*/