2 /* include/portable.h.nt -- manually updated of MS NT (MS VC5) */
3 /* synced with portable.h.in 1.24 */
5 * Copyright 1998-2000 The OpenLDAP Foundation, Redwood City, California, USA
8 * Redistribution and use in source and binary forms are permitted only
9 * as authorized by the OpenLDAP Public License. A copy of this
10 * license is available at http://www.OpenLDAP.org/license.html or
11 * in file LICENSE in the top-level directory of the distribution.
14 #ifndef _LDAP_PORTABLE_H
15 #define _LDAP_PORTABLE_H
19 #if !defined( SLAPD_SCHEMA_COMPAT ) && !defined( SLAPD_SCHEMA_NOT_COMPAT )
20 /* use new schema codes */
21 #define SLAPD_SCHEMA_NOT_COMPAT 1
24 /* --------------------------------------------------- */
25 /* begin of MSVC5 specific entries */
27 #define OPENLDAP_PACKAGE "OpenLDAP"
28 #define OPENLDAP_VERSION "-devel"
31 /* don't suck in all of the win32 api */
32 #define WIN32_LEAN_AND_MEAN
34 #if defined(_WIN32) && !defined(_WINNT) && !defined(_WIN95)
38 #if defined( _MT ) && defined( _WINNT )
39 #define HAVE_NT_THREADS 1
44 #ifdef HAVE_NT_THREADS
45 /* enable WINNT specific features only if we have NT THREADS */
46 #define HAVE_NT_SERVICE_MANAGER 1
47 #define HAVE_NT_EVENT_LOG 1
50 #if defined( _DEBUG ) && !defined( LDAP_DEBUG )
51 /* #define LDAP_MEMORY_DEBUG 1 */
55 /* we installed Henry Spencer's REGEX */
56 #define HAVE_REGEX_H 1
58 /* win32 specific stuff */
61 #define strcasecmp stricmp
62 #define strncasecmp strnicmp
64 #define snprintf _snprintf
65 #define vsnprintf _vsnprintf
66 /* #define vsprintf _vsprintf */
68 /* define type for caddr_t */
69 typedef char * caddr_t;
71 /* define type for ssize_t */
72 typedef signed int ssize_t;
74 /* we have spawnlp instead of fork/execlp */
75 #define HAVE_SPAWNLP 1
77 /* we have winsock2 */
78 #define HAVE_WINSOCK2 1
81 #define HAVE_WINSOCK 1
83 /* we have <conio.h> */
84 #define HAVE_CONIO_H 1
86 /* we have <direct.h> */
87 #define HAVE_DIRECT_H 1
92 /* we have <process.h> */
93 #define HAVE_PROCESS_H 1
95 /* we have <wincrypt.h> */
96 #define HAVE_WINCRYPT_H 1
98 #define MAXPATHLEN _MAX_PATH
100 /* end of MSVC5 specific entries */
101 /* --------------------------------------------------- */
103 /* Define if on AIX 3.
104 System headers sometimes define this.
105 We just want to avoid a redefinition error message. */
107 /* #undef _ALL_SOURCE */
110 /* Define to empty if the keyword does not work. */
113 /* Define to the type of elements in the array set by `getgroups'.
114 Usually this is either `int' or `gid_t'. */
115 /* #undef GETGROUPS_T */
117 /* Define to `int' if <sys/types.h> doesn't define. */
120 /* Define if you don't have vprintf but do have _doprnt. */
121 /* #undef HAVE_DOPRNT */
123 /* Define if your struct stat has st_blksize. */
124 /* #undef HAVE_ST_BLKSIZE */
126 /* Define if you have the strftime function. */
127 #define HAVE_STRFTIME 1
129 /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
130 /* #undef HAVE_SYS_WAIT_H */
132 /* Define if you have the vprintf function. */
133 #define HAVE_VPRINTF 1
135 /* Define if on MINIX. */
138 /* Define to `int' if <sys/types.h> doesn't define. */
141 /* Define to `long' if <sys/types.h> doesn't define. */
144 /* Define to `int' if <sys/types.h> doesn't define. */
147 /* Define if the system does not provide POSIX.1 features except
148 with this defined. */
149 /* #undef _POSIX_1_SOURCE */
151 /* Define if you need to in order for stat and other things to work. */
152 /* #undef _POSIX_SOURCE */
154 /* Define as the return type of signal handlers (int or void). */
155 #define RETSIGTYPE void
157 /* Define to `unsigned' if <sys/types.h> doesn't define. */
160 /* Define if you have the ANSI C header files. */
161 #define STDC_HEADERS 1
163 /* Define if you can safely include both <sys/time.h> and <time.h>. */
164 /* #undef TIME_WITH_SYS_TIME */
166 /* Define if your <sys/time.h> declares struct tm. */
167 /* #undef TM_IN_SYS_TIME */
169 /* Define to `int' if <sys/types.h> doesn't define. */
172 /* Define if your processor stores words with the most significant
173 byte first (like Motorola and SPARC, unlike Intel and VAX). */
174 /* #undef WORDS_BIGENDIAN */
176 /* define this if needed to get reentrant functions */
178 /* #undef REENTRANT */
181 /* #undef _REENTRANT */
184 /* define this if needed to get threadsafe functions */
186 /* #undef THREADSAFE */
189 /* #undef _THREADSAFE */
192 /* #undef THREAD_SAFE */
195 /* #undef _THREAD_SAFE */
198 /* define this if toupper() requires tolower() */
199 #define C_UPPER_LOWER 1
201 /* define this to the number of arguments ctime_r() expects */
202 /* #undef CTIME_R_NARGS */
204 /* define this if sys_errlist is not defined in stdio.h or errno.h */
205 /* #undef DECL_SYS_ERRLIST */
207 /* define this if sys_errlist is available */
208 #define HAVE_SYS_ERRLIST 1
210 /* define if you have berkeley db */
211 #define HAVE_BERKELEY_DB 1
213 /* define if you have crypt */
214 /* #undef HAVE_CRYPT */
216 /* define if you have GDBM */
217 /* #undef HAVE_GDBM */
219 /* define if you have NDBM */
220 /* #undef HAVE_NDBM */
222 /* define if you have res_search() */
224 /* see second res_search define */
225 /* #undef HAVE_RES_SEARCH */
228 /* define if you have sched_yield() */
230 /* see second sched_yield define */
231 /* #undef HAVE_SCHED_YIELD */
234 /* define if you have setproctitle() */
235 /* #undef HAVE_SETPROCTITLE */
237 /* define this for connectionless LDAP support */
238 /* #undef LDAP_CONNECTIONLESS */
240 /* define this to add debugging code */
241 /* #undef LDAP_DEBUG */
243 /* define this to remove -lldap cache support */
244 /* #undef LDAP_NOCACHE */
246 /* define this for LDAP process title support */
247 /* #undef LDAP_PROCTITLE */
249 /* define this for LDAP User Interface support */
250 /* #undef LDAP_LIBUI */
252 /* define this to add syslog code */
253 /* #undef LDAP_SYSLOG */
255 /* define this to use DBBTREE w/ LDBM backend */
256 #define LDBM_USE_DBBTREE 1
258 /* define this to use DBHASH w/ LDBM backend */
259 /* #undef LDBM_USE_DBHASH */
261 /* define this for ACL Group support */
262 #define SLAPD_ACLGROUPS 1
264 /* define this to use SLAPD Berkeley DB2 backend */
265 /* #define SLAPD_BDB2 1 */
267 /* define this for ClearText password support */
268 #define SLAPD_CLEARTEXT 1
270 /* define this for crypt(3) password support */
271 /* #undef SLAPD_CRYPT */
273 /* define this to use SLAPD LDAP backend */
274 /* #undef SLAPD_LDAP */
276 /* define this to use SLAPD LDBM backend */
279 /* define this to use SLAPD SQL backend */
282 /* define this to use SLAPD passwd backend */
283 /* #undef SLAPD_PASSWD */
285 /* define this to use SLAPD perl backend */
286 /* #undef SLAPD_PERL */
288 /* define this for phonetic support */
289 /* #undef SLAPD_PHONETIC */
291 /* define this for Reverse Lookup support */
292 #define SLAPD_RLOOKUPS 1
294 /* define this for per-object ACIs */
295 /* #undef SLAPD_ACI_ENABLED */
297 /* define this to use SLAPD shell backend */
298 /* #undef SLAPD_SHELL */
300 /* define this to be empty if your compiler doesn't support volatile */
301 /* #undef volatile */
303 /* define this if sig_atomic_t isn't defined in signal.h */
304 /* #undef sig_atomic_t */
306 /* define this if socklen_t isn't defined in sys/types.h or sys/socket.h */
307 #define socklen_t int
309 /* These are defined in ldap_features.h */
311 LDAP_API_FEATURE_X_OPENLDAP_REENTRANT
312 LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE
313 LDAP_API_FEATURE_X_OPENLDAP_V2_DNS
314 LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS
317 /* The number of bytes in a int. */
320 /* The number of bytes in a long. */
321 #define SIZEOF_LONG 4
323 /* The number of bytes in a short. */
324 #define SIZEOF_SHORT 2
326 /* Define if you have the bcopy function. */
327 /* #undef HAVE_BCOPY */
329 /* Define if you have the ctime_r function. */
330 /* #undef HAVE_CTIME_R */
332 /* Define if you have the flock function. */
333 /* #undef HAVE_FLOCK */
335 /* Define if you have the getdtablesize function. */
336 /* #undef HAVE_GETDTABLESIZE */
338 /* Define if you have the gethostbyaddr_r function. */
339 /* #undef HAVE_GETHOSTBYADDR_R */
341 /* Define if you have the gethostbyname_r function. */
342 /* #undef HAVE_GETHOSTBYNAME_R */
344 /* Define if you have the gethostname function. */
345 #define HAVE_GETHOSTNAME 1
347 /* define if you have the getopt function */
348 /* #undef HAVE_GETOPT */
350 /* Define if you have the getpwuid function. */
351 /* #undef HAVE_GETPWUID */
353 /* Define if you have the gettimeofday function. */
354 /* #undef HAVE_GETTIMEOFDAY */
356 /* Define if you have the lockf function. */
357 /* #undef HAVE_LOCKF */
359 /* Define if you have the memcpy function. */
360 #define HAVE_MEMCPY 1
362 /* Define if you have the memmove function. */
363 #define HAVE_MEMMOVE 1
365 /* Define if you have the mkstemp function. */
366 /* #undef HAVE_MKSTEMP */
368 /* Define if you have the pthread_getconcurrency function. */
369 /* #undef HAVE_PTHREAD_GETCONCURRENCY */
371 /* Define if you have the pthread_kill function. */
372 /* #undef HAVE_PTHREAD_KILL */
374 /* Define if you have the pthread_setconcurrency function. */
375 /* #undef HAVE_PTHREAD_SETCONCURRENCY */
377 /* Define if you have the pthread_yield function. */
378 /* #undef HAVE_PTHREAD_YIELD */
380 /* Define if you have the res_search function. */
381 /* #undef HAVE_RES_SEARCH */
383 /* Define if you have the sched_yield function. */
384 /* #undef HAVE_SCHED_YIELD */
386 /* Define if you have the select function. */
387 #define HAVE_SELECT 1
389 /* Define if you have the setpwfile function. */
390 /* #undef HAVE_SETPWFILE */
392 /* Define if you have the setsid function. */
393 /* #undef HAVE_SETSID */
395 /* Define if you have the signal function. */
396 #define HAVE_SIGNAL 1
398 /* Define if you have the sigset function. */
399 /* #undef HAVE_SIGSET */
401 /* Define if you have the socket function. */
402 #define HAVE_SOCKET 1
404 /* Define if you have the snprintf function. */
405 #define HAVE_SNPRINTF 1
407 /* Define if you have the strdup function. */
408 #define HAVE_STRDUP 1
410 /* Define if you have the strerror function. */
411 #define HAVE_STRERROR 1
413 /* Define if you have the strpbrk function. */
414 #define HAVE_STRPBRK 1
416 /* Define if you have the strrchr function. */
417 #define HAVE_STRRCHR 1
419 /* Define if you have the strsep function. */
420 /* #undef HAVE_STRSEP */
422 /* Define if you have the strspn function. */
423 #define HAVE_STRSPN 1
425 /* Define if you have the strstr function. */
426 #define HAVE_STRSTR 1
428 /* Define if you have the strtok function. */
429 #define HAVE_STRTOK 1
431 /* Define if you have the strtok_r function. */
432 /* #undef HAVE_STRTOK_R */
434 /* Define if you have the strtol function. */
435 #define HAVE_STRTOL 1
437 /* Define if you have the strtoul function. */
438 #define HAVE_STRTOUL 1
440 /* Define if you have the sysconf function. */
441 /* #undef HAVE_SYSCONF */
443 /* Define if you have the tempnam function. */
444 #define HAVE_TEMPNAM 1
446 /* Define if you have the thr_getconcurrency function. */
447 /* #undef HAVE_THR_GETCONCURRENCY */
449 /* Define if you have the thr_setconcurrency function. */
450 /* #undef HAVE_THR_SETCONCURRENCY */
452 /* Define if you have the thr_yield function. */
453 /* #undef HAVE_THR_YIELD */
455 /* Define if you have the vsnprintf function. */
456 #define HAVE_VSNPRINTF 1
458 /* Define if you have the vsprintf function. */
459 #define HAVE_VSPRINTF 1
461 /* Define if you have the waitpid function. */
462 /* #undef HAVE_WAITPID 1 */
464 /* Define if you have the <arpa/nameser.h> header file. */
465 /* #undef HAVE_ARPA_NAMESER_H */
467 /* Define if you have the <crypt.h> header file. */
468 /* #undef HAVE_CRYPT_H */
470 /* Define if you have the <db.h> header file. */
473 /* Define if you have the <db_185.h> header file. */
474 /* #undef HAVE_DB_185_H */
476 /* Define if you have the <des.h> header file. */
477 /* #undef HAVE_DES_H */
479 /* Define if you have the <dirent.h> header file. */
480 /* #undef HAVE_DIRENT_H */
482 /* Define if you have the <dmalloc.h> header file. */
483 /* #undef HAVE_DMALLOC_H */
485 /* Define if you have the <errno.h> header file. */
486 #define HAVE_ERRNO_H 1
488 /* Define if you have the <fcntl.h> header file. */
489 #define HAVE_FCNTL_H 1
491 /* Define if you have the <filio.h> header file. */
492 /* #undef HAVE_FILIO_H */
494 /* Define if you have the <gdbm.h> header file. */
495 /* #undef HAVE_GDBM_H */
497 /* Define if you have the <getopt.h> header file. */
498 /* #undef HAVE_GETOPT_H */
500 /* Define if you have the <kerberosIV/des.h> header file. */
501 /* #undef HAVE_KERBEROSIV_DES_H */
503 /* Define if you have the <kerberosIV/krb.h> header file. */
504 /* #undef HAVE_KERBEROSIV_KRB_H */
506 /* Define if you have the <krb.h> header file. */
507 /* #undef HAVE_KRB_H */
509 /* Define if you have the <libutil.h> header file. */
510 /* #undef HAVE_LIBUTIL_H */
512 /* Define if you have the <limits.h> header file. */
513 #define HAVE_LIMITS_H 1
515 /* Define if you have the <lwp/lwp.h> header file. */
516 /* #undef HAVE_LWP_LWP_H */
518 /* Define if you have the <mach/cthreads.h> header file. */
519 /* #undef HAVE_MACH_CTHREADS_H */
521 /* Define if you have the <malloc.h> header file. */
522 #define HAVE_MALLOC_H 1
524 /* Define if you have the <memory.h> header file. */
525 #define HAVE_MEMORY_H 1
527 /* Define if you have the <ncurses.h> header file. */
528 /* #undef HAVE_NCURSES_H */
530 /* Define if you have the <ndbm.h> header file. */
531 /* #undef HAVE_NDBM_H */
533 /* Define if you have the <ndir.h> header file. */
534 /* #undef HAVE_NDIR_H */
536 /* Define if you have the <psap.h> header file. */
537 /* #undef HAVE_PSAP_H */
539 /* Define if you have the <pthread.h> header file. */
540 /* #undef HAVE_PTHREAD_H */
542 /* Define if you have the <pwd.h> header file. */
543 /* #undef HAVE_PWD_H */
545 /* Define if you have the <regex.h> header file. */
546 /* #undef HAVE_REGEX_H */
548 /* Define if you have the <resolv.h> header file. */
549 /* #undef HAVE_RESOLV_H */
551 /* Define if you have the <sched.h> header file. */
552 /* #undef HAVE_SCHED_H */
554 /* Define if you have the <sgtty.h> header file. */
555 /* #undef HAVE_SGTTY_H */
557 /* Define if you have the <stdarg.h> header file. */
558 #define HAVE_STDARG_H 1
560 /* Define if you have the <stddef.h> header file. */
561 #define HAVE_STDDEF_H 1
563 /* Define if you have the <string.h> header file. */
564 #define HAVE_STRING_H 1
566 /* Define if you have the <strings.h> header file. */
567 /* #undef HAVE_STRINGS_H */
569 /* Define if you have the <synch.h> header file. */
570 /* #undef HAVE_SYNCH_H */
572 /* Define if you have the <sys/dir.h> header file. */
573 /* #undef HAVE_SYS_DIR_H */
575 /* Define if you have the <sys/errno.h> header file. */
576 /* #undef HAVE_SYS_ERRNO_H */
578 /* Define if you have the <sys/file.h> header file. */
579 /* #undef HAVE_SYS_FILE_H */
581 /* Define if you have the <sys/filio.h> header file. */
582 /* #undef HAVE_SYS_FILIO_H */
584 /* Define if you have the <sys/ioctl.h> header file. */
585 /* #undef HAVE_SYS_IOCTL_H */
587 /* Define if you have the <sys/ndir.h> header file. */
588 /* #undef HAVE_SYS_NDIR_H */
590 /* Define if you have the <sys/param.h> header file. */
591 /* #undef HAVE_SYS_PARAM_H */
593 /* Define if you have the <sys/resource.h> header file. */
594 /* #undef HAVE_SYS_RESOURCE_H */
596 /* Define if you have the <sys/socket.h> header file. */
597 /* #undef HAVE_SYS_SOCKET_H */
599 /* Define if you have the <sys/syslog.h> header file. */
600 /* #undef HAVE_SYS_SYSLOG_H */
602 /* Define if you have the <sys/time.h> header file. */
603 /* #undef HAVE_SYS_TIME_H */
605 /* Define if you have the <sys/types.h> header file. */
606 #define HAVE_SYS_TYPES_H 1
608 /* Define if you have the <sysexits.h> header file. */
609 /* #undef HAVE_SYSEXITS_H */
611 /* Define if you have the <syslog.h> header file. */
612 /* #undef HAVE_SYSLOG_H */
614 /* Define if you have the <tcpd.h> header file. */
615 /* #undef HAVE_TCPD_H */
617 /* Define if you have the <termcap.h> header file. */
618 /* #undef HAVE_TERMCAP_H */
620 /* Define if you have the <termios.h> header file. */
621 /* #undef HAVE_TERMIOS_H */
623 /* Define if you have the <thread.h> header file. */
624 /* #undef HAVE_THREAD_H */
626 /* Define if you have the <unistd.h> header file. */
627 /* #undef HAVE_UNISTD_H */
629 /* Define if you have the V3 library (-lV3). */
630 /* #undef HAVE_LIBV3 */
632 /* Define if you have the bind library (-lbind). */
633 /* #undef HAVE_LIBBIND */
635 /* Define if you have the dmalloc library (-ldmalloc). */
636 /* #undef HAVE_LIBDMALLOC */
638 /* Define if you have the gen library (-lgen). */
639 /* #undef HAVE_LIBGEN */
641 /* Define if you have the inet library (-linet). */
642 /* #undef HAVE_LIBINET */
644 /* Define if you have the net library (-lnet). */
645 /* #undef HAVE_LIBNET */
647 /* Define if you have the nsl library (-lnsl). */
648 /* #undef HAVE_LIBNSL */
650 /* Define if you have the nsl_s library (-lnsl_s). */
651 /* #undef HAVE_LIBNSL_S */
653 /* Define if you have the resolv library (-lresolv). */
654 /* #undef HAVE_LIBRESOLV */
656 /* Define if you have the socket library (-lsocket). */
657 /* #undef HAVE_LIBSOCKET */
659 /* define if you have -lxtpp */
660 /* #undef HAVE_XTPP */
662 /* define if you have -ldsap */
663 /* #undef HAVE_DSAP */
665 /* define if you have -lisode */
666 /* #undef HAVE_ISODE */
668 /* define if you have -lpp */
671 /* define if you have Kerberos des_debug */
672 /* #undef HAVE_DES_DEBUG */
674 /* define if you have Kerberos */
675 /* #undef HAVE_KERBEROS */
677 /* define if pthreads API compatible with final spec */
678 /* #undef HAVE_PTHREADS_FINAL */
680 /* define if pthreads API compatible with draft4 spec */
681 /* #undef HAVE_PTHREADS_D4 */
683 /* define if you have LinuxThreads */
684 /* #undef HAVE_LINUX_THREADS */
686 /* define if you have POSIX Threads */
687 /* #undef HAVE_PTHREADS */
689 /* define if you have pthread_detach function */
690 /* #undef HAVE_PTHREAD_DETACH */
692 /* define if you have Mach Cthreads */
693 /* #undef HAVE_MACH_CTHREADS */
695 /* if you have Solaris LWP (thr) package */
696 /* #undef HAVE_THR */
698 /* if you have SunOS LWP package */
699 /* #undef HAVE_LWP */
701 /* define if select implicitly yields */
702 #define HAVE_YIELDING_SELECT 1
704 /* define if you have (or want) no threads */
705 /* #undef NO_THREADS */
707 /* define if you have -lwrap */
708 /* #undef HAVE_TCPD */
710 /* define if you have -ltermcap */
711 /* #undef HAVE_TERMCAP */
713 /* define if you have -lncurses */
714 /* #undef HAVE_NCURSES */
716 /* define if you have no termcap support */
719 /* Define if TIOCGWINSZ requires sys/ioctl.h */
720 /* #undef GWINSZ_IN_SYS_IOCTL */
722 /* define if you have POSIX termios */
723 /* #undef HAVE_POSIX_TERMIOS */
725 /* Define if system has ptrdiff_t type */
726 #define HAVE_PTRDIFF_T 1
728 /* define if cross compiling */
729 /* #undef CROSS_COMPILING */
731 /* begin of postamble */
733 #ifndef __NEED_PROTOTYPES
734 /* force LDAP_P to always include prototypes */
735 #define __NEED_PROTOTYPES 1
742 #if defined(LDAP_DEVEL) && !defined(LDAP_TEST)
745 #if defined(LDAP_TEST) && !defined(LDAP_DEBUG)
749 #include "ldap_cdefs.h"
750 #include "ldap_features.h"
752 #include <ac/assert.h>
754 #endif /* _LDAP_PORTABLE_H */