00001 #ifndef _LINUX_FCNTL_H 00002 #define _LINUX_FCNTL_H 00003 00004 /// open/fcntl - O_SYNC isn't implemented yet 00005 #define O_ACCMODE 0003 00006 #define O_RDONLY 00 00007 #define O_WRONLY 01 00008 #define O_RDWR 02 00009 #define O_CREAT 0100 ///< not fcntl 00010 #define O_EXCL 0200 ///< not fcntl 00011 #define O_NOCTTY 0400 ///< not fcntl 00012 #define O_TRUNC 01000 ///< not fcntl 00013 #define O_APPEND 02000 00014 #define O_NONBLOCK 04000 00015 #define O_NDELAY O_NONBLOCK 00016 #define O_SYNC 010000 00017 00018 #define F_DUPFD 0 ///< dup 00019 #define F_GETFD 1 ///< get f_flags 00020 #define F_SETFD 2 ///< set f_flags 00021 #define F_GETFL 3 ///< more flags (cloexec) 00022 #define F_SETFL 4 00023 #define F_GETLK 5 00024 #define F_SETLK 6 00025 #define F_SETLKW 7 00026 00027 #define F_SETOWN 8 ///< for sockets. 00028 #define F_GETOWN 9 ///< for sockets. 00029 00030 /// for F_[GET|SET]FL 00031 #define FD_CLOEXEC 1 ///< actually anything with low bit set goes 00032 00033 #define F_RDLCK 0 00034 #define F_WRLCK 1 00035 #define F_UNLCK 2 00036 00037 /// For bsd flock () 00038 #define F_EXLCK 4 ///< or 3 00039 #define F_SHLCK 8 ///< or 4 00040 00041 struct flock { 00042 short l_type; 00043 short l_whence; 00044 off_t l_start; 00045 off_t l_len; 00046 pid_t l_pid; 00047 }; 00048 00049 #endif
1.4.6-5