31#ifndef _DHCPV6_CLIENT_MISC_H
32#define _DHCPV6_CLIENT_MISC_H
47void dhcpv6ClientTick(Dhcpv6ClientContext *context);
48void dhcpv6ClientLinkChangeEvent(Dhcpv6ClientContext *context);
50error_t dhcpv6ClientSendMessage(Dhcpv6ClientContext *context,
53void dhcpv6ClientProcessMessage(NetInterface *interface,
55 const NetBuffer *buffer,
size_t offset,
const NetRxAncillary *ancillary,
58void dhcpv6ClientParseAdvertise(Dhcpv6ClientContext *context,
59 const Dhcpv6Message *message,
size_t length);
61void dhcpv6ClientParseReply(Dhcpv6ClientContext *context,
62 const Dhcpv6Message *message,
size_t length);
64error_t dhcpv6ClientParseIaNaOption(Dhcpv6ClientContext *context,
65 const Dhcpv6Option *option);
67error_t dhcpv6ClientParseIaAddrOption(Dhcpv6ClientContext *context,
68 const Dhcpv6Option *option);
70void dhcpv6ClientAddAddr(Dhcpv6ClientContext *context,
const Ipv6Addr *addr,
71 uint32_t validLifetime, uint32_t preferredLifetime);
73void dhcpv6ClientRemoveAddr(Dhcpv6ClientContext *context,
const Ipv6Addr *addr);
75void dhcpv6ClientFlushAddrList(Dhcpv6ClientContext *context);
77error_t dhcpv6ClientGenerateDuid(Dhcpv6ClientContext *context);
78error_t dhcpv6ClientGenerateLinkLocalAddr(Dhcpv6ClientContext *context);
80bool_t dhcpv6ClientCheckServerId(Dhcpv6ClientContext *context,
81 Dhcpv6Option *serverIdOption);
83void dhcpv6ClientCheckTimeout(Dhcpv6ClientContext *context);
85uint16_t dhcpv6ClientComputeElapsedTime(Dhcpv6ClientContext *context);
87void dhcpv6ClientChangeState(Dhcpv6ClientContext *context,
90void dhcpv6ClientDumpConfig(Dhcpv6ClientContext *context);
DHCPv6 client (Dynamic Host Configuration Protocol for IPv6)
Dhcpv6State
DHCPv6 client FSM states.
Definition dhcpv6_client.h:240
Dhcpv6MessageType
DHCPv6 message types.
Definition dhcpv6_common.h:89
error_t
Error codes.
Definition error.h:43
uint32_t systime_t
System time.
Definition os_port_none.h:90
Structure describing a buffer that spans multiple chunks.
Definition net_mem.h:89