from nx_api.h:1846
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;
NXD_ADDRESS nx_tcp_socket_connect_ip;
UINT nx_tcp_socket_connect_port;
ULONG nx_tcp_socket_connect_mss;
ULONG nx_tcp_socket_peer_mss;
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;
USHORT nx_tcp_socket_fin_acked;
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;
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;
ULONG nx_tcp_socket_zero_window_probe_failure;
ULONG nx_tcp_socket_zero_window_probe_sequence;
UCHAR nx_tcp_socket_zero_window_probe_has_data;
UCHAR nx_tcp_socket_zero_window_probe_data;
UCHAR nx_tcp_socket_fast_recovery;
UCHAR nx_tcp_socket_reserved;
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;
#ifdef NX_ENABLE_LOW_WATERMARK
ULONG nx_tcp_socket_receive_queue_maximum;
#endif
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
#ifdef NX_ENABLE_TCP_KEEPALIVE
ULONG nx_tcp_socket_keepalive_timeout;
ULONG nx_tcp_socket_keepalive_retries;
#endif
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);
#ifdef NX_ENABLE_TCP_QUEUE_DEPTH_UPDATE_NOTIFY
VOID (*nx_tcp_socket_queue_depth_notify)(struct NX_TCP_SOCKET_STRUCT *socket_ptr);
#endif
void *nx_tcp_socket_reserved_ptr;
ULONG nx_tcp_socket_transmit_queue_maximum_default;
#ifdef NX_ENABLE_TCP_KEEPALIVE
UINT nx_tcp_socket_keepalive_enabled;
#endif
#ifdef FEATURE_NX_IPV6
struct NXD_IPV6_ADDRESS_STRUCT *nx_tcp_socket_ipv6_addr;
#endif
#ifdef NX_IPSEC_ENABLE
VOID *nx_tcp_socket_egress_sa;
UINT nx_tcp_socket_egress_sa_data_offset;
#endif
#ifdef NX_ENABLE_TCPIP_OFFLOAD
VOID *nx_tcp_socket_tcpip_offload_context;
#endif
NX_TCP_SOCKET_MODULE_EXTENSION
} NX_TCP_SOCKET;