Express Logic Embedded RTOS Solutions Express Logic RTOS Embedded Solutions Partners ThreadX RTOS Real-Time Preemption Threshold TCP/IP White Papers
The Real Time Operating Systems Solutions Company - RTOS
Express Logic RTOS Embedded Solutions
ThreadX
FileX
NetX
PegX
USBX
ThreadX and Embedded RTOS Training
Files to Download
Files to Download

 

 

NetX API - Version 2.0
Copyright © 1996-2005

Easy to Understand!

The goal behind NetX is to provide the very best deeply embedded communication protocol technology in a manner that is easy to understand - and more importantly - easy to use!

This all starts with the NetX Application Interface (API). Considerable effort has been made to make the services intuitive and consistent. Please see for yourself! Below is a complete list of the NetX Version 2.0 API.

Please click here for the NetX V2.0 Programmer's Reference Guide.


NetX Services

System management

VOID nx_system_initialize(VOID);

Packet management

UINT nx_packet_allocate(NX_PACKET_POOL *pool_ptr,
           NX_PACKET **packet_ptr, ULONG packet_type,
           ULONG wait_option);
UINT nx_packet_data_append(NX_PACKET *packet_ptr, VOID *data_start,
           ULONG data_size, NX_PACKET_POOL *pool_ptr,
           ULONG wait_option);
UINT nx_packet_pool_create(NX_PACKET_POOL *pool_ptr, CHAR *name,
           ULONG block_size, VOID *memory_ptr,
           ULONG memory_size);
UINT nx_packet_pool_delete(NX_PACKET_POOL *pool_ptr);
UINT nx_packet_pool_info_get(NX_PACKET_POOL *pool_ptr, ULONG *total_packets,            ULONG *free_packets, ULONG *empty_pool_requests,
           ULONG *empty_pool_suspensions, ULONG *invalid_packet_releases);
UINT nx_packet_release(NX_PACKET *packet_ptr);
UINT nx_packet_transmit_release(NX_PACKET *packet_ptr);

Internet control message protocol (ICMP) management

UINT nx_icmp_enable(NX_IP *ip_ptr);
UINT nx_icmp_info_get(NX_IP *ip_ptr, ULONG *pings_sent,
           ULONG *ping_timeouts, ULONG *ping_threads_suspended,
           ULONG *ping_responses_received, ULONG *icmp_checksum_errors,
           ULONG *icmp_unhandled_messages);
UINT nx_icmp_ping(NX_IP *ip_ptr, ULONG ip_address, CHAR *data,
           ULONG data_size, NX_PACKET **response_ptr, ULONG wait_option);

Internet Group Management Protocol (IGMP)

UINT nx_igmp_enable(NX_IP *ip_ptr);
UINT nx_igmp_info_get(NX_IP *ip_ptr, ULONG *igmp_reports_sent,
           ULONG *igmp_queries_received, ULONG *igmp_checksum_errors,
           ULONG *current_groups_joined);
UINT nx_igmp_multicast_join(NX_IP *ip_ptr, ULONG group_address);
UINT nx_igmp_multicast_leave(NX_IP *ip_ptr, ULONG group_address);

Internet Protocol (IP) management

UINT nx_ip_address_get(NX_IP *ip_ptr, ULONG *ip_address,
           ULONG *network_mask);
UINT nx_ip_address_set(NX_IP *ip_ptr, ULONG ip_address,
           ULONG network_mask);
UINT nx_ip_create(NX_IP *ip_ptr, CHAR *name, ULONG ip_address,
           ULONG network_mask, NX_PACKET_POOL *default_pool,
           VOID (*ip_link_driver)(NX_IP_DRIVER *),
           VOID *memory_ptr, ULONG memory_size, UINT priority);
UINT nx_ip_delete(NX_IP *ip_ptr);
UINT nx_ip_driver_direct_command(NX_IP *ip_ptr, UINT command,
           ULONG *return_value_ptr);
UINT nx_ip_forwarding_disable(NX_IP *ip_ptr);
UINT nx_ip_forwarding_enable(NX_IP *ip_ptr);
UINT nx_ip_fragment_disable(NX_IP *ip_ptr);
UINT nx_ip_fragment_enable(NX_IP *ip_ptr);
UINT nx_ip_info_get(NX_IP *ip_ptr, ULONG *ip_total_packets_sent,
           ULONG *ip_total_bytes_sent, ULONG *ip_total_packets_received,
           ULONG *ip_total_bytes_received, ULONG *ip_invalid_packets,
           ULONG *ip_receive_packets_dropped,
           ULONG *ip_receive_checksum_errors,
           ULONG *ip_send_packets_dropped,
              ULONG *ip_total_fragments_sent,
           ULONG *ip_total_fragments_received);
