DHCP client (Dynamic Host Configuration Protocol) More...
Go to the source code of this file.
Data Structures | |
struct | DhcpClientSettings |
DHCP client settings. More... | |
struct | _DhcpClientContext |
DHCP client context. More... | |
Macros | |
#define | DHCP_CLIENT_SUPPORT ENABLED |
#define | DHCP_CLIENT_TICK_INTERVAL 200 |
#define | DHCP_CLIENT_INIT_DELAY 2000 |
#define | DHCP_CLIENT_DISCOVER_INIT_RT 4000 |
#define | DHCP_CLIENT_DISCOVER_MAX_RT 16000 |
#define | DHCP_CLIENT_REQUEST_MAX_RC 4 |
#define | DHCP_CLIENT_REQUEST_INIT_RT 4000 |
#define | DHCP_CLIENT_REQUEST_MAX_RT 64000 |
#define | DHCP_CLIENT_REQUEST_MIN_DELAY 60000 |
#define | DHCP_CLIENT_PROBE_NUM 1 |
#define | DHCP_CLIENT_PROBE_DELAY 1000 |
#define | DHCP_CLIENT_ANNOUNCE_NUM 1 |
#define | DHCP_CLIENT_ANNOUNCE_INTERVAL 1000 |
#define | DHCP_CLIENT_RAND_FACTOR 1000 |
#define | DHCP_CLIENT_PRIVATE_CONTEXT |
#define | DhcpClientContext struct _DhcpClientContext |
Typedefs | |
typedef void(* | DhcpClientTimeoutCallback) (DhcpClientContext *context, NetInterface *interface) |
DHCP configuration timeout callback. More... | |
typedef void(* | DhcpClientLinkChangeCallback) (DhcpClientContext *context, NetInterface *interface, bool_t linkState) |
Link state change callback. More... | |
typedef void(* | DhcpClientStateChangeCallback) (DhcpClientContext *context, NetInterface *interface, DhcpState state) |
FSM state change callback. More... | |
typedef void(* | DhcpClientAddOptionsCallback) (DhcpClientContext *context, DhcpMessage *message, size_t *length, DhcpMessageType type) |
Add DHCP options callback. More... | |
typedef error_t(* | DhcpClientParseOptionsCallback) (DhcpClientContext *context, const DhcpMessage *message, size_t length, DhcpMessageType type) |
Parse DHCP options callback. More... | |
Enumerations | |
enum | DhcpState { DHCP_STATE_INIT = 0, DHCP_STATE_SELECTING = 1, DHCP_STATE_REQUESTING = 2, DHCP_STATE_INIT_REBOOT = 3, DHCP_STATE_REBOOTING = 4, DHCP_STATE_PROBING = 5, DHCP_STATE_ANNOUNCING = 6, DHCP_STATE_BOUND = 7, DHCP_STATE_RENEWING = 8, DHCP_STATE_REBINDING = 9 } |
DHCP FSM states. More... | |
Functions | |
void | dhcpClientGetDefaultSettings (DhcpClientSettings *settings) |
Initialize settings with default values. More... | |
error_t | dhcpClientInit (DhcpClientContext *context, const DhcpClientSettings *settings) |
DHCP client initialization. More... | |
error_t | dhcpClientStart (DhcpClientContext *context) |
Start DHCP client. More... | |
error_t | dhcpClientStop (DhcpClientContext *context) |
Stop DHCP client. More... | |
error_t | dhcpClientRelease (DhcpClientContext *context) |
Release DHCP lease. More... | |
DhcpState | dhcpClientGetState (DhcpClientContext *context) |
Retrieve current state. More... | |
Detailed Description
DHCP client (Dynamic Host Configuration Protocol)
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.4.4
Definition in file dhcp_client.h.
Macro Definition Documentation
◆ DHCP_CLIENT_ANNOUNCE_INTERVAL
#define DHCP_CLIENT_ANNOUNCE_INTERVAL 1000 |
Definition at line 126 of file dhcp_client.h.
◆ DHCP_CLIENT_ANNOUNCE_NUM
#define DHCP_CLIENT_ANNOUNCE_NUM 1 |
Definition at line 119 of file dhcp_client.h.
◆ DHCP_CLIENT_DISCOVER_INIT_RT
#define DHCP_CLIENT_DISCOVER_INIT_RT 4000 |
Definition at line 63 of file dhcp_client.h.
◆ DHCP_CLIENT_DISCOVER_MAX_RT
#define DHCP_CLIENT_DISCOVER_MAX_RT 16000 |
Definition at line 70 of file dhcp_client.h.
◆ DHCP_CLIENT_INIT_DELAY
#define DHCP_CLIENT_INIT_DELAY 2000 |
Definition at line 56 of file dhcp_client.h.
◆ DHCP_CLIENT_PRIVATE_CONTEXT
#define DHCP_CLIENT_PRIVATE_CONTEXT |
Definition at line 140 of file dhcp_client.h.
◆ DHCP_CLIENT_PROBE_DELAY
#define DHCP_CLIENT_PROBE_DELAY 1000 |
Definition at line 112 of file dhcp_client.h.
◆ DHCP_CLIENT_PROBE_NUM
#define DHCP_CLIENT_PROBE_NUM 1 |
Definition at line 105 of file dhcp_client.h.
◆ DHCP_CLIENT_RAND_FACTOR
#define DHCP_CLIENT_RAND_FACTOR 1000 |
Definition at line 133 of file dhcp_client.h.
◆ DHCP_CLIENT_REQUEST_INIT_RT
#define DHCP_CLIENT_REQUEST_INIT_RT 4000 |
Definition at line 84 of file dhcp_client.h.
◆ DHCP_CLIENT_REQUEST_MAX_RC
#define DHCP_CLIENT_REQUEST_MAX_RC 4 |
Definition at line 77 of file dhcp_client.h.
◆ DHCP_CLIENT_REQUEST_MAX_RT
#define DHCP_CLIENT_REQUEST_MAX_RT 64000 |
Definition at line 91 of file dhcp_client.h.
◆ DHCP_CLIENT_REQUEST_MIN_DELAY
#define DHCP_CLIENT_REQUEST_MIN_DELAY 60000 |
Definition at line 98 of file dhcp_client.h.
◆ DHCP_CLIENT_SUPPORT
#define DHCP_CLIENT_SUPPORT ENABLED |
Definition at line 42 of file dhcp_client.h.
◆ DHCP_CLIENT_TICK_INTERVAL
#define DHCP_CLIENT_TICK_INTERVAL 200 |
Definition at line 49 of file dhcp_client.h.
◆ DhcpClientContext
#define DhcpClientContext struct _DhcpClientContext |
Definition at line 145 of file dhcp_client.h.
Typedef Documentation
◆ DhcpClientAddOptionsCallback
typedef void(* DhcpClientAddOptionsCallback) (DhcpClientContext *context, DhcpMessage *message, size_t *length, DhcpMessageType type) |
Add DHCP options callback.
Definition at line 200 of file dhcp_client.h.
◆ DhcpClientLinkChangeCallback
typedef void(* DhcpClientLinkChangeCallback) (DhcpClientContext *context, NetInterface *interface, bool_t linkState) |
Link state change callback.
Definition at line 184 of file dhcp_client.h.
◆ DhcpClientParseOptionsCallback
typedef error_t(* DhcpClientParseOptionsCallback) (DhcpClientContext *context, const DhcpMessage *message, size_t length, DhcpMessageType type) |
Parse DHCP options callback.
Definition at line 208 of file dhcp_client.h.
◆ DhcpClientStateChangeCallback
typedef void(* DhcpClientStateChangeCallback) (DhcpClientContext *context, NetInterface *interface, DhcpState state) |
FSM state change callback.
Definition at line 192 of file dhcp_client.h.
◆ DhcpClientTimeoutCallback
typedef void(* DhcpClientTimeoutCallback) (DhcpClientContext *context, NetInterface *interface) |
DHCP configuration timeout callback.
Definition at line 176 of file dhcp_client.h.
Enumeration Type Documentation
◆ DhcpState
enum DhcpState |
DHCP FSM states.
Definition at line 157 of file dhcp_client.h.
Function Documentation
◆ dhcpClientGetDefaultSettings()
void dhcpClientGetDefaultSettings | ( | DhcpClientSettings * | settings | ) |
Initialize settings with default values.
- Parameters
-
[out] settings Structure that contains DHCP client settings
Definition at line 57 of file dhcp_client.c.
◆ dhcpClientGetState()
DhcpState dhcpClientGetState | ( | DhcpClientContext * | context | ) |
Retrieve current state.
- Parameters
-
[in] context Pointer to the DHCP client context
- Returns
- Current DHCP client state
Definition at line 296 of file dhcp_client.c.
◆ dhcpClientInit()
error_t dhcpClientInit | ( | DhcpClientContext * | context, |
const DhcpClientSettings * | settings | ||
) |
DHCP client initialization.
- Parameters
-
[in] context Pointer to the DHCP client context [in] settings DHCP client specific settings
- Returns
- Error code
Definition at line 92 of file dhcp_client.c.
◆ dhcpClientRelease()
error_t dhcpClientRelease | ( | DhcpClientContext * | context | ) |
Release DHCP lease.
- Parameters
-
[in] context Pointer to the DHCP client context
- Returns
- Error code
Definition at line 237 of file dhcp_client.c.
◆ dhcpClientStart()
error_t dhcpClientStart | ( | DhcpClientContext * | context | ) |
Start DHCP client.
- Parameters
-
[in] context Pointer to the DHCP client context
- Returns
- Error code
Definition at line 135 of file dhcp_client.c.
◆ dhcpClientStop()
error_t dhcpClientStop | ( | DhcpClientContext * | context | ) |
Stop DHCP client.
- Parameters
-
[in] context Pointer to the DHCP client context
- Returns
- Error code
Definition at line 194 of file dhcp_client.c.