ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/slirp/bootp.h
Revision: 1.1
Committed: 2005-05-13T09:00:59Z (19 years, 6 months ago) by gbeauche
Content type: text/plain
Branch: MAIN
Log Message:
slirp user mode network emulation code from qemu

File Contents

# User Rev Content
1 gbeauche 1.1 /* bootp/dhcp defines */
2    
3     #define BOOTP_SERVER 67
4     #define BOOTP_CLIENT 68
5    
6     #define BOOTP_REQUEST 1
7     #define BOOTP_REPLY 2
8    
9     #define RFC1533_COOKIE 99, 130, 83, 99
10     #define RFC1533_PAD 0
11     #define RFC1533_NETMASK 1
12     #define RFC1533_TIMEOFFSET 2
13     #define RFC1533_GATEWAY 3
14     #define RFC1533_TIMESERVER 4
15     #define RFC1533_IEN116NS 5
16     #define RFC1533_DNS 6
17     #define RFC1533_LOGSERVER 7
18     #define RFC1533_COOKIESERVER 8
19     #define RFC1533_LPRSERVER 9
20     #define RFC1533_IMPRESSSERVER 10
21     #define RFC1533_RESOURCESERVER 11
22     #define RFC1533_HOSTNAME 12
23     #define RFC1533_BOOTFILESIZE 13
24     #define RFC1533_MERITDUMPFILE 14
25     #define RFC1533_DOMAINNAME 15
26     #define RFC1533_SWAPSERVER 16
27     #define RFC1533_ROOTPATH 17
28     #define RFC1533_EXTENSIONPATH 18
29     #define RFC1533_IPFORWARDING 19
30     #define RFC1533_IPSOURCEROUTING 20
31     #define RFC1533_IPPOLICYFILTER 21
32     #define RFC1533_IPMAXREASSEMBLY 22
33     #define RFC1533_IPTTL 23
34     #define RFC1533_IPMTU 24
35     #define RFC1533_IPMTUPLATEAU 25
36     #define RFC1533_INTMTU 26
37     #define RFC1533_INTLOCALSUBNETS 27
38     #define RFC1533_INTBROADCAST 28
39     #define RFC1533_INTICMPDISCOVER 29
40     #define RFC1533_INTICMPRESPOND 30
41     #define RFC1533_INTROUTEDISCOVER 31
42     #define RFC1533_INTROUTESOLICIT 32
43     #define RFC1533_INTSTATICROUTES 33
44     #define RFC1533_LLTRAILERENCAP 34
45     #define RFC1533_LLARPCACHETMO 35
46     #define RFC1533_LLETHERNETENCAP 36
47     #define RFC1533_TCPTTL 37
48     #define RFC1533_TCPKEEPALIVETMO 38
49     #define RFC1533_TCPKEEPALIVEGB 39
50     #define RFC1533_NISDOMAIN 40
51     #define RFC1533_NISSERVER 41
52     #define RFC1533_NTPSERVER 42
53     #define RFC1533_VENDOR 43
54     #define RFC1533_NBNS 44
55     #define RFC1533_NBDD 45
56     #define RFC1533_NBNT 46
57     #define RFC1533_NBSCOPE 47
58     #define RFC1533_XFS 48
59     #define RFC1533_XDM 49
60    
61     #define RFC2132_REQ_ADDR 50
62     #define RFC2132_LEASE_TIME 51
63     #define RFC2132_MSG_TYPE 53
64     #define RFC2132_SRV_ID 54
65     #define RFC2132_PARAM_LIST 55
66     #define RFC2132_MAX_SIZE 57
67     #define RFC2132_RENEWAL_TIME 58
68     #define RFC2132_REBIND_TIME 59
69    
70     #define DHCPDISCOVER 1
71     #define DHCPOFFER 2
72     #define DHCPREQUEST 3
73     #define DHCPACK 5
74    
75     #define RFC1533_VENDOR_MAJOR 0
76     #define RFC1533_VENDOR_MINOR 0
77    
78     #define RFC1533_VENDOR_MAGIC 128
79     #define RFC1533_VENDOR_ADDPARM 129
80     #define RFC1533_VENDOR_ETHDEV 130
81     #define RFC1533_VENDOR_HOWTO 132
82     #define RFC1533_VENDOR_MNUOPTS 160
83     #define RFC1533_VENDOR_SELECTION 176
84     #define RFC1533_VENDOR_MOTD 184
85     #define RFC1533_VENDOR_NUMOFMOTD 8
86     #define RFC1533_VENDOR_IMG 192
87     #define RFC1533_VENDOR_NUMOFIMG 16
88    
89     #define RFC1533_END 255
90     #define BOOTP_VENDOR_LEN 64
91     #define DHCP_OPT_LEN 312
92    
93     struct bootp_t {
94     struct ip ip;
95     struct udphdr udp;
96     uint8_t bp_op;
97     uint8_t bp_htype;
98     uint8_t bp_hlen;
99     uint8_t bp_hops;
100     unsigned long bp_xid;
101     unsigned short bp_secs;
102     unsigned short unused;
103     struct in_addr bp_ciaddr;
104     struct in_addr bp_yiaddr;
105     struct in_addr bp_siaddr;
106     struct in_addr bp_giaddr;
107     uint8_t bp_hwaddr[16];
108     uint8_t bp_sname[64];
109     uint8_t bp_file[128];
110     uint8_t bp_vend[DHCP_OPT_LEN];
111     };
112    
113     void bootp_input(struct mbuf *m);