2.11BSD/man/cat4/idp.0

Compare this file to the similar file:
Show the results in this format:




IDP(4P)             UNIX Programmer's Manual		  IDP(4P)



NAME
     idp - Xerox Internet Datagram Protocol

SYNOPSIS
     #include <sys/socket.h>
     #include <netns/ns.h>
     #include <netns/idp.h>

     s = socket(AF_NS, SOCK_DGRAM, 0);

DESCRIPTION
     IDP is a simple, unreliable datagram protocol which is used
     to support the SOCK_DGRAM abstraction for the Internet pro-
     tocol family.  IDP sockets are connectionless, and are nor-
     mally used with the _s_e_n_d_t_o and _r_e_c_v_f_r_o_m calls, though the
     _c_o_n_n_e_c_t(2) call may also be used to fix the destination for
     future packets (in which case the _r_e_c_v(2) or _r_e_a_d(2) and
     _s_e_n_d(2) or _w_r_i_t_e(_2) system calls may be used).

     Xerox protocols are built vertically on top of IDP.  Thus,
     IDP address formats are identical to those used by SPP.
     Note that the IDP port space is the same as the SPP port
     space (i.e. a IDP port may be "connected" to a SPP port,
     with certain options enabled below).  In addition broadcast
     packets may be sent (assuming the underlying network sup-
     ports this) by using a reserved "broadcast address"; this
     address is network interface dependent.

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, or when trying
		    to send a datagram with the destination
		    address specified and the socket is already
		    connected;

     [ENOTCONN]     when trying to send a datagram, but no desti-
		    nation address is specified, and the socket
		    hasn't been connected;

     [ENOBUFS]	    when the system runs out of memory for an
		    internal data structure;

     [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.



Printed 11/26/99	  July 30, 1985                         1






IDP(4P)             UNIX Programmer's Manual		  IDP(4P)



SOCKET OPTIONS
     [SO_HEADERS_ON_INPUT]
		    When set, the first 30 bytes of any data
		    returned from a read or recv from will be the
		    initial 30 bytes of the IDP packet, as
		    described by
		    struct idp {
			 u_short	idp_sum;
			 u_short	idp_len;
			 u_char         idp_tc;
			 u_char         idp_pt;
			 struct ns_addr idp_dna;
			 struct ns_addr idp_sna;
		    };
		    This allows the user to determine the packet
		    type, and whether the packet was a multi-cast
		    packet or directed specifically at the local
		    host.  When requested, gives the current
		    state of the option, (NSP_RAWIN or 0).

     [SO_HEADERS_ON_OUTPUT]
		    When set, the first 30 bytes of any data sent
		    will be the initial 30 bytes of the IDP
		    packet.  This allows the user to determine
		    the packet type, and whether the packet
		    should be multi-cast packet or directed
		    specifically at the local host.  You can also
		    misrepresent the sender of the packet.  When
		    requested, gives the current state of the
		    option.  (NSP_RAWOUT or 0).

     [SO_DEFAULT_HEADERS]
		    The user provides the kernel an IDP header,
		    from which it gleans the Packet Type.  When
		    requested, the kernel will provide an IDP
		    header, showing the default packet type, and
		    local and foreign addresses, if connected.

     [SO_ALL_PACKETS]
		    When set, this option defeats automatic pro-
		    cessing of Error packets, and Sequence Proto-
		    col packets.

     [SO_SEQNO]     When requested, this returns a sequence
		    number which is not likely to be repeated
		    until the machine crashes or a very long time
		    has passed.  It is useful in constructing
		    Packet Exchange Protocol packets.

SEE ALSO
     send(2), recv(2), intro(4N), ns(4F)




Printed 11/26/99	  July 30, 1985                         2