root/include/fcntl.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _FCNTL_H
   2 #define _FCNTL_H
   3 
   4 #include <sys/types.h>
   5 
   6 /* open/fcntl - NOCTTY, NDELAY isn't implemented yet */
   7 #define O_ACCMODE       00003
   8 #define O_RDONLY           00
   9 #define O_WRONLY           01
  10 #define O_RDWR             02
  11 #define O_CREAT         00100   /* not fcntl */
  12 #define O_EXCL          00200   /* not fcntl */
  13 #define O_NOCTTY        00400   /* not fcntl */
  14 #define O_TRUNC         01000   /* not fcntl */
  15 #define O_APPEND        02000
  16 #define O_NONBLOCK      04000
  17 #define O_NDELAY        O_NONBLOCK
  18 
  19 /* Defines for fcntl-commands. Note that currently
  20  * locking isn't supported, and other things aren't really
  21  * tested.
  22  */
  23 #define F_DUPFD         0       /* dup */
  24 #define F_GETFD         1       /* get f_flags */
  25 #define F_SETFD         2       /* set f_flags */
  26 #define F_GETFL         3       /* more flags (cloexec) */
  27 #define F_SETFL         4
  28 #define F_GETLK         5       /* not implemented */
  29 #define F_SETLK         6
  30 #define F_SETLKW        7
  31 
  32 /* for F_[GET|SET]FL */
  33 #define FD_CLOEXEC      1       /* actually anything with low bit set goes */
  34 
  35 /* Ok, these are locking features, and aren't implemented at any
  36  * level. POSIX wants them.
  37  */
  38 #define F_RDLCK         0
  39 #define F_WRLCK         1
  40 #define F_UNLCK         2
  41 
  42 /* Once again - not implemented, but ... */
  43 struct flock {
  44         short l_type;
  45         short l_whence;
  46         off_t l_start;
  47         off_t l_len;
  48         pid_t l_pid;
  49 };
  50 
  51 extern int creat(const char * filename,mode_t mode);
  52 extern int fcntl(int fildes,int cmd, ...);
  53 extern int open(const char * filename, int flags, ...);
  54 
  55 #endif

/* [previous][next][first][last][top][bottom][index][help] */