Manual Reference Pages - OPEN (3)
open, create, close - open a file for reading or writing, create file
int open(char *file, int omode)
int create(char *file, int omode, ulong perm)
int close(int fd)
Open opens the
file for I/O and returns an associated file descriptor.
Omode is one of
OEXEC, asking for permission to read, write, read and write, or execute, respectively.
In addition, there are three values that can be ORed with the
OTRUNC says to truncate the file
to zero length before opening it;
OCEXEC says to close the file when an
execl system call is made;
ORCLOSE says to remove the file when it is closed (by everyone who has a copy of the file descriptor);
OAPPEND says to open the file in append-only mode, so that writes
are always appended to the end of the file.
Open fails if the file does not exist or the user does not have
permission to open it for the requested purpose
for a description of permissions).
The user must have write permission on the
file if the
OTRUNC bit is set.
open system call
(unlike the implicit
OEXEC is actually identical to
Create creates a new
file or prepares to rewrite an existing
file, opens it according to
omode (as described for
open), and returns an associated file descriptor.
If the file is new,
the owner is set to the userid of the creating process group;
the group to that of the containing directory;
the permissions to
perm ANDed with the permissions of the containing directory.
If the file already exists,
it is truncated to 0 length,
and the permissions, owner, and group remain unchanged.
The created file is a directory if the
DMDIR bit is set in
perm, an exclusive-use file if the
DMEXCL bit is set, and an append-only file if the
DMAPPEND bit is set.
Exclusive-use files may be open for I/O by only one client at a time,
but the file descriptor may become invalid if no I/O is done
for an extended period; see
Create fails if the path up to the last element of
file cannot be evaluated, if the user doesnt have write permission
in the final directory, if the file already exists and
does not permit the access defined by
omode, of if there there are no free file descriptors.
In the last case, the file may be created even when
an error is returned.
create may succeed even if the file exists, a special mechanism is necessary
for those applications that require an atomic create operation.
(0x1000) bit is set in the
mode for a
create, the call succeeds only if the file does not already exist;
Close closes the file associated with a file descriptor.
Provided the file descriptor is a valid open descriptor,
close is guaranteed to close it; there will be no error.
Files are closed automatically upon termination of a process;
close allows the file descriptor to be reused.
These functions set
Not all functionality is supported on all systems.
DMAPPEND bit is not supported on any systems.
The implementation of
ORCLOSE is to unlink the file after opening it, causing problems
in programs that try to access the file by name before it is closed.
To avoid name conflicts with the underlying system,
create are preprocessor macros defined as
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.