Statistics
| Branch: | Revision:

root / slirp / bootp.h @ f0cbd3ec

History | View | Annotate | Download (2.9 kB)

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);