1 #ifndef HEADER_CURL_CONFIG_OS400_H
2 #define HEADER_CURL_CONFIG_OS400_H
3 /***************************************************************************
4  *                                  _   _ ____  _
5  *  Project                     ___| | | |  _ \| |
6  *                             / __| | | | |_) | |
7  *                            | (__| |_| |  _ <| |___
8  *                             \___|\___/|_| \_\_____|
9  *
10  * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
11  *
12  * This software is licensed as described in the file COPYING, which
13  * you should have received as part of this distribution. The terms
14  * are also available at https://curl.se/docs/copyright.html.
15  *
16  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
17  * copies of the Software, and permit persons to whom the Software is
18  * furnished to do so, under the terms of the COPYING file.
19  *
20  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21  * KIND, either express or implied.
22  *
23  ***************************************************************************/
24 
25 /* ================================================================ */
26 /*                Hand crafted config file for OS/400               */
27 /* ================================================================ */
28 
29 #pragma enum(int)
30 
31 #undef PACKAGE
32 
33 /* Version number of this archive. */
34 #undef VERSION
35 
36 /* Define if you have the getpass function.  */
37 #undef HAVE_GETPASS
38 
39 /* Define cpu-machine-OS */
40 #define OS "OS/400"
41 
42 /* Define if you have the gethostbyaddr_r() function with 5 arguments */
43 #define HAVE_GETHOSTBYADDR_R_5
44 
45 /* Define if you have the gethostbyaddr_r() function with 7 arguments */
46 #undef HAVE_GETHOSTBYADDR_R_7
47 
48 /* Define if you have the gethostbyaddr_r() function with 8 arguments */
49 #undef HAVE_GETHOSTBYADDR_R_8
50 
51 /* OS400 supports a 3-argument ASCII version of gethostbyaddr_r(), but its
52  *  prototype is incompatible with the "standard" one (1st argument is not
53  *  const). However, getaddrinfo() is supported (ASCII version defined as
54  *  a local wrapper in setup-os400.h) in a threadsafe way: we can then
55  *  configure getaddrinfo() as such and get rid of gethostbyname_r() without
56  *  loss of threadsafeness. */
57 #undef HAVE_GETHOSTBYNAME_R
58 #undef HAVE_GETHOSTBYNAME_R_3
59 #undef HAVE_GETHOSTBYNAME_R_5
60 #undef HAVE_GETHOSTBYNAME_R_6
61 #define HAVE_GETADDRINFO
62 #define HAVE_GETADDRINFO_THREADSAFE
63 
64 /* Define if you need the _REENTRANT define for some functions */
65 #undef NEED_REENTRANT
66 
67 /* Define if you have the Kerberos4 libraries (including -ldes) */
68 #undef HAVE_KRB4
69 
70 /* Define if you want to enable IPv6 support */
71 #define ENABLE_IPV6
72 
73 /* Define if struct sockaddr_in6 has the sin6_scope_id member */
74 #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
75 
76 /* Define this to 'int' if ssize_t is not an available typedefed type */
77 #undef ssize_t
78 
79 /* Define this as a suitable file to read random data from */
80 #undef RANDOM_FILE
81 
82 /* Define this to your Entropy Gathering Daemon socket pathname */
83 #undef EGD_SOCKET
84 
85 /* Define to 1 if you have the alarm function. */
86 #define HAVE_ALARM 1
87 
88 /* Define if you have the <alloca.h> header file. */
89 #undef HAVE_ALLOCA_H
90 
91 /* Define if you have the <arpa/inet.h> header file. */
92 #define HAVE_ARPA_INET_H
93 
94 /* Define if you have the `closesocket' function. */
95 #undef HAVE_CLOSESOCKET
96 
97 /* Define if you have the <crypto.h> header file. */
98 #undef HAVE_CRYPTO_H
99 
100 /* Define if you have the <errno.h> header file. */
101 #define HAVE_ERRNO_H
102 
103 /* Define if you have the <err.h> header file. */
104 #undef HAVE_ERR_H
105 
106 /* Define if you have the <fcntl.h> header file. */
107 #define HAVE_FCNTL_H
108 
109 /* Define if you have the `geteuid' function. */
110 #define HAVE_GETEUID
111 
112 /* Define if you have the `gethostbyaddr' function. */
113 #define HAVE_GETHOSTBYADDR
114 
115 /* Define if you have the `gethostbyaddr_r' function. */
116 #define HAVE_GETHOSTBYADDR_R
117 
118 /* Define if you have the `gethostname' function. */
119 #define HAVE_GETHOSTNAME
120 
121 /* Define if you have the <getopt.h> header file. */
122 #undef HAVE_GETOPT_H
123 
124 /* Define if you have the `getpass_r' function. */
125 #undef HAVE_GETPASS_R
126 
127 /* Define to 1 if you have the getpeername function. */
128 #define HAVE_GETPEERNAME 1
129 
130 /* Define if you have the `getpwuid' function. */
131 #define HAVE_GETPWUID
132 
133 /* Define if you have the `getservbyname' function. */
134 #define HAVE_GETSERVBYNAME
135 
136 /* Define to 1 if you have the getsockname function. */
137 #define HAVE_GETSOCKNAME 1
138 
139 /* Define if you have the `gettimeofday' function. */
140 #define HAVE_GETTIMEOFDAY
141 
142 /* Define if you have the `timeval' struct. */
143 #define HAVE_STRUCT_TIMEVAL
144 
145 /* Define if you have the `inet_addr' function. */
146 #define HAVE_INET_ADDR
147 
148 /* Define if you have the <inttypes.h> header file. */
149 #define HAVE_INTTYPES_H
150 
151 /* Define if you have the <io.h> header file. */
152 #undef HAVE_IO_H
153 
154 /* Define if you have the `krb_get_our_ip_for_realm' function. */
155 #undef HAVE_KRB_GET_OUR_IP_FOR_REALM
156 
157 /* Define if you have the <krb.h> header file. */
158 #undef HAVE_KRB_H
159 
160 /* Define if you have the `nsl' library (-lnsl). */
161 #undef HAVE_LIBNSL
162 
163 /* Define if you have the `resolv' library (-lresolv). */
164 #undef HAVE_LIBRESOLV
165 
166 /* Define if you have the `resolve' library (-lresolve). */
167 #undef HAVE_LIBRESOLVE
168 
169 /* Define if you have the `socket' library (-lsocket). */
170 #undef HAVE_LIBSOCKET
171 
172 /* Define if you have GSS API. */
173 #define HAVE_GSSAPI
174 
175 /* Define if you have the GNU gssapi libraries */
176 #undef HAVE_GSSGNU
177 
178 /* Define if you have the Heimdal gssapi libraries */
179 #define HAVE_GSSHEIMDAL
180 
181 /* Define if you have the MIT gssapi libraries */
182 #undef HAVE_GSSMIT
183 
184 /* Define if you have the `ucb' library (-lucb). */
185 #undef HAVE_LIBUCB
186 
187 /* Define if you have the `localtime_r' function. */
188 #define HAVE_LOCALTIME_R
189 
190 /* Define if you have the <malloc.h> header file. */
191 #define HAVE_MALLOC_H
192 
193 /* Define if you need the malloc.h header file even with stdlib.h  */
194 /* #define NEED_MALLOC_H 1 */
195 
196 /* Define if you have the <memory.h> header file. */
197 #undef HAVE_MEMORY_H
198 
199 /* Define if you have the <netdb.h> header file. */
200 #define HAVE_NETDB_H
201 
202 /* Define if you have the <netinet/if_ether.h> header file. */
203 #undef HAVE_NETINET_IF_ETHER_H
204 
205 /* Define if you have the <netinet/in.h> header file. */
206 #define HAVE_NETINET_IN_H
207 
208 /* Define if you have the <net/if.h> header file. */
209 #define HAVE_NET_IF_H
210 
211 /* Define if you have the <openssl/crypto.h> header file. */
212 #undef HAVE_OPENSSL_CRYPTO_H
213 
214 /* Define if you have the <openssl/err.h> header file. */
215 #undef HAVE_OPENSSL_ERR_H
216 
217 /* Define if you have the <openssl/pem.h> header file. */
218 #undef HAVE_OPENSSL_PEM_H
219 
220 /* Define if you have the <openssl/rsa.h> header file. */
221 #undef HAVE_OPENSSL_RSA_H
222 
223 /* Define if you have the <openssl/ssl.h> header file. */
224 #undef HAVE_OPENSSL_SSL_H
225 
226 /* Define if you have the <openssl/x509.h> header file. */
227 #undef HAVE_OPENSSL_X509_H
228 
229 /* Define if you have the <pem.h> header file. */
230 #undef HAVE_PEM_H
231 
232 /* Define if you have the `perror' function. */
233 #define HAVE_PERROR
234 
235 /* Define if you have the <pwd.h> header file. */
236 #define HAVE_PWD_H
237 
238 /* Define if you have the `RAND_egd' function. */
239 #undef HAVE_RAND_EGD
240 
241 /* Define if you have the `RAND_screen' function. */
242 #undef HAVE_RAND_SCREEN
243 
244 /* Define if you have the `RAND_status' function. */
245 #undef HAVE_RAND_STATUS
246 
247 /* Define if you have the <rsa.h> header file. */
248 #undef HAVE_RSA_H
249 
250 /* Define if you have the `select' function. */
251 #define HAVE_SELECT
252 
253 /* Define if you have the `setvbuf' function. */
254 #define HAVE_SETVBUF
255 
256 /* Define if you have the <sgtty.h> header file. */
257 #undef HAVE_SGTTY_H
258 
259 /* Define if you have the `sigaction' function. */
260 #define HAVE_SIGACTION
261 
262 /* Define if you have the `signal' function. */
263 #undef HAVE_SIGNAL
264 
265 /* Define if you have the <signal.h> header file. */
266 #define HAVE_SIGNAL_H
267 
268 /* Define if sig_atomic_t is an available typedef. */
269 #define HAVE_SIG_ATOMIC_T
270 
271 /* Define if sig_atomic_t is already defined as volatile. */
272 #undef HAVE_SIG_ATOMIC_T_VOLATILE
273 
274 /* Define if you have the `socket' function. */
275 #define HAVE_SOCKET
276 
277 /* Define if you have the <ssl.h> header file. */
278 #undef HAVE_SSL_H
279 
280 /* Define if you have the <stdint.h> header file. */
281 #undef HAVE_STDINT_H
282 
283 /* Define if you have the <stdlib.h> header file. */
284 #define HAVE_STDLIB_H
285 
286 
287 /* The following define is needed on OS400 to enable strcmpi(), stricmp() and
288    strdup(). */
289 #define __cplusplus__strings__
290 
291 /* Define if you have the `strcasecmp' function. */
292 #undef HAVE_STRCASECMP
293 
294 /* Define if you have the `strcmpi' function. */
295 #define HAVE_STRCMPI
296 
297 /* Define if you have the `stricmp' function. */
298 #define HAVE_STRICMP
299 
300 /* Define if you have the `strdup' function. */
301 #define HAVE_STRDUP
302 
303 
304 /* Define if you have the `strftime' function. */
305 #define HAVE_STRFTIME
306 
307 /* Define if you have the <strings.h> header file. */
308 #define HAVE_STRINGS_H
309 
310 /* Define if you have the <string.h> header file. */
311 #define HAVE_STRING_H
312 
313 /* Define if you have the `strlcpy' function. */
314 #undef HAVE_STRLCPY
315 
316 /* Define if you have the <stropts.h> header file. */
317 #undef HAVE_STROPTS_H
318 
319 /* Define if you have the `strstr' function. */
320 #define HAVE_STRSTR
321 
322 /* Define if you have the `strtok_r' function. */
323 #define HAVE_STRTOK_R
324 
325 /* Define if you have the `strtoll' function. */
326 #undef HAVE_STRTOLL             /* Allows ASCII compile on V5R1. */
327 
328 /* Define if you have the <sys/param.h> header file. */
329 #define HAVE_SYS_PARAM_H
330 
331 /* Define if you have the <sys/select.h> header file. */
332 #undef HAVE_SYS_SELECT_H
333 
334 /* Define if you have the <sys/socket.h> header file. */
335 #define HAVE_SYS_SOCKET_H
336 
337 /* Define if you have the <sys/sockio.h> header file. */
338 #undef HAVE_SYS_SOCKIO_H
339 
340 /* Define if you have the <sys/stat.h> header file. */
341 #define HAVE_SYS_STAT_H
342 
343 /* Define if you have the <sys/time.h> header file. */
344 #define HAVE_SYS_TIME_H
345 
346 /* Define if you have the <sys/types.h> header file. */
347 #define HAVE_SYS_TYPES_H
348 
349 /* Define if you have the <sys/un.h> header file. */
350 #define HAVE_SYS_UN_H
351 
352 /* Define if you have the <sys/ioctl.h> header file. */
353 #define HAVE_SYS_IOCTL_H
354 
355 /* Define if you have the `tcgetattr' function. */
356 #undef HAVE_TCGETATTR
357 
358 /* Define if you have the `tcsetattr' function. */
359 #undef HAVE_TCSETATTR
360 
361 /* Define if you have the <termios.h> header file. */
362 #undef HAVE_TERMIOS_H
363 
364 /* Define if you have the <termio.h> header file. */
365 #undef HAVE_TERMIO_H
366 
367 /* Define if you have the <time.h> header file. */
368 #define HAVE_TIME_H
369 
370 /* Define if you have the `uname' function. */
371 #undef HAVE_UNAME
372 
373 /* Define if you have the <unistd.h> header file. */
374 #define HAVE_UNISTD_H
375 
376 /* Define if you have the <winsock.h> header file. */
377 #undef HAVE_WINSOCK_H
378 
379 /* Define if you have the <x509.h> header file. */
380 #undef HAVE_X509_H
381 
382 /* Name of package */
383 #undef PACKAGE
384 
385 /* Define as the return type of signal handlers (`int' or `void'). */
386 #define RETSIGTYPE void
387 
388 /* The size of `int', as computed by sizeof. */
389 #define SIZEOF_INT              4
390 
391 /* The size of a `long double', as computed by sizeof. */
392 #define SIZEOF_LONG_DOUBLE      8
393 
394 /* Define if the compiler supports the 'long long' data type. */
395 #define HAVE_LONGLONG
396 
397 /* The size of a `long long', as computed by sizeof. */
398 #define SIZEOF_LONG_LONG        8
399 
400 /* The size of `short', as computed by sizeof. */
401 #define SIZEOF_SHORT            2
402 
403 /* The size of `long', as computed by sizeof. */
404 #define SIZEOF_LONG             4
405 
406 /* The size of `size_t', as computed by sizeof. */
407 #define SIZEOF_SIZE_T           4
408 
409 /* The size of `curl_off_t', as computed by sizeof. */
410 #define SIZEOF_CURL_OFF_T       8
411 
412 /* Whether long long constants must be suffixed by LL. */
413 
414 #define HAVE_LL
415 
416 /* Define this if you have struct sockaddr_storage */
417 #define HAVE_STRUCT_SOCKADDR_STORAGE
418 
419 /* Define if you have the ANSI C header files. */
420 #define STDC_HEADERS
421 
422 /* Define if you can safely include both <sys/time.h> and <time.h>. */
423 #define TIME_WITH_SYS_TIME
424 
425 /* Define to enable HTTP3 support (experimental, requires NGTCP2 or QUICHE) */
426 #undef ENABLE_QUIC
427 
428 /* Version number of package */
429 #undef VERSION
430 
431 /* Number of bits in a file offset, on hosts where this is settable. */
432 #undef _FILE_OFFSET_BITS
433 
434 /* Define for large files, on AIX-style hosts. */
435 #define _LARGE_FILES
436 
437 /* Define to empty if `const' does not conform to ANSI C. */
438 #undef const
439 
440 /* type to use in place of in_addr_t if not defined */
441 #define in_addr_t       unsigned long
442 
443 /* Define to `unsigned' if <sys/types.h> does not define. */
444 #undef size_t
445 
446 /* Define if you have the ioctl function. */
447 #define HAVE_IOCTL
448 
449 /* Define if you have a working ioctl FIONBIO function. */
450 #define HAVE_IOCTL_FIONBIO
451 
452 /* Define if you have a working ioctl SIOCGIFADDR function. */
453 #define HAVE_IOCTL_SIOCGIFADDR
454 
455 /* To disable LDAP */
456 #undef CURL_DISABLE_LDAP
457 
458 /* Definition to make a library symbol externally visible. */
459 #define CURL_EXTERN_SYMBOL
460 
461 /* Define if you have the ldap_url_parse procedure. */
462 /* #define HAVE_LDAP_URL_PARSE */    /* Disabled because of an IBM bug. */
463 
464 /* Define if you have the getnameinfo function. */
465 /* OS400 has no ASCII version of this procedure: wrapped in setup-os400.h. */
466 #define HAVE_GETNAMEINFO
467 
468 /* Define to the type qualifier of arg 1 for getnameinfo. */
469 #define GETNAMEINFO_QUAL_ARG1 const
470 
471 /* Define to the type of arg 1 for getnameinfo. */
472 #define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
473 
474 /* Define to the type of arg 2 for getnameinfo. */
475 #define GETNAMEINFO_TYPE_ARG2 socklen_t
476 
477 /* Define to the type of args 4 and 6 for getnameinfo. */
478 #define GETNAMEINFO_TYPE_ARG46 socklen_t
479 
480 /* Define to the type of arg 7 for getnameinfo. */
481 #define GETNAMEINFO_TYPE_ARG7 int
482 
483 /* Define if you have the recv function. */
484 #define HAVE_RECV
485 
486 /* Define to the type of arg 1 for recv. */
487 #define RECV_TYPE_ARG1 int
488 
489 /* Define to the type of arg 2 for recv. */
490 #define RECV_TYPE_ARG2 char *
491 
492 /* Define to the type of arg 3 for recv. */
493 #define RECV_TYPE_ARG3 int
494 
495 /* Define to the type of arg 4 for recv. */
496 #define RECV_TYPE_ARG4 int
497 
498 /* Define to the function return type for recv. */
499 #define RECV_TYPE_RETV int
500 
501 /* Define if you have the recvfrom function. */
502 #define HAVE_RECVFROM
503 
504 /* Define to the type of arg 1 for recvfrom. */
505 #define RECVFROM_TYPE_ARG1 int
506 
507 /* Define to the type pointed by arg 2 for recvfrom. */
508 #define RECVFROM_TYPE_ARG2 char
509 
510 /* Define to the type of arg 3 for recvfrom. */
511 #define RECVFROM_TYPE_ARG3 int
512 
513 /* Define to the type of arg 4 for recvfrom. */
514 #define RECVFROM_TYPE_ARG4 int
515 
516 /* Define to the type pointed by arg 5 for recvfrom. */
517 #define RECVFROM_TYPE_ARG5 struct sockaddr
518 
519 /* Define to the type pointed by arg 6 for recvfrom. */
520 #define RECVFROM_TYPE_ARG6 int
521 
522 /* Define to the function return type for recvfrom. */
523 #define RECVFROM_TYPE_RETV int
524 
525 /* Define if you have the send function. */
526 #define HAVE_SEND
527 
528 /* Define to the type of arg 1 for send. */
529 #define SEND_TYPE_ARG1 int
530 
531 /* Define to the type qualifier of arg 2 for send. */
532 #define SEND_QUAL_ARG2
533 
534 /* Define to the type of arg 2 for send. */
535 #define SEND_TYPE_ARG2 char *
536 
537 /* Define to the type of arg 3 for send. */
538 #define SEND_TYPE_ARG3 int
539 
540 /* Define to the type of arg 4 for send. */
541 #define SEND_TYPE_ARG4 int
542 
543 /* Define to the function return type for send. */
544 #define SEND_TYPE_RETV int
545 
546 /* Define to use the GSKit package. */
547 #define USE_GSKIT
548 
549 /* Define to use the OS/400 crypto library. */
550 #define USE_OS400CRYPTO
551 
552 /* Define to use Unix sockets. */
553 #define USE_UNIX_SOCKETS
554 
555 /* Use the system keyring as the default CA bundle. */
556 #define CURL_CA_BUNDLE  "/QIBM/UserData/ICSS/Cert/Server/DEFAULT.KDB"
557 
558 /* ---------------------------------------------------------------- */
559 /*                       ADDITIONAL DEFINITIONS                     */
560 /* ---------------------------------------------------------------- */
561 
562 /* The following must be defined BEFORE system header files inclusion. */
563 
564 #define __ptr128                       /* No teraspace. */
565 #define qadrt_use_fputc_inline         /* Generate fputc() wrapper inline. */
566 #define qadrt_use_fread_inline         /* Generate fread() wrapper inline. */
567 #define qadrt_use_fwrite_inline        /* Generate fwrite() wrapper inline. */
568 
569 #endif /* HEADER_CURL_CONFIG_OS400_H */
570