X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fac%2Funistd.h;h=a0c0e756b2517281fa5979007a47749828d2413b;hb=ca4764ccfa656cf23658182a60bc3af5a6d91f1a;hp=e5b3eb3300b2ebc2a3d26e5c619ee3529de1bc1a;hpb=5c931bdffa0d3201c90b2c22cb56e75d8b8c6494;p=openldap diff --git a/include/ac/unistd.h b/include/ac/unistd.h index e5b3eb3300..a0c0e756b2 100644 --- a/include/ac/unistd.h +++ b/include/ac/unistd.h @@ -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 @@ -20,15 +22,23 @@ # include #endif -/* crypt() may be defined in a separate include file */ -#if HAVE_CRYPT_H -# include -#else - extern char *crypt(); +#if HAVE_PROCESS_H +# include #endif -#ifndef HAVE_GETPASS -extern char* getpass LDAP_P((const char *getpass)); +/* note: callers of crypt(3) should include */ + +#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,54 +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 -/* Setup file locking macros */ -#if !defined( ldap_lockf ) && HAVE_LOCKF && defined( F_LOCK ) -# define ldap_lockf(x) lockf(fileno(x), F_LOCK, 0) -# define ldap_unlockf(x) lockf(fileno(x), F_ULOCK, 0) -#endif - -#if !defined( ldap_lockf ) && HAVE_FCNTL -# ifdef HAVE_FCNTL_H -# include -# endif - -# ifdef F_WRLCK -# ifndef NEED_FCNTL_LOCKING -# define NEED_FCNTL_LOCKING -# endif -# include -# define ldap_lockf(x) lutil_lockf(x) -# define ldap_unlockf(x) lutil_unlockf(x) -# endif -#endif - -#if !defined( ldap_lockf ) && HAVE_FLOCK -# if HAVE_SYS_FILE_H -# include -# endif -# ifdef LOCK_EX -# define ldap_lockf(x) flock(fileno(x), LOCK_EX) -# define ldap_unlockf(x) flock(fileno(x), LOCK_UN) -# endif -#endif +/* + * 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 + */ -#if !defined( ldap_lockf ) - /* use some simplistic locking method */ -# define NEED_SIMPLE_LOCKING -# include -# define ldap_lockf(x) lutil_lockf(x) -# define ldap_unlockf(x) lutil_unlockf(x) +#ifdef _WIN32 +#define sleep _sleep #endif #endif /* _AC_UNISTD_H */