blob: 5f708c8ea1bd4fea549335859939d7e92ff153a9 [file] [log] [blame]
Alexandre Lision8af73cb2013-12-10 14:11:20 -05001/* $Id$ */
2/*
3 * Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */
19#ifndef __SRTP_CONFIG_H__
20#define __SRTP_CONFIG_H__
21
22#include <pj/types.h>
23
24/* We'll just define CISC if it's x86 family */
25#if defined (PJ_M_I386) || defined(_i386_) || defined(i_386_) || \
26 defined(_X86_) || defined(x86) || defined(__i386__) || \
27 defined(__i386) || defined(_M_IX86) || defined(__I86__) || \
28 defined (PJ_M_X86_64) || defined(__amd64__) || defined(__amd64) || \
29 defined(__x86_64__) || defined(__x86_64) || \
30 defined(PJ_M_IA64) || defined(__ia64__) || defined(_IA64) || \
31 defined(__IA64__) || defined(_M_IA64)
32# define CPU_CISC 1
33/* # define HAVE_X86 1 use X86 inlined assembly code */
34#else
35/*# define CPU_RISC 1*/
36# define CPU_CISC 1
37#endif
38
39/* Define to compile in dynamic debugging system. */
40#define ENABLE_DEBUGGING PJ_DEBUG
41
42/* Define to 1 if you have the <arpa/inet.h> header file. */
43#if defined(PJ_HAS_ARPA_INET_H) && PJ_HAS_ARPA_INET_H!=0
44# define HAVE_ARPA_INET_H 1
45#endif
46
47/* Define to 1 if you have the <byteswap.h> header file. */
48/* #undef HAVE_BYTESWAP_H */
49
50/* Define to 1 if you have the `inet_aton' function. */
51#if defined(PJ_SOCK_HAS_INET_PTON) && PJ_SOCK_HAS_INET_PTON
52# define HAVE_INET_ATON 1
53#endif
54
55
56/* Define to 1 if you have the <netinet/in.h> header file. */
57#if defined(PJ_HAS_NETINET_IN_H) && PJ_HAS_NETINET_IN_H!=0
58# define HAVE_NETINET_IN_H 1
59#endif
60
61/* Define to 1 if you have the <stdlib.h> header file. */
62#if defined(PJ_HAS_STDLIB_H) && PJ_HAS_STDLIB_H!=0
63# define HAVE_STDLIB_H 1
64#endif
65
66/* Define to 1 if you have the <string.h> header file. */
67#if defined(PJ_HAS_STRING_H) && PJ_HAS_STRING_H!=0
68# define HAVE_STRING_H 1
69#endif
70
71/* Define to 1 if you have the <sys/socket.h> header file. */
72#if defined(PJ_HAS_SYS_SOCKET_H) && PJ_HAS_SYS_SOCKET_H!=0
73# define HAVE_SYS_SOCKET_H 1
74#endif
75
76/* Define to 1 if you have the <sys/types.h> header file. */
77#if defined(PJ_HAS_SYS_TYPES_H) && PJ_HAS_SYS_TYPES_H!=0
78# define HAVE_SYS_TYPES_H 1
79#endif
80
81/* Define to 1 if you have the <unistd.h> header file. */
82/* Define to 1 if you have the `usleep' function. */
83#if defined(PJ_HAS_UNISTD_H) && PJ_HAS_UNISTD_H!=0
84# define HAVE_UNISTD_H 1
85# define HAVE_USLEEP 1
86#endif
87
88
89/* Define to 1 if you have the <windows.h> header file. */
90#if (defined(PJ_WIN32) && PJ_WIN32!=0) || (defined(PJ_WIN64) && PJ_WIN64 != 0)
91# define HAVE_WINDOWS_H 1
92#endif
93
94/* Define to 1 if you have the <winsock2.h> header file. */
95#if defined(PJ_HAS_WINSOCK2_H) && PJ_HAS_WINSOCK2_H!=0
96# define HAVE_WINSOCK2_H 1
97#endif
98
99#define HAVE_INT16_T 1
100#define HAVE_INT32_T 1
101#define HAVE_INT8_T 1
102#define HAVE_UINT8_T 1
103#define HAVE_UINT16_T 1
104#define HAVE_UINT32_T 1
105#define HAVE_UINT64_T 1
106
107/* Define to 1 if you have the <stdint.h> header file. */
108#if defined(PJ_HAS_STDINT_H) && PJ_HAS_STDINT_H!=0
109# define HAVE_STDINT_H 1
110#else
111 typedef pj_uint8_t uint8_t;
112 typedef pj_uint16_t uint16_t;
113 typedef pj_uint32_t uint32_t;
114 typedef pj_uint64_t uint64_t;
115 typedef pj_int8_t int8_t;
116 typedef pj_int16_t int16_t;
117 typedef pj_int32_t int32_t;
118 typedef pj_int64_t int64_t;
119#endif
120
121/* These shouldn't really matter as long as HAVE_UINT64_T is set */
122#define SIZEOF_UNSIGNED_LONG (sizeof(unsigned long))
123#define SIZEOF_UNSIGNED_LONG_LONG 8
124
125
126#if (_MSC_VER >= 1400) // VC8+
127# ifndef _CRT_SECURE_NO_DEPRECATE
128# define _CRT_SECURE_NO_DEPRECATE
129# endif
130# ifndef _CRT_NONSTDC_NO_DEPRECATE
131# define _CRT_NONSTDC_NO_DEPRECATE
132# endif
133#endif // VC8+
134
135#ifdef _MSC_VER
136# ifndef __cplusplus
137# define inline _inline
138# endif
139
140# pragma warning(disable:4311)
141# pragma warning(disable:4761) // integral mismatch
142# pragma warning(disable:4018) // signed/unsigned mismatch
143# pragma warning(disable:4244) // conversion from int64 to int
144# pragma warning(disable:4100) // unreferenced formal parameter
145#endif
146
147/* clock() */
148#if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0
149 /* clock() causes unresolved symbol on linking */
150# define _CLOCK_T_DEFINED
151# define CLOCKS_PER_SEC 1000
152# define clock_t unsigned
153
154 #include <windows.h>
155 static clock_t clock(void)
156 {
157 return GetTickCount();
158 }
159#endif
160
161
162/* Path to random device */
163/* #define DEV_URANDOM "/dev/urandom" */
164
165/* Only with PJSIP:
166 * Try to open PJ_DEV_URANDOM if present
167 */
168#if defined(PJ_HAS_FCNTL_H) && defined(PJ_HAS_UNISTD_H)
169# define PJ_DEV_URANDOM "/dev/urandom"
170#endif
171
172/* We have overridden libsrtp error mechanism, so these are not used. */
173/* #undef ERR_REPORTING_FILE */
174/* #undef ERR_REPORTING_STDOUT */
175/* #undef USE_ERR_REPORTING_FILE */
176/* #undef USE_SYSLOG */
177/* #undef HAVE_SYSLOG_H */
178
179
180/* Define this to use ISMAcryp code. */
181/* #undef GENERIC_AESICM */
182
183/* Define to 1 if you have the <inttypes.h> header file. */
184/* #undef HAVE_INTTYPES_H */
185
186/* Define to 1 if you have the `socket' function. */
187/* #undef HAVE_SOCKET */
188
189/* Define to 1 if you have the `socket' library (-lsocket). */
190/* #undef HAVE_LIBSOCKET */
191
192/* Define to 1 if you have the <machine/types.h> header file. */
193/* #undef HAVE_MACHINE_TYPES_H */
194
195
196/* Define to 1 if you have the <strings.h> header file. */
197//#define HAVE_STRINGS_H 1
198
199/* Define to 1 if you have the <sys/int_types.h> header file. */
200/* #undef HAVE_SYS_INT_TYPES_H */
201
202/* Define to use GDOI. */
203/* #undef SRTP_GDOI */
204
205/* Define to compile for kernel contexts. */
206/* #undef SRTP_KERNEL */
207
208/* Define to compile for Linux kernel context. */
209/* #undef SRTP_KERNEL_LINUX */
210
211/* Define to 1 if you have the ANSI C header files. */
212//#define STDC_HEADERS 1
213
214/* Endianness would have been set by pjlib. */
215/* #undef WORDS_BIGENDIAN */
216
217/* Define to empty if `const' does not conform to ANSI C. */
218/* #undef const */
219
220/* Define to `unsigned' if <sys/types.h> does not define. */
221/* #undef size_t */
222
223
224#endif /* __SRTP_CONFIG_H__ */
225