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