-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathinternet.h
68 lines (57 loc) · 1.71 KB
/
internet.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifndef _INTERNET_H
#define _INTERNET_H
#ifndef _GLOBAL_H
#include "global.h"
#endif
/* Global structures and constants pertaining to the interface between IP and
* higher level protocols
*/
/* IP protocol field values */
#define ICMP_PTCL 1 /* Internet Control Message Protocol */
#define IP4_PTCL 4 /* IP inside IP */
#define TCP_PTCL 6 /* Transmission Control Protocol */
#define UDP_PTCL 17 /* User Datagram Protocol */
#define IP_PTCL 94 /* JI's IP inside IP */
#define ESP_PTCL 50 /* Encapsulating Security Protocol */
#define AH_PTCL 51 /* Authentication header */
#define MAXTTL 255 /* Maximum possible IP time-to-live value */
/* DoD-style precedences */
#define IP_PRECEDENCE 0xe0 /* Mask for precedence field */
#define ROUTINE 0x00
#define PRIORITY 0x20
#define IMMEDIATE 0x40
#define FLASH 0x60
#define FLASH_OVER 0x80
#define CRITIC 0xa0
#define INET_CTL 0xc0
#define NET_CTL 0xe0
/* Amateur-style precedences */
#define AM_ROUTINE 0x00
#define AM_WELFARE 0x20
#define AM_PRIORITY 0x40
#define AM_EMERGENCY 0x60
/* Class-of-service bits */
#define IP_COS 0x1c /* Mask for class-of-service bits */
#define LOW_DELAY 0x10
#define THROUGHPUT 0x08
#define RELIABILITY 0x04
/* IP TOS fields */
#define PREC(x) (((x)>>5) & 0x7)
#define DELAY 0x10
#define THRUPUT 0x8
#define RELIABLITY 0x4
/* Pseudo-header for TCP and UDP checksumming */
struct pseudo_header {
int32 source; /* IP source */
int32 dest; /* IP destination */
char protocol; /* Protocol */
uint16 length; /* Data field length */
};
/* Format of a MIB entry for statistics gathering */
struct mib_entry {
char *name;
union {
int32 integer;
} value;
};
#endif /* _INTERNET_H */