Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.11.1.2
Macros | Enumerations | Functions
This Code Implements The OpEN IPv4 DHCP Client API [OPENAPI_IP4DHCPCLIENT]

Macros

#define OPEN_DHCP_CLIENTID_MAX   (128)
 Max length of the DHCP Client Identifier.
 
#define OPEN_DHCP_VENDOR_CLASS_STRING_MAX   (128)
 Max length of the vendor class string.
 

Enumerations

enum  OPEN_DHCP_CLIENT_STATE_t {
  OPEN_DHCPSTATE_INIT = 1, OPEN_DHCPSTATE_SELECTING, OPEN_DHCPSTATE_REQUESTING, OPEN_DHCPSTATE_REQUEST_RECV,
  OPEN_DHCPSTATE_BOUND, OPEN_DHCPSTATE_RENEWING, OPEN_DHCPSTATE_RENEW_RECV, OPEN_DHCPSTATE_REBINDING,
  OPEN_DHCPSTATE_REBIND_RECV, OPEN_DHCPSTATE_BOOTP_FALLBACK, OPEN_DHCPSTATE_NOTBOUND, OPEN_DHCPSTATE_FAILED,
  OPEN_DHCPSTATE_DO_RELEASE, OPEN_DHCPSTATE_INFORM_REQUEST, OPEN_DHCPSTATE_INFORM_ACK_WAIT, OPEN_DHCPSTATE_INFORM_FAILED,
  OPEN_DHCPSTATE_INFORM_BOUND
}
 
enum  OPEN_MGMT_PORT_TYPE_t { OPEN_MGMT_SERVICEPORT = 0, OPEN_MGMT_NETWORKPORT, OPEN_MGMT_IPPORT }
 < Management port types
 

Functions

open_error_t openapiDhcpClientStatsClear (openapiClientHandle_t *client_handle, uint32_t ifNum)
 Clear the DHCP Client Statistics on an interface. More...
 
open_error_t openapiDhcpClientStatsGet (openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *numDiscoverSent, uint32_t *numOfferRecvd, uint32_t *numRequestSent, uint32_t *numAckRecvd, uint32_t *numNackRecvd, uint32_t *numReleaseSent, uint32_t *numInformSent, uint32_t *numRebindSent, uint32_t *numRenewSent)
 Get the DHCP Client Statistics on an interface. More...
 
open_error_t openapiDhcpVendorClassOptionAdminModeGet (openapiClientHandle_t *client_handle, OPEN_CONTROL_t *mode)
 Get the DHCP Vendor Option Mode. More...
 
open_error_t openapiDhcpVendorClassOptionAdminModeSet (openapiClientHandle_t *client_handle, OPEN_CONTROL_t mode, OPEN_BOOL_t actImmediate)
 Set the DHCP Vendor Option Mode. More...
 
open_error_t openapiDhcpVendorClassOptionStringGet (openapiClientHandle_t *client_handle, open_buffdesc *bufd)
 Get the DHCP Vendor Class Option string. More...
 
open_error_t openapiDhcpVendorClassOptionStringSet (openapiClientHandle_t *client_handle, open_buffdesc *bufd, OPEN_BOOL_t actImmediate)
 Set the DHCP Vendor Class Option string. More...
 
open_error_t openapiIpDhcpClientDhcpServerIntfIPAddressGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_MGMT_PORT_TYPE_t mgmtPortType, uint32_t *serverAddr)
 Get the DHCP server IP address on a management interface. More...
 
open_error_t openapiIpDhcpClientIdGeneratedGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_MGMT_PORT_TYPE_t mgmtPortType, open_buffdesc *clientId)
 Get the generated client identifier on the interface. More...
 
open_error_t openapiIpDhcpClientIntfRetryCountGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_MGMT_PORT_TYPE_t mgmtPortType, uint32_t *retryCount)
 Get the retry count of the DHCP client for specified interface or management port. More...
 
open_error_t openapiIpDhcpClientIntfStateGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_MGMT_PORT_TYPE_t mgmtPortType, OPEN_DHCP_CLIENT_STATE_t *clientState)
 Get the current state of the DHCP client for specified interface or management port. More...
 
open_error_t openapiIpDhcpClientLeaseTimeIntfInfoGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_MGMT_PORT_TYPE_t mgmtPortType, uint32_t *leaseTime, uint32_t *renewalTime, uint32_t *rebindTime)
 Get the lease time information of the DHCP client for specified interface or management port. More...
 
open_error_t openapiIpDhcpClientTransactionIntfIdGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_MGMT_PORT_TYPE_t mgmtPortType, uint32_t *transId)
 Get the transaction ID of the DHCP client for specified interface or management port. More...
 

Detailed Description

Function Documentation

open_error_t openapiDhcpClientStatsClear ( openapiClientHandle_t client_handle,
uint32_t  ifNum 
)

