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(__CCRX__)
159 #elif defined(__CWCC__) || defined(_WIN32)
160 #pragma pack(push, 1)
197 #if (ETH_SUPPORT == ENABLED)
286 uint16_t requestedOption[1];
371 uint8_t searchList[1];
408 #if defined(_CPU_BIG_ENDIAN) && !defined(__ICCRX__)
424 #if defined(__CCRX__)
426 #elif defined(__CWCC__) || defined(_WIN32)
438 uint16_t optionCode,
const void *optionValue,
size_t optionLen);
441 uint16_t optionCode,
const void *optionValue,
size_t optionLen);
444 size_t optionsLength, uint16_t optionCode);
IPv6 (Internet Protocol Version 6)
@ DHCPV6_MSG_TYPE_DECLINE
@ DHCPV6_STATUS_NOT_ON_LINK
@ 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
Dhcpv6ServerUnicastOption
@ DHCPV6_HARDWARE_TYPE_EUI64
@ DHCPV6_STATUS_NO_BINDING
@ DHCPV6_OPT_ELAPSED_TIME
Dhcpv6StatusCode dhcpv6GetStatusCode(const uint8_t *options, size_t length)
Retrieve status code.
@ DHCPV6_OPT_CAPTIVE_PORTAL
uint32_t enterpriseNumber
@ DHCPV6_MSG_TYPE_RELEASE
@ DHCPV6_OPT_INTERFACE_ID
Dhcpv6StatusCode
Status code.
const Ipv6Addr DHCPV6_ALL_SERVERS_ADDR
@ DHCPV6_MSG_TYPE_ADVERTISE
uint8_t replayDetection[8]
const Ipv6Addr DHCPV6_ALL_RELAY_AGENTS_AND_SERVERS_ADDR
@ DHCPV6_MSG_TYPE_INFO_REQUEST
@ DHCPV6_MSG_TYPE_RELAY_REPL
Dhcpv6DuidType
DUID types.
Dhcpv6ReconfMessageOption
@ DHCPV6_OPT_VENDOR_CLASS
Dhcpv6MessageType
DHCPv6 message types.
@ DHCPV6_STATUS_USE_MULTICAST
@ DHCPV6_OPT_RECONF_ACCEPT
@ DHCPV6_STATUS_NO_ADDRS_AVAILABLE
@ DHCPV6_OPT_INFO_REFRESH_TIME
Dhcpv6HardwareType
Hardware types.
typedef __packed_struct
DUID-LLT structure.
@ 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.
@ DHCPV6_MSG_TYPE_REQUEST
@ DHCPV6_OPT_RAPID_COMMIT