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.
Created Mon Nov 8 17:42:41 2004 on tillpc with info_to_html version 0.9.6.