Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

intro(3n) [ultrix man page]

intro(3n)																 intro(3n)

Name
       intro - introduction to network library functions

Description
       This  section describes functions that are available for interprocess communication (IPC).  IPC takes place using sockets.  The system call
       creates a communications channel based on domain, type, and protocol.

       Sockets are created without names.  The system call is used to connect a name to a socket.

       A connection with another process must be made before data can be transferred on a bound socket.  The system call  is  used  to	rendezvous
       with another process.  This process must be listening on a bound socket using the system call.  This listening process can accept a connec-
       tion request using the system call.

       Once two processes have connected and accepted an IPC, data can be transferred with the following system calls: and

       Connectionless sockets are also possible (a socket is bound and data can be transferred).  They use the following system calls to  transfer
       data: and

       IPC operates in three domains:

       UNIX		Local node

       INTERNET 	Local area network (LAN)

       DECNET		DECnet network

       These types of sockets are available for IPC:

       stream		Sequenced, reliable, unduplicated data
			CONNECTED socket
			record boundaries not preserved
			all domains

       datagram 	Not guaranteed to be sequenced, reliable, or
			unduplicated
			user protocol needed to give guarantees
			UNCONNECTED socket
			record boundaries preserved
			UNIX and INTERNET domains

       sequenced packet Like stream socket, except record boundaries preserved
			DECNET domain only

       raw		Access to communications protocols

Internet Addresses Routines
       The inet routines manipulate Internet addresses.

Network Data Base File Routines
       Standard  mapping  routines are used to retrieve entries in network data base files.  Several routines operating on each data base file are
       identified by a group name:

       Retrieves entries from

       Retrieves entries from

       Retrieves entries from

       Retrieves entries from

       Specific routines perform particular operations on each data base file:

       Reads the next line of the file; opens
			the file, if necessary.

       Opens and rewinds the file.

       Closes the file.

       Searches the file sequentially from the beginning
			until a matching name is found, or EOF is encountered.

       Searches the file sequentially from the beginning
			until a matching address is found, or EOF is encountered.

       Searches the file sequentially from the beginning
			until a matching port number is found, or EOF is encountered.

       Searches the file sequentially from the beginning
			until a matching protocol number is found, or EOF is encountered.

       Each network library routine returns a pointer to a structure reflecting individual fields of a line in one of the network data base files.
       The  structure  for each data base file contains some of the fields in the following list, with the prefix x replaced by a different letter
       in each file:

       pointer to a network address,
			returned in network-byte order

       address family of the address being returned

       alternate names

       length of an address, in bytes

       official name

       network number, returned in machine-byte order

       resident port

       protocol number

																	 intro(3n)

Check Out this Related Man Page

SPP(4P) 																   SPP(4P)

NAME
spp - Xerox Sequenced Packet Protocol SYNOPSIS
#include <sys/socket.h> #include <netns/ns.h> s = socket(AF_NS, SOCK_STREAM, 0); #include <netns/sp.h> s = socket(AF_NS, SOCK_SEQPACKET, 0); DESCRIPTION
The SPP protocol provides reliable, flow-controlled, two-way transmission of data. It is a byte-stream protocol used to support the SOCK_STREAM abstraction. SPP uses the standard NS(tm) address formats. Sockets utilizing the SPP protocol are either "active" or "passive". Active sockets initiate connections to passive sockets. By default SPP sockets are created active; to create a passive socket the listen(2) system call must be used after binding the socket with the bind(2) system call. Only passive sockets may use the accept(2) call to accept incoming connections. Only active sockets may use the connect(2) call to initiate connections. Passive sockets may "underspecify" their location to match incoming connection requests from multiple networks. This technique, termed "wildcard addressing", allows a single server to provide service to clients on multiple networks. To create a socket which listens on all networks, the NS address of all zeroes must be bound. The SPP port may still be specified at this time; if the port is not specified the system will assign one. Once a connection has been established the socket's address is fixed by the peer entity's location. The address assigned the socket is the address associated with the network interface through which packets are being transmitted and received. Nor- mally this address corresponds to the peer entity's network. If the SOCK_SEQPACKET socket type is specified, each packet received has the actual 12 byte sequenced packet header left for the user to inspect: struct sphdr { u_char sp_cc; /* connection control */ #define SP_EM 0x10 /* end of message */ u_char sp_dt; /* datastream type */ u_short sp_sid; u_short sp_did; u_short sp_seq; u_short sp_ack; u_short sp_alo; }; This facilitates the implementation of higher level Xerox protocols which make use of the data stream type field and the end of message bit. Conversely, the user is required to supply a 12 byte header, the only part of which inspected is the data stream type and end of mes- sage fields. For either socket type, packets received with the Attention bit sent are interpreted as out of band data. Data sent with send(..., ..., ..., MSG_OOB) cause the attention bit to be set. DIAGNOSTICS
A socket operation may fail with one of the following errors returned: [EISCONN] when trying to establish a connection on a socket which already has one; [ENOBUFS] when the system runs out of memory for an internal data structure; [ETIMEDOUT] when a connection was dropped due to excessive retransmissions; [ECONNRESET] when the remote peer forces the connection to be closed; [ECONNREFUSED] when the remote peer actively refuses connection establishment (usually because no process is listening to the port); [EADDRINUSE] when an attempt is made to create a socket with a port which has already been allocated; [EADDRNOTAVAIL] when an attempt is made to create a socket with a network address for which no network interface exists. SOCKET OPTIONS
SO_DEFAULT_HEADERS when set, this determines the data stream type and whether the end of message bit is to be set on every ensuing packet. SO_MTU This specifies the maximum ammount of user data in a single packet. The default is 576 bytes - sizeof(struct spidp). This quantity affects windowing -- increasing it without increasing the amount of buffering in the socket will lower the number of unread packets accepted. Anything larger than the default will not be forwarded by a bona fide XEROX product internetwork router. The data argument for the setsockopt call must be an unsigned short. SEE ALSO
intro(4N), ns(4F) BUGS
There should be some way to reflect record boundaries in a stream. For stream mode, there should be an option to get the data stream type of the record the user process is about to receive. 4.3 Berkeley Distribution July 30, 1985 SPP(4P)
Man Page