Annotation of cci/usr/src/man/man4/tcp.4p, revision 1.1.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.