Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ creat(2) — HP-UX 5.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(2)

close(2)

dup(2)

fcntl(2)

lockf(2)

lseek(2)

open(2)

read(2)

truncate(2)

umask(2)

write(2)

CREAT(2)

NAME

creat − create a new file or rewrite an existing one

SYNOPSIS

int creat (path, mode)
char ∗path;
int mode;

HP-UX COMPATIBILITY

Level: HP-UX/RUN ONLY

Origin: System V

DESCRIPTION

Creat creates a new ordinary file or prepares to rewrite an existing file named by the path name pointed to by path.

If the file exists, the length is truncated to 0 and the mode and owner are unchanged.  Otherwise, the file’s owner ID is set to the effective user ID, of the process, the group ID is set to the effective group ID, of the process, and the low-order 12 bits of the file mode are set to the value of mode modified as follows:

All bits set in the process’s file mode creation mask are cleared.  See umask(2).

The "save text image after execution" bit of the mode is cleared.  See chmod(2).

Upon successful completion, the file descriptor is returned and the file is open for writing (only), even if the mode does not permit writing.  The file pointer is set to the beginning of the file.  The file descriptor is set to remain open across exec system calls.  See fcntl(2). No process may have more than a system defined maximum number of files open simultaneously.  This is discussed under open(2).

Creat will fail if one or more of the following are true:

­[ENOTDIR] A component of the path prefix is not a directory. 

­[ENOENT] A component of the path prefix does not exist. 

­[EACCES] Search permission is denied on a component of the path prefix. 

­[EACCES] The named file has active locks on it (placed by lockf(2) facililty) that are owned by other processes.

­[ENOENT] The path name is null. 

­[EACCES] The file does not exist and the directory in which the file is to be created does not permit writing. 

­[EROFS] The named file resides or would reside on a read-only file system. 

­[ETXTBSY] The file is a pure procedure (shared text) file that is being executed. 

­[EACCES] The file exists and write permission is denied. 

­[EISDIR] The named file is an existing directory. 

­[EMFILE] More than the maximum number of file descriptors are currently open. 

­[EFAULT] Path points outside the allocated address space of the process. 

­[ENFILE] The system file table is full. 

RETURN VALUE

Upon successful completion, a non-negative integer, namely the file descriptor, is returned.  Otherwise, a value of −1 is returned and errno is set to indicate the error. 

HARDWARE DEPENDENCIES

Integral PC:
_NFILE is equal to 20. 

A file does not exist on a disc for which it is intended until a close operation is performed on that file. 

SEE ALSO

chmod(2), close(2), dup(2), fcntl(2), lockf(2), lseek(2), open(2), read(2), truncate(2), umask(2), write(2). 

Hewlett-Packard  —  last mod. May 11, 2021

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026