Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DHCPConst.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ADDRPARAMS_MASK_ANYCAST   0x02
#define ADDRPARAMS_MASK_MULTICAST   0x04
#define ADDRPARAMS_MASK_PREFIX   0x01
#define ADVERTISE_MSG   2
#define ALL_DHCP_RELAY_AGENTS_AND_SERVERS   "ff02::1:2"
#define ALL_DHCP_SERVERS   "ff05::1:3"
#define AUTHKEYLEN   20
#define CNF_MAX_DELAY   1
#define CNF_MAX_RD   10
#define CNF_MAX_RT   4
#define CNF_TIMEOUT   1
#define CONFIRM_MSG   4
#define CONTROL_MSG   255
#define DEC_MAX_RC   5
#define DEC_TIMEOUT   1
#define DECLINE_MSG   9
#define DHCPCLIENT_PORT   546
#define DHCPSERVER_PORT   547
#define DHCPV6_INFINITY   0xffffffffu
#define FQDN_N   0x4
#define FQDN_O   0x2
#define FQDN_S   0x1
#define HOP_COUNT_LIMIT   32
#define INF_MAX_DELAY   1
#define INF_MAX_RT   120
#define INF_TIMEOUT   1
#define INFORMATION_REQUEST_MSG   11
#define LEASEQUERY_MSG   14
#define LEASEQUERY_REPLY_MSG   15
#define OPTION_ADDRPARAMS   251
#define OPTION_AFTR_NAME   64
#define OPTION_AUTH   11
#define OPTION_BCMCS_SERVER_A   34
#define OPTION_BCMCS_SERVER_D   33
#define OPTION_CLIENT_DATA   45
#define OPTION_CLIENT_LINKLAYER_ADDR   79
#define OPTION_CLIENTID   1
#define OPTION_CLT_TIME   46
#define OPTION_DNS_SERVERS   23
#define OPTION_DOMAIN_LIST   24
#define OPTION_ELAPSED_TIME   8
#define OPTION_ELAPSED_TIME_LEN   2
#define OPTION_ERO   43
#define OPTION_FQDN   39
#define OPTION_GEOCONF_CIVIC   36
#define OPTION_IA_NA   3
#define OPTION_IA_PD   25
#define OPTION_IA_TA   4
#define OPTION_IAADDR   5
#define OPTION_IAPREFIX   26
#define OPTION_INFORMATION_REFRESH_TIME   32
#define OPTION_INFORMATION_REFRESH_TIME_LEN   4
#define OPTION_INTERFACE_ID   18
#define OPTION_LQ_CLIENT_LINK   48
#define OPTION_LQ_QUERY   44
#define OPTION_LQ_RELAY_DATA   47
#define OPTION_NEIGHBORS   254
#define OPTION_NEW_POSIX_TIMEZONE   41
#define OPTION_NEW_TZDB_TIMEZONE   42
#define OPTION_NEXT_HOP   242
#define OPTION_NIS_DOMAIN_NAME   29
#define OPTION_NIS_SERVERS   27
#define OPTION_NISP_DOMAIN_NAME   30
#define OPTION_NISP_SERVERS   28
#define OPTION_ORO   6
#define OPTION_PANA_AGENT   40
#define OPTION_PREFERENCE   7
#define OPTION_RAPID_COMMIT   14
#define OPTION_RECONF_ACCEPT   20
#define OPTION_RECONF_MSG   19
#define OPTION_RELAY_ID   53
#define OPTION_RELAY_MSG   9
#define OPTION_REMOTE_ID   37
#define OPTION_RTPREFIX   243
#define OPTION_SERVERID   2
#define OPTION_SIP_SERVER_A   22
#define OPTION_SIP_SERVER_D   21
#define OPTION_SNTP_SERVERS   31
#define OPTION_STATUS_CODE   13
#define OPTION_SUBSCRIBER_ID   38
#define OPTION_UNICAST   12
#define OPTION_USER_CLASS   15
#define OPTION_VENDOR_CLASS   16
#define OPTION_VENDOR_OPTS   17
#define REB_MAX_RT   600
#define REB_TIMEOUT   10
#define REBIND_MSG   6
#define REC_MAX_RC   8
#define REC_TIMEOUT   2
#define RECONFIGURE_MSG   10
#define REL_MAX_RC   5
#define REL_TIMEOUT   1
#define RELAY_FORW_MSG   12
#define RELAY_REPL_MSG   13
#define RELEASE_MSG   8
#define REN_MAX_RT   600
#define REN_TIMEOUT   10
#define RENEW_MSG   5
#define REPLY_MSG   7
#define REQ_MAX_RC   10
#define REQ_MAX_RT   30
#define REQ_TIMEOUT   1
#define REQUEST_MSG   3
#define SERVER_REPLY_CACHE_TIMEOUT   60
#define SOL_MAX_DELAY   1
#define SOL_MAX_RT   120
#define SOL_TIMEOUT   1
#define SOLICIT_MSG   1
#define STATUSCODE_MALFORMEDQUERY   8
#define STATUSCODE_NOADDRSAVAIL   2
#define STATUSCODE_NOBINDING   3
#define STATUSCODE_NOPREFIXAVAIL   6
#define STATUSCODE_NOTALLOWED   10
#define STATUSCODE_NOTCONFIGURED   9
#define STATUSCODE_NOTONLINK   4
#define STATUSCODE_SUCCESS   0
#define STATUSCODE_UNKNOWNQUERYTYPE   7
#define STATUSCODE_UNSPECFAIL   1
#define STATUSCODE_USEMULTICAST   5

