Appendix C - Azure RTOS NetX Data Types
-
Article
-
- 5 minutes to read
-
NX_ARP
typedef struct NX_ARP_STRUCT
{
UINT nx_arp_route_static;
UINT nx_arp_entry_next_update;
UINT nx_arp_retries;
struct NX_ARP_STRUCT *nx_arp_pool_next,
*nx_arp_pool_previous;
struct NX_ARP_STRUCT *nx_arp_active_next,
*nx_arp_active_previous,
**nx_arp_active_list_head;
ULONG nx_arp_ip_address;
ULONG nx_arp_physical_address_msw;
ULONG nx_arp_physical_address_lsw;
struct NX_INTERFACE_STRUCT *nx_arp_ip_interface;
struct NX_PACKET_STRUCT *nx_arp_packets_waiting;
}
NX_INTERFACE
typedef struct NX_INTERFACE_STRUCT
{
CHAR *nx_interface_name;
UCHAR nx_interface_valid;
UCHAR nx_interface_address_mapping_needed;
UCHAR nx_interface_link_up;
UCHAR nx_interface_link_status_change;
struct NX_IP_STRUCT *nx_interface_ip_instance;
ULONG nx_interface_physical_address_msw;
ULONG nx_interface_physical_address_lsw;
ULONG nx_interface_ip_address;
ULONG nx_interface_ip_network_mask;
ULONG nx_interface_ip_network;
ULONG nx_interface_ip_mtu_size;
VOID *nx_interface_additional_link_info;
VOID (*nx_interface_link_driver_entry)
(struct NX_IP_DRIVER_STRUCT *);
ULONG nx_interface_arp_defend_timeout;
}
NX_IP
typedef struct NX_IP_STRUCT
{
ULONG nx_ip_id;
CHAR *nx_ip_name;
#define nx_ip_address nx_ip_interface[0].nx_interface_ip_address
#define nx_ip_driver_mtu nx_ip_interface[0].nx_interface_ip_mtu_size
#define nx_ip_driver_mapping_needed nx_ip_interface[0].nx_interface_address_mapping_needed
#define nx_ip_network_mask nx_ip_interface[0].nx_interface_ip_network_mask
#define nx_ip_network nx_ip_interface[0].nx_interface_ip_network
#define nx_ip_arp_physical_address_msw nx_ip_interface[0].nx_interface_physical_address_msw
#define nx_ip_arp_physical_address_lsw nx_ip_interface[0].nx_interface_physical_address_lsw
#define nx_ip_driver_link_up nx_ip_interface[0].nx_interface_link_up
#define nx_ip_link_driver_entry nx_ip_interface[0].nx_interface_link_driver_entry
#define nx_ip_additional_link_info nx_ip_interface[0].nx_interface_additional_link_info
ULONG nx_ip_gateway_address;
struct NX_INTERFACE_STRUCT *nx_ip_gateway_interface;
ULONG nx_ip_total_packet_send_requests;
ULONG nx_ip_total_packets_sent;
ULONG nx_ip_total_bytes_sent;
ULONG nx_ip_total_packets_received;
ULONG nx_ip_total_packets_delivered;
ULONG nx_ip_total_bytes_received;
ULONG nx_ip_packets_forwarded;
ULONG nx_ip_packets_reassembled;
ULONG nx_ip_reassembly_failures;
ULONG nx_ip_invalid_packets;
ULONG nx_ip_invalid_transmit_packets;
ULONG nx_ip_invalid_receive_address;
ULONG nx_ip_unknown_protocols_received;
ULONG nx_ip_transmit_resource_errors;
ULONG nx_ip_transmit_no_route_errors;
ULONG nx_ip_receive_packets_dropped;
ULONG nx_ip_receive_checksum_errors;
ULONG nx_ip_send_packets_dropped;
ULONG nx_ip_total_fragment_requests;
ULONG nx_ip_successful_fragment_requests;
ULONG nx_ip_fragment_failures;
ULONG nx_ip_total_fragments_sent;
ULONG nx_ip_total_fragments_received;
ULONG nx_ip_arp_requests_sent;
ULONG nx_ip_arp_requests_received;
ULONG nx_ip_arp_responses_sent;
ULONG nx_ip_arp_responses_received;
ULONG nx_ip_arp_aged_entries;
ULONG nx_ip_arp_invalid_messages;
ULONG nx_ip_arp_static_entries;
ULONG nx_ip_udp_packets_sent;
ULONG nx_ip_udp_bytes_sent;
ULONG nx_ip_udp_packets_received;
ULONG nx_ip_udp_bytes_received;
ULONG nx_ip_udp_invalid_packets;
ULONG nx_ip_udp_no_port_for_delivery;
ULONG nx_ip_udp_receive_packets_dropped;
ULONG nx_ip_udp_checksum_errors;
ULONG nx_ip_tcp_packets_sent;
ULONG nx_ip_tcp_bytes_sent;
ULONG nx_ip_tcp_packets_received;
ULONG nx_ip_tcp_bytes_received;
ULONG nx_ip_tcp_invalid_packets;
ULONG nx_ip_tcp_receive_packets_dropped;
ULONG nx_ip_tcp_checksum_errors;
ULONG nx_ip_tcp_connections;
ULONG nx_ip_tcp_passive_connections;
ULONG nx_ip_tcp_active_connections;
ULONG nx_ip_tcp_disconnections;
ULONG nx_ip_tcp_connections_dropped;
ULONG nx_ip_tcp_retransmit_packets;
ULONG nx_ip_tcp_resets_received;
ULONG nx_ip_tcp_resets_sent;
ULONG nx_ip_icmp_total_messages_received;
ULONG nx_ip_icmp_checksum_errors;
ULONG nx_ip_icmp_invalid_packets;
ULONG nx_ip_icmp_unhandled_messages;
ULONG nx_ip_pings_sent;
ULONG nx_ip_ping_timeouts;
ULONG nx_ip_ping_threads_suspended;
ULONG nx_ip_ping_responses_received;
ULONG nx_ip_pings_received;
ULONG nx_ip_pings_responded_to;
ULONG nx_ip_igmp_invalid_packets;
ULONG nx_ip_igmp_reports_sent;
ULONG nx_ip_igmp_queries_received;
ULONG nx_ip_igmp_checksum_errors;
ULONG nx_ip_igmp_groups_joined;
#ifndef NX_DISABLE_IGMPV2
ULONG nx_ip_igmp_router_version;
#endif
ULONG nx_ip_rarp_requests_sent;
ULONG nx_ip_rarp_responses_received;
ULONG nx_ip_rarp_invalid_messages;
VOID (*nx_ip_forward_packet_process) (struct NX_IP_STRUCT *, NX_PACKET *);
ULONG nx_ip_packet_id;
struct NX_PACKET_POOL_STRUCT *nx_ip_default_packet_pool;
TX_MUTEX nx_ip_protection;
UINT nx_ip_initialize_done;
NX_PACKET *nx_ip_driver_deferred_packet_head, *nx_ip_driver_deferred_packet_tail;
VOID (*nx_ip_driver_deferred_packet_handler)(struct NX_IP_STRUCT *, NX_PACKET *);
NX_PACKET *nx_ip_deferred_received_packet_head, *nx_ip_deferred_received_packet_tail;
UINT (*nx_ip_raw_ip_processing)(struct NX_IP_STRUCT *, ULONG, NX_PACKET *);
#ifdef NX_ENABLE_IP_RAW_PACKET_FILTER
UINT (*nx_ip_raw_packet_filter)(struct NX_IP_STRUCT *, ULONG, NX_PACKET *);
#endif /* NX_ENABLE_IP_RAW_PACKET_FILTER */
NX_PACKET *nx_ip_raw_received_packet_head, *nx_ip_raw_received_packet_tail;
ULONG nx_ip_raw_received_packet_count;
ULONG nx_ip_raw_received_packet_max;
TX_THREAD *nx_ip_raw_packet_suspension_list;
ULONG nx_ip_raw_packet_suspended_count;
TX_THREAD nx_ip_thread;
TX_EVENT_FLAGS_GROUP nx_ip_events;
TX_TIMER nx_ip_periodic_timer;
VOID (*nx_ip_fragment_processing)(struct NX_IP_DRIVER_STRUCT *);
VOID (*nx_ip_fragment_assembly)(struct NX_IP_STRUCT *);
VOID (*nx_ip_fragment_timeout_check) (struct NX_IP_STRUCT *);
NX_PACKET *nx_ip_timeout_fragment;
NX_PACKET *nx_ip_received_fragment_head, *nx_ip_received_fragment_tail;
NX_PACKET *nx_ip_fragment_assembly_head, *nx_ip_fragment_assembly_tail;
VOID (*nx_ip_address_change_notify)(struct NX_IP_STRUCT *, VOID *);
VOID *nx_ip_address_change_notify_additional_info;
ULONG nx_ip_igmp_join_list[NX_MAX_MULTICAST_GROUPS];
NX_INTERFACE *nx_ip_igmp_interfacejoin_list[NX_MAX_MULTICAST_GROUPS];
ULONG nx_ip_igmp_join_count[NX_MAX_MULTICAST_GROUPS];
ULONG nx_ip_igmp_update_time[NX_MAX_MULTICAST_GROUPS];
UINT nx_ip_igmp_global_loopback_enable;
ULONG nx_ip_igmp_group_loopback_enable[NX_MAX_MULTICAST_GROUPS]
void (*nx_ip_igmp_packet_receive)(struct NX_IP_STRUCT *,
struct NX_PACKET_STRUCT *);
void (*nx_ip_igmp_periodic_processing) (struct NX_IP_STRUCT *);
void (*nx_ip_igmp_queue_process)(struct NX_IP_STRUCT *);
NX_PACKET *nx_ip_igmp_queue_head;
ULONG nx_ip_icmp_sequence;
void (*nx_ip_icmp_packet_receive)(struct NX_IP_STRUCT *,
struct NX_PACKET_STRUCT *);
void (*nx_ip_icmp_queue_process)(struct NX_IP_STRUCT *);
NX_PACKET *nx_ip_icmp_queue_head;
TX_THREAD *nx_ip_icmp_ping_suspension_list;
ULONG nx_ip_icmp_ping_suspended_count;
struct NX_UDP_SOCKET_STRUCT *nx_ip_udp_port_table[NX_UDP_PORT_TABLE_SIZE];
struct NX_UDP_SOCKET_STRUCT *nx_ip_udp_created_sockets_ptr;
ULONG nx_ip_udp_created_sockets_count;
void (*nx_ip_udp_packet_receive)(struct NX_IP_STRUCT *,
struct NX_PACKET_STRUCT *);
UINT nx_ip_udp_port_search_start;
struct NX_TCP_SOCKET_STRUCT *nx_ip_tcp_port_table[NX_TCP_PORT_TABLE_SIZE];
struct NX_TCP_SOCKET_STRUCT *nx_ip_tcp_created_sockets_ptr;
ULONG nx_ip_tcp_created_sockets_count;
void (*nx_ip_tcp_packet_receive)(struct NX_IP_STRUCT *,
struct NX_PACKET_STRUCT *);
void (*nx_ip_tcp_periodic_processing)
(struct NX_IP_STRUCT *);
void (*nx_ip_tcp_fast_periodic_processing)(struct NX_IP_STRUCT *);
void (*nx_ip_tcp_queue_process)(struct NX_IP_STRUCT *);
NX_PACKET *nx_ip_tcp_queue_head, *nx_ip_tcp_queue_tail;
ULONG nx_ip_tcp_received_packet_count;
struct NX_TCP_LISTEN_STRUCT nx_ip_tcp_server_listen_reqs[NX_MAX_LISTEN_REQUESTS];
struct NX_TCP_LISTEN_STRUCT *nx_ip_tcp_available_listen_requests;
struct NX_TCP_LISTEN_STRUCT *nx_ip_tcp_active_listen_requests;
UINT nx_ip_tcp_port_search_start;
UINT nx_ip_fast_periodic_timer_created;
TX_TIMER nx_ip_fast_periodic_timer;
struct NX_ARP_STRUCT *nx_ip_arp_table[NX_ARP_TABLE_SIZE];
struct NX_ARP_STRUCT *nx_ip_arp_static_list;
struct NX_ARP_STRUCT *nx_ip_arp_dynamic_list;
ULONG nx_ip_arp_dynamic_active_count;
NX_PACKET *nx_ip_arp_deferred_received_packet_head,
*nx_ip_arp_deferred_received_packet_tail;
UINT (*nx_ip_arp_allocate)(struct NX_IP_STRUCT *, struct NX_ARP_STRUCT **, UINT);
void (*nx_ip_arp_periodic_update)(struct NX_IP_STRUCT *);
void (*nx_ip_arp_queue_process)(struct NX_IP_STRUCT *);
void (*nx_ip_arp_packet_send)(struct NX_IP_STRUCT *, ULONG destination_ip,
NX_INTERFACE *nx_interface);
void (*nx_ip_arp_gratuitous_response_handler)(struct NX_IP_STRUCT *, NX_PACKET *);
void (*nx_ip_arp_collision_notify_response_handler) (void *);
void *nx_ip_arp_collision_notify_parameter;
ULONG nx_ip_arp_collision_notify_ip_address;
struct NX_ARP_STRUCT *nx_ip_arp_cache_memory;
ULONG nx_ip_arp_total_entries;
void (*nx_ip_rarp_periodic_update)(struct NX_IP_STRUCT *);
void (*nx_ip_rarp_queue_process)(struct NX_IP_STRUCT *);
NX_PACKET *nx_ip_rarp_deferred_received_packet_head,
*nx_ip_rarp_deferred_received_packet_tail;
struct NX_IP_STRUCT *nx_ip_created_next, *nx_ip_created_previous;
void *nx_ip_reserved_ptr;
void (*nx_tcp_deferred_cleanup_check) (struct NX_IP_STRUCT *);
NX_INTERFACE nx_ip_interface[NX_MAX_IP_INTERFACES];
#ifdef NX_ENABLE_IP_STATIC_ROUTING
NX_IP_ROUTING_ENTRY nx_ip_routing_table[NX_IP_ROUTING_TABLE_SIZE];
ULONG nx_ip_routing_table_entry_count;
#endif /* NX_ENABLE_IP_STATIC_ROUTING */
VOID (*nx_ip_link_status_change_callback)(struct NX_IP_STRUCT *, UINT, UINT);
#ifdef NX_ENABLE_IP_PACKET_FILTER
UINT (*nx_ip_packet_filter)(VOID *, UINT);
#endif /* NX_ENABLE_IP_PACKET_FILTER */
}
NX_IP_DRIVER
typedef struct NX_IP_DRIVER_STRUCT
{
UINT nx_ip_driver_command;
UINT nx_ip_driver_status;
ULONG nx_ip_driver_physical_address_msw;
ULONG nx_ip_driver_physical_address_lsw;
NX_PACKET *nx_ip_driver_packet;
ULONG *nx_ip_driver_return_ptr;
struct NX_IP_STRUCT *nx_ip_driver_ptr;
NX_INTERFACE *nx_ip_driver_interface;
}
NX_IP_ROUTING_ENTRY
typedef struct NX_IP_ROUTING_ENTRY_STRUCT
{
ULONG nx_ip_routing_dest_ip;
ULONG nx_ip_routing_net_mask;
412 NetX User Guide
User Guide
ULONG nx_ip_routing_next_hop_address;
NX_INTERFACE *nx_ip_routing_entry_ip_interface;
}
NX_PACKET
typedef struct NX_PACKET_STRUCT
{
struct NX_PACKET_POOL_STRUCT *nx_packet_pool_owner;
struct NX_PACKET_STRUCT *nx_packet_queue_next;
struct NX_PACKET_STRUCT *nx_packet_tcp_queue_next;
struct NX_PACKET_STRUCT *nx_packet_next;
struct NX_PACKET_STRUCT *nx_packet_last;
struct NX_PACKET_STRUCT *nx_packet_fragment_next;
ULONG nx_packet_length;
struct NX_INTERFACE_STRUCT *nx_packet_ip_interface;
ULONG nx_packet_next_hop_address;
UCHAR *nx_packet_data_start;
UCHAR *nx_packet_data_end;
UCHAR *nx_packet_prepend_ptr;
UCHAR *nx_packet_append_ptr;
#ifdef NX_PACKET_HEADER_PAD
ULONG nx_packet_pad[NX_PACKET_HEADER_PAD_SIZE];
#endif
}
NX_PACKET_POOL
typedef struct NX_PACKET_POOL_STRUCT
{
ULONG nx_packet_pool_id;
CHAR *nx_packet_pool_name;
ULONG nx_packet_pool_available;
ULONG nx_packet_pool_total;
ULONG nx_packet_pool_empty_requests;
ULONG nx_packet_pool_empty_suspensions;
ULONG nx_packet_pool_invalid_releases;
struct NX_PACKET_STRUCT *nx_packet_pool_available_list;
CHAR *nx_packet_pool_start;
ULONG nx_packet_pool_size;
ULONG nx_packet_pool_payload_size;
TX_THREAD *nx_packet_pool_suspension_list;
ULONG nx_packet_pool_suspended_count;
struct NX_PACKET_POOL_STRUCT *nx_packet_pool_created_next,
*nx_packet_pool_created_previous;
}
NX_TCP_LISTEN
typedef struct NX_TCP_LISTEN_STRUCT
{
UINT nx_tcp_listen_port;
VOID (*nx_tcp_listen_callback)(NX_TCP_SOCKET *socket_ptr,
UINT port);
NX_TCP_SOCKET *nx_tcp_listen_socket_ptr;
ULONG nx_tcp_listen_queue_maximum;
ULONG nx_tcp_listen_queue_current;
NX_PACKET *nx_tcp_listen_queue_head, *nx_tcp_listen_queue_tail;
struct NX_TCP_LISTEN_STRUCT *nx_tcp_listen_next, *nx_tcp_listen_previous;
}
NX_TCP_SOCKET;
typedef struct NX_TCP_SOCKET_STRUCT
{
ULONG nx_tcp_socket_id;
CHAR *nx_tcp_socket_name;
UINT nx_tcp_socket_client_type;
UINT nx_tcp_socket_port;
ULONG nx_tcp_socket_mss;
ULONG nx_tcp_socket_connect_ip;
UINT nx_tcp_socket_connect_port;
ULONG nx_tcp_socket_connect_mss;
NetX Data Types 413
struct NX_INTERFACE_STRUCT *nx_tcp_socket_connect_interface;
ULONG nx_tcp_socket_next_hop_address;
ULONG nx_tcp_socket_connect_mss2;
ULONG nx_tcp_socket_tx_slow_start_threshold;
UINT nx_tcp_socket_state;
ULONG nx_tcp_socket_tx_sequence;
ULONG nx_tcp_socket_rx_sequence;
ULONG nx_tcp_socket_rx_sequence_acked;
ULONG nx_tcp_socket_delayed_ack_timeout;
ULONG nx_tcp_socket_fin_sequence;
USHORT nx_tcp_socket_fin_received;
ULONG nx_tcp_socket_tx_window_advertised;
ULONG nx_tcp_socket_tx_window_congestion;
ULONG nx_tcp_socket_tx_outstanding_bytes;
ULONG nx_tcp_socket_tx_sequence_recover;
ULONG nx_tcp_socket_previous_highest_ack;
UCHAR nx_tcp_socket_fast_recovery;
UCHAR nx_tcp_socket_reserved[3];
ULONG nx_tcp_socket_ack_n_packet_counter;
UINT nx_tcp_socket_duplicated_ack_received;
ULONG nx_tcp_socket_rx_window_default;
ULONG nx_tcp_socket_rx_window_current;
ULONG nx_tcp_socket_rx_window_last_sent;
ULONG nx_tcp_socket_packets_sent;
ULONG nx_tcp_socket_bytes_sent;
ULONG nx_tcp_socket_packets_received;
ULONG nx_tcp_socket_bytes_received;
ULONG nx_tcp_socket_retransmit_packets;
ULONG nx_tcp_socket_checksum_errors;
struct NX_IP_STRUCT *nx_tcp_socket_ip_ptr;
ULONG nx_tcp_socket_type_of_service;
UINT nx_tcp_socket_time_to_live;
ULONG nx_tcp_socket_fragment_enable;
ULONG nx_tcp_socket_receive_queue_count;
NX_PACKET *nx_tcp_socket_receive_queue_head,
*nx_tcp_socket_receive_queue_tail;
ULONG nx_tcp_socket_transmit_queue_maximum;
ULONG nx_tcp_socket_transmit_sent_count;
NX_PACKET *nx_tcp_socket_transmit_sent_head,
nx_tcp_socket_transmit_sent_tail;
ULONG nx_tcp_socket_timeout;
ULONG nx_tcp_socket_timeout_rate;
ULONG nx_tcp_socket_timeout_retries;
ULONG nx_tcp_socket_timeout_max_retries;
ULONG nx_tcp_socket_timeout_shift;
#ifdef NX_ENABLE_TCP_WINDOW_SCALING
ULONG nx_tcp_socket_rx_window_maximum;
ULONG nx_tcp_rcv_win_scale_value;
ULONG nx_tcp_snd_win_scale_value;
#endif /* NX_ENABLE_TCP_WINDOW_SCALING */
ULONG nx_tcp_socket_keepalive_timeout;
ULONG nx_tcp_socket_keepalive_retries;
struct NX_TCP_SOCKET_STRUCT *nx_tcp_socket_bound_next,
*nx_tcp_socket_bound_previous;
TX_THREAD *nx_tcp_socket_bind_in_progress;
TX_THREAD *nx_tcp_socket_receive_suspension_list;
ULONG nx_tcp_socket_receive_suspended_count;
TX_THREAD *nx_tcp_socket_transmit_suspension_list;
ULONG nx_tcp_socket_transmit_suspended_count;
TX_THREAD *nx_tcp_socket_connect_suspended_thread;
TX_THREAD *nx_tcp_socket_disconnect_suspended_thread;
TX_THREAD *nx_tcp_socket_bind_suspension_list;
ULONG nx_tcp_socket_bind_suspended_count;
struct NX_TCP_SOCKET_STRUCT *nx_tcp_socket_created_next,
*nx_tcp_socket_created_previous;
VOID (*nx_tcp_urgent_data_callback)(struct NX_TCP_SOCKET_STRUCT *socket_ptr);
#ifndef NX_DISABLE_EXTENDED_NOTIFY_SUPPORT
UINT (*nx_tcp_socket_syn_received_notify)(struct NX_TCP_SOCKET_STRUCT *socket_ptr,
NX_PACKET *packet_ptr);
VOID (*nx_tcp_establish_notify)(struct NX_TCP_SOCKET_STRUCT *socket_ptr);
VOID (*nx_tcp_disconnect_complete_notify)(struct NX_TCP_SOCKET_STRUCT *socket_ptr);
VOID (*nx_tcp_timed_wait_callback)(struct NX_TCP_SOCKET_STRUCT *socket_ptr);
#endif
VOID (*nx_tcp_disconnect_callback)(struct NX_TCP_SOCKET_STRUCT *socket_ptr);
VOID (*nx_tcp_receive_callback)(struct NX_TCP_SOCKET_STRUCT *socket_ptr);
VOID (*nx_tcp_socket_window_update_notify)(struct NX_TCP_SOCKET_STRUCT *socket_ptr);
void *nx_tcp_socket_reserved_ptr;
ULONG nx_tcp_socket_transmit_queue_maximum_default;
UINT nx_tcp_socket_keepalive_enabled;
}
NX_UDP_SOCKET
typedef struct NX_UDP_SOCKET_STRUCT
{
ULONG nx_udp_socket_id;
CHAR *nx_udp_socket_name;
UINT nx_udp_socket_port;
struct NX_IP_STRUCT *nx_udp_socket_ip_ptr;
ULONG nx_udp_socket_packets_sent;
ULONG nx_udp_socket_bytes_sent;
ULONG nx_udp_socket_packets_received;
ULONG nx_udp_socket_bytes_received;
ULONG nx_udp_socket_invalid_packets;
ULONG nx_udp_socket_packets_dropped;
ULONG nx_udp_socket_checksum_errors;
ULONG nx_udp_socket_type_of_service;
UINT nx_udp_socket_time_to_live;
ULONG nx_udp_socket_fragment_enable;
UINT nx_udp_socket_disable_checksum;
ULONG nx_udp_socket_receive_count;
ULONG nx_udp_socket_queue_maximum;
NX_PACKET *nx_udp_socket_receive_head,
*nx_udp_socket_receive_tail;
struct NX_UDP_SOCKET_STRUCT *nx_udp_socket_bound_next,
*nx_udp_socket_bound_previous;
TX_THREAD *nx_udp_socket_bind_in_progress;
TX_THREAD *nx_udp_socket_receive_suspension_list;
ULONG nx_udp_socket_receive_suspended_count;
TX_THREAD *nx_udp_socket_bind_suspension_list;
ULONG nx_udp_socket_bind_suspended_count;
struct NX_UDP_SOCKET_STRUCT *nx_udp_socket_created_next,
*nx_udp_socket_created_previous;
VOID (*nx_udp_receive_callback)(struct NX_UDP_SOCKET_STRUCT
*socket_ptr);
void *nx_udp_socket_reserved_ptr;
struct NX_INTERFACE_STRUCT *nx_udp_socket_ip_interface;
}