Data Structures | |
| struct | ltrx_ip_address | 
Macros | |
| #define | LTRX_IP_ADDRESS_STATE__ALL_INTERFACES 0xff | 
| #define | LTRX_IP_ADDRESS_STATE__NON_AP_INTERFACES 0xfe | 
Functions | |
| uint8_t | ltrx_ip_address_state (uint8_t zeroBasedInterface) | 
| Are IP interfaces up?  More... | |
| void | ltrx_ip_addresses_get (uint8_t zeroBasedInterface, struct ltrx_ip_address addressArray[], uint8_t addressCount) | 
| Get all IP addresses for an interface.  More... | |
| 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.  More... | |
| bool | ltrx_ip_display (char *outputBuffer, size_t bufferLength, const struct ltrx_ip_address *ipAddress) | 
| Print an IP address.  More... | |
| size_t | ltrx_ip_socket_can_send (struct ltrx_ip_socket *socket) | 
| How much data can be sent?  More... | |
| void | ltrx_ip_socket_get_local_information (struct ltrx_ip_socket *socket, int32_t *optZeroBasedInterface, uint16_t *optLocalPort) | 
| Get local information.  More... | |
| void | ltrx_ip_socket_get_peer_information (struct ltrx_ip_socket *socket, struct ltrx_ip_address *optRemoteAddress, uint16_t *optRemotePort) | 
| Get peer information.  More... | |
| bool | ltrx_ip_socket_has_data (struct ltrx_ip_socket *socket, uint32_t blockTimeMsec) | 
| Is data available?  More... | |
| size_t | ltrx_ip_socket_receive (struct ltrx_ip_socket *socket, uint8_t **dataPointerLocation, size_t length) | 
| Receive data.  More... | |
| bool | ltrx_ip_socket_send (struct ltrx_ip_socket *socket, const void *data, size_t length, bool push) | 
| Send data.  More... | |
| void | ltrx_ip_socket_shutdown (struct ltrx_ip_socket *socket, enum ltrx_network_protocol_shutdown how) | 
| Socket shutdown.  More... | |
The Internet Protocol (IP) layer comprises addressing and routing.
| #define LTRX_IP_ADDRESS_STATE__ALL_INTERFACES 0xff | 
Specifies to count readiness on all interfaces.
| #define LTRX_IP_ADDRESS_STATE__NON_AP_INTERFACES 0xfe | 
Specifies to count readiness on non-AP interfaces.
| uint8_t ltrx_ip_address_state | ( | uint8_t | zeroBasedInterface | ) | 
Are IP interfaces up?
With IPv4, will return 1 when its IP address has been established.
With IPv4 and IPv6, will return 1 if one is established and 2 if both are established.
Typical applications may watch for a non-zero value or an increase in the return value as a cue to attempt a network connection. Otherwise initial application connection attempts will fail.
| [in] | zeroBasedInterface | Specifies interface to check. 
  | 
| void ltrx_ip_addresses_get | ( | uint8_t | zeroBasedInterface, | 
| struct ltrx_ip_address | addressArray[], | ||
| uint8_t | addressCount | ||
| ) | 
Get all IP addresses for an interface.
| [in] | zeroBasedInterface | Specifies interface to check. 
  | 
| [out] | addressArray | Receives the IP addresses. Check version for LTRX_IP_VERSION__INVALID, LTRX_IP_VERSION__4, or (future) LTRX_IP_VERSION__6.  | 
| [in] | addressCount | Number of array elements in 
  | 
