gdb: open

 
 open
 ....
 
 Synopsis:
           int open(const char *pathname, int flags);
           int open(const char *pathname, int flags, mode_t mode);
 
 Request:
      'Fopen,PATHPTR/LEN,FLAGS,MODE'
 
      FLAGS is the bitwise 'OR' of the following values:
 
      'O_CREAT'
           If the file does not exist it will be created.  The host rules
           apply as far as file ownership and time stamps are concerned.
 
      'O_EXCL'
           When used with 'O_CREAT', if the file already exists it is an
           error and open() fails.
 
      'O_TRUNC'
           If the file already exists and the open mode allows writing
           ('O_RDWR' or 'O_WRONLY' is given) it will be truncated to zero
           length.
 
      'O_APPEND'
           The file is opened in append mode.
 
      'O_RDONLY'
           The file is opened for reading only.
 
      'O_WRONLY'
           The file is opened for writing only.
 
      'O_RDWR'
           The file is opened for reading and writing.
 
      Other bits are silently ignored.
 
      MODE is the bitwise 'OR' of the following values:
 
      'S_IRUSR'
           User has read permission.
 
      'S_IWUSR'
           User has write permission.
 
      'S_IRGRP'
           Group has read permission.
 
      'S_IWGRP'
           Group has write permission.
 
      'S_IROTH'
           Others have read permission.
 
      'S_IWOTH'
           Others have write permission.
 
      Other bits are silently ignored.
 
 Return value:
      'open' returns the new file descriptor or -1 if an error occurred.
 
 Errors:
 
      'EEXIST'
           PATHNAME already exists and 'O_CREAT' and 'O_EXCL' were used.
 
      'EISDIR'
           PATHNAME refers to a directory.
 
      'EACCES'
           The requested access is not allowed.
 
      'ENAMETOOLONG'
           PATHNAME was too long.
 
      'ENOENT'
           A directory component in PATHNAME does not exist.
 
      'ENODEV'
           PATHNAME refers to a device, pipe, named pipe or socket.
 
      'EROFS'
           PATHNAME refers to a file on a read-only filesystem and write
           access was requested.
 
      'EFAULT'
           PATHNAME is an invalid pointer value.
 
      'ENOSPC'
           No space on device to create the file.
 
      'EMFILE'
           The process already has the maximum number of files open.
 
      'ENFILE'
           The limit on the total number of files open on the system has
           been reached.
 
      'EINTR'
           The call was interrupted by the user.