UINT nx_ip_raw_packet_disable(NX_IP *ip_ptr);
UINT nx_ip_raw_packet_enable(NX_IP *ip_ptr);
UINT nx_ip_raw_packet_receive(NX_IP *ip_ptr, NX_PACKET **packet_ptr,
           ULONG wait_option);
UINT nx_ip_raw_packet_send(NX_IP *ip_ptr, NX_PACKET *packet_ptr,
           ULONG destination_ip, ULONG type_of_service);
UINT nx_ip_status_check(NX_IP *ip_ptr, ULONG needed_status,
           ULONG *actual_status, ULONG wait_option);

Address resolution protocol (ARP) management

UINT nx_arp_enable(NX_IP *ip_ptr, VOID *arp_cache_memory,
           ULONG arp_cache_size);
UINT nx_arp_hardware_address_find(NX_IP *ip_ptr,
           ULONG ip_address, ULONG *physical_msw, ULONG *physical_lsw);
UINT nx_arp_info_get(NX_IP *ip_ptr, ULONG *arp_requests_sent,
           ULONG *arp_requests_received, ULONG *arp_responses_sent,
           ULONG *arp_responses_received, ULONG *arp_dynamic_entries,
           ULONG *arp_static_entries, ULONG *arp_aged_entries,
           ULONG *arp_invalid_messages);
UINT nx_arp_ip_address_find(NX_IP *ip_ptr, ULONG *ip_address,
           ULONG physical_msw, ULONG physical_lsw);
UINT nx_arp_static_entry_create(NX_IP *ip_ptr, ULONG ip_address,
           ULONG physical_msw, ULONG physical_lsw);
UINT nx_arp_static_entry_delete(NX_IP *ip_ptr, ULONG ip_address,
           ULONG physical_msw, ULONG physical_lsw);

Reverse address resolution protocol (RARP) management

UINT nx_rarp_disable(NX_IP *ip_ptr);
UINT nx_rarp_enable(NX_IP *ip_ptr);
UINT nx_rarp_info_get(NX_IP *ip_ptr, ULONG *rarp_requests_sent,
           ULONG *rarp_responses_received, ULONG *rarp_invalid_messages);

User datagram protocol (UDP) management

UINT nx_udp_enable(NX_IP *ip_ptr);
UINT nx_udp_free_port_find(NX_IP *ip_ptr, UINT port, UINT *free_port_ptr);
UINT nx_udp_info_get(NX_IP *ip_ptr, ULONG *udp_packets_sent,
          ULONG *udp_bytes_sent, ULONG *udp_packets_received,
          ULONG *udp_bytes_received, ULONG *udp_invalid_packets,
          ULONG *udp_receive_packets_dropped, ULONG *udp_checksum_errors);
UINT nx_udp_socket_bind(NX_UDP_SOCKET *socket_ptr, UINT port,
          ULONG wait_option);
UINT nx_udp_socket_checksum_disable(NX_UDP_SOCKET *socket_ptr);
UINT nx_udp_socket_checksum_enable(NX_UDP_SOCKET *socket_ptr);
UINT nx_udp_socket_create(NX_IP *ip_ptr, NX_UDP_SOCKET *socket_ptr,
          CHAR *name, ULONG type_of_service, ULONG fragment,
          UINT time_to_live, ULONG queue_maximum);
UINT nx_udp_socket_delete(NX_UDP_SOCKET *socket_ptr);
UINT nx_udp_socket_info_get(NX_UDP_SOCKET *socket_ptr,
          ULONG *udp_packets_sent, ULONG *udp_bytes_sent,
          ULONG *udp_packets_received, ULONG *udp_bytes_received,
          ULONG *udp_packets_queued, ULONG *udp_receive_packets_dropped,
          ULONG *udp_checksum_errors);
UINT nx_udp_socket_port_get(NX_UDP_SOCKET *socket_ptr, UINT *port_ptr);
UINT nx_udp_socket_receive(NX_UDP_SOCKET *socket_ptr,
          NX_PACKET **packet_ptr, ULONG wait_option);
UINT nx_udp_socket_send(NX_UDP_SOCKET *socket_ptr,
          NX_PACKET *packet_ptr, ULONG ip_address, UINT port);
