blob: d41b2eba95f5cc15760193b1102537b2b079d8db [file] [log] [blame]
Benny Prijono8a0ab282008-01-23 20:17:42 +00001/* $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 */
Benny Prijono763d2012008-01-24 18:35:00 +000025#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)
Benny Prijono8a0ab282008-01-23 20:17:42 +000032# define CPU_CISC 1
Benny Prijono1d481ab2008-01-24 15:27:30 +000033/* # define HAVE_X86 1 use X86 inlined assembly code */
Benny Prijono8a0ab282008-01-23 20:17:42 +000034#else
Benny Prijono2a9ed7c2008-01-25 11:28:08 +000035/*# define CPU_RISC 1*/
36# define CPU_CISC 1
Benny Prijono8a0ab282008-01-23 20:17:42 +000037#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
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
Benny Prijono763d2012008-01-24 18:35:00 +0000121/* These shouldn't really matter as long as HAVE_UINT64_T is set */
122#define SIZEOF_UNSIGNED_LONG (sizeof(unsigned long))
Benny Prijono8a0ab282008-01-23 20:17:42 +0000123#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#endif
145
Benny Prijono2c423752008-01-24 10:23:43 +0000146/* clock() */
147#if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0
148 /* clock() causes unresolved symbol on linking */
149# define _CLOCK_T_DEFINED
150# define CLOCKS_PER_SEC 1000
151# define clock_t unsigned
152
153 #include <windows.h>
154 static clock_t clock(void)
155 {
156 return GetTickCount();
157 }
158#endif
159
Benny Prijono8a0ab282008-01-23 20:17:42 +0000160
161/* Path to random device */
162/* #define DEV_URANDOM "/dev/urandom" */
163
Benny Prijono1d481ab2008-01-24 15:27:30 +0000164/* Only with PJSIP:
165 * Try to open PJ_DEV_URANDOM if present
166 */
167#if defined(PJ_HAS_FCNTL_H) && defined(PJ_HAS_UNISTD_H)
168# define PJ_DEV_URANDOM "/dev/urandom"
169#endif
170
Benny Prijono8a0ab282008-01-23 20:17:42 +0000171/* We have overridden libsrtp error mechanism, so these are not used. */
172/* #undef ERR_REPORTING_FILE */
173/* #undef ERR_REPORTING_STDOUT */
174/* #undef USE_ERR_REPORTING_FILE */
175/* #undef USE_SYSLOG */
176/* #undef HAVE_SYSLOG_H */
177
178
179/* Define this to use ISMAcryp code. */
180/* #undef GENERIC_AESICM */
181
182/* Define to 1 if you have the <inttypes.h> header file. */
183/* #undef HAVE_INTTYPES_H */
184
185/* Define to 1 if you have the `socket' function. */
186/* #undef HAVE_SOCKET */
187
188/* Define to 1 if you have the `socket' library (-lsocket). */
189/* #undef HAVE_LIBSOCKET */
190
191/* Define to 1 if you have the <machine/types.h> header file. */
192/* #undef HAVE_MACHINE_TYPES_H */
193
194
195/* Define to 1 if you have the <strings.h> header file. */
196//#define HAVE_STRINGS_H 1
197
198/* Define to 1 if you have the <sys/int_types.h> header file. */
199/* #undef HAVE_SYS_INT_TYPES_H */
200
201/* Define to use GDOI. */
202/* #undef SRTP_GDOI */
203
204/* Define to compile for kernel contexts. */
205/* #undef SRTP_KERNEL */
206
207/* Define to compile for Linux kernel context. */
208/* #undef SRTP_KERNEL_LINUX */
209
210/* Define to 1 if you have the ANSI C header files. */
211//#define STDC_HEADERS 1
212
213/* Endianness would have been set by pjlib. */
214/* #undef WORDS_BIGENDIAN */
215
216/* Define to empty if `const' does not conform to ANSI C. */
217/* #undef const */
218
219/* Define to `unsigned' if <sys/types.h> does not define. */
220/* #undef size_t */
221
222
223#endif /* __SRTP_CONFIG_H__ */
224