dhcp4_option_s Struct Reference
[IPv4 DHCP Lease Options]

#include <dhcp4_lease.h>


Data Fields

dhcp4_lease_slease
char * name
char * format
char * universe
uint8_t unicode
uint8_t code
uint8_t form
uint8_t size
uint8_t udefined
uint8_t redefined
uint16_t n_members
uint16_t n_elements
uint16_t length
uint8_t ** members
uint8_t value [1]


Detailed Description

The DHCP Option structure.

Structured options (options with more than one member) are laid out as C structures in 'opt->value', with a list of pointers to each member following the C structure. opt->length will be : sizeof(structure) + (n_members * sizeof(void*)). ie. sizeof(structure) == opt->length -(n_members * sizeof(void*)).

Array options have exactly opt->n_members elements of opt->size, and are packed as a c array.

For scalars, n_members == 1.

Definition at line 125 of file dhcp4_lease.h.


Field Documentation

uint8_t dhcp4_option_s::code

0 - 255

Definition at line 132 of file dhcp4_lease.h.

Referenced by dhcpv4_get_option_by_code().

uint8_t dhcp4_option_s::form

DHCPv4_Option_Structure_Type

Definition at line 133 of file dhcp4_lease.h.

char* dhcp4_option_s::format

dhcp format string of DHCPv4_Option_Type(s)

Definition at line 129 of file dhcp4_lease.h.

struct dhcp4_lease_s* dhcp4_option_s::lease

the lease this option is associated with

Definition at line 127 of file dhcp4_lease.h.

uint16_t dhcp4_option_s::length

size of value in bytes

Definition at line 139 of file dhcp4_lease.h.

uint8_t** dhcp4_option_s::members

points to array of pointers to members at end of value

Definition at line 140 of file dhcp4_lease.h.

uint16_t dhcp4_option_s::n_elements

> 1 if array

Definition at line 138 of file dhcp4_lease.h.

Referenced by dhcp4_nic_option_handler().

uint16_t dhcp4_option_s::n_members

> 1 if structure

Definition at line 137 of file dhcp4_lease.h.

char* dhcp4_option_s::name

dhcp option name, defined in dhcp/common/tables.c

Definition at line 128 of file dhcp4_lease.h.

Referenced by dhcpv4_get_option_by_name().

uint8_t dhcp4_option_s::redefined

1 if user redefined option

Definition at line 136 of file dhcp4_lease.h.

uint8_t dhcp4_option_s::size

If struct / array, size of element

Definition at line 134 of file dhcp4_lease.h.

uint8_t dhcp4_option_s::udefined

1 if user defined option

Definition at line 135 of file dhcp4_lease.h.

uint8_t dhcp4_option_s::unicode

universe code

Definition at line 131 of file dhcp4_lease.h.

Referenced by dhcpv4_get_option_by_code().

char* dhcp4_option_s::universe

universe name

Definition at line 130 of file dhcp4_lease.h.

uint8_t dhcp4_option_s::value[1]

option value(s) c-structure ; must be aligned for integer

Definition at line 141 of file dhcp4_lease.h.

Referenced by dhcp4_nic_option_handler(), and dhcpv4_unpack_lease().


The documentation for this struct was generated from the following file:
Generated on Mon Aug 14 17:26:18 2006 for libdhcp by  doxygen 1.4.7