Network Developers Kit API
3.75.00.20
|
#include <sys/time.h>
Go to the source code of this file.
Data Structures | |
struct | NDK_fd_set |
struct | linger |
struct | sockaddr |
struct | in_addr |
struct | ip_mreq |
struct | sockaddr_in |
struct | in6_addr |
struct | ipv6_mreq |
struct | sockaddr_in6 |
struct | _fdpollitem |
struct | _NetStartError |
Macros | |
#define | NDK_htons(a) ( (((a)>>8)&0xffU) + (((a)<<8)&0xff00U) ) |
#define | NDK_htonl(a) |
#define | NDK_ntohl(a) NDK_htonl(a) |
#define | NDK_ntohs(a) NDK_htons(a) |
#define | NDK_FD_SETSIZE 16 |
#define | _SYS_SELECT_H 1 |
#define | NDK_FD_SET(n, p) {if((p)->count<NDK_FD_SETSIZE){(p)->fd[(p)->count++]=(n);}} |
#define | NDK_FD_CLR(n, p) fdsetRemoveEntry( (p), (n) ) |
#define | NDK_FD_ISSET(n, p) fdsetTestEntry( (p), (n) ) |
#define | NDK_FD_COPY(f, t) mmCopy((t), (f), sizeof(NDK_fd_set)) |
#define | NDK_FD_ZERO(p) ((p)->count=0) |
#define | AF_UNSPEC 0 |
#define | AF_TASK 1 /* Intertask Communication */ |
#define | AF_INET 2 /* Internet: UDP, TCP, etc. */ |
#define | AF_INET6 10 /* IPV6 */ |
#define | AF_RAWETH 12 /* Raw Ethernet Protocol */ |
#define | SOCK_STREAM 1 /* stream socket */ |
#define | SOCK_DGRAM 2 /* datagram socket */ |
#define | SOCK_RAW 3 /* raw-protocol interface */ |
#define | SOCK_STREAMNC 4 /* non-copy stream socket */ |
#define | SOCK_RAWETH 5 /* non-copy raw eth socket */ |
#define | IPPROTO_IP 0 /* IP Placeholder */ |
#define | IPPROTO_ICMP 1 /* ICMP */ |
#define | IPPROTO_IGMP 2 /* IGMP */ |
#define | IPPROTO_TCP 6 /* TCP */ |
#define | IPPROTO_UDP 17 /* UDP */ |
#define | IPPROTO_IPV6 41 /* IPV6 */ |
#define | IPPROTO_ICMPV6 58 /* ICMPV6 Header. */ |
#define | SO_DEBUG 0x0001 /* turn on debugging info recording */ |
#define | SO_ACCEPTCONN 0x0002 /* socket has had listen() */ |
#define | SO_REUSEADDR 0x0004 /* allow local address reuse */ |
#define | SO_KEEPALIVE 0x0008 /* keep connections alive */ |
#define | SO_DONTROUTE 0x0010 |
#define | SO_BROADCAST 0x0020 |
#define | SO_USELOOPBACK 0x0040 /* bypass hardware when possible */ |
#define | SO_LINGER 0x0080 /* linger on close if data present */ |
#define | SO_OOBINLINE 0x0100 /* leave received OOB data in line */ |
#define | SO_REUSEPORT 0x0200 /* allow local address & port reuse */ |
#define | SO_TIMESTAMP 0x0400 /* timestamp received dgram traffic */ |
#define | SO_SNDBUF 0x1001 /* send buffer size */ |
#define | SO_RCVBUF 0x1002 /* receive buffer size */ |
#define | SO_SNDLOWAT 0x1003 /* send low-water mark */ |
#define | SO_RCVLOWAT 0x1004 /* receive low-water mark */ |
#define | SO_SNDTIMEO 0x1005 /* send timeout */ |
#define | SO_RCVTIMEO 0x1006 /* receive timeout */ |
#define | SO_ERROR 0x1007 /* get error status and clear */ |
#define | SO_TYPE 0x1008 /* get socket type */ |
#define | SO_PRIVSTATE 0x1009 /* get/deny privileged state */ |
#define | SO_IFDEVICE 0x100a /* broadcast IO device */ |
#define | SO_BLOCKING 0x100b /* blocking is default */ |
#define | SO_TXTIMESTAMP 0x100c /* register a call-out function */ |
#define | SO_PRIORITY 0x100d /* Use this to set the priority of the socket. */ |
#define | SOL_SOCKET 0xFFFF /* Level used for above options */ |
#define | IP_OPTIONS 1 /* get/set IP Options (20 byte max) */ |
#define | IP_HDRINCL 2 /* IP Header included with data (raw only) */ |
#define | IP_TOS 3 /* IP tos & preced. */ |
#define | IP_TTL 4 /* IP ttl */ |
#define | IP_ADD_MEMBERSHIP 5 /* Join a Multicast group. */ |
#define | IP_DROP_MEMBERSHIP 6 /* Leave a Multicast group. */ |
#define | NDK_TCP_NODELAY 0x01 /* Don't delay send to combine packet data */ |
#define | NDK_TCP_MAXSEG 0x02 /* Adjust MSS (down only) */ |
#define | NDK_TCP_NOPUSH 0x04 /* Don't send just to finish a data block */ |
#define | NDK_TCP_NOOPT 0x08 /* Don't use TCP options */ |
#define | NDK_TCP_SACKPERMITTED 0x10 /* RFC 2018 - SACK is permitted */ |
#define | NDK_TCP_MAXRTT 0x20 /* Set maximum RTT value used in calculation */ |
#define | MSG_OOB 0x0001 /* Read OOB data (not supported) */ |
#define | MSG_PEEK 0x0002 /* Get Rx data but leave in queue */ |
#define | MSG_WAITALL 0x0004 /* Wait for data to fill buffers */ |
#define | MSG_DONTWAIT 0x0008 /* Don't wait for resources */ |
#define | MSG_DONTROUTE 0x0010 /* Won't route if not local to subnet */ |
#define | MSG_NOSIGNAL 0x0020 /* Unused (fix for NDK-115) */ |
#define | IPV6_UCAST_DEF_HOP_LIMIT 64 |
#define | IPV6_MCAST_DEF_HOP_LIMIT 1 |
#define | IPV6_UNICAST_HOPS 1 |
#define | IPV6_MULTICAST_IF 2 |
#define | IPV6_MULTICAST_HOPS 3 |
#define | IPV6_MULTICAST_LOOP 4 |
#define | IPV6_JOIN_GROUP 5 |
#define | IPV6_LEAVE_GROUP 6 |
#define | IPV6_V6ONLY 7 |
#define | s6_addr in6_u.u6_addr8 |
#define | s6_addr16 in6_u.u6_addr16 |
#define | s6_addr32 in6_u.u6_addr32 |
#define | SOMAXCONN 8 |
#define | SHUT_RD 0 /* Read side of connection */ |
#define | SHUT_WR 1 /* Write side of connection */ |
#define | SHUT_RDWR 2 /* Both sides of connection */ |
#define | INVALID_SOCKET (void *)(-1L) /* Used by socket() and accept() */ |
#define | SOCKET_ERROR -1 /* Used by the rest */ |
#define | FDSTATUS_TYPE 0 /* get socket type */ |
#define | FDSTATUS_TYPE_SOCKET 1 |
#define | FDSTATUS_TYPE_PIPE 2 |
#define | FDSTATUS_RECV 1 /* get socket rcv status */ |
#define | FDSTATUS_SEND 2 /* get socket snd status */ |
#define | POLLINFTIM -1 |
#define | POLLIN 0x01 |
#define | POLLOUT 0x02 |
#define | POLLPRI 0x04 |
#define | POLLNVAL 0x08 |
#define | CREATE_SKT_CTX_HOOK 0 |
#define | CLOSE_SKT_CTX_HOOK 1 |
#define | NETSTART_ERROR_HOOK 2 |
#define | NDK_NO_CTX -1 |
Typedefs | |
typedef void * | SOCKET |
typedef struct NDK_fd_set | NDK_fd_set |
typedef struct _fdpollitem | FDPOLLITEM |
typedef struct _NetStartError | NetStartError_Obj |
typedef int(* | NDK_HookFxn) (uintptr_t) |
typedef void(* | TimestampFxn) (unsigned char *pIpHdr) |
Functions | |
void | fdsetRemoveEntry (NDK_fd_set *pSet, void *hEntry) |
uint32_t | fdsetTestEntry (NDK_fd_set *pSet, void *hEntry) |
void | mmCopy (void *pDst, void *pSrc, uint32_t Size) |
int | fdOpenSession (void *hTask) |
void | fdCloseSession (void *hTask) |
int | fdClose (void *fd) |
int | fdShare (void *fd) |
int | fdError () |
int | fdSelect (int width, NDK_fd_set *readfds, NDK_fd_set *writefds, NDK_fd_set *exceptfds, struct timeval *timeout) |
void | fdSelectAbort (void *hTask) |
int | fdStatus (SOCKET s, int request, int *results) |
int | fdPoll (FDPOLLITEM items[], uint32_t itemcnt, int32_t timeout) |
SOCKET | NDK_accept (SOCKET s, struct sockaddr *pName, int *plen) |
int | NDK_bind (SOCKET s, struct sockaddr *pName, int len) |
int | NDK_connect (SOCKET s, struct sockaddr *pName, int len) |
int | NDK_getpeername (SOCKET s, struct sockaddr *pName, int *plen) |
int | NDK_getsockname (SOCKET s, struct sockaddr *pName, int *plen) |
int | NDK_getsockopt (SOCKET s, int level, int op, void *pbuf, int *pbufsize) |
int | NDK_listen (SOCKET s, int maxcon) |
int | NDK_recv (SOCKET s, void *pbuf, int size, int flags) |
int | NDK_recvfrom (SOCKET s, void *pbuf, int size, int flags, struct sockaddr *pName, int *plen) |
int | NDK_recvnc (SOCKET s, void **ppbuf, int flags, void **pHandle) |
int | NDK_recvncfrom (SOCKET s, void **ppbuf, int flags, struct sockaddr *pName, int *plen, void **pHandle) |
void | NDK_recvncfree (SOCKET Handle) |
int | NDK_send (SOCKET s, void *pbuf, int size, int flags) |
int | NDK_sendto (SOCKET s, void *pbuf, int size, int flags, struct sockaddr *pName, int len) |
int | NDK_setsockopt (SOCKET s, int level, int op, void *pbuf, int bufsize) |
int | NDK_shutdown (SOCKET s, int how) |
SOCKET | NDK_socket (int domain, int type, int protocol) |
int | NDK_getsendncbuff (SOCKET s, uint32_t bufSize, void **phBuf, void **phPkt) |
int | NDK_sendnc (SOCKET s, void *pbuf, int size, void *hPkt, int flags) |
void | NDK_sendncfree (SOCKET Handle) |
int | NDK_getSockCtx (SOCKET s) |
int | NDK_pipe (void **pfd1, void **pfd2) |
void | NDK_registerHook (int type, NDK_HookFxn fxn) |
#define NDK_htons | ( | a | ) | ( (((a)>>8)&0xffU) + (((a)<<8)&0xff00U) ) |
#define NDK_htonl | ( | a | ) |
#define NDK_ntohl | ( | a | ) | NDK_htonl(a) |
#define NDK_ntohs | ( | a | ) | NDK_htons(a) |
#define NDK_FD_SETSIZE 16 |
#define _SYS_SELECT_H 1 |
#define NDK_FD_SET | ( | n, | |
p | |||
) | {if((p)->count<NDK_FD_SETSIZE){(p)->fd[(p)->count++]=(n);}} |
#define NDK_FD_CLR | ( | n, | |
p | |||
) | fdsetRemoveEntry( (p), (n) ) |
#define NDK_FD_ISSET | ( | n, | |
p | |||
) | fdsetTestEntry( (p), (n) ) |
#define NDK_FD_COPY | ( | f, | |
t | |||
) | mmCopy((t), (f), sizeof(NDK_fd_set)) |
#define NDK_FD_ZERO | ( | p | ) | ((p)->count=0) |
#define AF_UNSPEC 0 |
#define AF_TASK 1 /* Intertask Communication */ |
#define AF_INET 2 /* Internet: UDP, TCP, etc. */ |
#define AF_INET6 10 /* IPV6 */ |
#define AF_RAWETH 12 /* Raw Ethernet Protocol */ |
#define SOCK_STREAM 1 /* stream socket */ |
#define SOCK_DGRAM 2 /* datagram socket */ |
#define SOCK_RAW 3 /* raw-protocol interface */ |
#define SOCK_STREAMNC 4 /* non-copy stream socket */ |
#define SOCK_RAWETH 5 /* non-copy raw eth socket */ |
#define IPPROTO_IP 0 /* IP Placeholder */ |
#define IPPROTO_ICMP 1 /* ICMP */ |
#define IPPROTO_IGMP 2 /* IGMP */ |
#define IPPROTO_TCP 6 /* TCP */ |
#define IPPROTO_UDP 17 /* UDP */ |
#define IPPROTO_IPV6 41 /* IPV6 */ |
#define IPPROTO_ICMPV6 58 /* ICMPV6 Header. */ |
#define SO_DEBUG 0x0001 /* turn on debugging info recording */ |
#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ |
#define SO_REUSEADDR 0x0004 /* allow local address reuse */ |
#define SO_KEEPALIVE 0x0008 /* keep connections alive */ |
#define SO_DONTROUTE 0x0010 |
#define SO_BROADCAST 0x0020 |
#define SO_USELOOPBACK 0x0040 /* bypass hardware when possible */ |
#define SO_LINGER 0x0080 /* linger on close if data present */ |
#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */ |
#define SO_REUSEPORT 0x0200 /* allow local address & port reuse */ |
#define SO_TIMESTAMP 0x0400 /* timestamp received dgram traffic */ |
#define SO_SNDBUF 0x1001 /* send buffer size */ |
#define SO_RCVBUF 0x1002 /* receive buffer size */ |
#define SO_SNDLOWAT 0x1003 /* send low-water mark */ |
#define SO_RCVLOWAT 0x1004 /* receive low-water mark */ |
#define SO_SNDTIMEO 0x1005 /* send timeout */ |
#define SO_RCVTIMEO 0x1006 /* receive timeout */ |
#define SO_ERROR 0x1007 /* get error status and clear */ |
#define SO_TYPE 0x1008 /* get socket type */ |
#define SO_PRIVSTATE 0x1009 /* get/deny privileged state */ |
#define SO_IFDEVICE 0x100a /* broadcast IO device */ |
#define SO_BLOCKING 0x100b /* blocking is default */ |
#define SO_TXTIMESTAMP 0x100c /* register a call-out function */ |
#define SO_PRIORITY 0x100d /* Use this to set the priority of the socket. */ |
#define SOL_SOCKET 0xFFFF /* Level used for above options */ |
#define IP_OPTIONS 1 /* get/set IP Options (20 byte max) */ |
#define IP_HDRINCL 2 /* IP Header included with data (raw only) */ |
#define IP_TOS 3 /* IP tos & preced. */ |
#define IP_TTL 4 /* IP ttl */ |
#define IP_ADD_MEMBERSHIP 5 /* Join a Multicast group. */ |
#define IP_DROP_MEMBERSHIP 6 /* Leave a Multicast group. */ |
#define NDK_TCP_NODELAY 0x01 /* Don't delay send to combine packet data */ |
#define NDK_TCP_MAXSEG 0x02 /* Adjust MSS (down only) */ |
#define NDK_TCP_NOPUSH 0x04 /* Don't send just to finish a data block */ |
#define NDK_TCP_NOOPT 0x08 /* Don't use TCP options */ |
#define NDK_TCP_SACKPERMITTED 0x10 /* RFC 2018 - SACK is permitted */ |
#define NDK_TCP_MAXRTT 0x20 /* Set maximum RTT value used in calculation */ |
#define MSG_OOB 0x0001 /* Read OOB data (not supported) */ |
#define MSG_PEEK 0x0002 /* Get Rx data but leave in queue */ |
#define MSG_WAITALL 0x0004 /* Wait for data to fill buffers */ |
#define MSG_DONTWAIT 0x0008 /* Don't wait for resources */ |
#define MSG_DONTROUTE 0x0010 /* Won't route if not local to subnet */ |
#define MSG_NOSIGNAL 0x0020 /* Unused (fix for NDK-115) */ |
#define IPV6_UCAST_DEF_HOP_LIMIT 64 |
#define IPV6_MCAST_DEF_HOP_LIMIT 1 |
#define IPV6_UNICAST_HOPS 1 |
#define IPV6_MULTICAST_IF 2 |
#define IPV6_MULTICAST_HOPS 3 |
#define IPV6_MULTICAST_LOOP 4 |
#define IPV6_JOIN_GROUP 5 |
#define IPV6_LEAVE_GROUP 6 |
#define IPV6_V6ONLY 7 |
#define s6_addr in6_u.u6_addr8 |
#define s6_addr16 in6_u.u6_addr16 |
#define s6_addr32 in6_u.u6_addr32 |
#define SOMAXCONN 8 |
#define SHUT_RD 0 /* Read side of connection */ |
#define SHUT_WR 1 /* Write side of connection */ |
#define SHUT_RDWR 2 /* Both sides of connection */ |
#define INVALID_SOCKET (void *)(-1L) /* Used by socket() and accept() */ |
#define SOCKET_ERROR -1 /* Used by the rest */ |
#define FDSTATUS_TYPE 0 /* get socket type */ |
#define FDSTATUS_TYPE_SOCKET 1 |
#define FDSTATUS_TYPE_PIPE 2 |
#define FDSTATUS_RECV 1 /* get socket rcv status */ |
#define FDSTATUS_SEND 2 /* get socket snd status */ |
#define POLLINFTIM -1 |
#define POLLIN 0x01 |
#define POLLOUT 0x02 |
#define POLLPRI 0x04 |
#define POLLNVAL 0x08 |
#define CREATE_SKT_CTX_HOOK 0 |
#define CLOSE_SKT_CTX_HOOK 1 |
#define NETSTART_ERROR_HOOK 2 |
#define NDK_NO_CTX -1 |
typedef void* SOCKET |
typedef struct NDK_fd_set NDK_fd_set |
typedef struct _fdpollitem FDPOLLITEM |
typedef struct _NetStartError NetStartError_Obj |
typedef int(* NDK_HookFxn) (uintptr_t) |
typedef void(* TimestampFxn) (unsigned char *pIpHdr) |
void fdsetRemoveEntry | ( | NDK_fd_set * | pSet, |
void * | hEntry | ||
) |
uint32_t fdsetTestEntry | ( | NDK_fd_set * | pSet, |
void * | hEntry | ||
) |
void mmCopy | ( | void * | pDst, |
void * | pSrc, | ||
uint32_t | Size | ||
) |
int fdOpenSession | ( | void * | hTask | ) |
void fdCloseSession | ( | void * | hTask | ) |
int fdClose | ( | void * | fd | ) |
int fdShare | ( | void * | fd | ) |
int fdError | ( | ) |
int fdSelect | ( | int | width, |
NDK_fd_set * | readfds, | ||
NDK_fd_set * | writefds, | ||
NDK_fd_set * | exceptfds, | ||
struct timeval * | timeout | ||
) |
void fdSelectAbort | ( | void * | hTask | ) |
int fdStatus | ( | SOCKET | s, |
int | request, | ||
int * | results | ||
) |
int fdPoll | ( | FDPOLLITEM | items[], |
uint32_t | itemcnt, | ||
int32_t | timeout | ||
) |
int NDK_getsockopt | ( | SOCKET | s, |
int | level, | ||
int | op, | ||
void * | pbuf, | ||
int * | pbufsize | ||
) |
int NDK_listen | ( | SOCKET | s, |
int | maxcon | ||
) |
int NDK_recv | ( | SOCKET | s, |
void * | pbuf, | ||
int | size, | ||
int | flags | ||
) |
int NDK_recvfrom | ( | SOCKET | s, |
void * | pbuf, | ||
int | size, | ||
int | flags, | ||
struct sockaddr * | pName, | ||
int * | plen | ||
) |
int NDK_recvnc | ( | SOCKET | s, |
void ** | ppbuf, | ||
int | flags, | ||
void ** | pHandle | ||
) |
int NDK_recvncfrom | ( | SOCKET | s, |
void ** | ppbuf, | ||
int | flags, | ||
struct sockaddr * | pName, | ||
int * | plen, | ||
void ** | pHandle | ||
) |
void NDK_recvncfree | ( | SOCKET | Handle | ) |
int NDK_send | ( | SOCKET | s, |
void * | pbuf, | ||
int | size, | ||
int | flags | ||
) |
int NDK_setsockopt | ( | SOCKET | s, |
int | level, | ||
int | op, | ||
void * | pbuf, | ||
int | bufsize | ||
) |
int NDK_shutdown | ( | SOCKET | s, |
int | how | ||
) |
SOCKET NDK_socket | ( | int | domain, |
int | type, | ||
int | protocol | ||
) |
int NDK_getsendncbuff | ( | SOCKET | s, |
uint32_t | bufSize, | ||
void ** | phBuf, | ||
void ** | phPkt | ||
) |
int NDK_sendnc | ( | SOCKET | s, |
void * | pbuf, | ||
int | size, | ||
void * | hPkt, | ||
int | flags | ||
) |
void NDK_sendncfree | ( | SOCKET | Handle | ) |
int NDK_getSockCtx | ( | SOCKET | s | ) |
int NDK_pipe | ( | void ** | pfd1, |
void ** | pfd2 | ||
) |
void NDK_registerHook | ( | int | type, |
NDK_HookFxn | fxn | ||
) |