X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibposix.so_src%2Finclude_exp%2Ffcntl.h;h=6057b132a81700e0c9eadce931f214b9f311383f;hb=4e407e69bd660e9a32644281733192193ee6e8c8;hp=5fee9a11e0168ac7cc0ec3f45a79a72e9f349b5a;hpb=4bd23d4ae51bd5cb92b449bcd66e0d2de88c7fc9;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 5fee9a11..6057b132 100644 --- a/Usermode/Libraries/libposix.so_src/include_exp/fcntl.h +++ b/Usermode/Libraries/libposix.so_src/include_exp/fcntl.h @@ -1,26 +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_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 +}; + +extern int fcntl(int fd, int cmd, ...); #endif