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
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 #ifndef DHCPCONST_H
00055 #define DHCPCONST_H
00056
00057 #define ALL_DHCP_RELAY_AGENTS_AND_SERVERS "ff02::1:2"
00058 #define ALL_DHCP_SERVERS "ff05::1:3"
00059
00060 #define DHCPCLIENT_PORT 546
00061 #define DHCPSERVER_PORT 547
00062
00063
00064 #define SOLICIT_MSG 1
00065 #define ADVERTISE_MSG 2
00066 #define REQUEST_MSG 3
00067 #define CONFIRM_MSG 4
00068 #define RENEW_MSG 5
00069 #define REBIND_MSG 6
00070 #define REPLY_MSG 7
00071 #define RELEASE_MSG 8
00072 #define DECLINE_MSG 9
00073 #define RECONFIGURE_MSG 10
00074 #define INFORMATION_REQUEST_MSG 11
00075 #define RELAY_FORW_MSG 12
00076 #define RELAY_REPL_MSG 13
00077 #define CONTROL_MSG 255
00078
00079
00080
00081 #define SOL_MAX_DELAY 1
00082 #define SOL_TIMEOUT 1
00083 #define SOL_MAX_RT 120
00084 #define REQ_TIMEOUT 1
00085 #define REQ_MAX_RT 30
00086 #define REQ_MAX_RC 10
00087 #define CNF_MAX_DELAY 1
00088 #define CNF_TIMEOUT 1
00089 #define CNF_MAX_RT 4
00090 #define CNF_MAX_RD 10
00091 #define REN_TIMEOUT 10
00092 #define REN_MAX_RT 600
00093 #define REB_TIMEOUT 10
00094 #define REB_MAX_RT 600
00095 #define INF_MAX_DELAY 1
00096 #define INF_TIMEOUT 1
00097 #define INF_MAX_RT 120
00098 #define REL_TIMEOUT 1
00099 #define REL_MAX_RC 5
00100 #define DEC_TIMEOUT 1
00101 #define DEC_MAX_RC 5
00102 #define REC_TIMEOUT 2
00103 #define REC_MAX_RC 8
00104
00105 #define HOP_COUNT_LIMIT 32
00106
00107
00108 #define SERVER_REPLY_CACHE_TIMEOUT 60
00109
00110
00111 #define OPTION_CLIENTID 1
00112 #define OPTION_SERVERID 2
00113 #define OPTION_IA 3
00114 #define OPTION_IAADDR 5
00115 #define OPTION_ORO 6
00116 #define OPTION_PREFERENCE 7
00117 #define OPTION_ELAPSED_TIME 8
00118 #define OPTION_UNICAST 12
00119 #define OPTION_STATUS_CODE 13
00120 #define OPTION_RAPID_COMMIT 14
00121
00122
00123 #define OPTION_IA_TA 4
00124 #define OPTION_RELAY_MSG 9
00125 #define OPTION_AUTH_MSG 11
00126 #define OPTION_USER_CLASS 15
00127 #define OPTION_VENDOR_CLASS 16
00128 #define OPTION_VENDOR_OPTS 17
00129 #define OPTION_INTERFACE_ID 18
00130 #define OPTION_RECONF_MSG 19
00131 #define OPTION_RECONF_ACCEPT 20
00132
00133
00134
00135
00136 #define OPTION_SIP_DOMAINS 21
00137 #define OPTION_SIP_SERVERS 22
00138
00139
00140 #define OPTION_DNS_RESOLVERS 23
00141 #define OPTION_DOMAIN_LIST 24
00142
00143
00144 #define OPTION_IA_PD 25
00145 #define OPTION_IAPREFIX 26
00146
00147
00148 #define OPTION_NIS_SERVERS 27
00149 #define OPTION_NISP_SERVERS 28
00150 #define OPTION_NIS_DOMAIN_NAME 29
00151 #define OPTION_NISP_DOMAIN_NAME 30
00152
00153
00154 #define OPTION_NTP_SERVERS 40
00155 #define OPTION_TIME_ZONE 41
00156
00157
00158 #define OPTION_LIFETIME 42
00159
00160
00161 #define OPTION_FQDN 43
00162
00163
00164 #define STATUSCODE_SUCCESS 0
00165 #define STATUSCODE_UNSPECFAIL 1
00166 #define STATUSCODE_NOADDRSAVAIL 2
00167 #define STATUSCODE_NOBINDING 3
00168 #define STATUSCODE_NOTONLINK 4
00169 #define STATUSCODE_USEMULTICAST 5
00170
00171
00172 #define DHCPV6_INFINITY (unsigned) 0xffffffff
00173
00174
00175 #define DADTIMEOUT (unsigned) 1
00176
00177
00178 #define DECLINED_TIMEOUT (unsigned) 7200
00179
00180
00181 #define SERVER_DEFAULT_DOMAIN ""
00182 #define SERVER_DEFAULT_TIMEZONE ""
00183 #define SERVER_DEFAULT_CLNTMAXLEASE ULONG_MAX
00184 #define SERVER_DEFAULT_IFACEMAXLEASE ULONG_MAX
00185 #define SERVER_DEFAULT_PREFERENCE 0
00186 #define SERVER_DEFAULT_RAPIDCOMMIT false
00187
00188 #define SERVER_DEFAULT_MIN_T1 5
00189 #define SERVER_DEFAULT_MAX_T1 ULONG_MAX
00190 #define SERVER_DEFAULT_MIN_T2 10
00191 #define SERVER_DEFAULT_MAX_T2 ULONG_MAX
00192 #define SERVER_DEFAULT_MIN_PREF 1800
00193 #define SERVER_DEFAULT_MAX_PREF 86400
00194 #define SERVER_DEFAULT_MIN_VALID 3600
00195 #define SERVER_DEFAULT_MAX_VALID 172800
00196
00197 #define CLIENT_DEFAULT_T1 ULONG_MAX
00198 #define CLIENT_DEFAULT_T2 ULONG_MAX
00199
00200 #define CLIENT_DEFAULT_UNICAST false
00201 #define CLIENT_DEFAULT_RAPID_COMMIT false
00202
00203 enum ETentative {YES, NO, DONTKNOWYET};
00204 enum EState {NOTCONFIGURED, INPROCESS, CONFIGURED, FAILED, DISABLED, UNKNOWN, TENTATIVECHECK, TENTATIVE};
00205
00206
00207 #define FQDN_N 0x4
00208 #define FQDN_O 0x2
00209 #define FQDN_S 0x1
00210
00211 bool allowOptInOpt(int msgType, int optOut, int optIn);
00212 bool allowOptInMsg(int msgType, int optType);
00213
00214 #ifdef WIN32
00215 #define uint16_t unsigned short int
00216 #define uint32_t unsigned int
00217 #endif
00218
00219 #endif
00220
00221