Annotation of cci/usr/src/man/man4/pup.4p, revision 1.1.1.1

1.1       root        1: .TH PUP 4P "7 July 1983"
                      2: .UC 4
                      3: .SH NAME
                      4: pup \- raw PUP socket interface
                      5: .SH SYNOPSIS
                      6: .B #include <sys/socket.h>
                      7: .br
                      8: .B #include <netpup/pup.h>
                      9: .PP
                     10: .B socket(AF_PUP, SOCK_RAW, PUPPROTO_BSP);
                     11: .SH DESCRIPTION
                     12: A raw pup socket provides PUP-I access to an
                     13: Ethernet network.  Users send packets using the 
                     14: .I sendto 
                     15: call, and receive packets with the
                     16: .IR recvfrom 
                     17: call.  All outgoing packets must have space present at
                     18: the front of the packet to allow the PUP header to be
                     19: filled in.  The header format is described in 
                     20: .IR pup (4F).
                     21: Likewise, packets received
                     22: by the user will have the PUP header on the front.  The
                     23: PUP header and legal values for the various fields
                     24: are defined in the include file
                     25: .RI < netpup/pup.h >.
                     26: .PP
                     27: The raw pup interface automatically installs the length
                     28: and source and destination addresses in the PUP header of all
                     29: outgoing packets; these need not be filled in by the user.
                     30: The only control bit that may be set in the 
                     31: .I tcontrol
                     32: field of outgoing packets is the \*(lqtrace\*(rq bit.
                     33: A checksum is calculated unless the sender sets the checksum
                     34: field to PUP_NOCKSUM.
                     35: .SH DIAGNOSTICS
                     36: A socket operation may fail and one of the following will be returned:
                     37: .TP 15
                     38: [EISCONN]
                     39: when trying to establish a connection on a socket which
                     40: already has one, or when trying to send a datagram with the destination
                     41: address specified and the socket is already connected;
                     42: .TP 15
                     43: [ENOTCONN]
                     44: when trying to send a datagram, but
                     45: no destination address is specified, and the socket hasn't been
                     46: connected;
                     47: .TP 15
                     48: [ENOBUFS]
                     49: when the system runs out of memory for
                     50: an internal data structure;
                     51: .TP 15
                     52: [EADDRNOTAVAIL]
                     53: when an attempt is made to create a 
                     54: socket with a network address for which no network interface
                     55: exists.
                     56: .PP
                     57: A 
                     58: .I sendto
                     59: operation may fail if one of the following is true:
                     60: .TP 15
                     61: [EINVAL]
                     62: Insufficient space was left by the user for the PUP header.
                     63: .TP 15
                     64: [EINVAL]
                     65: The
                     66: .I pup_type
                     67: field was 0 or the 
                     68: .I pup_tcontrol
                     69: field had a bit other than PUP_TRACE set.
                     70: .TP 15
                     71: [EMSGSIZE]
                     72: The message was not an even number of bytes, smaller than
                     73: MINPUPSIZ, or large than MAXPUPSIZ.
                     74: .TP 15
                     75: [ENETUNREACH]
                     76: The destination address was on a network which was not
                     77: directly reachable (the raw interface provides no routing support).
                     78: .SH SEE ALSO
                     79: send(2), recv(2), intro(4N), pup(4F)
                     80: .SH BUGS
                     81: The interface is untested against other PUP implementations.

unix.superglobalmegacorp.com

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