|
|
1.1 root 1: /* ip.h */
2:
3: /* DARPA Internet Protocol (IP) Constants and Datagram Format */
4:
5: #define IPLEN 4 /* IP address length in bytes (octets) */
6: typedef char IPaddr[IPLEN]; /* DARPA internet address */
7: #define IPTMASK 0300 /* Mask for IP type in top byte of addr */
8: #define IPATYP 0000 /* IP Class A address (1st 2 bits) */
9: #define IPBTYP 0200 /* IP Class B address (1st 2 bits) */
10: #define IPCTYP 0300 /* IP Class C address (1st 2 bits) */
11: #define IPHLEN 20 /* IP datagram header length in bytes */
12: #define IMAXLEN 1200 /* Maximum IP datagram length (Notes: */
13: /* 1) hosts & gateways only required */
14: /* to recognize 576 bytes. 2) must be */
15: /* less than EMAXPAK for our network */
16: /* Assigned Protocol numbers */
17:
18: #define IPRO_ICMP 1 /* protocol type for ICMP packets */
19: #define IPRO_UDP 17 /* protocol type for UDP packets */
20:
21: struct ip { /* Format of DARPA Internet datagram */
22: char i_verlen; /* IP vers.(0x40) + hdr len in longs (5)*/
23: char i_svctyp; /* service type (0 => normal service) */
24: short i_paclen; /* packet length in octets (bytes) */
25: short i_id; /* datagram id (to help gateways frag.) */
26: short i_fragoff; /* fragment offset (0 for 1st fragment) */
27: char i_tim2liv; /* time to live in gateway hops (10) */
28: char i_proto; /* IP protocol (UDP is assigned 17) */
29: short i_cksum; /* 1s compl. of sum of shorts in header */
30: IPaddr i_src; /* IP address of source */
31: IPaddr i_dest; /* IP address of destination */
32: char i_data[1]; /* IP datagram data area */
33: };
34:
35: /* Datagram field constants used by simple IP software */
36:
37: #define IVERLEN 0x45 /* current version length field value */
38: #define ISVCTYP '\0' /* service type for normal service */
39: #define IFRAGOFF 0 /* Fragment offset (0 => no fragment) */
40: #define ITIM2LIV 10 /* Initial time-to-live value */
41:
42: extern int ipackid; /* Internet datagram id */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.