X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibposix.so_src%2Finclude_exp%2Ffcntl.h;h=6057b132a81700e0c9eadce931f214b9f311383f;hb=5f750c175569e11a01902f5ea443fe5e9b7918e4;hp=daababb4e213bc697aa0be0847d70177db620896;hpb=b806b8f55067584cb90fe20277235369a1111c66;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libposix.so_src/include_exp/fcntl.h b/Usermode/Libraries/libposix.so_src/include_exp/fcntl.h index daababb4..6057b132 100644 --- a/Usermode/Libraries/libposix.so_src/include_exp/fcntl.h +++ b/Usermode/Libraries/libposix.so_src/include_exp/fcntl.h @@ -1,33 +1,45 @@ /* - * Acess2 C Library (UNIX Emulation) + * Acess2 POSIX Emulation Library * - By John Hodge (thePowersGang) * * fcntl.h - * - ?? + * - File descriptor control? */ #ifndef _FCNTL_H_ #define _FCNTL_H_ -//#include - -// Hacks to handle different behaviors in Acess - -// Open doesn't take a chmod -//#define open(_1,_2,...) open(_1, _2) - -// Close returns void -//#define close(_1) (close(_1),0) - -// Acess doesn't implement lseek -#define lseek(_1,_2,_3) (seek(_1,_2,_3),tell(_1)) +struct flock +{ + short l_type; + short l_whece; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; enum e_fcntl_cmds { - F_SETFL + F_DUPFD, // (long) + //F_DUPFD_CLOEXEC, // (long) - Non POSIX + F_GETFD, // (void) + F_SETFD, // (long) + F_GETFL, // (void) + F_SETFL, // (long) + + F_SETLK, // (struct flock *) + F_SETLKW, // (struct flock *) + F_GETLK, // (struct flock *) +}; + +enum e_flock_types +{ + F_RDLCK, // read + F_WRLCK, // write + F_UNLCK, // unlock }; -static inline int fcntl(int fd __attribute__((unused)), int cmd __attribute__((unused)), ...) { return -1; } +extern int fcntl(int fd, int cmd, ...); #endif