创建IP实例
函数原型
UINT nx_ip_create(
NX_IP *ip_ptr,
CHAR *name,
ULONG ip_address,
ULONG network_mask,
NX_PACKET_POOL *default_pool,
VOID (*ip_network_driver)(NX_IP_DRIVER *),
VOID *memory_ptr,
ULONG memory_size,
UINT priority);
参数:
- ip_ptr:指向用于创建新 IP 实例的控制块的指针。
- name:此新 IP 实例的名称。
- ip_address:此新 IP 实例的 IP 地址。
- network_mask:描述 IP 地址网络部分的掩码,用于实现子网和超网。
- default_pool:此指针指向先前创建的 NetX Duo 数据包池的控制块。
- ip_network_driver:用户提供的网络驱动程序,用于发送和接收 IP 数据包。
- memory_ptr:指向 IP 帮助程序线程堆栈区域的内存区域的指针。
- memory_size:IP 帮助程序线程堆栈的内存区域中的字节数。
- priority:IP 帮助程序线程的优先级。
返回值
- NX_SUCCESS:(0x00) 创建 IP 实例成功。
- NX_NOT_IMPLEMENTED:(0x4A) 未正确配置 NetX Duo 库。
- NX_PTR_ERROR:(0x07) IP、网络驱动程序函数指针、数据包池或内存指针无效。
- NX_SIZE_ERROR:(0x09) 提供的堆栈大小太小。
- NX_CALLER_ERROR
- (0x11) 此服务的调用方无效。
- NX_IP_ADDRESS_ERROR:(0x21) 提供的 IP 地址无效。
- NX_OPTION_ERROR:(0x21) 提供的 IP 线程优先级无效。
示例:
status = nx_ip_create(&my_ip, "My NetX IP Instance", IP_ADDRESS(0,0,0,0),
0xFFFFFF00, &my_pool,
使能ARP地址解析
nx_arp_enable(NX_IP *ip_ptr, VOID *arp_cache_memory, ULONG arp_cache_size);
删除IP实例
函数原型
nx_ip_delete(NX_IP *ip_ptr);