Annotation of 43BSDTahoe/man/man2/fcntl.2, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1983 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)fcntl.2     6.4 (Berkeley) 5/22/86
        !             6: .\"
        !             7: .TH FCNTL 2 "May 22, 1986"
        !             8: .UC 5
        !             9: .SH NAME
        !            10: fcntl \- file control
        !            11: .SH SYNOPSIS
        !            12: .nf
        !            13: .ft B
        !            14: #include <fcntl.h>
        !            15: .PP
        !            16: .ft B
        !            17: res = fcntl(fd, cmd, arg)
        !            18: int res;
        !            19: int fd, cmd, arg;
        !            20: .ft R
        !            21: .SH DESCRIPTION
        !            22: .I Fcntl
        !            23: provides for control over descriptors.
        !            24: The argument
        !            25: .I fd
        !            26: is a descriptor to be operated on by
        !            27: .I cmd
        !            28: as follows:
        !            29: .TP 15
        !            30: F_DUPFD
        !            31: Return a new descriptor as follows:
        !            32: .IP
        !            33: Lowest numbered available descriptor greater than or equal to
        !            34: .I arg.
        !            35: .IP
        !            36: Same object references as the original descriptor.
        !            37: .IP
        !            38: New descriptor shares the same file pointer if the object
        !            39: was a file.
        !            40: .IP
        !            41: Same access mode (read, write or read/write).
        !            42: .IP
        !            43: Same file status flags (i.e., both file descriptors
        !            44: share the same file status flags).
        !            45: .IP
        !            46: The close-on-exec flag associated with the new file descriptor
        !            47: is set to remain open across
        !            48: .IR execv (2)
        !            49: system calls.
        !            50: .TP 15
        !            51: F_GETFD
        !            52: Get the close-on-exec flag associated with the file descriptor
        !            53: .IR fd .
        !            54: If the low-order bit is 0, the file will remain open across
        !            55: .IR exec ,
        !            56: otherwise the file will be closed upon execution of
        !            57: .I exec.
        !            58: .TP 15
        !            59: F_SETFD
        !            60: Set the close-on-exec flag associated with
        !            61: .I fd
        !            62: to the low order bit of
        !            63: .I arg
        !            64: (0 or 1 as above).
        !            65: .TP 15
        !            66: F_GETFL
        !            67: Get descriptor status flags, as described below.
        !            68: .TP 15
        !            69: F_SETFL
        !            70: Set descriptor status flags.
        !            71: .TP 15
        !            72: F_GETOWN
        !            73: Get the process ID or process group
        !            74: currently receiving SIGIO and SIGURG
        !            75: signals; process groups are returned
        !            76: as negative values.
        !            77: .TP
        !            78: F_SETOWN
        !            79: Set the process or process group
        !            80: to receive SIGIO and SIGURG signals;
        !            81: process groups are specified by supplying
        !            82: .I arg
        !            83: as negative, otherwise 
        !            84: .I arg
        !            85: is interpreted as a process ID.
        !            86: .LP
        !            87: The flags for the F_GETFL and F_SETFL flags are as follows:
        !            88: .TP 15
        !            89: FNDELAY
        !            90: Non-blocking I/O; if no data is available to a
        !            91: .I read
        !            92: call, or if a write operation would block,
        !            93: the call returns -1 with the error EWOULDBLOCK.
        !            94: .TP
        !            95: FAPPEND
        !            96: Force each write to append at the end of file;
        !            97: corresponds to the O_APPEND flag of
        !            98: .IR open (2).
        !            99: .TP
        !           100: FASYNC
        !           101: Enable the SIGIO signal to be sent to the process group
        !           102: when I/O is possible, e.g.,
        !           103: upon availability of data to be read.
        !           104: .SH "RETURN VALUE
        !           105: Upon successful completion, the value returned depends on
        !           106: .I cmd
        !           107: as follows:
        !           108: .sp .5v
        !           109: .nf
        !           110: .ta .25i 1.25i
        !           111:        F_DUPFD A new file descriptor.
        !           112:        F_GETFD Value of flag (only the low-order bit is defined).
        !           113:        F_GETFL Value of flags.
        !           114:        F_GETOWN        Value of file descriptor owner.
        !           115:        other   Value other than \-1.
        !           116: .fi
        !           117: .sp .5v
        !           118: Otherwise, a value of \-1 is returned and
        !           119: .I errno
        !           120: is set to indicate the error.
        !           121: .SH ERRORS
        !           122: .I Fcntl
        !           123: will fail if one or more of the following are true:
        !           124: .TP 15
        !           125: [EBADF]
        !           126: .I Fildes
        !           127: is not a valid open file descriptor.
        !           128: .TP 15
        !           129: [EMFILE]
        !           130: .I Cmd
        !           131: is F_DUPFD and the maximum allowed number of file descriptors are currently
        !           132: open.
        !           133: .TP 15
        !           134: [EINVAL]
        !           135: .I Cmd
        !           136: is F_DUPFD and
        !           137: .I arg
        !           138: is negative or greater than the maximum allowable number
        !           139: (see
        !           140: .IR getdtablesize (2)).
        !           141: .TP 15
        !           142: [ESRCH]
        !           143: .I Cmd
        !           144: is F_SETOWN and
        !           145: the process ID given as argument is not in use.
        !           146: .SH "SEE ALSO
        !           147: close(2), execve(2), getdtablesize(2), open(2), sigvec(2)
        !           148: .SH BUGS
        !           149: The asynchronous I/O facilities of FNDELAY and FASYNC
        !           150: are currently available only for tty and socket operations.

unix.superglobalmegacorp.com

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