Go to the documentation of this file.
31 #ifndef _DHCPV6_COMMON_H
32 #define _DHCPV6_COMMON_H
40 #define DHCPV6_CLIENT_PORT 546
41 #define DHCPV6_SERVER_PORT 547
44 #define DHCPV6_MAX_MSG_SIZE 1232
46 #define DHCPV6_MAX_DUID_SIZE 130
49 #define DHCPV6_HOP_COUNT_LIMIT 8
51 #define DHCPV6_MAX_SERVER_PREFERENCE 255
53 #define DHCPV6_INFINITE_TIME 0xFFFFFFFF
157 #if defined(__CWCC__) || defined(_WIN32)
158 #pragma pack(push, 1)
166 typedef __start_packed
struct
179 typedef __start_packed
struct
191 typedef __start_packed
struct
195 #if (ETH_SUPPORT == ENABLED)
207 typedef __start_packed
struct
219 typedef __start_packed
struct
233 typedef __start_packed
struct
245 typedef __start_packed
struct
258 typedef __start_packed
struct
269 typedef __start_packed
struct
282 typedef __start_packed
struct
292 typedef __start_packed
struct
302 typedef __start_packed
struct
312 typedef __start_packed
struct
326 typedef __start_packed
struct
336 typedef __start_packed
struct
347 typedef __start_packed
struct
357 typedef __start_packed
struct
367 typedef __start_packed
struct
377 typedef __start_packed
struct
390 typedef __start_packed
struct
404 typedef __start_packed
struct
406 #if defined(_CPU_BIG_ENDIAN) && !defined(__ICCRX__)
422 #if defined(__CWCC__) || defined(_WIN32)
434 uint16_t optionCode,
const void *optionValue,
size_t optionLen);
437 uint16_t optionCode,
const void *optionValue,
size_t optionLen);
440 size_t optionsLength, uint16_t optionCode);
__start_packed struct @1 Eui64
EUI-64 identifier.
IPv6 (Internet Protocol Version 6)
__start_packed struct @15 Dhcpv6ReconfMessageOption
Reconfigure Message option.
@ DHCPV6_MSG_TYPE_DECLINE
__start_packed struct @0 Dhcpv6DuidLlt
DUID-LLT structure.
@ DHCPV6_STATUS_NOT_ON_LINK
__start_packed struct @3 Dhcpv6Message
DHCPv6 message.
__start_packed struct @16 Dhcpv6DnsServersOption
DNS Recursive Name Server option.
__start_packed struct @7 Dhcpv6IaTaOption
Identity Association for Temporary Addresses option.
@ DHCPV6_MSG_TYPE_SOLICIT
uint32_t preferredLifetime
Dhcpv6Option * dhcpv6AddSubOption(Dhcpv6Option *baseOption, size_t *messageLen, uint16_t optionCode, const void *optionValue, size_t optionLen)
Add a suboption under an existing base option.
@ DHCPV6_MSG_TYPE_RELAY_FORW
@ DHCPV6_STATUS_UNSPEC_FAILURE
@ DHCPV6_HARDWARE_TYPE_EUI64
@ DHCPV6_STATUS_NO_BINDING
uint16_t requestedOption[1]
@ DHCPV6_OPT_ELAPSED_TIME
__start_packed struct @2 Dhcpv6DuidLl
DUID-LL structure.
__start_packed struct @0 MacAddr
MAC address.
Dhcpv6StatusCode dhcpv6GetStatusCode(const uint8_t *options, size_t length)
Retrieve status code.
__start_packed struct @10 Dhcpv6PreferenceOption
Preference option.
@ DHCPV6_OPT_CAPTIVE_PORTAL
uint32_t enterpriseNumber
@ DHCPV6_MSG_TYPE_RELEASE
__start_packed struct @1 Dhcpv6DuidEn
DUID-EN structure.
__start_packed struct @9 Dhcpv6OroOption
Option Request option.
__start_packed struct _Ipv4Header __end_packed
@ DHCPV6_OPT_INTERFACE_ID
Dhcpv6StatusCode
Status code.
const Ipv6Addr DHCPV6_ALL_SERVERS_ADDR
__start_packed struct @6 Dhcpv6IaNaOption
Identity Association for Non-temporary Addresses option.
__start_packed struct @20 Dhcpv6FqdnOption
Fully Qualified Domain Name option.
@ DHCPV6_MSG_TYPE_ADVERTISE
uint8_t replayDetection[8]
__start_packed struct @17 Dhcpv6DomainListOption
Domain Search List option.
const Ipv6Addr DHCPV6_ALL_RELAY_AGENTS_AND_SERVERS_ADDR
@ DHCPV6_MSG_TYPE_INFO_REQUEST
@ DHCPV6_MSG_TYPE_RELAY_REPL
__start_packed struct @14 Dhcpv6StatusCodeOption
Status Code option.
Dhcpv6DuidType
DUID types.
__start_packed struct @5 Dhcpv6Option
DHCPv6 option.
@ DHCPV6_OPT_VENDOR_CLASS
Dhcpv6MessageType
DHCPv6 message types.
@ DHCPV6_STATUS_USE_MULTICAST
__start_packed struct @13 Dhcpv6ServerUnicastOption
Server Unicast option.
@ DHCPV6_OPT_RECONF_ACCEPT
__start_packed struct @18 Dhcpv6IaPdOption
Identity Association for Prefix Delegation Option.
@ DHCPV6_STATUS_NO_ADDRS_AVAILABLE
@ DHCPV6_OPT_INFO_REFRESH_TIME
__start_packed struct @19 Dhcpv6IaPrefixOption
IA_PD Prefix option.
Dhcpv6HardwareType
Hardware types.
@ DHCPV6_MSG_TYPE_CONFIRM
Dhcpv6Option * dhcpv6GetOption(const uint8_t *options, size_t optionsLength, uint16_t optionCode)
Search a DHCPv6 message for a given option.
@ DHCPV6_HARDWARE_TYPE_ETH
Dhcpv6OptionCode
DHCPv6 option codes.
@ DHCPV6_MSG_TYPE_RECONFIGURE
Dhcpv6Option * dhcpv6AddOption(void *message, size_t *messageLen, uint16_t optionCode, const void *optionValue, size_t optionLen)
Add an option to a DHCPv6 message.
__start_packed struct @12 Dhcpv6AuthOption
Authentication option.
__start_packed struct @4 Dhcpv6RelayMessage
DHCPv6 relay agent message.
__start_packed struct @8 Dhcpv6IaAddrOption
IA Address option.
__start_packed struct @0 Ipv6Addr
IPv6 network address.
@ DHCPV6_MSG_TYPE_REQUEST
@ DHCPV6_OPT_RAPID_COMMIT
__start_packed struct @11 Dhcpv6ElapsedTimeOption
Elapsed Time option.