1400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* opensslconf.h */
2400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
3400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
4c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root#ifdef  __cplusplus
5c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Rootextern "C" {
6c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root#endif
7400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* OpenSSL was configured with the following options: */
8400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_DOING_MAKEDEPEND
9400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
10400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
11400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_CAMELLIA
12400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_CAMELLIA
13400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
14400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_CAPIENG
15400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_CAPIENG
16400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
17400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_CAST
18400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_CAST
19400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
20400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_DTLS1
21400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_DTLS1
22400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
23400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
24400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_EC_NISTP_64_GCC_128
25400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
26400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_GMP
27400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_GMP
28400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
29400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_GOST
30400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_GOST
31400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
32400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_HEARTBEATS
33400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_HEARTBEATS
34400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
35400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_IDEA
36400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_IDEA
37400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
38400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_JPAKE
39400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_JPAKE
40400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
41400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_KRB5
42400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_KRB5
43400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
44400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_MD2
45400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_MD2
46400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
47400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_MDC2
48400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_MDC2
49400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
50400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_RC5
51400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_RC5
52400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
53400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_RDRAND
54400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_RDRAND
55400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
56400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_RFC3779
57400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_RFC3779
58400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
59172e83c468abf3056f83091c83b1d506af8fe973Kenny Root#ifndef OPENSSL_NO_RIPEMD
60172e83c468abf3056f83091c83b1d506af8fe973Kenny Root# define OPENSSL_NO_RIPEMD
61172e83c468abf3056f83091c83b1d506af8fe973Kenny Root#endif
62400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_RSAX
63400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_RSAX
64400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
65400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_SCTP
66400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_SCTP
67400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
68400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_SEED
69400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_SEED
70400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
71400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_SHA0
72400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_SHA0
73400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
74400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_STATIC_ENGINE
75400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_STATIC_ENGINE
76400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
77400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_STORE
78400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_STORE
79400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
80c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root#ifndef OPENSSL_NO_UNIT_TEST
81c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root# define OPENSSL_NO_UNIT_TEST
82c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root#endif
83400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_WHIRLPOOL
84400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_WHIRLPOOL
85400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
86400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
87400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif /* OPENSSL_DOING_MAKEDEPEND */
88400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
89400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_THREADS
90400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_THREADS
91400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
92400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef OPENSSL_NO_DYNAMIC_ENGINE
93400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# define OPENSSL_NO_DYNAMIC_ENGINE
94400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
95400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
96400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* The OPENSSL_NO_* macros are also defined as NO_* if the application
97400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov   asks for it.  This is a transient feature that is provided for those
98400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov   who haven't had the time to do the appropriate changes in their
99400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov   applications.  */
100400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifdef OPENSSL_ALGORITHM_DEFINES
101400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA)
102400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_CAMELLIA
103400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
104400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG)
105400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_CAPIENG
106400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
107400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_CAST) && !defined(NO_CAST)
108400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_CAST
109400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
110400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_DTLS1) && !defined(NO_DTLS1)
111400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_DTLS1
112400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
113400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128)
114400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_EC_NISTP_64_GCC_128
115400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
116400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
117400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_GMP
118400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
119400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_GOST) && !defined(NO_GOST)
120400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_GOST
121400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
122400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_HEARTBEATS) && !defined(NO_HEARTBEATS)
123400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_HEARTBEATS
124400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
125400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
126400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_IDEA
127400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
128400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
129400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_JPAKE
130400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
131400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
132400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_KRB5
133400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
134400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
135400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_MD2
136400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
137400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
138400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_MDC2
139400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
140400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
141400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_RC5
142400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
143400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_RDRAND) && !defined(NO_RDRAND)
144400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_RDRAND
145400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
146400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)
147400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_RFC3779
148400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
149172e83c468abf3056f83091c83b1d506af8fe973Kenny Root# if defined(OPENSSL_NO_RIPEMD) && !defined(NO_RIPEMD)
150172e83c468abf3056f83091c83b1d506af8fe973Kenny Root#  define NO_RIPEMD
151172e83c468abf3056f83091c83b1d506af8fe973Kenny Root# endif
152400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_RSAX) && !defined(NO_RSAX)
153400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_RSAX
154400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
155400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP)
156400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_SCTP
157400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
158400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)
159400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_SEED
160400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
161400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_SHA0) && !defined(NO_SHA0)
162400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_SHA0
163400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
164400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_STATIC_ENGINE) && !defined(NO_STATIC_ENGINE)
165400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_STATIC_ENGINE
166400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
167400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
168400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_STORE
169400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
170c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST)
171c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root#  define NO_UNIT_TEST
172c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root# endif
173400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# if defined(OPENSSL_NO_WHIRLPOOL) && !defined(NO_WHIRLPOOL)
174400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define NO_WHIRLPOOL
175400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov# endif
176400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
177400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
178400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* crypto/opensslconf.h.in */
179400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
180400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* Generate 80386 code? */
181400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#undef I386_ONLY
182400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
183400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
184400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
185400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define ENGINESDIR "/usr/local/ssl/lib/engines"
186400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define OPENSSLDIR "/usr/local/ssl"
187400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
188400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
189400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
190400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#undef OPENSSL_UNISTD
191400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define OPENSSL_UNISTD <unistd.h>
192400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
193400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
194400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
195400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
196400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define IDEA_INT unsigned int
197400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
198400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
199400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined(HEADER_MD2_H) && !defined(MD2_INT)
200400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define MD2_INT unsigned int
201400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
202400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
203400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined(HEADER_RC2_H) && !defined(RC2_INT)
204400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* I need to put in a mod for the alpha - eay */
205400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define RC2_INT unsigned int
206400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
207400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
208400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined(HEADER_RC4_H)
209400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if !defined(RC4_INT)
210400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* using int types make the structure larger but make the code faster
211400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * on most boxes I have tested - up to %20 faster. */
212400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/*
213400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * I don't know what does "most" mean, but declaring "int" is a must on:
214400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * - Intel P6 because partial register stalls are very expensive;
215400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * - elder Alpha because it lacks byte load/store instructions;
216400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov */
217400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define RC4_INT unsigned char
218400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
219400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if !defined(RC4_CHUNK)
220400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/*
221400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * This enables code handling data aligned at natural CPU word
222400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * boundary. See crypto/rc4/rc4_enc.c for further details.
223400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov */
224400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define RC4_CHUNK unsigned long
225400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
226400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
227400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
228400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
229400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
230400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * %20 speed up (longs are 8 bytes, int's are 4). */
231400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef DES_LONG
232400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define DES_LONG unsigned int
233400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
234400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
235400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
236400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
237400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define CONFIG_HEADER_BN_H
238400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#undef BN_LLONG
239400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
240400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* Should we define BN_DIV2W here? */
241400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
242400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* Only one for the following should be defined */
243400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define SIXTY_FOUR_BIT_LONG
244400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#undef SIXTY_FOUR_BIT
245400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#undef THIRTY_TWO_BIT
246400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
247400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
248400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
249400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define CONFIG_HEADER_RC4_LOCL_H
250400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* if this is defined data[i] is used instead of *data, this is a %20
251400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * speedup on x86 */
252400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#undef RC4_INDEX
253400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
254400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
255400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
256400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define CONFIG_HEADER_BF_LOCL_H
257400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define BF_PTR
258400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif /* HEADER_BF_LOCL_H */
259400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
260400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
261400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define CONFIG_HEADER_DES_LOCL_H
262400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef DES_DEFAULT_OPTIONS
263400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* the following is tweaked from a config script, that is why it is a
264400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * protected undef/define */
265400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef DES_PTR
266400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#undef DES_PTR
267400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
268400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
269400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* This helps C compiler generate the correct code for multiple functional
270400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * units.  It reduces register dependancies at the expense of 2 more
271400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * registers */
272400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef DES_RISC1
273400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#undef DES_RISC1
274400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
275400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
276400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef DES_RISC2
277400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#undef DES_RISC2
278400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
279400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
280400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined(DES_RISC1) && defined(DES_RISC2)
281400df0a1337a517d628426522a358a1c5d22fccfAlexey VolkovYOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
282400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
283400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
284400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* Unroll the inner loop, this sometimes helps, sometimes hinders.
285400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * Very mucy CPU dependant */
286400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#ifndef DES_UNROLL
287400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#define DES_UNROLL
288400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
289400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
290400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* These default values were supplied by
291400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * Peter Gutman <pgut001@cs.auckland.ac.nz>
292400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov * They are only used if nothing else has been defined */
293400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
294400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov/* Special defines which change the way the code is built depending on the
295400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov   CPU and OS.  For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
296400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov   even newer MIPS CPU's, but at the moment one size fits all for
297400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov   optimization options.  Older Sparc's work better with only UNROLL, but
298400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov   there's no way to tell at compile time what it is you're running on */
299400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
300400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#if defined( sun )		/* Newer Sparc's */
301400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_PTR
302400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_RISC1
303400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_UNROLL
304400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#elif defined( __ultrix )	/* Older MIPS */
305400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_PTR
306400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_RISC2
307400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_UNROLL
308400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#elif defined( __osf1__ )	/* Alpha */
309400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_PTR
310400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_RISC2
311400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#elif defined ( _AIX )		/* RS6000 */
312400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov  /* Unknown */
313400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#elif defined( __hpux )		/* HP-PA */
314400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov  /* Unknown */
315400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#elif defined( __aux )		/* 68K */
316400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov  /* Unknown */
317400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */
318400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_UNROLL
319400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#elif defined( __sgi )		/* Newer MIPS */
320400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_PTR
321400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_RISC2
322400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_UNROLL
323400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#elif defined(i386) || defined(__i386__)	/* x86 boxes, should be gcc */
324400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_PTR
325400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_RISC1
326400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#  define DES_UNROLL
327400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif /* Systems-specific speed defines */
328400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif
329400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov
330400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif /* DES_DEFAULT_OPTIONS */
331400df0a1337a517d628426522a358a1c5d22fccfAlexey Volkov#endif /* HEADER_DES_LOCL_H */
332c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root#ifdef  __cplusplus
333c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root}
334c64f6fe2be99cb3fa8e491b5bede9a217de87a4cKenny Root#endif
335