3 * Copyright 1998,1999 The OpenLDAP Foundation, Redwood City, California, USA
6 * Redistribution and use in source and binary forms are permitted only
7 * as authorized by the OpenLDAP Public License. A copy of this
8 * license is available at http://www.OpenLDAP.org/license.html or
9 * in file LICENSE in the top-level directory of the distribution.
16 # include <sys/types.h>
23 /* crypt() may be defined in a separate include file */
31 extern char* getpass LDAP_P((const char *getpass));
34 /* getopt() defines may be in separate include file */
38 #elif !defined(HAVE_GETOPT)
39 /* no getopt, assume we need getopt-compat.h */
40 # include <getopt-compat.h>
43 /* assume we need to declare these externs */
45 extern int optind, opterr, optopt;
49 extern char *tempnam(const char *tmpdir, const char *prefix);
52 extern char *mktemp(char *);
55 /* Setup file locking macros */
56 #if !defined( ldap_lockf ) && HAVE_LOCKF && defined( F_LOCK )
57 # define ldap_lockf(x) lockf(fileno(x), F_LOCK, 0)
58 # define ldap_unlockf(x) lockf(fileno(x), F_ULOCK, 0)
61 #if !defined( ldap_lockf ) && HAVE_FCNTL
67 # ifndef NEED_FCNTL_LOCKING
68 # define NEED_FCNTL_LOCKING
70 # include <lutil_lockf.h>
71 # define ldap_lockf(x) lutil_lockf(x)
72 # define ldap_unlockf(x) lutil_unlockf(x)
76 #if !defined( ldap_lockf ) && HAVE_FLOCK
78 # include <sys/file.h>
81 # define ldap_lockf(x) flock(fileno(x), LOCK_EX)
82 # define ldap_unlockf(x) flock(fileno(x), LOCK_UN)
86 #if !defined( ldap_lockf )
87 /* use some simplistic locking method */
88 # define NEED_SIMPLE_LOCKING
89 # include <lutil_lockf.h>
90 # define ldap_lockf(x) lutil_lockf(x)
91 # define ldap_unlockf(x) lutil_unlockf(x)
94 #endif /* _AC_UNISTD_H */