Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getsockopt(SSC)

icmp(ADMP)

inet(ADMP)

intro(ADMP)

recv(SSC)

send(SSC)

sockcf(SFF)


 ip(ADMP)                        19 June 1992                        ip(ADMP)


 Name

    ip - Internet Protocol

 Syntax

    Programmer's interface:
    #include  <sys/socket.h>
    #include  <netinet/in.h>

    s = socket(AF_INET, SOCK_RAW, proto);

 Description


    IP is the network layer protocol used by the Internet protocol family.
    Options may be set at the IP level when using higher-level protocols that
    are based on IP (such as TCP and UDP).  It may also be accessed through a
    ``raw socket'' or device when developing new protocols or special purpose
    applications.

    A single generic option is supported at the IP level, IP_OPTIONS, that
    may be used to provide IP options to be transmitted in the IP header of
    each outgoing packet.  Options are set with setsockopt and examined with
    getsockopt (see getsockopt(SSC)).  The format of IP options to be sent is
    that specified by the IP protocol specification, with one exception:  the
    list of addresses for Source Route options must include the first-hop
    gateway at the beginning of the list of gateways.  The first-hop gateway
    address will be extracted from the option list and the size adjusted
    accordingly before use.  IP options may be used with any socket type in
    the Internet family.

    Raw IP sockets are connectionless, and are normally used with the sendto
    and recvfrom calls; the connect(SSC) call may also be used to fix the
    destination for future packets (in which case the read(S) or recv(SSC)
    and write(S) or send(SSC) system calls may be used).

    If proto is 0, the default protocol IPPROTO_RAW is used for outgoing
    packets, and only incoming packets destined for that protocol are
    received.  If proto is non-zero, that protocol number will be used on
    outgoing packets and to filter incoming packets.  Proto must be specified
    in sockcf(SFF).

    Outgoing packets automatically have an IP header prepended to them (based
    on the destination address given and the protocol number the socket is
    created with).  Incoming packets are received with IP header and options
    intact.

 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 has not been connected

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

    [EADDRNOTAVAIL]
                   when an attempt is made to create a socket with a network
                   address for which no network interface exists

    The following errors specific to IP may occur when setting or getting IP
    options:

    [EINVAL]       An unknown socket option name was given.

    [EINVAL]       The IP option field was improperly formed; an option field
                   was shorter than the minimum value or longer than the
                   option buffer provided.

 Files

    /dev/inet/ip
    /dev/inet/rip

 See also

    getsockopt(SSC), icmp(ADMP), inet(ADMP) intro(ADMP), recv(SSC),
    send(SSC), sockcf(SFF),


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026