stun_udp.h
Go to the documentation of this file.00001 #ifndef udp_h
00002 #define udp_h
00003
00004
00005 #if defined __MACH__ && not defined __APPLE__
00006 typedef int socklen_t;
00007 #endif
00008
00009 #include <errno.h>
00010
00011 #ifdef WIN32
00012
00013 #include <winsock2.h>
00014 #include <io.h>
00015
00016 typedef int socklen_t;
00017 typedef SOCKET Socket;
00018
00019 #define EWOULDBLOCK WSAEWOULDBLOCK
00020 #define EINPROGRESS WSAEINPROGRESS
00021 #define EALREADY WSAEALREADY
00022 #define ENOTSOCK WSAENOTSOCK
00023 #define EDESTADDRREQ WSAEDESTADDRREQ
00024 #define EMSGSIZE WSAEMSGSIZE
00025 #define EPROTOTYPE WSAEPROTOTYPE
00026 #define ENOPROTOOPT WSAENOPROTOOPT
00027 #define EPROTONOSUPPORT WSAEPROTONOSUPPORT
00028 #define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
00029 #define EOPNOTSUPP WSAEOPNOTSUPP
00030 #define EPFNOSUPPORT WSAEPFNOSUPPORT
00031 #define EAFNOSUPPORT WSAEAFNOSUPPORT
00032 #define EADDRINUSE WSAEADDRINUSE
00033 #define EADDRNOTAVAIL WSAEADDRNOTAVAIL
00034 #define ENETDOWN WSAENETDOWN
00035 #define ENETUNREACH WSAENETUNREACH
00036 #define ENETRESET WSAENETRESET
00037 #define ECONNABORTED WSAECONNABORTED
00038 #define ECONNRESET WSAECONNRESET
00039 #define ENOBUFS WSAENOBUFS
00040 #define EISCONN WSAEISCONN
00041 #define ENOTCONN WSAENOTCONN
00042 #define ESHUTDOWN WSAESHUTDOWN
00043 #define ETOOMANYREFS WSAETOOMANYREFS
00044 #define ETIMEDOUT WSAETIMEDOUT
00045 #define ECONNREFUSED WSAECONNREFUSED
00046 #define ELOOP WSAELOOP
00047 #define EHOSTDOWN WSAEHOSTDOWN
00048 #define EHOSTUNREACH WSAEHOSTUNREACH
00049 #define EPROCLIM WSAEPROCLIM
00050 #define EUSERS WSAEUSERS
00051 #define EDQUOT WSAEDQUOT
00052 #define ESTALE WSAESTALE
00053 #define EREMOTE WSAEREMOTE
00054
00055 typedef LONGLONG Int64;
00056 inline int getErrno() { return WSAGetLastError(); }
00057 static const Socket STUN_INVALID_SOCKET = -1;
00058 static const int STUN_SOCKET_ERROR = -1;
00059 inline int stunclosesocket( Socket fd ) { return closesocket(fd); };
00060
00061 #else
00062
00063 typedef int Socket;
00064 static const Socket STUN_INVALID_SOCKET = -1;
00065 static const int STUN_SOCKET_ERROR = -1;
00066
00067 inline int stunclosesocket( Socket fd ) { return close(fd); };
00068
00069 inline int getErrno() { return errno; }
00070
00071 #define WSANOTINITIALISED EPROTONOSUPPORT
00072
00073 #endif
00074
00078 Socket
00079 openPort( unsigned short port, unsigned int interfaceIp,
00080 bool verbose);
00081
00082
00084 bool
00085 getMessage( Socket fd, char* buf, int* len,
00086 unsigned int* srcIp, unsigned short* srcPort,
00087 bool verbose);
00088
00089
00091 bool
00092 sendMessage( Socket fd, char* msg, int len,
00093 unsigned int dstIp, unsigned short dstPort,
00094 bool verbose);
00095
00096
00098 void
00099 initNetwork();
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159 #endif