1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #ifndef _LINUX_IN_H
19 #define _LINUX_IN_H
20
21
22
23 enum {
24 IPPROTO_IP = 0,
25 IPPROTO_ICMP = 1,
26 IPPROTO_IGMP = 2,
27 IPPROTO_IPIP = 4,
28 IPPROTO_TCP = 6,
29 IPPROTO_EGP = 8,
30 IPPROTO_PUP = 12,
31 IPPROTO_UDP = 17,
32 IPPROTO_IDP = 22,
33
34 IPPROTO_RAW = 255,
35 IPPROTO_MAX
36 };
37
38
39
40 struct in_addr {
41 unsigned long int s_addr;
42 };
43
44
45
46 struct ip_mreq
47 {
48 struct in_addr imr_multiaddr;
49 struct in_addr imr_interface;
50 };
51
52
53
54 #define __SOCK_SIZE__ 16
55 struct sockaddr_in {
56 short int sin_family;
57 unsigned short int sin_port;
58 struct in_addr sin_addr;
59
60
61 unsigned char __pad[__SOCK_SIZE__ - sizeof(short int) -
62 sizeof(unsigned short int) - sizeof(struct in_addr)];
63 };
64 #define sin_zero __pad
65
66
67
68
69
70
71
72 #define IN_CLASSA(a) ((((long int) (a)) & 0x80000000) == 0)
73 #define IN_CLASSA_NET 0xff000000
74 #define IN_CLASSA_NSHIFT 24
75 #define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET)
76 #define IN_CLASSA_MAX 128
77
78 #define IN_CLASSB(a) ((((long int) (a)) & 0xc0000000) == 0x80000000)
79 #define IN_CLASSB_NET 0xffff0000
80 #define IN_CLASSB_NSHIFT 16
81 #define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET)
82 #define IN_CLASSB_MAX 65536
83
84 #define IN_CLASSC(a) ((((long int) (a)) & 0xe0000000) == 0xc0000000)
85 #define IN_CLASSC_NET 0xffffff00
86 #define IN_CLASSC_NSHIFT 8
87 #define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET)
88
89 #define IN_CLASSD(a) ((((long int) (a)) & 0xf0000000) == 0xe0000000)
90 #define IN_MULTICAST(a) IN_CLASSD(a)
91 #define IN_MULTICAST_NET 0xF0000000
92
93 #define IN_EXPERIMENTAL(a) ((((long int) (a)) & 0xe0000000) == 0xe0000000)
94 #define IN_BADCLASS(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000)
95
96
97 #define INADDR_ANY ((unsigned long int) 0x00000000)
98
99
100 #define INADDR_BROADCAST ((unsigned long int) 0xffffffff)
101
102
103 #define INADDR_NONE 0xffffffff
104
105
106 #define IN_LOOPBACKNET 127
107
108
109 #define INADDR_LOOPBACK 0x7f000001
110
111
112 #define INADDR_UNSPEC_GROUP 0xe0000000
113 #define INADDR_ALLHOSTS_GROUP 0xe0000001
114 #define INADDR_MAX_LOCAL_GROUP 0xe00000ff
115
116
117
118 #include <asm/byteorder.h>
119
120 #endif