Annotation of cci/usr/src/man/man4/tcp.4p, revision 1.1

1.1     ! root        1: .TH TCP 4P "7 July 1983"
        !             2: .UC 4
        !             3: .SH NAME
        !             4: tcp \- Internet Transmission Control Protocol
        !             5: .SH SYNOPSIS
        !             6: .B #include <sys/socket.h>
        !             7: .br
        !             8: .B #include <netinet/in.h>
        !             9: .PP
        !            10: .B s = socket(AF_INET, SOCK_STREAM, 0);
        !            11: .SH DESCRIPTION
        !            12: The TCP protocol provides reliable, flow-controlled, two-way
        !            13: transmission of data.  It is a byte-stream protocol used to
        !            14: support the SOCK_STREAM abstraction.  TCP uses the standard
        !            15: Internet address format and, in addition, provides a per-host
        !            16: collection of \*(lqport addresses\*(rq.  Thus, each address is composed
        !            17: of an Internet address specifying the host and network, with
        !            18: a specific TCP port on the host identifying the peer entity.
        !            19: .PP
        !            20: Sockets utilizing the tcp protocol are either \*(lqactive\*(rq or
        !            21: \*(lqpassive\*(rq.  Active sockets initiate connections to passive
        !            22: sockets.  By default TCP sockets are created active; to create a
        !            23: passive socket the
        !            24: .IR listen (2)
        !            25: system call must be used
        !            26: after binding the socket with the
        !            27: .IR bind (2)
        !            28: system call.  Only
        !            29: passive sockets may use the 
        !            30: .IR accept (2)
        !            31: call to accept incoming connections.  Only active sockets may
        !            32: use the
        !            33: .IR connect (2)
        !            34: call to initiate connections.
        !            35: .PP
        !            36: Passive sockets may \*(lqunderspecify\*(rq their location to match
        !            37: incoming connection requests from multiple networks.  This
        !            38: technique, termed \*(lqwildcard addressing\*(rq, allows a single
        !            39: server to provide service to clients on multiple networks.
        !            40: To create a socket which listens on all networks, the Internet
        !            41: address INADDR_ANY
        !            42: must be bound.  The TCP port may still be specified
        !            43: at this time; if the port is not specified the system will assign one.
        !            44: Once a connection has been established the socket's address is
        !            45: fixed by the peer entity's location.   The address assigned the
        !            46: socket is the address associated with the network interface
        !            47: through which packets are being transmitted and received.  Normally
        !            48: this address corresponds to the peer entity's network.
        !            49: .SH DIAGNOSTICS
        !            50: A socket operation may fail with one of the following errors returned:
        !            51: .TP 20
        !            52: [EISCONN]
        !            53: when trying to establish a connection on a socket which
        !            54: already has one;
        !            55: .TP 20
        !            56: [ENOBUFS]
        !            57: when the system runs out of memory for
        !            58: an internal data structure;
        !            59: .TP 20
        !            60: [ETIMEDOUT]
        !            61: when a connection was dropped
        !            62: due to excessive retransmissions;
        !            63: .TP 20
        !            64: [ECONNRESET]
        !            65: when the remote peer
        !            66: forces the connection to be closed;
        !            67: .TP 20
        !            68: [ECONNREFUSED]
        !            69: when the remote
        !            70: peer actively refuses connection establishment (usually because
        !            71: no process is listening to the port);
        !            72: .TP 20
        !            73: [EADDRINUSE]
        !            74: when an attempt
        !            75: is made to create a socket with a port which has already been
        !            76: allocated;
        !            77: .TP 20
        !            78: [EADDRNOTAVAIL]
        !            79: when an attempt is made to create a 
        !            80: socket with a network address for which no network interface
        !            81: exists.
        !            82: .SH SEE ALSO
        !            83: intro(4N), inet(4F)
        !            84: .SH BUGS
        !            85: It should be possible to send and receive TCP options.
        !            86: The system always tries to negotiates the maximum TCP segment
        !            87: size to be 1024 bytes.  This can result in poor performance
        !            88: if an intervening network performs excessive fragmentation.

unix.superglobalmegacorp.com

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