5.11.0.0R3
Software Development Kit
 
Loading...
Searching...
No Matches
ltrx_network.h File Reference

Definitions related to Networking. More...

Data Structures

struct  ltrx_ip_address
 
struct  ltrx_network_protocol
 Represents a network protocol for registration. More...
 
struct  ltrx_tcp_listener
 Abstract structure containing data for TCP listener. More...
 
struct  ltrx_udp_socket_options
 Contains parameters for ltrx_udp_socket_open_with_options(). More...
 

Macros

#define LTRX_IP_ADDRESS_STATE__ALL_INTERFACES   0xff
 
#define LTRX_IP_ADDRESS_STATE__NON_AP_INTERFACES   0xfe
 
#define LTRX_TCP_LISTENER__ANY_INTERFACE   0xff
 

Enumerations

enum  ltrx_network_allowed_protocols_flag {
  LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__REQUIRE_NONBLOCKING = 0x0001 , LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__CLIENT = 0x0002 , LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__SERVER = 0x0004 , LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__TCP = 0x0008 ,
  LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__UDP = 0x0010
}
 
enum  ltrx_network_protocol_shutdown { LTRX_NETWORK_PROTOCOL_SHUTDOWN__SEND = 0 , LTRX_NETWORK_PROTOCOL_SHUTDOWN__RECEIVE = 1 , LTRX_NETWORK_PROTOCOL_SHUTDOWN__BOTH = 2 }
 
enum  ltrx_network_return { LTRX_NETWORK_RETURN__WORKING , LTRX_NETWORK_RETURN__SUCCESS , LTRX_NETWORK_RETURN__FAILURE }
 

Functions

bool ltrx_host_lookup (const char *hostname, uint32_t timeout_ms, uint8_t *zeroBasedInterface, struct ltrx_ip_address *ipaddr)
 Host lookup.
 
uint8_t ltrx_ip_address_state (uint8_t zeroBasedInterface)
 Are IP interfaces up?
 
void ltrx_ip_addresses_get (uint8_t zeroBasedInterface, struct ltrx_ip_address addressArray[], uint8_t addressCount)
 Get all IP addresses for an interface.
 
bool ltrx_ip_and_port_display (char *outputBuffer, size_t bufferLength, const struct ltrx_ip_address *ipAddress, uint16_t port)
 Print an IP address and port.
 
bool ltrx_ip_display (char *outputBuffer, size_t bufferLength, const struct ltrx_ip_address *ipAddress)
 Print an IP address.
 
size_t ltrx_ip_socket_can_send (struct ltrx_ip_socket *socket)
 How much data can be sent?
 
void ltrx_ip_socket_get_local_information (struct ltrx_ip_socket *socket, int32_t *optZeroBasedInterface, uint16_t *optLocalPort)
 Get local information.
 
void ltrx_ip_socket_get_peer_information (struct ltrx_ip_socket *socket, struct ltrx_ip_address *optRemoteAddress, uint16_t *optRemotePort)
 Get peer information.
 
bool ltrx_ip_socket_has_data (struct ltrx_ip_socket *socket, uint32_t blockTimeMsec)
 Is data available?
 
size_t ltrx_ip_socket_receive (struct ltrx_ip_socket *socket, uint8_t **dataPointerLocation, size_t length)
 Receive data.
 
bool ltrx_ip_socket_send (struct ltrx_ip_socket *socket, const void *data, size_t length, bool push)
 Send data.
 
void ltrx_ip_socket_shutdown (struct ltrx_ip_socket *socket, enum ltrx_network_protocol_shutdown how)
 Socket shutdown.
 
const char * ltrx_network_allowed_protocols (unsigned int zeroBasedIterator, enum ltrx_network_allowed_protocols_flag flags)
 Iterate through allowed protocols.
 
bool ltrx_network_get_mac_address (uint8_t zeroBasedInterface, void *mac, size_t size)
 Get MAC address.
 
const struct vardef_values_interface * ltrx_network_interface_configuration_get (uint8_t zeroBasedInterface)
 Get Interface configuration.
 
const char * ltrx_network_interface_get_name (uint8_t zeroBasedInterface)
 Get Interface name.
 
const struct ltrx_network_protocolltrx_network_lookup_network_protocol (const char *protocolName, enum ltrx_network_allowed_protocols_flag flags)
 Lookup a protocol.
 
void ltrx_network_register_protocol (const struct ltrx_network_protocol *lnp)
 Register a network protocol.
 
struct ltrx_ip_socket * ltrx_tcp_accept (struct ltrx_tcp_listener *listener, struct ltrx_trigger *optReceiveEventTrigger)
 Accept a connection request.
 
struct ltrx_ip_socket * ltrx_tcp_connect (uint16_t optLocalPort, const char *remoteAddress, uint16_t remotePort, struct ltrx_trigger *optReceiveEventTrigger)
 Make connection.
 
bool ltrx_tcp_listen (const struct ltrx_tcp_listener *listener, uint32_t blockTimeMsec)
 Begin listening.
 
bool ltrx_tcp_listener_begin (struct ltrx_tcp_listener *listener, uint8_t zeroBasedInterface, uint16_t localPort, uint8_t backlog, struct ltrx_trigger *optListenerTrigger)
 Begin listening.
 
void ltrx_tcp_listener_end (struct ltrx_tcp_listener *listener)
 End listening.
 
bool ltrx_tcp_socket_close (struct ltrx_ip_socket *socket, uint32_t lingerMsec)
 Close socket.
 
bool ltrx_tcp_socket_is_closed (struct ltrx_ip_socket *socket)
 Is TCP socket closed?
 
bool ltrx_tcp_socket_is_eof (struct ltrx_ip_socket *socket)
 Is receive at end of file?
 
bool ltrx_tcp_socket_send (struct ltrx_ip_socket *sock, const void *data, size_t length, bool push)
 Send data.
 
enum ltrx_network_return ltrx_tcp_socket_send_nonblocking (struct ltrx_ip_socket *socket, const void *data, size_t length, bool push, struct ltrx_trigger *sendTrigger)
 Send data non-blocking.
 
void ltrx_tcp_socket_shutdown (struct ltrx_ip_socket *socket)
 Socket shutdown.
 
void ltrx_udp_socket_close (struct ltrx_ip_socket *sock)
 Close socket.
 
bool ltrx_udp_socket_get_received_packet_information (struct ltrx_ip_socket *sock, struct ltrx_ip_address *optRemoteAddress, uint16_t *optRemotePort)
 Get received packet information.
 
bool ltrx_udp_socket_get_received_packet_mac (struct ltrx_ip_socket *sock, uint8_t *mac)
 Get received packet MAC address.
 
bool ltrx_udp_socket_is_active (struct ltrx_ip_socket *sock)
 Check if the UDP socket is active.
 
bool ltrx_udp_socket_multicast_join (uint8_t zeroBasedInterface, struct ltrx_ip_address *groupAddress)
 Multicast join.
 
struct ltrx_ip_socket * ltrx_udp_socket_open (uint8_t zeroBasedInterface, uint16_t optLocalPort)
 Open socket.
 
struct ltrx_ip_socket * ltrx_udp_socket_open_with_options (const struct ltrx_udp_socket_options *luso)
 Open socket with options.
 
bool ltrx_udp_socket_reply (struct ltrx_ip_socket *socket, size_t length)
 Send reply.
 
bool ltrx_udp_socket_send (struct ltrx_ip_socket *sock, const struct ltrx_ip_address *address, uint16_t port, const void *data, size_t length)
 Send data.
 

Detailed Description

Definitions related to Networking.