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