35 #define PAL_NET_MAX_ADDR_SIZE 32 // check if we can make this more efficient 43 char interfaceName[16];
55 #if PAL_NET_TCP_AND_TLS_SUPPORT 57 PAL_SOCK_STREAM_SERVER = 99,
58 #endif //PAL_NET_TCP_AND_TLS_SUPPORT 65 #if PAL_NET_TCP_AND_TLS_SUPPORT // socket options below supported only if TCP is supported. 66 PAL_SO_KEEPALIVE = 0x0008,
67 #endif //PAL_NET_TCP_AND_TLS_SUPPORT 72 #define PAL_NET_DEFAULT_INTERFACE 0xFFFFFFFF 74 #define PAL_IPV4_ADDRESS_SIZE 4 75 #define PAL_IPV6_ADDRESS_SIZE 16 216 #define PAL_NET_SOCKET_SELECT_MAX_SOCKETS 8 217 #define PAL_NET_SOCKET_SELECT_RX_BIT (1) 218 #define PAL_NET_SOCKET_SELECT_TX_BIT (2) 219 #define PAL_NET_SOCKET_SELECT_ERR_BIT (4) 221 #define PAL_NET_SELECT_IS_RX(socketStatus, index) ((socketStatus[index] | PAL_NET_SOCKET_SELECT_RX_BIT) != 0) 222 #define PAL_NET_SELECT_IS_TX(socketStatus, index) ((socketStatus[index] | PAL_NET_SOCKET_SELECT_TX_BIT) != 0) 223 #define PAL_NET_SELECT_IS_ERR(socketStatus, index) ((socketStatus[index] | PAL_NET_SOCKET_SELECT_ERR_BIT) != 0) 235 palStatus_t pal_socketMiniSelect(const palSocket_t socketsToCheck[PAL_NET_SOCKET_SELECT_MAX_SOCKETS], uint32_t numberOfSockets, pal_timeVal_t* timeout, 239 #if PAL_NET_TCP_AND_TLS_SUPPORT // functionality below supported only in case TCP is supported. 247 palStatus_t pal_listen(palSocket_t socket,
int backlog);
274 palStatus_t pal_recv(palSocket_t socket,
void* buf,
size_t len,
size_t* recievedDataSize);
283 palStatus_t pal_send(palSocket_t socket,
const void* buf,
size_t len,
size_t* sentDataSize);
286 #endif //PAL_NET_TCP_AND_TLS_SUPPORT 289 #if PAL_NET_ASYNCHRONOUS_SOCKET_API 293 typedef void(*palAsyncSocketCallback_t)();
308 #if PAL_NET_DNS_SUPPORT 321 #endif //_PAL_SOCKET_H palStatus_t pal_getSockAddrPort(const palSocketAddress_t *address, uint16_t *port)
Definition: pal_network.c:153
palStatus_t pal_sendTo(palSocket_t socket, const void *buffer, size_t length, const palSocketAddress_t *to, palSocketLength_t toLength, size_t *bytesSent)
Definition: pal_network.c:240
int32_t pal_tv_usec
Definition: pal_network.h:82
palStatus_t pal_close(palSocket_t *socket)
Definition: pal_network.c:252
palStatus_t pal_getSockAddrIPV6Addr(const palSocketAddress_t *address, palIpV6Addr_t ipV6Addr)
Definition: pal_network.c:133
Definition: pal_network.h:49
palStatus_t pal_registerNetworkInterface(void *networkInterfaceContext, uint32_t *interfaceIndex)
Definition: pal_network.c:43
struct palNetInterfaceInfo palNetInterfaceInfo_t
uint32_t palSocketLength_t
Definition: pal_network.h:32
palStatus_t pal_getNetInterfaceInfo(uint32_t interfaceNum, palNetInterfaceInfo_t *interfaceInfo)
Definition: pal_network.c:276
uint8_t palIpV4Addr_t[PAL_IPV4_ADDRESS_SIZE]
Definition: pal_network.h:77
Definition: pal_network.h:59
palSocketAddress_t address
Definition: pal_network.h:44
void * palSocket_t
Definition: pal_network.h:33
palStatus_t pal_setSocketOptions(palSocket_t socket, int optionName, const void *optionValue, palSocketLength_t optionLength)
Definition: pal_network.c:204
palStatus_t pal_getSocketOptions(palSocket_t socket, palSocketOptionName_t optionName, void *optionValue, palSocketLength_t *optionLength)
Definition: pal_network.c:192
palStatus_t pal_setSockAddrIPV6Addr(palSocketAddress_t *address, palIpV6Addr_t ipV6Addr)
Definition: pal_network.c:91
Definition: pal_network.h:51
unsigned short addressType
Definition: pal_network.h:38
int32_t pal_tv_sec
Definition: pal_network.h:81
palSocketType_t
Definition: pal_network.h:54
Definition: pal_network.h:42
palStatus_t pal_setSockAddrPort(palSocketAddress_t *address, uint16_t port)
Definition: pal_network.c:51
Definition: pal_network.h:69
palSocketOptionName_t
Definition: pal_network.h:63
struct palSocketAddress palSocketAddress_t
Definition: pal_network.h:64
uint32_t addressSize
Definition: pal_network.h:45
palStatus_t pal_bind(palSocket_t socket, palSocketAddress_t *myAddress, palSocketLength_t addressLength)
Definition: pal_network.c:216
uint8_t palIpV6Addr_t[PAL_IPV6_ADDRESS_SIZE]
Definition: pal_network.h:78
palStatus_t pal_getSockAddrIPV4Addr(const palSocketAddress_t *address, palIpV4Addr_t ipV4Addr)
Definition: pal_network.c:109
#define PAL_IPV4_ADDRESS_SIZE
Definition: pal_network.h:74
#define PAL_IPV6_ADDRESS_SIZE
Definition: pal_network.h:75
palStatus_t pal_setSockAddrIPV4Addr(palSocketAddress_t *address, palIpV4Addr_t ipV4Addr)
Definition: pal_network.c:78
#define PAL_NET_SOCKET_SELECT_MAX_SOCKETS
Definition: pal_network.h:216
palStatus_t pal_getNumberOfNetInterfaces(uint32_t *numInterfaces)
Definition: pal_network.c:264
#define PAL_NET_MAX_ADDR_SIZE
Definition: pal_network.h:35
Definition: pal_network.h:68
char addressData[PAL_NET_MAX_ADDR_SIZE]
Definition: pal_network.h:39
struct pal_timeVal pal_timeVal_t
int32_t palStatus_t
Definition: pal_types.h:31
Definition: pal_network.h:80
palStatus_t pal_socket(palSocketDomain_t domain, palSocketType_t type, bool nonBlockingSocket, uint32_t interfaceNum, palSocket_t *socket)
Definition: pal_network.c:180
Definition: pal_network.h:50
palStatus_t pal_receiveFrom(palSocket_t socket, void *buffer, size_t length, palSocketAddress_t *from, palSocketLength_t *fromLength, size_t *bytesReceived)
Definition: pal_network.c:228
palSocketDomain_t
Definition: pal_network.h:48
Definition: pal_network.h:37