Enumerations

enum  AuthAlgorithm_ReconfigureKey { AUTH_ALGORITHM_NONE = 0, AUTH_ALGORITHM_RECONFIGURE_KEY = 1 }
enum  AuthProtocols { AUTH_PROTO_NONE = 0, AUTH_PROTO_DELAYED = 2, AUTH_PROTO_RECONFIGURE_KEY = 3, AUTH_PROTO_DIBBLER = 4 }
enum  AuthReplay { AUTH_REPLAY_NONE = 0, AUTH_REPLAY_MONOTONIC = 1 }
enum  DigestTypes {
  DIGEST_NONE = 0, DIGEST_PLAIN = 1, DIGEST_HMAC_MD5 = 2, DIGEST_HMAC_SHA1 = 3,
  DIGEST_HMAC_SHA224 = 4, DIGEST_HMAC_SHA256 = 5, DIGEST_HMAC_SHA384 = 6, DIGEST_HMAC_SHA512 = 7,
  DIGEST_INVALID = 8
}
enum  EAddrStatus { ADDRSTATUS_UNKNOWN = -1, ADDRSTATUS_NO = 0, ADDRSTATUS_YES = 1 }
enum  ELeaseQueryType { QUERY_BY_ADDRESS = 1, QUERY_BY_CLIENTID = 2 }
enum  EState {
  STATE_NOTCONFIGURED, STATE_INPROCESS, STATE_CONFIGURED, STATE_FAILED,
  STATE_DISABLED, STATE_CONFIRMME, STATE_TENTATIVECHECK, STATE_TENTATIVE
}
enum  EUnknownFQDNMode {
  UNKNOWN_FQDN_REJECT = 0, UNKKOWN_FQDN_ACCEPT_POOL = 1, UNKNOWN_FQDN_ACCEPT = 2, UNKNOWN_FQDN_APPEND = 3,
  UNKNOWN_FQDN_PROCEDURAL = 4
}
enum  TIAType { IATYPE_IA, IATYPE_TA, IATYPE_PD }

Functions

int allowOptInMsg (int msgType, int optType)
int allowOptInOpt (int msgType, int optOut, int optIn)
char * getDigestName (enum DigestTypes type)
unsigned getDigestSize (enum DigestTypes type)

Variables

static const unsigned int DELAYED_AUTH_DIGEST_SIZE = 16
static const unsigned int DELAYED_AUTH_KEY_ID_SIZE = 4
static const unsigned int DELAYED_AUTH_KEY_SIZE = 16
static const unsigned int RECONFIGURE_DIGEST_SIZE = 16
static const unsigned int RECONFIGURE_KEY_AUTHINFO_SIZE = 17
static const unsigned int RECONFIGURE_KEY_SIZE = 16

