00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef DHCP_H
00043 #define DHCP_H
00044
00045
00046 #define DHCP_UDP_OVERHEAD (14 + \
00047 20 + \
00048 8)
00049 #define DHCP_SNAME_LEN 64
00050 #define DHCP_FILE_LEN 128
00051 #define DHCP_FIXED_NON_UDP 236
00052 #define DHCP_FIXED_LEN (DHCP_FIXED_NON_UDP + DHCP_UDP_OVERHEAD)
00053
00054 #define DHCP_MTU_MAX 1500
00055 #define DHCP_OPTION_LEN (DHCP_MTU_MAX - DHCP_FIXED_LEN)
00056
00057 #define BOOTP_MIN_LEN 300
00058 #define DHCP_MIN_LEN 548
00059
00060 struct dhcp_packet {
00061 u_int8_t op;
00062 u_int8_t htype;
00063 u_int8_t hlen;
00064 u_int8_t hops;
00065 u_int32_t xid;
00066 u_int16_t secs;
00067 u_int16_t flags;
00068 struct in_addr ciaddr;
00069 struct in_addr yiaddr;
00070 struct in_addr siaddr;
00071 struct in_addr giaddr;
00072 unsigned char chaddr [16];
00073 char sname [DHCP_SNAME_LEN];
00074 char file [DHCP_FILE_LEN];
00075 unsigned char options [DHCP_OPTION_LEN];
00076
00077
00078 };
00079
00080
00081 #define BOOTREQUEST 1
00082 #define BOOTREPLY 2
00083
00084
00085 #define BOOTP_BROADCAST 32768L
00086
00087
00088 #define HTYPE_ETHER 1
00089 #define HTYPE_IEEE802 6
00090 #define HTYPE_FDDI 8
00091
00092
00093
00094 #define DHCP_OPTIONS_COOKIE "\143\202\123\143"
00095
00096
00097
00098 #define DHO_PAD 0
00099 #define DHO_SUBNET_MASK 1
00100 #define DHO_TIME_OFFSET 2
00101 #define DHO_ROUTERS 3
00102 #define DHO_TIME_SERVERS 4
00103 #define DHO_NAME_SERVERS 5
00104 #define DHO_DOMAIN_NAME_SERVERS 6
00105 #define DHO_LOG_SERVERS 7
00106 #define DHO_COOKIE_SERVERS 8
00107 #define DHO_LPR_SERVERS 9
00108 #define DHO_IMPRESS_SERVERS 10
00109 #define DHO_RESOURCE_LOCATION_SERVERS 11
00110 #define DHO_HOST_NAME 12
00111 #define DHO_BOOT_SIZE 13
00112 #define DHO_MERIT_DUMP 14
00113 #define DHO_DOMAIN_NAME 15
00114 #define DHO_SWAP_SERVER 16
00115 #define DHO_ROOT_PATH 17
00116 #define DHO_EXTENSIONS_PATH 18
00117 #define DHO_IP_FORWARDING 19
00118 #define DHO_NON_LOCAL_SOURCE_ROUTING 20
00119 #define DHO_POLICY_FILTER 21
00120 #define DHO_MAX_DGRAM_REASSEMBLY 22
00121 #define DHO_DEFAULT_IP_TTL 23
00122 #define DHO_PATH_MTU_AGING_TIMEOUT 24
00123 #define DHO_PATH_MTU_PLATEAU_TABLE 25
00124 #define DHO_INTERFACE_MTU 26
00125 #define DHO_ALL_SUBNETS_LOCAL 27
00126 #define DHO_BROADCAST_ADDRESS 28
00127 #define DHO_PERFORM_MASK_DISCOVERY 29
00128 #define DHO_MASK_SUPPLIER 30
00129 #define DHO_ROUTER_DISCOVERY 31
00130 #define DHO_ROUTER_SOLICITATION_ADDRESS 32
00131 #define DHO_STATIC_ROUTES 33
00132 #define DHO_TRAILER_ENCAPSULATION 34
00133 #define DHO_ARP_CACHE_TIMEOUT 35
00134 #define DHO_IEEE802_3_ENCAPSULATION 36
00135 #define DHO_DEFAULT_TCP_TTL 37
00136 #define DHO_TCP_KEEPALIVE_INTERVAL 38
00137 #define DHO_TCP_KEEPALIVE_GARBAGE 39
00138 #define DHO_NIS_DOMAIN 40
00139 #define DHO_NIS_SERVERS 41
00140 #define DHO_NTP_SERVERS 42
00141 #define DHO_VENDOR_ENCAPSULATED_OPTIONS 43
00142 #define DHO_NETBIOS_NAME_SERVERS 44
00143 #define DHO_NETBIOS_DD_SERVER 45
00144 #define DHO_NETBIOS_NODE_TYPE 46
00145 #define DHO_NETBIOS_SCOPE 47
00146 #define DHO_FONT_SERVERS 48
00147 #define DHO_X_DISPLAY_MANAGER 49
00148 #define DHO_DHCP_REQUESTED_ADDRESS 50
00149 #define DHO_DHCP_LEASE_TIME 51
00150 #define DHO_DHCP_OPTION_OVERLOAD 52
00151 #define DHO_DHCP_MESSAGE_TYPE 53
00152 #define DHO_DHCP_SERVER_IDENTIFIER 54
00153 #define DHO_DHCP_PARAMETER_REQUEST_LIST 55
00154 #define DHO_DHCP_MESSAGE 56
00155 #define DHO_DHCP_MAX_MESSAGE_SIZE 57
00156 #define DHO_DHCP_RENEWAL_TIME 58
00157 #define DHO_DHCP_REBINDING_TIME 59
00158 #define DHO_VENDOR_CLASS_IDENTIFIER 60
00159 #define DHO_DHCP_CLIENT_IDENTIFIER 61
00160 #define DHO_NWIP_DOMAIN_NAME 62
00161 #define DHO_NWIP_SUBOPTIONS 63
00162 #define DHO_USER_CLASS 77
00163 #define DHO_FQDN 81
00164 #define DHO_DHCP_AGENT_OPTIONS 82
00165 #define DHO_SUBNET_SELECTION 118
00166
00167
00168
00169
00170
00171 #define DHO_AUTHENTICATE 210
00172
00173 #define DHO_END 255
00174
00175
00176 #define DHCPDISCOVER 1
00177 #define DHCPOFFER 2
00178 #define DHCPREQUEST 3
00179 #define DHCPDECLINE 4
00180 #define DHCPACK 5
00181 #define DHCPNAK 6
00182 #define DHCPRELEASE 7
00183 #define DHCPINFORM 8
00184
00185
00186 #define RAI_CIRCUIT_ID 1
00187 #define RAI_REMOTE_ID 2
00188 #define RAI_AGENT_ID 3
00189
00190
00191 #define FQDN_NO_CLIENT_UPDATE 1
00192 #define FQDN_SERVER_UPDATE 2
00193 #define FQDN_ENCODED 3
00194 #define FQDN_RCODE1 4
00195 #define FQDN_RCODE2 5
00196 #define FQDN_HOSTNAME 6
00197 #define FQDN_DOMAINNAME 7
00198 #define FQDN_FQDN 8
00199 #define FQDN_SUBOPTION_COUNT 8
00200
00201
00202 #endif
00203