25 #if !defined(WIN32) && !defined(_WIN32_WCE) 31 #include <sys/types.h> 45 #include <sys/types.h> 46 #include <sys/socket.h> 47 #include <netinet/in.h> 48 #if defined(_XOPEN_SOURCE_EXTENDED) || !defined(__hpux) 49 #include <arpa/inet.h> 60 typedef int ortp_socket_t;
61 typedef pthread_t ortp_thread_t;
62 typedef pthread_mutex_t ortp_mutex_t;
63 typedef pthread_cond_t ortp_cond_t;
65 #ifdef __INTEL_COMPILER 66 #pragma warning(disable : 111) // statement is unreachable 67 #pragma warning(disable : 181) // argument is incompatible with corresponding format string conversion 68 #pragma warning(disable : 188) // enumerated type mixed with another type 69 #pragma warning(disable : 593) // variable "xxx" was set but never used 70 #pragma warning(disable : 810) // conversion from "int" to "unsigned short" may lose significant bits 71 #pragma warning(disable : 869) // parameter "xxx" was never referenced 72 #pragma warning(disable : 981) // operands are evaluated in unspecified order 73 #pragma warning(disable : 1418) // external function definition with no prior declaration 74 #pragma warning(disable : 1419) // external declaration in primary source file 75 #pragma warning(disable : 1469) // "cc" clobber ignored 83 int __ortp_thread_join(ortp_thread_t thread,
void **ptr);
84 int __ortp_thread_create(pthread_t *thread, pthread_attr_t *attr,
void * (*routine)(
void*),
void *arg);
90 #define ortp_thread_create __ortp_thread_create 91 #define ortp_thread_join __ortp_thread_join 92 #define ortp_thread_exit pthread_exit 93 #define ortp_mutex_init pthread_mutex_init 94 #define ortp_mutex_lock pthread_mutex_lock 95 #define ortp_mutex_unlock pthread_mutex_unlock 96 #define ortp_mutex_destroy pthread_mutex_destroy 97 #define ortp_cond_init pthread_cond_init 98 #define ortp_cond_signal pthread_cond_signal 99 #define ortp_cond_broadcast pthread_cond_broadcast 100 #define ortp_cond_wait pthread_cond_wait 101 #define ortp_cond_destroy pthread_cond_destroy 103 #define SOCKET_OPTION_VALUE void * 104 #define SOCKET_BUFFER void * 106 #define getSocketError() strerror(errno) 107 #define getSocketErrorCode() (errno) 109 #define ortp_log10f(x) log10f(x) 120 #include <winsock2.h> 121 #include <ws2tcpip.h> 125 #pragma push_macro("_WINSOCKAPI_") 130 typedef unsigned __int64 uint64_t;
131 typedef __int64 int64_t;
132 typedef unsigned short uint16_t;
133 typedef unsigned int uint32_t;
135 typedef unsigned char uint8_t;
136 typedef __int16 int16_t;
141 #define vsnprintf _vsnprintf 142 #define srandom srand 146 typedef SOCKET ortp_socket_t;
147 typedef HANDLE ortp_cond_t;
148 typedef HANDLE ortp_mutex_t;
149 typedef HANDLE ortp_thread_t;
151 #define ortp_thread_create WIN_thread_create 152 #define ortp_thread_join WIN_thread_join 153 #define ortp_thread_exit(arg) 154 #define ortp_mutex_init WIN_mutex_init 155 #define ortp_mutex_lock WIN_mutex_lock 156 #define ortp_mutex_unlock WIN_mutex_unlock 157 #define ortp_mutex_destroy WIN_mutex_destroy 158 #define ortp_cond_init WIN_cond_init 159 #define ortp_cond_signal WIN_cond_signal 160 #define ortp_cond_broadcast WIN_cond_broadcast 161 #define ortp_cond_wait WIN_cond_wait 162 #define ortp_cond_destroy WIN_cond_destroy 170 int WIN_mutex_init(ortp_mutex_t *m,
void *attr_unused);
171 int WIN_mutex_lock(ortp_mutex_t *mutex);
172 int WIN_mutex_unlock(ortp_mutex_t *mutex);
173 int WIN_mutex_destroy(ortp_mutex_t *mutex);
174 int WIN_thread_create(ortp_thread_t *t,
void *attr_unused,
void *(*func)(
void*),
void *arg);
175 int WIN_thread_join(ortp_thread_t thread,
void **unused);
176 int WIN_cond_init(ortp_cond_t *cond,
void *attr_unused);
177 int WIN_cond_wait(ortp_cond_t * cond, ortp_mutex_t * mutex);
178 int WIN_cond_signal(ortp_cond_t * cond);
179 int WIN_cond_broadcast(ortp_cond_t * cond);
180 int WIN_cond_destroy(ortp_cond_t * cond);
186 #define SOCKET_OPTION_VALUE char * 187 #define inline __inline 189 #if defined(_WIN32_WCE) 191 #define ortp_log10f(x) (float)log10 ((double)x) 196 #define assert(exp) ((void)0) 201 #define errno GetLastError() 205 const char * ortp_strerror(DWORD value);
206 #define strerror ortp_strerror 211 #define ortp_log10f(x) log10f(x) 215 const char *getWinSocketError(
int error);
216 #define getSocketErrorCode() WSAGetLastError() 217 #define getSocketError() getWinSocketError(WSAGetLastError()) 219 #define snprintf _snprintf 220 #define strcasecmp _stricmp 233 int gettimeofday (
struct timeval *tv,
void* tz);
234 #ifdef _WORKAROUND_MINGW32_BUGS 235 char * WSAAPI gai_strerror(
int errnum);
243 typedef unsigned char bool_t;
253 void* ortp_malloc(
size_t sz);
254 void ortp_free(
void *ptr);
255 void* ortp_realloc(
void *ptr,
size_t sz);
256 void* ortp_malloc0(
size_t sz);
257 char * ortp_strdup(
const char *tmp);
261 void *(*malloc_fun)(
size_t sz);
262 void *(*realloc_fun)(
void *ptr,
size_t sz);
263 void (*free_fun)(
void *ptr);
268 #define ortp_new(type,count) (type*)ortp_malloc(sizeof(type)*(count)) 269 #define ortp_new0(type,count) (type*)ortp_malloc0(sizeof(type)*(count)) 271 int close_socket(ortp_socket_t sock);
272 int set_non_blocking_socket(ortp_socket_t sock);
274 char *ortp_strndup(
const char *str,
int n);
275 char *ortp_strdup_printf(
const char *fmt,...);
276 char *ortp_strdup_vprintf(
const char *fmt, va_list ap);
278 int ortp_file_exist(
const char *pathname);
281 #if !defined(_WIN32_WCE) 283 typedef HANDLE ortp_pipe_t;
284 #define ORTP_PIPE_INVALID INVALID_HANDLE_VALUE 286 typedef int ortp_pipe_t;
287 #define ORTP_PIPE_INVALID (-1) 290 ortp_pipe_t ortp_server_pipe_create(
const char *name);
296 ortp_pipe_t ortp_server_pipe_accept_client(ortp_pipe_t server);
297 int ortp_server_pipe_close(ortp_pipe_t spipe);
298 int ortp_server_pipe_close_client(ortp_pipe_t client);
300 ortp_pipe_t ortp_client_pipe_connect(
const char *name);
301 int ortp_client_pipe_close(ortp_pipe_t sock);
303 int ortp_pipe_read(ortp_pipe_t p, uint8_t *buf,
int len);
304 int ortp_pipe_write(ortp_pipe_t p,
const uint8_t *buf,
int len);
306 void *ortp_shm_open(
unsigned int keyid,
int size,
int create);
307 void ortp_shm_close(
void *memory);
317 #if (defined(WIN32) || defined(_WIN32_WCE)) && !defined(ORTP_STATIC) 319 #define VAR_DECLSPEC __declspec(dllexport) 321 #define VAR_DECLSPEC __declspec(dllimport) 324 #define VAR_DECLSPEC extern 331 #if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE==1