]> git.sur5r.net Git - openldap/blobdiff - include/ac/unistd.h
ITS#2202, set SASL_SUCCESS_DATA on sasl_server_new().
[openldap] / include / ac / unistd.h
index b4baba4fe6a77797a5878750b6cf9cde39bb29f8..a0c0e756b2517281fa5979007a47749828d2413b 100644 (file)
@@ -1,12 +1,14 @@
 /* Generic unistd.h */
+/* $OpenLDAP$ */
 /*
- * Copyright 1998,1999 The OpenLDAP Foundation, Redwood City, California, USA
+ * Copyright 1998-2002 The OpenLDAP Foundation, Redwood City, California, USA
  * All rights reserved.
  *
- * Redistribution and use in source and binary forms are permitted only
- * as authorized by the OpenLDAP Public License.  A copy of this
- * license is available at http://www.OpenLDAP.org/license.html or
- * in file LICENSE in the top-level directory of the distribution.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.  A copy of this license is available at
+ * http://www.OpenLDAP.org/license.html or in file LICENSE in the
+ * top-level directory of the distribution.
  */
 
 #ifndef _AC_UNISTD_H
 #      include <unistd.h>
 #endif
 
-/* crypt() may be defined in a separate include file */
-#if HAVE_CRYPT_H
-#      include <crypt.h>
-#else
-       extern char *crypt();
+#if HAVE_PROCESS_H
+#      include <process.h>
 #endif
 
-#ifndef HAVE_GETPASS
-extern char* getpass LDAP_P((const char *getpass));
+/* note: callers of crypt(3) should include <ac/crypt.h> */
+
+#if defined(HAVE_GETPASSPHRASE)
+LDAP_LIBC_F(char*)(getpassphrase)();
+
+#elif defined(HAVE_GETPASS)
+#define getpassphrase(p) getpass(p)
+LDAP_LIBC_F(char*)(getpass)();
+
+#else
+#define NEED_GETPASSPHRASE 1
+#define getpassphrase(p) lutil_getpass(p)
+LDAP_LUTIL_F(char*)(lutil_getpass) LDAP_P((const char *getpass));
 #endif
 
 /* getopt() defines may be in separate include file */
@@ -41,38 +51,24 @@ extern char* getpass LDAP_P((const char *getpass));
 
 #else
        /* assume we need to declare these externs */
-       extern char *optarg;
-       extern int optind, opterr, optopt;
+       LDAP_LIBC_V (char *) optarg;
+       LDAP_LIBC_V (int) optind, opterr, optopt;
 #endif
 
-#ifndef HAVE_TEMPNAM
-       extern char *tempnam(const char *tmpdir, const char *prefix);
-#endif
-#ifndef HAVE_MKTEMP
-       extern char *mktemp(char *);
-#endif
+/* use lutil file locking */
+#define ldap_lockf(x)  lutil_lockf(x)
+#define ldap_unlockf(x)        lutil_unlockf(x)
+#include <lutil_lockf.h>
 
-/* use _POSIX_VERSION for POSIX.1 code */
+/*
+ * Windows: although sleep() will be resolved by both MSVC and Mingw GCC
+ * linkers, the function is not declared in header files. This is
+ * because Windows' version of the function is called _sleep(), and it
+ * is declared in stdlib.h
+ */
 
-/* Setup file locking macros */
-#if defined (HAVE_LOCKF) && defined (F_LOCK) && defined (F_ULOCK)
-#      define ldap_lockf(x) lockf(fileno(x),F_LOCK, 0)
-#      define ldap_unlockf(x) lockf(fileno(x),F_ULOCK, 0)
-#elif defined (HAVE_FCNTL_H) && defined (F_WRLCK) && defined (F_UNLCK)
-#      ifndef  NEED_FCNTL_LOCKING
-#              define NEED_FCNTL_LOCKING
-#      endif
-#      include <lutil_lockf.h>
-#      define ldap_lockf(x) lutil_ldap_lockf(x)
-#      define ldap_unlockf(x) lutil_ldap_unlockf(x)
-#elif defined (HAVE_FLOCK) && defined (LOCK_EX) && defined (LOCK_UN)
-#      if HAVE_SYS_FILE_H
-#              include <sys/file.h>
-#      endif
-#      define ldap_lockf(x) flock(fileno(x),LOCK_EX)
-#      define ldap_unlockf(x) flock(fileno(x),LOCK_UN)
-#else
-#error no_suitable_locking_found
+#ifdef _WIN32
+#define sleep _sleep
 #endif
 
 #endif /* _AC_UNISTD_H */