UINT nx_udp_socket_unbind(NX_UDP_SOCKET *socket_ptr);
UINT nx_udp_source_extract(NX_PACKET *packet_ptr, ULONG *ip_address,
          UINT *port);

Transmission control protocol (TCP) management

UINT nx_tcp_client_socket_bind(NX_TCP_SOCKET *socket_ptr, UINT port,
          ULONG wait_option);
UINT nx_tcp_client_socket_connect(NX_TCP_SOCKET *socket_ptr,
          ULONG server_ip, UINT server_port, ULONG wait_option);
UINT nx_tcp_client_socket_port_get(NX_TCP_SOCKET *socket_ptr,
           UINT *port_ptr);
UINT nx_tcp_client_socket_unbind(NX_TCP_SOCKET *socket_ptr);
UINT nx_tcp_enable(NX_IP *ip_ptr);
UINT nx_tcp_free_port_find(NX_IP *ip_ptr, UINT port,
           UINT*free_port_ptr);
UINT nx_tcp_info_get(NX_IP *ip_ptr, ULONG *tcp_packets_sent,
          ULONG *tcp_bytes_sent, ULONG *tcp_packets_received,
          ULONG *tcp_bytes_received, ULONG *tcp_invalid_packets,
          ULONG *tcp_receive_packets_dropped, ULONG *tcp_checksum_errors,
          ULONG *tcp_connections, ULONG *tcp_disconnections,
          ULONG *tcp_connections_dropped, ULONG *tcp_retransmit_packets);
UINT nx_tcp_server_socket_accept(NX_TCP_SOCKET *socket_ptr,
          ULONG wait_option);
UINT nx_tcp_server_socket_listen(NX_IP *ip_ptr, UINT port,
          NX_TCP_SOCKET *socket_ptr, UINT listen_queue_size,
          VOID (*tcp_listen_callback)(NX_TCP_SOCKET *socket_ptr, UINT port));
UINT nx_tcp_server_socket_relisten(NX_IP *ip_ptr, UINT port,
          NX_TCP_SOCKET *socket_ptr);
UINT nx_tcp_server_socket_unaccept(NX_TCP_SOCKET *socket_ptr);
UINT nx_tcp_server_socket_unlisten(NX_IP *ip_ptr, UINT port);
UINT nx_tcp_socket_create(NX_IP *ip_ptr, NX_TCP_SOCKET *socket_ptr,
          CHAR *name, ULONG type_of_service, ULONG fragment,
          UINT time_to_live, ULONG window_size,
          VOID (*tcp_urgent_data_callback)(NX_TCP_SOCKET *socket_ptr),
          VOID (*tcp_disconnect_callback)(NX_TCP_SOCKET *socket_ptr));
UINT nx_tcp_socket_delete(NX_TCP_SOCKET *socket_ptr);
UINT nx_tcp_socket_disconnect(NX_TCP_SOCKET *socket_ptr, ULONG wait_option);
UINT nx_tcp_socket_info_get(NX_TCP_SOCKET *socket_ptr,
          ULONG *tcp_packets_sent, ULONG *tcp_bytes_sent,
          ULONG *tcp_packets_received, ULONG *tcp_bytes_received,
          ULONG *tcp_retransmit_packets, ULONG *tcp_packets_queued,
          ULONG *tcp_checksum_errors, ULONG *tcp_socket_state,
          ULONG *tcp_transmit_queue_depth, ULONG *tcp_transmit_window,
          ULONG *tcp_receive_window);
UINT nx_tcp_socket_receive(NX_TCP_SOCKET *socket_ptr,
          NX_PACKET **packet_ptr, ULONG wait_option);
UINT nx_tcp_socket_send(NX_TCP_SOCKET *socket_ptr,
          NX_PACKET *packet_ptr, ULONG wait_option);
UINT nx_tcp_socket_state_wait(NX_TCP_SOCKET *socket_ptr,
          UINT desired_state, ULONG wait_option);
 

Copyright © 1996-2002 by Express Logic Inc. The NetX API is copyrighted by and is the sole property of Express Logic, Inc. All rights, title, ownership, or other interests in the NetX API belong to Express Logic, Inc. Any unauthorized use of this API, duplication, transmission, distribution, or disclosure is expressly forbidden.
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ThreadX Embedded RTOS Home Page ThreadX Embedded RTOS Inquiry ThreadX RTOS Embedded News