Annotation of researchv10dc/man/man4/connld.4, revision 1.1

1.1     ! root        1: .TH CONNLD 4
        !             2: .CT 2 sa comm_proc
        !             3: .SH NAME
        !             4: conn_ld \- line discipline for unique stream connection
        !             5: .SH SYNOPSIS
        !             6: .B #include <sys/filio.h>
        !             7: .SH DESCRIPTION
        !             8: This line discipline
        !             9: provides unique connections
        !            10: to a server.
        !            11: The server process should push the line discipline on a pipe
        !            12: (see
        !            13: .B FIOPUSHLD 
        !            14: in
        !            15: .IR stream (4))
        !            16: and
        !            17: .IR fmount (2)
        !            18: the pipe end on a file.
        !            19: A subsequent attempt to
        !            20: .IR open (2)
        !            21: or
        !            22: .IR creat
        !            23: that file causes a new pipe to be created.
        !            24: A file descriptor for one
        !            25: end of the new pipe is passed on the mounted pipe to
        !            26: to the server process as if by
        !            27: .BR FIOSNDFD ;
        !            28: see
        !            29: .IR stream (4).
        !            30: The
        !            31: opening process
        !            32: is blocked until the server responds.
        !            33: The server should receive the passed file descriptor with
        !            34: .RB FIORCVFD
        !            35: and respond in one of the following ways:
        !            36: .IP \(em
        !            37: Accept the new file descriptor by performing
        !            38: .RS
        !            39: .IP
        !            40: .L
        !            41: ioctl(fd, FIOACCEPT, (void *)0);
        !            42: .RE
        !            43: .IP
        !            44: The originating
        !            45: .I open
        !            46: completes and returns a file descriptor for the 
        !            47: other end of the new pipe.
        !            48: .IP \(em
        !            49: Write some data on the new file descriptor.
        !            50: This performs an implicit
        !            51: .LR FIOACCEPT .
        !            52: .IP \(em
        !            53: Pass a different file descriptor:
        !            54: .RS
        !            55: .IP
        !            56: .L
        !            57: ioctl(fd, FIOSNDFD, &newfd);
        !            58: .RE
        !            59: .IP
        !            60: The originator's end of the new pipe is closed,
        !            61: and a file descriptor for the open file
        !            62: designated by
        !            63: .I newfd
        !            64: is returned to the originating
        !            65: .IR open .
        !            66: .IP \(em
        !            67: Reject the connection,
        !            68: by closing the new file descriptor
        !            69: or by performing
        !            70: .RS
        !            71: .IP
        !            72: .L
        !            73: ioctl(fd, FIOREJECT, (void *)0);
        !            74: .RE
        !            75: .IP
        !            76: The originating
        !            77: .I open
        !            78: fails with
        !            79: .BR ENXIO 
        !            80: and the new pipe is discarded.
        !            81: .SH SEE ALSO
        !            82: .IR fmount (2),
        !            83: .IR stream (4)

unix.superglobalmegacorp.com

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