blob: 87ff7520449483d619f55d466d152bfe830cbbeb [file] [log] [blame]
Benny Prijono4766ffe2005-11-01 17:56:59 +00001/* $Id$
2 *
3 */
Benny Prijonodd859a62005-11-01 16:42:51 +00004/* $Log: /pjproject-0.3/pjlib/include/pj/compat/os_win32.h $
5 *
6 * 6 10/29/05 11:51a Bennylp
7 * Version 0.3-pre2.
8 *
9 * 5 10/14/05 12:26a Bennylp
10 * Finished error code framework, some fixes in ioqueue, etc. Pretty
11 * major.
12 *
13 * 4 9/22/05 10:31a Bennylp
14 * Moving all *.h files to include/.
15 *
16 * 3 9/21/05 1:39p Bennylp
17 * Periodic checkin for backup.
18 *
19 * 2 9/17/05 10:37a Bennylp
20 * Major reorganization towards version 0.3.
21 *
22 */
23#ifndef __PJ_COMPAT_OS_WIN32_H__
24#define __PJ_COMPAT_OS_WIN32_H__
25
26/**
27 * @file os_win32.h
28 * @brief Describes Win32 operating system family specifics.
29 */
30
31#define WIN32_LEAN_AND_MEAN
32#define PJ_WIN32_WINNT 0x0400
33#define _WIN32_WINNT PJ_WIN32_WINNT
34
35#define PJ_HAS_ARPA_INET_H 0
36#define PJ_HAS_ASSERT_H 1
37#define PJ_HAS_CTYPE_H 1
38#define PJ_HAS_ERRNO_H 0 /* Must be zero, otherwise errno_test() fails. */
39#define PJ_HAS_LINUX_SOCKET_H 0
40#define PJ_HAS_MALLOC_H 1
41#define PJ_HAS_NETDB_H 0
42#define PJ_HAS_NETINET_IN_H 0
43#define PJ_HAS_SETJMP_H 1
44#define PJ_HAS_STDARG_H 1
45#define PJ_HAS_STDDEF_H 1
46#define PJ_HAS_STDIO_H 1
47#define PJ_HAS_STDLIB_H 1
48#define PJ_HAS_STRING_H 1
49#define PJ_HAS_SYS_IOCTL_H 0
50#define PJ_HAS_SYS_SELECT_H 0
51#define PJ_HAS_SYS_SOCKET_H 0
52#define PJ_HAS_SYS_TIMEB_H 1
53#define PJ_HAS_SYS_TYPES_H 1
54#define PJ_HAS_TIME_H 1
55#define PJ_HAS_UNISTD_H 0
56
57#define PJ_HAS_MSWSOCK_H 1
58#define PJ_HAS_WINSOCK_H 0
59#define PJ_HAS_WINSOCK2_H 1
60
61#define PJ_SOCK_HAS_INET_ATON 0
Benny Prijonoa9946d52005-11-06 09:37:47 +000062
63/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
64 * the status of non-blocking connect() operation.
65 */
66#define PJ_HAS_SO_ERROR 0
67
68/* This value specifies the value set in errno by the OS when a non-blocking
69 * socket recv() or send() can not return immediately.
70 */
71#define PJ_BLOCKING_ERROR_VAL WSAEWOULDBLOCK
72
73/* This value specifies the value set in errno by the OS when a non-blocking
74 * socket connect() can not get connected immediately.
75 */
76#define PJ_BLOCKING_CONNECT_ERROR_VAL WSAEWOULDBLOCK
Benny Prijonodd859a62005-11-01 16:42:51 +000077
78/* Default threading is enabled, unless it's overridden. */
79#ifndef PJ_HAS_THREADS
80# define PJ_HAS_THREADS (1)
81#endif
82
83#define PJ_HAS_HIGH_RES_TIMER 1
84#define PJ_HAS_MALLOC 1
85#define PJ_OS_HAS_CHECK_STACK 1
86
87#define PJ_ATOMIC_VALUE_TYPE long
88
89#endif /* __PJ_COMPAT_OS_WIN32_H__ */