Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
DHCPv4. More...
Typedefs | |
typedef void(* | net_dhcpv4_option_callback_handler_t) (struct net_dhcpv4_option_callback *cb, size_t length, enum net_dhcpv4_msg_type msg_type, struct net_if *iface) |
Define the application callback handler function signature. | |
Enumerations | |
enum | net_dhcpv4_msg_type { NET_DHCPV4_MSG_TYPE_DISCOVER = 1 , NET_DHCPV4_MSG_TYPE_OFFER = 2 , NET_DHCPV4_MSG_TYPE_REQUEST = 3 , NET_DHCPV4_MSG_TYPE_DECLINE = 4 , NET_DHCPV4_MSG_TYPE_ACK = 5 , NET_DHCPV4_MSG_TYPE_NAK = 6 , NET_DHCPV4_MSG_TYPE_RELEASE = 7 , NET_DHCPV4_MSG_TYPE_INFORM = 8 } |
DHCPv4 message types. More... | |
Functions | |
static void | net_dhcpv4_init_option_callback (struct net_dhcpv4_option_callback *callback, net_dhcpv4_option_callback_handler_t handler, uint8_t option, void *data, size_t max_length) |
Helper to initialize a struct net_dhcpv4_option_callback properly. | |
int | net_dhcpv4_add_option_callback (struct net_dhcpv4_option_callback *cb) |
Add an application callback. | |
int | net_dhcpv4_remove_option_callback (struct net_dhcpv4_option_callback *cb) |
Remove an application callback. | |
static void | net_dhcpv4_init_option_vendor_callback (struct net_dhcpv4_option_callback *callback, net_dhcpv4_option_callback_handler_t handler, uint8_t option, void *data, size_t max_length) |
Helper to initialize a struct net_dhcpv4_option_callback for encapsulated vendor-specific options properly. | |
int | net_dhcpv4_add_option_vendor_callback (struct net_dhcpv4_option_callback *cb) |
Add an application callback for encapsulated vendor-specific options. | |
int | net_dhcpv4_remove_option_vendor_callback (struct net_dhcpv4_option_callback *cb) |
Remove an application callback for encapsulated vendor-specific options. | |
void | net_dhcpv4_start (struct net_if *iface) |
Start DHCPv4 client on an iface. | |
void | net_dhcpv4_stop (struct net_if *iface) |
Stop DHCPv4 client on an iface. | |
void | net_dhcpv4_restart (struct net_if *iface) |
Restart DHCPv4 client on an iface. | |
const char * | net_dhcpv4_msg_type_name (enum net_dhcpv4_msg_type msg_type) |
Return a text representation of the msg_type. | |
DHCPv4.
net_dhcpv4_option_callback_handler_t |
#include <include/zephyr/net/dhcpv4.h>
Define the application callback handler function signature.
cb | Original struct net_dhcpv4_option_callback owning this handler |
length | The length of data returned by the server. If this is greater than cb->max_length, only cb->max_length bytes will be available in cb->data |
msg_type | Type of DHCP message that triggered the callback |
iface | The interface on which the DHCP message was received |
Note: cb pointer can be used to retrieve private data through CONTAINER_OF() if original struct net_dhcpv4_option_callback is stored in another private structure.
enum net_dhcpv4_msg_type |
#include <include/zephyr/net/dhcpv4.h>
DHCPv4 message types.
These enumerations represent RFC2131 defined msy type codes, hence they should not be renumbered.
Additions, removald and reorders in this definition must be reflected within corresponding changes to net_dhcpv4_msg_type_name.
int net_dhcpv4_add_option_callback | ( | struct net_dhcpv4_option_callback * | cb | ) |
#include <include/zephyr/net/dhcpv4.h>
Add an application callback.
cb | A valid application's callback structure pointer. |
int net_dhcpv4_add_option_vendor_callback | ( | struct net_dhcpv4_option_callback * | cb | ) |
#include <include/zephyr/net/dhcpv4.h>
Add an application callback for encapsulated vendor-specific options.
cb | A valid application's callback structure pointer. |
|
inlinestatic |
#include <include/zephyr/net/dhcpv4.h>
Helper to initialize a struct net_dhcpv4_option_callback properly.
callback | A valid Application's callback structure pointer. |
handler | A valid handler function pointer. |
option | The DHCP option the callback responds to. |
data | A pointer to a buffer for max_length bytes. |
max_length | The maximum length of the data returned. |
|
inlinestatic |
#include <include/zephyr/net/dhcpv4.h>
Helper to initialize a struct net_dhcpv4_option_callback for encapsulated vendor-specific options properly.
callback | A valid Application's callback structure pointer. |
handler | A valid handler function pointer. |
option | The DHCP encapsulated vendor-specific option the callback responds to. |
data | A pointer to a buffer for max_length bytes. |
max_length | The maximum length of the data returned. |
const char * net_dhcpv4_msg_type_name | ( | enum net_dhcpv4_msg_type | msg_type | ) |
#include <include/zephyr/net/dhcpv4.h>
Return a text representation of the msg_type.
msg_type | The msg_type to be converted to text |
int net_dhcpv4_remove_option_callback | ( | struct net_dhcpv4_option_callback * | cb | ) |
#include <include/zephyr/net/dhcpv4.h>
Remove an application callback.
cb | A valid application's callback structure pointer. |
int net_dhcpv4_remove_option_vendor_callback | ( | struct net_dhcpv4_option_callback * | cb | ) |
#include <include/zephyr/net/dhcpv4.h>
Remove an application callback for encapsulated vendor-specific options.
cb | A valid application's callback structure pointer. |
void net_dhcpv4_restart | ( | struct net_if * | iface | ) |
#include <include/zephyr/net/dhcpv4.h>
Restart DHCPv4 client on an iface.
Restart DHCPv4 client on a given interface. DHCPv4 client will restart the state machine without any of the initial delays used in start.
iface | A valid pointer on an interface |
void net_dhcpv4_start | ( | struct net_if * | iface | ) |
#include <include/zephyr/net/dhcpv4.h>
Start DHCPv4 client on an iface.
Start DHCPv4 client on a given interface. DHCPv4 client will start negotiation for IPv4 address. Once the negotiation is success IPv4 address details will be added to interface.
iface | A valid pointer on an interface |
void net_dhcpv4_stop | ( | struct net_if * | iface | ) |
#include <include/zephyr/net/dhcpv4.h>
Stop DHCPv4 client on an iface.
Stop DHCPv4 client on a given interface. DHCPv4 client will remove all configuration obtained from a DHCP server from the interface and stop any further negotiation with the server.
iface | A valid pointer on an interface |