Clear the DHCP Client Statistics on an interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiDhcpClientStatsGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
uint32_t *  numDiscoverSent,
uint32_t *  numOfferRecvd,
uint32_t *  numRequestSent,
uint32_t *  numAckRecvd,
uint32_t *  numNackRecvd,
uint32_t *  numReleaseSent,
uint32_t *  numInformSent,
uint32_t *  numRebindSent,
uint32_t *  numRenewSent 
)

Get the DHCP Client Statistics on an interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[out]numDiscoverSentNumber of Discovers sent
[out]numOfferRecvdNumber of Offers received
[out]numRequestSentNumber of Requests sent
[out]numAckRecvdNumber of Acks received
[out]numNackRecvdNumber of Nacks received
[out]numReleaseSentNumber of Releases sent
[out]numInformSentNumber of Informs sent
[out]numRebindSentNumber of Rebinds sent
[out]numRenewSentNumber of Renews sent
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiDhcpVendorClassOptionAdminModeGet ( openapiClientHandle_t client_handle,
OPEN_CONTROL_t mode 
)

Get the DHCP Vendor Option Mode.

Parameters
[in]client_handleClient handle from registration API
[out]modeDHCP vendor option admin mode(OPEN_ENABLE or OPEN_DISABLE)
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiDhcpVendorClassOptionAdminModeSet ( openapiClientHandle_t client_handle,
OPEN_CONTROL_t  mode,
OPEN_BOOL_t  actImmediate 
)

Set the DHCP Vendor Option Mode.

Parameters
[in]client_handleClient handle from registration API
[in]modeDHCP vendor option admin mode(OPEN_ENABLE or OPEN_DISABLE)
[in]actImmediateImmediate action flag(OPEN_TRUE or OPEN_FALSE)
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
Note
If actImmediate is True, the setting will be applied immediately without posting an event to the DHCP Client task. Use this option only when there are synchronization issues, especially with SETS.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiDhcpVendorClassOptionStringGet ( openapiClientHandle_t client_handle,
open_buffdesc bufd 
)

Get the DHCP Vendor Class Option string.

Parameters
[in]client_handleClient handle from registration API
[out]bufdBuffer descriptor to DHCP Vendor Class Option string
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiDhcpVendorClassOptionStringSet ( openapiClientHandle_t client_handle,
open_buffdesc bufd,
OPEN_BOOL_t  actImmediate 
)

Set the DHCP Vendor Class Option string.

Parameters
[in]client_handleClient handle from registration API
[in]bufdBuffer descriptor to DHCP Vendor Class Option string
[in]actImmediateImmediate action flag (OPEN_TRUE or OPEN_FALSE)
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiIpDhcpClientDhcpServerIntfIPAddressGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_MGMT_PORT_TYPE_t  mgmtPortType,
uint32_t *  serverAddr 
)

Get the DHCP server IP address on a management interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[in]mgmtPortTypeMangement Interface Type
[out]serverAddrPointer to the DHCP server IP Address on an interface
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiIpDhcpClientIdGeneratedGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_MGMT_PORT_TYPE_t  mgmtPortType,
open_buffdesc clientId 
)

Get the generated client identifier on the interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[in]mgmtPortTypeMangement Interface Type
[out]clientIdBuffer descriptor to the clientId string
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiIpDhcpClientIntfRetryCountGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_MGMT_PORT_TYPE_t  mgmtPortType,
uint32_t *  retryCount 
)

Get the retry count of the DHCP client for specified interface or management port.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[in]mgmtPortTypeMangement Interface Type
[out]retryCountPointer to the DHCP client's retry count
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiIpDhcpClientIntfStateGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_MGMT_PORT_TYPE_t  mgmtPortType,
OPEN_DHCP_CLIENT_STATE_t *  clientState 
)

Get the current state of the DHCP client for specified interface or management port.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[in]mgmtPortTypeMangement Interface Type
[out]clientStatePointer to the DHCP client state
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiIpDhcpClientLeaseTimeIntfInfoGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_MGMT_PORT_TYPE_t  mgmtPortType,
uint32_t *  leaseTime,
uint32_t *  renewalTime,
uint32_t *  rebindTime 
)

Get the lease time information of the DHCP client for specified interface or management port.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[in]mgmtPortTypeMangement Interface Type
[out]leaseTimePointer to the DHCP client lease time
[out]renewalTimePointer to the DHCP client renewal time
[out]rebindTimePointer to the DHCP client rebinding time
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.
open_error_t openapiIpDhcpClientTransactionIntfIdGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_MGMT_PORT_TYPE_t  mgmtPortType,
uint32_t *  transId 
)

Get the transaction ID of the DHCP client for specified interface or management port.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[in]mgmtPortTypeMangement Interface Type
[out]transIdPointer to the DHCP client transaction ID
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.

OpEN API Version: 1.25

Examples:
ip4dhcpclient_example.c.