|
NX_DISABLE_ERROR_CHECKING
該選項刪除基本的DHCP錯誤檢查。它通常在應用程序調試后使用。
?
NX_DHCP_SERVER_THREAD_PRIORITY
此選項指定DHCP服務器線程的優先級。默認情況下,此值指定DHCP線程以優先級1運行。
?
NX_DHCP_TYPE_OF_SERVICE
此選項指定DHCP UDP請求所需的服務類型。默認情況下,此值定義為NX_IP_NORMAL以指示正常的IP數據包服務。
?
NX_DHCP_FRAGMENT_OPTION
啟用DHCP UDP請求的片段。默認情況下,此值設置為NX_DONT_FRAGMENT以禁用UDP分片。 NX_DHCP_TIME_TO_LIVE指定數據包在丟棄前可以通過的路由器數量。默認值是0x80。
?
NX_DHCP_QUEUE_DEPTH
指定在刷新隊列之前DHCP服務器套接字保留的數據包數量。默認值是5。
?
NX_DHCP_PACKET_ALLOCATE_TIMEOUT
指定NetX DHPC Server等待從其數據包池中分配數據包的計時器滴答中的超時時間。默認值是200。
NX_DHCP_SERVER_IP_ADDRESS這是客戶主機子網的DHCP服務器IP地址。
?
?
NX_DHCP_SERVER_ID
這是DHCP服務器ID,客戶端用它來通信它選擇的DHCP服務器。默認值設置為NX_DHCP_SERVER_IP_ADDRESS。
?
?
NX_DHCP_ROUTER_IP_ADDRESS客戶端主機子網的路由器IP地址。默認值設置為NX_DHCP_SERVER_IP_ADDRESS。
?
NX_DHCP_DNS_IP_ADDRESS
客戶端主機子網的DNS IP地址。默認值設置為NX_DHCP_SERVER_IP_ADDRESS。
?
NX_DHCP_SUBNET_MASK
這是DHCP客戶機應配置的子網掩碼。默認值設置為0xFFFFFF00。
?
NX_DHCP_CLIENT_IDENTIFIER_MAX
設置默認為客戶端MAC地址(6字節)的客戶端標識符字符串長度的最大限制,
?
NX_DHCP_FAST_PERIODIC_TIME_INTERVAL
這是DHCP服務器快速定時器計時器滴答的超時期限,用于檢查剩余會話時間并處理已超時的會話。
?
NX_DHCP_CLIENT_SESSION_TIMEOUT
這是計時器滴答的超時期限,DHCP服務器將等待接收下一個DHCP客戶端消息。
?
NX_DHCP_ASSIGNED_LEASE_TIME
這是分配給DHCP客戶端的IP地址租用時間(以秒為單位),以及計算續訂時間和重新綁定時間的基礎
分配給客戶。默認值設置為0xFFFFFFFF(無窮大)。
?
NX_DHCP_IP_ADDRESS_LIST_SIZE
這是用于保存分配給客戶端的可用IP地址的DHCP服務器陣列的大小。請注意,實際IP列表不是可配置選項,而是作為DHCP服務器創建調用中的參數傳遞的。默認值為50。
?
?
NX_DHCP_CLIENT_OPTIONS_MAX
這是DHCP客戶端實例中陣列的大小,用于在當前會話的參數請求列表中保存所有請求的選項。默認值是12。
?
NX_DHCP_DEFAULT_SERVER_OPTION_LIST
這是保存DHCP服務器的默認選項列表以供參數請求列表中的當前DHCP客戶端使用的緩沖區。默認值是“1 3 6”。
?
NX_DHCP_DEFAULT_SERVER_OPTION_LIST
這是保存DHCP服務器的默認選項列表的數組大小。默認值是3。
?
NX_DHCP_CLIENT_HOSTNAME_MAX
這是用于在當前DHCP服務器客戶端會話中保存客戶端主機名的緩沖區大小.默認值是30.
具體流程
nx_dhcp_server_create創建一個DHCP服務器實例
?
nx_dhcp_set_interface_network_parameters設置指定接口的關鍵網絡參數的DHCP服務器選項
?
nx_dhcp_create_server_ip_address_list創建可分配給DHCP客戶端接口的可用IP地址池
?
nx_dhcp_clear_client_record刪除服務器數據庫中的客戶端記錄
?
nx_dhcp_server_delete刪除DHCPServer實例
?
nx_dhcp_server_start啟動或恢復DHCP服務器處理
?
nx_dhcp_server_stop停止DHCP服務器處理
{
nx_dhcp_server_create
創建一個DHCP服務器實例
?
原型
?
UINT nx_dhcp_server_create(NX_DHCP_SERVER * dhcp_ptr,NX_IP * ip_ptr,VOID * stack_ptr,ULONG stack_size,CHAR * input_address_list,CHAR * name_ptr,NX_PACKET_POOL * packet_pool_ptr);
?
描述
?
該服務使用先前創建的IP實例創建DHCP服務器實例。
?
重要說明:應用程序必須確保為IP創建服務創建的數據包池至少有588字節的有效負載,不包括UDP,IP和以太網標頭。
?
輸入參數
?
dhcp_ptr指向DHCP服務器控制塊的指針。 ip_ptr指向DHCP服務器IP實例的指針。 stack_ptr指針DHCP服務器堆棧位置。 stack_size DHCP服務器堆棧的大小input_address_list指向服務器IP地址列表的指針name_ptr指向DHCP的指針名稱packet_pool_ptr指向DHCP服務器數據包池的指針
?
返回值
?
NX_SUCCESS(0x00)成功創建DHCP服務器。 NX_PTR_ERROR(0x16)指針輸入無效。 NX_DHCP_INADEQUATE_PACKET_POOL_PAYLOAD(0xA9)數據包有效負載太小錯誤NX_DHCP_BAD_SERVER_IP_CONFIGURATION(0xA5)服務器IP地址錯誤NX_DHCP_NO_DEFAULT_OPTION_LIST(0xA4)缺少選項列表錯誤狀態套接字和線程創建調用的完成狀態允許來源
?
/ *創建一個DHCP服務器實例。 * / status = nx_dhcp_server_create(&dhcp_server,&server_ip,pointer,DEMO_SERVER_STACK_SIZE,SERVER_IP_ADDRESS_LIST,“DHCP server”,&server_pool);
}
?{
/ *如果狀態為NX_SUCCESS,則DHCP服務器實例已成功創建。 * /
nx_dhcp_create_server_ip_address_list創建一個IP地址池
?
原型
?
UINT nx_dhcp_create_server_ip_address_list(NX_DHCP_SERVER * dhcp_ptr,UINT iface_index,ULONG start_ip_address,ULONG end_ip_address,UINT * addresses_added);
?
描述
?
此服務為指定的DHCP服務器分配可用IP地址創建一個網絡接口特定池。開始和結束IP地址必須匹配指定的網絡接口。如果IP地址列表不夠大(在用戶可配置的NX_DHCP_IP_ADDRESS_MAX_LIST_SIZE參數中設置),實際添加的IP地址數量可能會少于總地址。
?
?
輸入參數
?
dhcp_ptr指向DHCP服務器控制塊的指針。 iface_index網絡接口對應的索引start_ip_address第一個可用IP地址end_ip_address最后一個可用IP地址addresses_added添加到列表中的IP地址數量
?
返回值
?
NX_SUCCESS(0x00)成功創建DHCP服務器。 NX_PTR_ERROR(0x16)指針輸入無效。 NX_DHCP_BAD_INTERFACE_INDEX(0xA1)索引與地址不匹配NX_DHCP_INVALID_IP_ADDRESS_LIST(0x99)不合邏輯的開始/結束地址
?
允許來自
?
?應用
?
例
?
/ *創建可分配的IP地址池。 * / status = nx_dhcp_create_server_ip_list(&dhcp_server,iface_index,START_IP_ADDRESS_LIST,END_IP_ADDRESS_LIST,&addresses_added);
?
/ *如果狀態為NX_SUCCESS,則IP地址列表已成功創建。 ddresses_added表示實際添加到列表中的IP地址數量
}
{
nx_dhcp_clear_client_record從服務器數據庫中刪除客戶端記錄
?
原型
?
UINT nx_dhcp_clear_client_record(NX_DHCP_SERVER * dhcp_ptr,NX_DHCP_CLIENT * dhcp_client_ptr);
?
描述
?
該服務從服務器數據庫中清除客戶端記錄。
?
?
輸入參數
?
dhcp_ptr指向DHCP服務器控制塊的指針。 dhcp_client_ptr指向要刪除的DHCP客戶端的指針
?
返回值
?
NX_SUCCESS(0x00)成功創建DHCP服務器。 NX_PTR_ERROR(0x16)指針輸入無效。
?
允許來自
?
? 應用
?
/ *從服務器數據庫中刪除客戶端記錄。 * / status = nx_dhcp_clear_client_record(&dhcp_server,&dhcp_client_ptr);
?
/ *如果狀態為NX_SUCCESS,則指定的客戶端已從數據庫中刪除。*/
nx_dhcp_set_interface_network_parameters設置DHCP選項的網絡參數
?
原型
?
UINT nx_dhcp_set_interface_network_parameters(NX_DHCP_SERVER * dhcp_ptr,UINT iface_index,ULONG subnet_mask,ULONG default_gateway_address,ULONG dns_server_address);
?
?
描述
?
該服務為指定的接口設置網絡關鍵參數的默認值。 DHCP服務器將在OFFER中包含這些選項,并向DHCP客戶端回復ACK。如果主機設置運行DHCP服務器的接口參數,則默認參數如下:路由器設置為DHCP服務器本身的主接口網關,DHCP服務器本身的DNS服務器地址以及設置為DHCP服務器本身的子網掩碼與DHCP服務器接口配置相同。
?
?
輸入參數
?
dhcp_ptr指向DHCP服務器控制塊的指針。 iface_index與網絡接口相對應的索引subnet_mask客戶端網絡的子網掩碼default_gateway_address客戶端的路由器IP地址dns_server_address客戶端網絡的DNS服務器
?
?
返回值
?
NX_SUCCESS(0x00)成功創建DHCP服務器。 NX_PTR_ERROR(0x16)指針輸入無效。 NX_DHCP_BAD_INTERFACE_INDEX(0xA1)索引與地址不匹配NX_DHCP_INVALID_NETWORK_PARAMETERS(0xA3)無效的網絡參數
?
?
允許來自
?
?應用
/ *為特定接口設置網絡參數。 * / status = nx_dhcp_set_interface_network_parameters(&dhcp_server,iface_index,NX_DHCP_SUBNET_MASK,NX_DHCP_DEFAULT_GATEWAY,NX_DHCP_DNS_SERVER);
?
/ *如果狀態為NX_SUCCESS,網絡參數設置成功。 * /
}
{
nx_dhcp_server_delete
刪除一個DHCP服務器實例
?
原型
?
UINT nx_dhcp_server_delete(NX_DHCP_SERVER * dhcp_ptr);
?
描述
?
該服務刪除以前創建的DHCP服務器實例。
?
輸入參數
?
dhcp_ptr指向DHCP服務器實例的指針。
?
返回值
?
NX_SUCCESS(0x00)成功刪除DHCP服務器。 NX_PTR_ERROR(0x16)指針輸入無效。
?
允許來自
?
?主題
?
例
?
?
/ *刪除一個DHCP服務器實例。 * / status = nx_dhcp_server_delete(&dhcp_server);
?
/ *如果狀態為NX_SUCCESS,則DHCP服務器實例已成功刪除。*/
}
{
nx_dhcp_server_start
啟動DHCP服務器處理
?
原型
?
UINT nx_dhcp_server_start(NX_DHCP_SERVER * dhcp_ptr);
?
描述
?
此服務啟動DHCP服務器處理,其中包括創建服務器UDP套接字,綁定DHCP端口并等待接收客戶端DHCP請求。
?
輸入參數
?
dhcp_ptr指向先前創建的DHCP實例的指針。
?
返回值
?
NX_SUCCESS(0x00)成功啟動DHCP服務器。 NX_DHCP_ALREADY_STARTED(0x93)DHCP實例已經啟動。 NX_PTR_ERROR(0x16)指針輸入無效。 NX_CALLER_ERROR(0x11)無效的服務調用者。
?
允許來自
?
?主題
?
例
?
?
/ *啟動此IP實例的DHCP服務器處理。 * / status = nx_dhcp_server_start(&dhcp_server);
?
/ *如果狀態為NX_SUCCESS,DHCP服務器已成功啟動。 * /
?
也可以看看
?
nx_dhcp_create,nx_dhcp_delete,nx_dhcp_release,nx_dhcp_state_change_notify,nx_dhcp_stop,nx_dhcp_user_option_retrieve,nx_dhcp_user_option_convert
}
{
nx_dhcp_server_stop
停止DHCP服務器處理
?
原型
?
UINT nx_dhcp_server_stop(NX_DHCP_SERVER * dhcp_ptr);
?
描述
?
此服務停止DHCP服務器處理,其中包括接收DHCP客戶端請求。
?
?
輸入參數
?
dhcp_ptr指向DHCP服務器實例的指針。
?
返回值
?
NX_SUCCESS(0x00)成功的DHCP停止。 NX_PTR_ERROR(0x16)指針輸入無效。 NX_CALLER_ERROR(0x11)無效的服務調用者。
?
允許來自
?
?主題
?
例
?
?
/ *停止此IP實例的DHCP服務器處理。 * / status = nx_dhcp_server_stop(&dhcp_server);
?
/ *如果狀態為NX_SUCCESS,則DHCP服務器已成功停止。*/
}
|
|