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 #define AF_MAX 8 /* For now.. */
37
38 /* Protocol families, same as address families. */
39 #define PF_UNSPEC AF_UNSPEC
40 #define PF_UNIX AF_UNIX
41 #define PF_INET AF_INET
42 #define PF_AX25 AF_AX25
43 #define PF_IPX AF_IPX
44
45 #define PF_MAX AF_MAX
46 /* Flags we can use with send/ and recv. */
47 #define MSG_OOB 1
48 #define MSG_PEEK 2
49 #define MSG_DONTROUTE 4
50
51 /* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */
52 #define SOL_SOCKET 1
53 #define SOL_IP 0
54 #define SOL_IPX 256
55 #define SOL_AX25 257
56 #define SOL_TCP 6
57 #define SOL_UDP 17
58
59 /* For setsockoptions(2) */
60 #define SO_DEBUG 1
61 #define SO_REUSEADDR 2
62 #define SO_TYPE 3
63 #define SO_ERROR 4
64 #define SO_DONTROUTE 5
65 #define SO_BROADCAST 6
66 #define SO_SNDBUF 7
67 #define SO_RCVBUF 8
68 #define SO_KEEPALIVE 9
69 #define SO_OOBINLINE 10
70 #define SO_NO_CHECK 11
71 #define SO_PRIORITY 12
72 #define SO_LINGER 13
73
74 /* IP options */
75 #define IP_TOS 1
76 #define IPTOS_LOWDELAY 0x10
77 #define IPTOS_THROUGHPUT 0x08
78 #define IPTOS_RELIABILITY 0x04
79 #define IP_TTL 2
80
81 /* IPX options */
82 #define IPX_TYPE 1
83
84 /* AX.25 options */
85 #define AX25_WINDOW 1
86
87 /* TCP options - this way around because someone left a set in the c library includes */
88 #define TCP_NODELAY 1
89 #define TCP_MAXSEG 2
90
91 /* The various priorities. */
92 #define SOPRI_INTERACTIVE 0
93 #define SOPRI_NORMAL 1
94 #define SOPRI_BACKGROUND 2
95
96 #endif /* _LINUX_SOCKET_H */