35 MSG_LEASEQUERY_REPLY = 15,
36 MSG_LEASEQUERY_DONE = 16,
37 MSG_LEASEQUERY_DATA = 17,
38 MSG_RECONFIGURE_REQUEST = 18,
39 MSG_RECONFIGURE_REPLY = 19,
40 MSG_DHCPV4_QUERY = 20,
41 MSG_DHCPV4_RESPONSE = 21,
42 MSG_FORCE_16BIT = 0xFFFF
60 OPT_RAPID_COMMIT = 14,
62 OPT_VENDOR_CLASS = 16,
66 OPT_RECONF_ACCEPT = 20,
67 OPT_SIP_SERVER_D = 21,
68 OPT_SIP_SERVER_A = 22,
74 OPT_NISP_SERVERS = 28,
75 OPT_NIS_DOMAIN_NAME = 29,
76 OPT_NISP_DOMAIN_NAME = 30,
77 OPT_SNTP_SERVERS = 31,
78 OPT_INFORMATION_REFRESH_TIME = 32,
79 OPT_BCMCS_SERVER_D = 33,
80 OPT_BCMCS_SERVER_A = 34,
81 OPT_GEOCONF_CIVIC = 36,
83 OPT_SUBSCRIBER_ID = 38,
86 OPT_NEW_POSIX_TIMEZONE = 41,
87 OPT_NEW_TZDB_TIMEZONE = 42,
92 OPT_LQ_RELAY_DATA = 47,
93 OPT_LQ_CLIENT_LINK = 48,
97 OPT_CAPWAP_AC_V6 = 52,
99 OPT_IPv6_Address_MoS = 54,
100 OPT_IPv6_FQDN_MoS = 55,
102 OPT_V6_ACCESS_DOMAIN = 57,
103 OPT_SIP_UA_CS_LIST = 58,
104 OPT_BOOTFILE_URL = 59,
105 OPT_BOOTFILE_PARAM = 60,
106 OPT_CLIENT_ARCH_TYPE = 61,
108 OPT_GEOLOCATION = 63,
110 OPT_ERP_LOCAL_DOMAIN_NAME = 65,
119 OPT_RDNSS_SELECTION = 74,
120 OPT_KRB_PRINCIPAL_NAME = 75,
121 OPT_KRB_REALM_NAME = 76,
122 OPT_KRB_DEFAULT_REALM_NAME = 77,
124 OPT_CLIENT_LINKLAYER_ADDR = 79,
125 OPT_LINK_ADDRESS = 80,
130 OPT_ADDRSEL_TABLE = 85,
131 OPT_V6_PCP_SERVER = 86,
133 OPT_DHCP4_O_DHCP6_SERVER = 88,
137 OPT_S46_V4V6BIND = 92,
138 OPT_S46_PORTPARAMS = 93,
139 OPT_S46_CONT_MAPE = 94,
140 OPT_S46_CONT_MAPT = 95,
141 OPT_S46_CONT_LW = 96,
143 OPT_4RD_MAP_RULE = 98,
144 OPT_4RD_NON_MAP_RULE = 99,
145 OPT_LQ_BASE_TIME = 100,
146 OPT_LQ_START_TIME = 101,
147 OPT_LQ_END_TIME = 102,
148 OPT_FORCE_16BIT = 0xFFFF
154 STATUS_UNSPEC_FAIL = 1,
155 STATUS_NO_ADDRS_AVAIL = 2,
156 STATUS_NO_BINDING = 3,
157 STATUS_NOT_ON_LINK = 4,
158 STATUS_USE_MULTICAST = 5,
159 STATUS_NO_PREFIX_AVAIL = 6,
160 STATUS_UNKNOWN_QUERY_TYPE = 7,
161 STATUS_MALFORMED_QUERY = 8,
162 STATUS_NOT_CONFIGURED = 9,
163 STATUS_NOT_ALLOWED = 10,
164 STATUS_QUERY_TERMINATED = 11,
165 STATUS_FORCE_16_BIT = 0xFFFF
173 inline Option *GetNext() {
return (Option *)(((uint8_t *)
this) + len +
sizeof(
Option)); }
174} __attribute__((packed));
181 DUID_TYPE_FORCE_16BIT = 0xFFFF
187} __attribute__((packed));
189struct DUID_LLT :
public DUID
191 beuint16_t hardwareType;
194} __attribute__((packed));
196struct DUID_EN :
public DUID
198 beuint32_t enterpriseNum;
200} __attribute__((packed));
202struct DUID_LL :
public DUID
204 beuint16_t hardwareType;
206} __attribute__((packed));
211 beuint32_t typeAndXid;
214 Option *GetOption(Option_ID optID, Option *lastOpt = NULL);
215} __attribute__((packed));
219struct BaseOption :
public Option
222} __attribute__((packed));
224struct ClientServerID :
public Option
227} __attribute__((packed));
229struct IA_NA :
public Option
236 Option *GetOption(Option_ID optID, Option *lastOpt = NULL);
237} __attribute__((packed));
239struct IA_TA :
public Option
244 Option *GetOption(Option_ID optID, Option *lastOpt = NULL);
245} __attribute__((packed));
247struct IA_ADDR :
public Option
250 beuint32_t preferred;
254 inline IA_ADDR(
IPADDR6 ip, uint32_t pref = 0, uint32_t val = 0) : addr(ip), preferred(pref), valid(val)
257 len =
sizeof(IA_ADDR) -
sizeof(Option);
260 inline bool ServerIsInvalidating() {
return (preferred == 0) && (valid == 0); }
262 Option *GetOption(Option_ID optID, Option *lastOpt = NULL);
263} __attribute__((packed));
267 beuint16_t ReqOptCode[];
268} __attribute__((packed));
270struct Pref :
public Option
273} __attribute__((packed));
275struct ElapsedTime :
public Option
278} __attribute__((packed));
280struct RelayMsg :
public Option
283} __attribute__((packed));
285struct Auth :
public Option
292} __attribute__((packed));
294struct Unicast :
public Option
297} __attribute__((packed));
299struct StatusMsg :
public Option
301 beuint16_t statusCode;
303} __attribute__((packed));
305struct RapidCommit :
public Option
308} __attribute__((packed));
310struct UserClass :
public Option
316 } __attribute__((packed));
318} __attribute__((packed));
320struct VendorClass :
public Option
326 } __attribute__((packed));
327 beuint32_t enterpriseNum;
329} __attribute__((packed));
331struct VendorOpts :
public Option
333 beuint32_t enterpriseNum;
335} __attribute__((packed));
337struct InterfaceID :
public Option
339 uint8_t interfaceID[];
340} __attribute__((packed));
342struct ReconfMsg :
public Option
345} __attribute__((packed));
347struct ReconfAccept :
public Option
350} __attribute__((packed));
352struct DNS_Servers :
public Option
355} __attribute__((packed));
357struct DomainList :
public Option
359 uint8_t searchList[];
360} __attribute__((packed));
362struct InfoRefreshTime :
public Option
364 beuint32_t refreshTime;
368struct FQDN :
public Option
379void ShowOption(
int lvl, Option *opt);
Used to hold and manipulate IPv4 and IPv6 addresses in dual stack mode.
Definition ipv6_addr.h:41
@ Option
Option.
Definition nbWifiConstants.h:385
NetBurner IPADDR4 Class. See the IPADDR4 Class page for complete documentation.