1/* Generic unistd.h */
2/* $OpenLDAP$ */
3/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 *
5 * Copyright 1998-2011 The OpenLDAP Foundation.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted only as authorized by the OpenLDAP
10 * Public License.
11 *
12 * A copy of this license is available in file LICENSE in the
13 * top-level directory of the distribution or, alternatively, at
14 * <http://www.OpenLDAP.org/license.html>.
15 */
16
17#ifndef _AC_UNISTD_H
18#define _AC_UNISTD_H
19
20#ifdef HAVE_SYS_TYPES_H
21#	include <sys/types.h>
22#endif
23
24#ifdef HAVE_UNISTD_H
25#	include <unistd.h>
26#endif
27
28#ifdef HAVE_PROCESS_H
29#	include <process.h>
30#endif
31
32/* note: callers of crypt(3) should include <ac/crypt.h> */
33
34#if defined(HAVE_GETPASSPHRASE)
35LDAP_LIBC_F(char*)(getpassphrase)();
36
37#else
38#define getpassphrase(p) lutil_getpass(p)
39LDAP_LUTIL_F(char*)(lutil_getpass) LDAP_P((const char *getpass));
40#endif
41
42/* getopt() defines may be in separate include file */
43#ifdef HAVE_GETOPT_H
44#	include <getopt.h>
45
46#elif !defined(HAVE_GETOPT)
47	/* no getopt, assume we need getopt-compat.h */
48#	include <getopt-compat.h>
49
50#else
51	/* assume we need to declare these externs */
52	LDAP_LIBC_V (char *) optarg;
53	LDAP_LIBC_V (int) optind, opterr, optopt;
54#endif
55
56/* use lutil file locking */
57#define ldap_lockf(x)	lutil_lockf(x)
58#define ldap_unlockf(x)	lutil_unlockf(x)
59#include <lutil_lockf.h>
60
61/*
62 * Windows: although sleep() will be resolved by both MSVC and Mingw GCC
63 * linkers, the function is not declared in header files. This is
64 * because Windows' version of the function is called _sleep(), and it
65 * is declared in stdlib.h
66 */
67
68#ifdef _WIN32
69#define sleep _sleep
70#endif
71
72#endif /* _AC_UNISTD_H */
73