25 #ifndef __STUN_UDP_H__
26 #define __STUN_UDP_H__
35 #include <sys/socket.h>
37 typedef int socklen_t;
41 #include <ortp/port.h>
43 #if !defined(_WIN32_WCE)
47 #if defined(WIN32) || defined(_WIN32_WCE)
48 #define snprintf _snprintf
53 typedef int socklen_t;
54 typedef SOCKET Socket;
57 #define EWOULDBLOCK WSAEWOULDBLOCK
60 #define EINPROGRESS WSAEINPROGRESS
63 #define EALREADY WSAEALREADY
66 #define ENOTSOCK WSAENOTSOCK
69 #define EDESTADDRREQ WSAEDESTADDRREQ
72 #define EMSGSIZE WSAEMSGSIZE
75 #define EPROTOTYPE WSAEPROTOTYPE
78 #define ENOPROTOOPT WSAENOPROTOOPT
80 #ifndef EPROTONOSUPPORT
81 #define EPROTONOSUPPORT WSAEPROTONOSUPPORT
83 #ifndef ESOCKTNOSUPPORT
84 #define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
87 #define EOPNOTSUPP WSAEOPNOTSUPP
90 #define EPFNOSUPPORT WSAEPFNOSUPPORT
93 #define EAFNOSUPPORT WSAEAFNOSUPPORT
96 #define EADDRINUSE WSAEADDRINUSE
99 #define EADDRNOTAVAIL WSAEADDRNOTAVAIL
102 #define ENETDOWN WSAENETDOWN
105 #define ENETUNREACH WSAENETUNREACH
108 #define ENETRESET WSAENETRESET
111 #define ECONNABORTED WSAECONNABORTED
114 #define ECONNRESET WSAECONNRESET
117 #define ENOBUFS WSAENOBUFS
120 #define EISCONN WSAEISCONN
123 #define ENOTCONN WSAENOTCONN
126 #define ESHUTDOWN WSAESHUTDOWN
129 #define ETOOMANYREFS WSAETOOMANYREFS
132 #define ETIMEDOUT WSAETIMEDOUT
135 #define ECONNREFUSED WSAECONNREFUSED
138 #define ELOOP WSAELOOP
141 #define EHOSTDOWN WSAEHOSTDOWN
144 #define EHOSTUNREACH WSAEHOSTUNREACH
147 #define EPROCLIM WSAEPROCLIM
150 #define EUSERS WSAEUSERS
153 #define EDQUOT WSAEDQUOT
156 #define ESTALE WSAESTALE
159 #define EREMOTE WSAEREMOTE
161 typedef LONGLONG Int64;
166 #ifndef INVALID_SOCKET
167 #define INVALID_SOCKET -1
170 #define SOCKET_ERROR -1
173 #define closesocket(fd) close(fd)
175 #define WSANOTINITIALISED EPROTONOSUPPORT
189 openPort(
unsigned short port,
unsigned int interfaceIp);
194 getMessage( Socket fd,
char* buf,
int* len,
195 unsigned int* srcIp,
unsigned short* srcPort);
200 sendMessage( Socket fd,
char* msg,
int len,
201 unsigned int dstIp,
unsigned short dstPort);