summaryrefslogtreecommitdiff
path: root/pjlib/include/pj/compat/os_auto.h.in
blob: 198b940f1930207e3488035dda2d64a5acce0c78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/* $Id$ */
/* 
 * Copyright (C)2003-2006 Benny Prijono <benny@prijono.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
 */
#ifndef __PJ_COMPAT_OS_AUTO_H__
#define __PJ_COMPAT_OS_AUTO_H__

/**
 * @file os_auto.h
 * @brief Describes operating system specifics (automatically detected by
 *        autoconf)
 */

/* Canonical OS name */
#undef PJ_OS_NAME

/* Legacy macros */
#undef PJ_WIN32
#undef PJ_WIN32_WINNT
#undef WIN32_LEAN_AND_MEAN
#undef PJ_DARWINOS
#undef PJ_LINUX
#undef PJ_RTEMS
#undef PJ_SUNOS

#if defined(PJ_WIN32_WINNT) && !defined(_WIN32_WINNT)
#  define _WIN32_WINNT	PJ_WIN32_WINNT
#endif

/* Headers availability */
#undef PJ_HAS_ARPA_INET_H
#undef PJ_HAS_ASSERT_H
#undef PJ_HAS_CTYPE_H
#undef PJ_HAS_ERRNO_H
#undef PJ_HAS_LINUX_SOCKET_H
#undef PJ_HAS_MALLOC_H
#undef PJ_HAS_NETDB_H
#undef PJ_HAS_NETINET_IN_H
#undef PJ_HAS_SETJMP_H
#undef PJ_HAS_STDARG_H
#undef PJ_HAS_STDDEF_H
#undef PJ_HAS_STDIO_H
#undef PJ_HAS_STDLIB_H
#undef PJ_HAS_STRING_H
#undef PJ_HAS_SYS_IOCTL_H
#undef PJ_HAS_SYS_SELECT_H
#undef PJ_HAS_SYS_SOCKET_H
#undef PJ_HAS_SYS_TIME_H
#undef PJ_HAS_SYS_TIMEB_H
#undef PJ_HAS_SYS_TYPES_H
#undef PJ_HAS_TIME_H
#undef PJ_HAS_UNISTD_H

#undef PJ_HAS_MSWSOCK_H
#undef PJ_HAS_WINSOCK_H
#undef PJ_HAS_WINSOCK2_H

#undef PJ_SOCK_HAS_INET_ATON

/* Set 1 if native sockaddr_in has sin_len member. 
 * Default: 0
 */
#undef PJ_SOCKADDR_HAS_LEN

/* Does the OS have socklen_t? */
#undef PJ_HAS_SOCKLEN_T

#if !defined(PJ_HAS_SOCKLEN_T) || PJ_HAS_SOCKLEN_T==0
# define PJ_HAS_SOCKLEN_T  1
  typedef int socklen_t;
#endif

/**
 * If this macro is set, it tells select I/O Queue that select() needs to
 * be given correct value of nfds (i.e. largest fd + 1). This requires
 * select ioqueue to re-scan the descriptors on each registration and
 * unregistration.
 * If this macro is not set, then ioqueue will always give FD_SETSIZE for
 * nfds argument when calling select().
 *
 * Default: 0
 */
#undef PJ_SELECT_NEEDS_NFDS

/* Is errno a good way to retrieve OS errors?
 */
#undef PJ_HAS_ERRNO_VAR

/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
 * the status of non-blocking connect() operation.
 */
#undef PJ_HAS_SO_ERROR

/* This value specifies the value set in errno by the OS when a non-blocking
 * socket recv() can not return immediate daata.
 */
#undef PJ_BLOCKING_ERROR_VAL

/* This value specifies the value set in errno by the OS when a non-blocking
 * socket connect() can not get connected immediately.
 */
#undef PJ_BLOCKING_CONNECT_ERROR_VAL

/* Default threading is enabled, unless it's overridden. */
#ifndef PJ_HAS_THREADS
#  define PJ_HAS_THREADS	    (1)
#endif

/* Do we need high resolution timer? */
#undef PJ_HAS_HIGH_RES_TIMER

/* Is malloc() available? */
#undef PJ_HAS_MALLOC

#ifndef PJ_OS_HAS_CHECK_STACK
#   define PJ_OS_HAS_CHECK_STACK    0
#endif

/* Unicode? */
#undef PJ_NATIVE_STRING_IS_UNICODE

/* The type of atomic variable value: */
#undef PJ_ATOMIC_VALUE_TYPE

/* If 1, use Read/Write mutex emulation for platforms that don't support it */
#undef PJ_EMULATE_RWMUTEX

/* If 1, pj_thread_create() should enforce the stack size when creating 
 * threads.
 * Default: 0 (let OS decide the thread's stack size).
 */
#undef PJ_THREAD_SET_STACK_SIZE

/* If 1, pj_thread_create() should allocate stack from the pool supplied.
 * Default: 0 (let OS allocate memory for thread's stack).
 */
#undef PJ_THREAD_ALLOCATE_STACK

#endif	/* __PJ_COMPAT_OS_AUTO_H__ */