Annotation of lucent/sys/man/3/ip, revision 1.1.1.1

1.1       root        1: .TH IP 3 
                      2: .SH NAME
                      3: ip \- TCP, UDP, IL network protocols over IP
                      4: .SH SYNOPSIS
                      5: .nf
                      6: .B bind -a #Itcp /net
                      7: .B bind -a #Iudp /net
                      8: .B bind -a #Iil  /net
                      9: 
                     10: .B /net/tcp/clone
                     11: .BI /net/tcp/ n 
                     12: .BI /net/tcp/ n /data
                     13: .BI /net/tcp/ n /ctl
                     14: .BI /net/tcp/ n /local
                     15: .BI /net/tcp/ n /remote
                     16: .BI /net/tcp/ n /status
                     17: .BI /net/tcp/ n /listen
                     18: \&...
                     19: .fi
                     20: .SH DESCRIPTION
                     21: The IP device provides the interface for several protocols that
                     22: run over IP on an Ethernet.
                     23: TCP and UDP provide the standard Internet
                     24: protocols for reliable stream and unreliable datagram
                     25: communication.
                     26: IL provides a reliable datagram service for communication
                     27: between Plan 9 machines.
                     28: IL is the protocol of choice for most Plan 9 services.
                     29: .PP
                     30: Each of the protocols is served by the IP device, which represents each
                     31: connection by a set of device files.
                     32: The top level directory of each protocol contains a
                     33: .B clone
                     34: file and subdirectories numbered from zero to the number of connections
                     35: configured for this protocol.
                     36: .PP
                     37: Opening the
                     38: .B clone
                     39: file reserves a connection.  The file descriptor returned from the
                     40: .IR open (2)
                     41: will point to the control file,
                     42: .BR ctl ,
                     43: of the newly allocated connection.  Reading the
                     44: .B ctl
                     45: file returns a text
                     46: string representing the number of the
                     47: connection.  Connections may be used either to listen for incoming calls
                     48: or to initiate calls to other machines.
                     49: .PP
                     50: A connection is controlled by writing text strings to the associated
                     51: .B ctl
                     52: file.  After a connection has been established data may be read from
                     53: and written to the data file.
                     54: For the datagram services, IL and UDP, a
                     55: .B read
                     56: of less than the length of a datagram will cause
                     57: the entire datagram to be consumed.
                     58: Each write to the data file will send a single datagram on the network.
                     59: The TCP protocol provides a stream connection that does not preserve
                     60: .BR read / write
                     61: boundaries.
                     62: .PP
                     63: Prior to sending data, remote and local addresses must be set for the connection.
                     64: For outgoing calls the local port number will be allocated randomly if none is set.
                     65: Addresses are set by writing control messages to the
                     66: .B ctl
                     67: file of the connection.
                     68: The connection is not established until the data file is opened.
                     69: For IL and TCP the
                     70: process will block until the remote host has acknowledged the connection.
                     71: UDP opens always succeed.
                     72: .PP
                     73: The following control messages are supported:
                     74: .TP
                     75: .BI connect\  ipaddress ! port [!r]
                     76: Set the remote IP address and port number for the connection.
                     77: If the
                     78: .I r
                     79: flag
                     80: is supplied and no local address has been specified the system will allocate
                     81: a restricted port number (less than 1024) for the connection to allow communication
                     82: with Unix machines'
                     83: .B login
                     84: and
                     85: .B exec
                     86: services.
                     87: .TP
                     88: .B disconnect
                     89: (UDP only)
                     90: Clear the remote address of a UDP connection.
                     91: .TP
                     92: .BI announce\  X
                     93: .I X
                     94: is a decimal port number or
                     95: .LR * .
                     96: Set the local port
                     97: number to
                     98: .I X
                     99: and accept calls to
                    100: .IR X .
                    101: If
                    102: .I X
                    103: is
                    104: .LR * ,
                    105: accept
                    106: calls for any port that no process has explicitly announced.
                    107: The local IP address cannot be set.
                    108: .B Announce
                    109: fails if the connection is already announced or connnected.
                    110: .TP
                    111: .BI bind\  X
                    112: .I X
                    113: is a decimal port number or
                    114: .LR * .
                    115: Set the local port number to
                    116: .IR X .
                    117: This exists to support library emulation
                    118: of BSD sockets and is not otherwise used.
                    119: .TP
                    120: .BI backlog\  n
                    121: (IL and TCP only)
                    122: Set the maximum number of pending requests for a given service
                    123: to
                    124: .IR n .
                    125: By default
                    126: .I n
                    127: is set to five.  If more than
                    128: .I n
                    129: connections are pending,
                    130: further requests for a service will be rejected.
                    131: .PP
                    132: Port numbers must be in the range 1 to 32767.
                    133: If a local port has not been
                    134: announced prior to a
                    135: .B connect
                    136: a local port number will be allocated automatically.
                    137: Local ports are allocated from 5000 up.
                    138: .PP
                    139: Several files report the status of a
                    140: connection.
                    141: The
                    142: .B remote
                    143: and
                    144: .B local
                    145: files contain the IP address and port number for the remote and local side of the
                    146: connection.  The
                    147: .B status
                    148: file contains protocol-dependent information to help debug network connections.
                    149: .PP
                    150: A process may accept incoming connections by calling
                    151: .B open
                    152: on the
                    153: .B listen
                    154: file.
                    155: The
                    156: .B open
                    157: will block until a new connection request arrives.
                    158: Then
                    159: .B open
                    160: will return an open file descriptor which points to the control file of the
                    161: newly accepted connection.
                    162: This procedure will accept all calls for the
                    163: given protocol.
                    164: .SH "SEE ALSO"
                    165: .IR listen (8),
                    166: .IR dial (2),
                    167: .IR ndb (6)
                    168: .SH SOURCE
                    169: .B /sys/src/9/port/devip.c
                    170: .br
                    171: .B /sys/src/9/port/stil.c
                    172: .br
                    173: .B /sys/src/9/port/stip.c
                    174: .br
                    175: .B /sys/src/9/port/tcp*.c

unix.superglobalmegacorp.com

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