| 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.
Takes the internal from ipAddress and port number, outputs them.
IP v4 addresses take the form 1.2.3.4:80, each ip number 0 to 255.
IP v6 addresses take the form [0001:0002:0003:0004:0005:0006:0007:0008]:80 or [0001:0002:0003:0004:0005:0006:0007:0008eth0]:80 each ip number 0000 to ffff.
| true | Success. | 
| false | Failed. | 
| [out] | outputBuffer | Prints to this buffer. | 
| [in] | bufferLength | Length of the buffer. | 
| [in] | ipAddress | The IP address to print. | 
| [in] | port | The port to print. | 
| bool ltrx_ip_display | ( | char * | outputBuffer, | 
| size_t | bufferLength, | ||
| const struct ltrx_ip_address * | ipAddress | ||
| ) | 
Print an IP address.
Takes the internal from ipAddress, outputs it.
IP v4 addresses take the form 1.2.3.4, each number 0 to 255.
IP v6 addresses take the form 0001:0002:0003:0004:0005:0006:0007:0008 or 0001:0002:0003:0004:0005:0006:0007:0008eth0, each number 0000 to ffff.
| true | Success. | 
| false | Failed. | 
| [out] | outputBuffer | Prints to this buffer. | 
| [in] | bufferLength | Length of the buffer. | 
| [in] | ipAddress | The IP address to print. | 
| size_t ltrx_ip_socket_can_send | ( | struct ltrx_ip_socket * | socket | ) | 
How much data can be sent?
Checks how many bytes can now be accepted for sending.
| [in] | socket | the socket. | 
| void ltrx_ip_socket_get_local_information | ( | struct ltrx_ip_socket * | socket, | 
| int32_t * | optZeroBasedInterface, | ||
| uint16_t * | optLocalPort | ||
| ) | 
Get local information.
Fills in the Interface index and port of the local device.
| [in] | socket | The socket. | 
| [out] | optZeroBasedInterface | If present, gets set to the local Interface index or -1 if failed. Otherwise, set to NULL.  | 
| [out] | optLocalPort | If present, gets set to the local port number. Otherwise, set to NULL.  | 
| void ltrx_ip_socket_get_peer_information | ( | struct ltrx_ip_socket * | socket, | 
| struct ltrx_ip_address * | optRemoteAddress, | ||
| uint16_t * | optRemotePort | ||
| ) | 
Get peer information.
Fills in the IP address and port of the remote device.
| [in] | socket | The socket. | 
| [out] | optRemoteAddress | If present, gets set to the remote IP address. Otherwise, set to NULL.  | 
| [out] | optRemotePort | If present, gets set to the remote port number. Otherwise, set to NULL.  | 
| bool ltrx_ip_socket_has_data | ( | struct ltrx_ip_socket * | socket, | 
| uint32_t | blockTimeMsec | ||
| ) | 
Is data available?
Checks if any data is available for receive. This may be called after the TCP connection has been established.
Blocks until it has data to read.
| true | One or more bytes are available or socket is disconnected. | 
| false | No data is available, possibly timed out. | 
| [in] | socket | The socket. | 
| [in] | blockTimeMsec | Time to wait in milliseconds. Use 0 for non-blocking operation. Use TIME_WAIT_FOREVER for no timeout.  | 
| size_t ltrx_ip_socket_receive | ( | struct ltrx_ip_socket * | socket, | 
| uint8_t ** | dataPointerLocation, | ||
| size_t | length | ||
| ) | 
Receive data.
Note: Any data under the returned dataPointerLocation will remain intact until the next call to ltrx_ip_socket_has_data(), ltrx_ip_socket_receive() or ltrx_tcp_socket_close().
| [in,out] | socket | The socket. | 
| [out] | dataPointerLocation | Points to data pointer that will be filled in if any bytes have been received. | 
| [in] | length | Maximum number of bytes that may be read by this operation. | 
| bool ltrx_ip_socket_send | ( | struct ltrx_ip_socket * | socket, | 
| const void * | data, | ||
| size_t | length, | ||
| bool | push | ||
| ) | 
Send data.
This is called after the connection has been established.
Caution: This function may block until it either succeeds or fails.
| true | Success. | 
| false | Failed. | 
| [in,out] | socket | The socket. | 
| [in] | data | Data to send. | 
| [in] | length | Length of data to send. | 
| [in] | push | If true, forces packet to be sent now, unless no data has been buffered.  | 
| void ltrx_ip_socket_shutdown | ( | struct ltrx_ip_socket * | socket, | 
| enum ltrx_network_protocol_shutdown | how | ||
| ) | 
Socket shutdown.
| [in,out] | socket | The socket. | 
| [in] | how | Directions to shut down. |