Macro Definition Documentation

#define ADDRPARAMS_MASK_ANYCAST   0x02
#define ADDRPARAMS_MASK_MULTICAST   0x04
#define ADDRPARAMS_MASK_PREFIX   0x01
#define ADVERTISE_MSG   2
#define ALL_DHCP_RELAY_AGENTS_AND_SERVERS   "ff02::1:2"
#define ALL_DHCP_SERVERS   "ff05::1:3"
#define AUTHKEYLEN   20
#define CNF_MAX_DELAY   1
#define CNF_MAX_RD   10
#define CNF_MAX_RT   4
#define CNF_TIMEOUT   1
#define CONFIRM_MSG   4
#define CONTROL_MSG   255
#define DEC_MAX_RC   5
#define DEC_TIMEOUT   1
#define DECLINE_MSG   9
#define DHCPCLIENT_PORT   546
#define DHCPSERVER_PORT   547
#define DHCPV6_INFINITY   0xffffffffu
#define FQDN_N   0x4
#define FQDN_O   0x2
#define FQDN_S   0x1
#define HOP_COUNT_LIMIT   32
#define INF_MAX_DELAY   1
#define INF_MAX_RT   120
#define INF_TIMEOUT   1
#define INFORMATION_REQUEST_MSG   11
#define LEASEQUERY_MSG   14
#define LEASEQUERY_REPLY_MSG   15
#define OPTION_ADDRPARAMS   251
#define OPTION_AFTR_NAME   64
#define OPTION_AUTH   11
#define OPTION_BCMCS_SERVER_A   34
#define OPTION_BCMCS_SERVER_D   33
#define OPTION_CLIENT_DATA   45
#define OPTION_CLIENT_LINKLAYER_ADDR   79
#define OPTION_CLIENTID   1
#define OPTION_CLT_TIME   46
#define OPTION_DNS_SERVERS   23
#define OPTION_DOMAIN_LIST   24
#define OPTION_ELAPSED_TIME   8
#define OPTION_ELAPSED_TIME_LEN   2
#define OPTION_ERO   43
#define OPTION_FQDN   39
#define OPTION_GEOCONF_CIVIC   36
#define OPTION_IA_NA   3
#define OPTION_IA_PD   25
#define OPTION_IA_TA   4
#define OPTION_IAADDR   5
#define OPTION_IAPREFIX   26
#define OPTION_INFORMATION_REFRESH_TIME   32
#define OPTION_INFORMATION_REFRESH_TIME_LEN   4
#define OPTION_INTERFACE_ID   18
#define OPTION_LQ_CLIENT_LINK   48
#define OPTION_LQ_QUERY   44
#define OPTION_LQ_RELAY_DATA   47
#define OPTION_NEIGHBORS   254
#define OPTION_NEW_POSIX_TIMEZONE   41
#define OPTION_NEW_TZDB_TIMEZONE   42
#define OPTION_NEXT_HOP   242
#define OPTION_NIS_DOMAIN_NAME   29
#define OPTION_NIS_SERVERS   27
#define OPTION_NISP_DOMAIN_NAME   30
#define OPTION_NISP_SERVERS   28
#define OPTION_ORO   6
#define OPTION_PANA_AGENT   40
#define OPTION_PREFERENCE   7
#define OPTION_RAPID_COMMIT   14
#define OPTION_RECONF_ACCEPT   20
#define OPTION_RECONF_MSG   19
#define OPTION_RELAY_ID   53
#define OPTION_RELAY_MSG   9
#define OPTION_REMOTE_ID   37
#define OPTION_RTPREFIX   243
#define OPTION_SERVERID   2
#define OPTION_SIP_SERVER_A   22
#define OPTION_SIP_SERVER_D   21
#define OPTION_SNTP_SERVERS   31
#define OPTION_STATUS_CODE   13
#define OPTION_SUBSCRIBER_ID   38
#define OPTION_UNICAST   12
#define OPTION_USER_CLASS   15
#define OPTION_VENDOR_CLASS   16
#define OPTION_VENDOR_OPTS   17
#define REB_MAX_RT   600
#define REB_TIMEOUT   10
#define REBIND_MSG   6
#define REC_MAX_RC   8
#define REC_TIMEOUT   2
#define RECONFIGURE_MSG   10
#define REL_MAX_RC   5
#define REL_TIMEOUT   1
#define RELAY_FORW_MSG   12
#define RELAY_REPL_MSG   13
#define RELEASE_MSG   8
#define REN_MAX_RT   600
#define REN_TIMEOUT   10
#define RENEW_MSG   5
#define REPLY_MSG   7
#define REQ_MAX_RC   10
#define REQ_MAX_RT   30
#define REQ_TIMEOUT   1
#define REQUEST_MSG   3
#define SERVER_REPLY_CACHE_TIMEOUT   60
#define SOL_MAX_DELAY   1
#define SOL_MAX_RT   120
#define SOL_TIMEOUT   1
#define SOLICIT_MSG   1
#define STATUSCODE_MALFORMEDQUERY   8
#define STATUSCODE_NOADDRSAVAIL   2
#define STATUSCODE_NOBINDING   3
#define STATUSCODE_NOPREFIXAVAIL   6
#define STATUSCODE_NOTALLOWED   10
#define STATUSCODE_NOTCONFIGURED   9
#define STATUSCODE_NOTONLINK   4
#define STATUSCODE_SUCCESS   0
Todo:
: convert this to enum
#define STATUSCODE_UNKNOWNQUERYTYPE   7
#define STATUSCODE_UNSPECFAIL   1
#define STATUSCODE_USEMULTICAST   5

