IDP(4P)                                                                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 protocol family.  IDP sock‐
       ets  are  connectionless,  and  are  normally  used with the sendto and
       recvfrom calls, though the connect(2) call may also be used to fix  the
       destination  for  future  packets (in which case the recv(2) or read(2)
       and send(2) or write(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  “con‐
       nected”  to  a SPP port, with certain options enabled below).  In addi‐
       tion broadcast packets may be sent  (assuming  the  underlying  network
       supports 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 destination
                      address is specified, and the socket  hasn’t  been  con‐
                      nected;

       [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 net‐
                      work address for which no network interface exists.

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  specifi‐
                      cally  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  processing  of
                      Error packets, and Sequence Protocol 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)


4.3 Berkeley Distribution        July 30, 1985                         IDP(4P)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 676
Valid CSS Valid XHTML 1.0 Strict