gdb.info: open

Go forward to close
Go up to List of supported calls
Go to the top op gdb

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 length 0.
`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.
     Each other bit is 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.
     Each other bit is silently ignored.
Return value:
     open returns the new file descriptor or -1 if an error
     occured.
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.