Data Structures | |
struct | dhcp6_lease_address_s |
struct | ipv6_address_s |
struct | dhcp6_lease_s |
Typedefs | |
typedef dhcp6_lease_address_s | DHCPv6_lease_address |
typedef ipv6_address_s | IPv6_address |
typedef dhcp6_lease_s | DHCPv6_lease |
Enumerations | |
enum | dhcpv6_address_type_e { DHCPv6_ADDRESS, DHCPv6_TEMPORARY_ADDRESS, DHCPv6_DELEGATED_PREFIX } |
Functions | |
DHCPv6_lease * | dhcpv6_lease (struct dhcp6_optinfo *) |
void | dhcpv6_lease_free (DHCPv6_lease *) |
int | dhcpv6_pack_lease (DHCPv6_lease *lease, uint8_t *buf, uint32_t len) |
DHCPv6_lease * | dhcpv6_unpack_lease (uint8_t *buf) |
Variables | |
enum dhcpv6_address_type_e | DHCPv6_address_type |
typedef | DHCPv6_lease_address_list |
typedef | IPv6_address_list |
typedef struct dhcp6_lease_s DHCPv6_lease |
DHCPv6 lease type
typedef struct dhcp6_lease_address_s DHCPv6_lease_address |
DHCPv6 address type. There may be multiple DHCPv6 addresses per lease, each of which may have different prefix length, and lifetimes.
typedef struct ipv6_address_s IPv6_address |
DHCPv6 DNS server IPv6 address list element type.
DHCPv6 address types.
DHCPv6_ADDRESS | permanent lease address |
DHCPv6_TEMPORARY_ADDRESS | temporary address given with delegated prefix |
DHCPv6_DELEGATED_PREFIX | delegated prefix to configure radvd(8) with |
Definition at line 42 of file dhcp6_lease.h.
DHCPv6_lease* dhcpv6_lease | ( | struct dhcp6_optinfo * | ) |
defined in dhcpv6's dhcp6.h call this with the dhcp6_optinfo * returned to the libdhcp callback on the DHC6_BOUND state to construct a DHCPv6_lease .
Definition at line 54 of file dhcp6_lease.c.
References ipv6_address_s::address, dhcp6_lease_address_s::address, dhcp6_lease_s::addresses, dhcp6_lease_s::client_duid, dhcp6_lease_s::client_duid_len, DHCPv6_DELEGATED_PREFIX, dhcpv6_lease_free(), dhcp6_lease_s::dns, dhcp6_lease_s::iaid, dhcp6_lease_s::if_index, dhcp6_lease_s::if_name, dhcp6_lease_s::rebind_time, dhcp6_lease_s::renew_time, dhcp6_lease_s::search_list, dhcp6_lease_s::server_address, dhcp6_lease_s::server_duid, dhcp6_lease_s::server_duid_len, and dhcp6_lease_address_s::type.
Referenced by dhcp6_nic_callback().
void dhcpv6_lease_free | ( | DHCPv6_lease * | ) |
frees all resources associated with the DHCPv6_lease
Definition at line 152 of file dhcp6_lease.c.
References dhcp6_lease_s::addresses, dhcp6_lease_s::client_duid, dhcp6_lease_s::dns, dhcp6_lease_s::if_name, dhcp6_lease_s::search_list, and dhcp6_lease_s::server_duid.
Referenced by dhcpv6_lease(), and dhcpv6_nic_free().
int dhcpv6_pack_lease | ( | DHCPv6_lease * | lease, | |
uint8_t * | buf, | |||
uint32_t | len | |||
) |
packs the DHCPv6_lease in a buffer of length len, suitable for IPC / mmap'ed file storage.
Definition at line 187 of file dhcp6_lease.c.
References dhcp6_lease_s::addresses, dhcp6_lease_s::client_duid, dhcp6_lease_s::client_duid_len, dhcp6_lease_s::dns, dhcp6_lease_s::if_name, dhcp6_lease_s::search_list, dhcp6_lease_s::server_duid, and dhcp6_lease_s::server_duid_len.
DHCPv6_lease* dhcpv6_unpack_lease | ( | uint8_t * | buf | ) |
unpacks the DHCPv6_lease from a buffer created by dhcpv6_pack_lease()
Definition at line 271 of file dhcp6_lease.c.
References dhcp6_lease_s::addresses, dhcp6_lease_s::client_duid, dhcp6_lease_s::client_duid_len, dhcp6_lease_s::dns, dhcp6_lease_s::if_name, dhcp6_lease_s::search_list, dhcp6_lease_s::server_duid, and dhcp6_lease_s::server_duid_len.
DHCPv6 address types.
typedef DHCPv6_lease_address_list |
DHCPv6 lease address list type.
Definition at line 74 of file dhcp6_lease.h.
typedef IPv6_address_list |
DHCPv6 DNS server IPv6 address list type.
Definition at line 91 of file dhcp6_lease.h.