.I domain
parameter specifies a communication domain; this selects the protocol
family which will be used for communication. These families are defined in
-.BR <sys/socket.h> .
+.IR <sys/socket.h> .
The currently understood formats include:
.TS
tab(:);
The operation of sockets is controlled by socket level
.IR options .
These options are defined in
-.BR <sys/socket.h> .
+.IR <sys/socket.h> .
The functions
.BR setsockopt (2)
and
If the macro
.B NDEBUG
was defined at the moment
-.B <assert.h>
+.I <assert.h>
was last included, the macro
.BR assert ()
generates no code, and hence does nothing at all.
If the macro
.B NDEBUG
was defined at the moment
-.B <assert.h>
+.I <assert.h>
was last included, the macro
.BR assert_perror ()
generates no code, and hence does nothing at all.
.IR path .
.PP
The corresponding macros defined in
-.B <unistd.h>
+.I <unistd.h>
are minimum values; if an application wants to take advantage of values
which may change, a call to
.BR fpathconf ()
which is a
.B glob_t
which is declared in
-.B <glob.h>
+.I <glob.h>
and includes the following elements defined by POSIX.2 (more may be
present as an extension):
.PP
function returns a pointer to a
.I struct lconv
for the current locale. This structure is defined in the header-file
-.B locale.h
+.I <locale.h>
and contains all values associated with the locale categories
.B LC_NUMERIC
and
.BI "int NLMSG_PAYLOAD(struct nlmsghdr *" nlh ", int " len );
.fi
.SH DESCRIPTION
-.I netlink.h
+.I <linux/netlink.h>
defines several standard macros to access or create a netlink datagram.
They are similar in spirit to the macros defined in
.BR cmsg (3)
.SH DESCRIPTION
A function may be called with a varying number of arguments of varying
types. The include file
-.I stdarg.h
+.I <stdarg.h>
declares a type
.B va_list
and defines three macros for stepping through a list of arguments whose
points to an array of strings called the `environment'.
(This variable must be declared in the user program,
but is declared in the header file
-.I unistd.h
+.I <unistd.h>
in case the header files came from libc4 or libc5, and
in case they came from glibc and
.B _GNU_SOURCE
and act accordingly to be portable to different cultures.
.PP
The header
-.B <locale.h>
+.I <locale.h>
declares data types, functions and macros which are useful in this
task.
.PP
.BR sockaddr_ll .
.I protocol
is the IEEE 802.3 protocol number in network order. See the
-.B <linux/if_ether.h>
+.I <linux/if_ether.h>
include file for a list of allowed protocols. When protocol
is set to
.B htons(ETH_P_ALL)
.B sll_protocol
is the standard ethernet protocol type in network order as defined
in the
-.B linux/if_ether.h
+.I <linux/if_ether.h>
include file. It defaults to the socket's protocol.
.B sll_ifindex
is the interface index of the interface
0 matches any interface (only legal for binding).
.B sll_hatype
is a ARP type as defined in the
-.B linux/if_arp.h
+.I <linux/if_arp.h>
include file.
.B sll_pkttype
contains the packet type. Valid types are
the device type,
.B spkt_protocol
is the IEEE 802.3 protocol type as defined in
-.B <sys/if_ether.h>
+.I <sys/if_ether.h>
and
.B spkt_device
is the device name as a null terminated string, e.g. eth0.
.B sin_port
is set to the protocol of the packet.
See the
-.B <netinet/in.h>
+.I <netinet/in.h>
include file for valid IP protocols.
.SH "SOCKET OPTIONS"
.B RFC\ 791
and the
-.B <linux/ip.h>
+.I <linux/ip.h>
include file for the IP protocol.
are not interpreted by the kernel, they are just for user information.
They may be used to tag the source of a routing information or to
distinguish between multiple routing daemons. See
-.BR <linux/rtnetlink.h>
+.IR <linux/rtnetlink.h>
for the routing daemon identifiers which are already assigned.
.B rtm_scope
.PP
There is no dedicated application programmer's header file yet;
you need to include the kernel header file
-.BR <linux/x25.h> .
+.IR <linux/x25.h> .
.B CONFIG_EXPERIMENTAL
might also imply that future versions of the
interface are not binary compatible.