IPv6 DHCP Lease Options
[IPv6 DHCP Client Control and Configuration]


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_leasedhcpv6_lease (struct dhcp6_optinfo *)
void dhcpv6_lease_free (DHCPv6_lease *)
int dhcpv6_pack_lease (DHCPv6_lease *lease, uint8_t *buf, uint32_t len)
DHCPv6_leasedhcpv6_unpack_lease (uint8_t *buf)

Variables

enum dhcpv6_address_type_e DHCPv6_address_type
typedef DHCPv6_lease_address_list
typedef IPv6_address_list

Typedef Documentation

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.


Enumeration Type Documentation

enum dhcpv6_address_type_e

DHCPv6 address types.

Enumerator:
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 38 of file dhcp6_lease.h.


Function Documentation

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 49 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 147 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 182 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 266 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.


Variable Documentation

enum dhcpv6_address_type_e DHCPv6_address_type

DHCPv6 address types.

typedef DHCPv6_lease_address_list

DHCPv6 lease address list type.

Definition at line 70 of file dhcp6_lease.h.

typedef IPv6_address_list

DHCPv6 DNS server IPv6 address list type.

Definition at line 87 of file dhcp6_lease.h.


Generated on Thu Aug 10 22:16:41 2006 for libdhcp by  doxygen 1.4.7