Enumeration Type Documentation

Enumerator:
AUTH_ALGORITHM_NONE 
AUTH_ALGORITHM_RECONFIGURE_KEY 
Enumerator:
AUTH_PROTO_NONE 
AUTH_PROTO_DELAYED 
AUTH_PROTO_RECONFIGURE_KEY 
AUTH_PROTO_DIBBLER 
enum AuthReplay
Enumerator:
AUTH_REPLAY_NONE 
AUTH_REPLAY_MONOTONIC 
Todo:
: rename to AuthAlgorithm_DibblerDigestTypes
Enumerator:
DIGEST_NONE 
DIGEST_PLAIN 
DIGEST_HMAC_MD5 
DIGEST_HMAC_SHA1 
DIGEST_HMAC_SHA224 
DIGEST_HMAC_SHA256 
DIGEST_HMAC_SHA384 
DIGEST_HMAC_SHA512 
DIGEST_INVALID 

used for 2 purposes: is address tentative? is address valid on link?

Enumerator:
ADDRSTATUS_UNKNOWN 
ADDRSTATUS_NO 
ADDRSTATUS_YES 
Enumerator:
QUERY_BY_ADDRESS 
QUERY_BY_CLIENTID 
enum EState
Enumerator:
STATE_NOTCONFIGURED 
STATE_INPROCESS 
STATE_CONFIGURED 
STATE_FAILED 
STATE_DISABLED 
STATE_CONFIRMME 
STATE_TENTATIVECHECK 
STATE_TENTATIVE 
Enumerator:
UNKNOWN_FQDN_REJECT 
UNKKOWN_FQDN_ACCEPT_POOL 
UNKNOWN_FQDN_ACCEPT 
UNKNOWN_FQDN_APPEND 
UNKNOWN_FQDN_PROCEDURAL 
enum TIAType
Enumerator:
IATYPE_IA 
IATYPE_TA 
IATYPE_PD 

Function Documentation

int allowOptInMsg ( int  msgType,
int  optType 
)
int allowOptInOpt ( int  msgType,
int  optOut,
int  optIn 
)
char* getDigestName ( enum DigestTypes  type)
unsigned getDigestSize ( enum DigestTypes  type)

Variable Documentation

const unsigned int DELAYED_AUTH_DIGEST_SIZE = 16
static
const unsigned int DELAYED_AUTH_KEY_ID_SIZE = 4
static
const unsigned int DELAYED_AUTH_KEY_SIZE = 16
static
const unsigned int RECONFIGURE_DIGEST_SIZE = 16
static
const unsigned int RECONFIGURE_KEY_AUTHINFO_SIZE = 17
static
const unsigned int RECONFIGURE_KEY_SIZE = 16
static