1 #ifndef _LINUX_SOCKET_H
2 #define _LINUX_SOCKET_H
3
4 #include <linux/sockios.h> /* the SIOCxxx I/O controls */
5
6
7 struct sockaddr {
8 unsigned short sa_family; /* address family, AF_xxx */
9 char sa_data[14]; /* 14 bytes of protocol address */
10 };
11
12 struct linger {
13 int l_onoff; /* Linger active */
14 int l_linger; /* How long to linger for */
15 };
16
17 /* Socket types. */
18 #define SOCK_STREAM 1 /* stream (connection) socket */
19 #define SOCK_DGRAM 2 /* datagram (conn.less) socket */
20 #define SOCK_RAW 3 /* raw socket */
21 #define SOCK_RDM 4 /* reliably-delivered message */
22 #define SOCK_SEQPACKET 5 /* sequential packet socket */
23 #define SOCK_PACKET 10 /* linux specific way of */
24 /* getting packets at the dev */
25 /* level. For writing rarp and */
26 /* other similiar things on the */
27 /* user level. */
28
29 /* Supported address families. */
30 #define AF_UNSPEC 0
31 #define AF_UNIX 1
32 #define AF_INET 2
33 #define AF_AX25 3
34 #define AF_IPX 4
35
36 /* Protocol families, same as address families. */
37 #define PF_UNIX AF_UNIX
38 #define PF_INET AF_INET
39 #define PF_AX25 AF_AX25
40 #define PF_IPX AF_IPX
41
42 /* Flags we can use with send/ and recv. */
43 #define MSG_OOB 1
44 #define MSG_PEEK 2
45
46 /* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */
47 #define SOL_SOCKET 1
48 #define SOL_IP 0
49 #define SOL_IPX 256
50 #define SOL_AX25 257
51 #define SOL_TCP 6
52 #define SOL_UDP 17
53
54 /* For setsockoptions(2) */
55 #define SO_DEBUG 1
56 #define SO_REUSEADDR 2
57 #define SO_TYPE 3
58 #define SO_ERROR 4
59 #define SO_DONTROUTE 5
60 #define SO_BROADCAST 6
61 #define SO_SNDBUF 7
62 #define SO_RCVBUF 8
63 #define SO_KEEPALIVE 9
64 #define SO_OOBINLINE 10
65 #define SO_NO_CHECK 11
66 #define SO_PRIORITY 12
67 #define SO_LINGER 13
68
69 /* IP options */
70 #define IP_TOS 1
71 #define IPTOS_LOWDELAY 0x10
72 #define IPTOS_THROUGHPUT 0x08
73 #define IPTOS_RELIABILITY 0x04
74 #define IP_TTL 2
75
76 /* IPX options */
77 #define IPX_TYPE 1
78
79 /* AX.25 options */
80 #define AX25_WINDOW 1
81
82 /* TCP options - this way around because someone left a set in the c library includes */
83 #define TCP_NODELAY 1
84 #define TCP_MAXSEG 2
85
86 /* The various priorities. */
87 #define SOPRI_INTERACTIVE 0
88 #define SOPRI_NORMAL 1
89 #define SOPRI_BACKGROUND 2
90
91 #endif /* _LINUX_SOCKET_H */