|

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.
|