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