Annotation of researchv10dc/man/adm/man2/open.2, revision 1.1

1.1     ! root        1: .TH OPEN 2
        !             2: .CT 2 file_io
        !             3: .SH NAME
        !             4: open, creat, close \(mi open a file for reading or writing, create file
        !             5: .SH SYNOPSIS
        !             6: .nf
        !             7: .B int open(file, rwmode)
        !             8: .B char *file;
        !             9: .PP
        !            10: .B int creat(file, mode)
        !            11: .B char *file;
        !            12: .PP
        !            13: .B int close(fildes)
        !            14: .fi
        !            15: .SH DESCRIPTION
        !            16: .I Open
        !            17: opens the
        !            18: .I file,
        !            19: for reading if
        !            20: .I rwmode
        !            21: is 0,
        !            22: for writing if
        !            23: .I rwmode
        !            24: is 1,
        !            25: or for both if
        !            26: .I rwmode
        !            27: is 2,
        !            28: and returns an associated file descriptor.
        !            29: .I File
        !            30: is a null-terminated string representing
        !            31: a path name.
        !            32: The file pointer is set to 0.
        !            33: .PP
        !            34: .I Creat
        !            35: creates a new
        !            36: .I file
        !            37: or prepares to rewrite an existing
        !            38: .IR file ,
        !            39: opens it for writing,
        !            40: and returns an associated file descriptor.
        !            41: If the file is new,
        !            42: the owner is set to the effective userid of the creating process;
        !            43: the group to that of the containing directory;
        !            44: the mode to
        !            45: .IR mode 
        !            46: as modified by the mode mask of the creating process; see
        !            47: .IR umask (2).
        !            48: .I Mode
        !            49: need not allow writing.
        !            50: If the file already exists,
        !            51: it is truncated to 0 length;
        !            52: the mode, owner, and group remain unchanged,
        !            53: and must permit writing.
        !            54: .PP
        !            55: A program may reserve a filename for exclusive use
        !            56: by
        !            57: calling
        !            58: .I creat
        !            59: with a mode that forbids writing.
        !            60: If the file does not exist,
        !            61: .I creat
        !            62: will succeed;
        !            63: further attempts to
        !            64: .I creat
        !            65: the same file will be denied.
        !            66: More sophisticated
        !            67: (but less portable)
        !            68: concurrent access control
        !            69: may be obtained by setting the
        !            70: .B S_ICCTYP
        !            71: field in the mode;
        !            72: see
        !            73: .IR stat (2).
        !            74: .PP
        !            75: .I Close
        !            76: closes the file associated with a file descriptor.
        !            77: Files are closed upon termination of a process,
        !            78: but since
        !            79: there is a limit on the number of open files per process,
        !            80: .I close
        !            81: is necessary for programs which deal with many files.
        !            82: It is possible to arrange for files to be closed
        !            83: by
        !            84: .IR exec (2);
        !            85: see
        !            86: .B FIOCLEX
        !            87: in
        !            88: .IR ioctl (2).
        !            89: .SH "SEE ALSO"
        !            90: .IR dup (2),
        !            91: .IR pipe (2), 
        !            92: .IR read (2),
        !            93: .IR exec (2), 
        !            94: .IR ioctl (2),
        !            95: .IR stat (2),
        !            96: .IR unlink (2)
        !            97: .SH DIAGNOSTICS
        !            98: .IR "open, creat" :
        !            99: .BR EACCES ,
        !           100: .BR EBUSY ,
        !           101: .BR ECONC ,
        !           102: .BR EFAULT ,
        !           103: .BR EINTR ,
        !           104: .BR EIO ,
        !           105: .BR EISDIR ,
        !           106: .BR ELOOP ,
        !           107: .BR EMFILE ,
        !           108: .BR ENFILE ,
        !           109: .BR ENOENT ,
        !           110: .BR ENOTDIR ,
        !           111: .BR EROFS ,
        !           112: .BR ETXTBSY 
        !           113: .br
        !           114: .IR creat :
        !           115: .BR ENOSPC
        !           116: .br
        !           117: .IR close:
        !           118: .B EBADF
        !           119: .SH BUGS
        !           120: It should be possible to call
        !           121: .I open
        !           122: without waiting for carrier on communication lines.
        !           123: .br
        !           124: The group of a newly-created file should
        !           125: (once again)
        !           126: be the effective groupid of the creating process.
        !           127: .br
        !           128: The trick of creating a file with an unwritable mode
        !           129: fails for the super-user.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.