1/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
2 *
3 * Copyright 1998-2006 The OpenLDAP Foundation.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted only as authorized by the OpenLDAP
8 * Public License.
9 *
10 * A copy of this license is available in file LICENSE in the
11 * top-level directory of the distribution or, alternatively, at
12 * <http://www.OpenLDAP.org/license.html>.
13 */
14/* Portions Copyright (c) 1990 Regents of the University of Michigan.
15 * All rights reserved.
16 *
17 * Redistribution and use in source and binary forms are permitted
18 * provided that this notice is preserved and that due credit is given
19 * to the University of Michigan at Ann Arbor. The name of the University
20 * may not be used to endorse or promote products derived from this
21 * software without specific prior written permission. This software
22 * is provided ``as is'' without express or implied warranty.
23 */
24
25#ifndef _LDAP_PRIVATE_H
26#define _LDAP_PRIVATE_H
27
28LDAP_BEGIN_DECL
29
30/* Apple specific options */
31#define LDAP_OPT_NOADDRERR		0x7100
32#define LDAP_OPT_NOTIFYDESC_PROC		0x7101
33#define LDAP_OPT_NOTIFYDESC_PARAMS		0x7102
34
35/* LDAP_OPT_NOREVERSE_LOOKUP       0x7103 is public */
36
37/* option that returns an error if using the session will cause an abort */
38#define LDAP_OPT_TEST_SESSION			0x7104
39
40/* specify static hostname for connection */
41#define LDAP_OPT_SASL_FQDN			0x7105
42
43typedef void (LDAP_NOTIFYDESC_PROC) LDAP_P((
44	LDAP *ld, int desc, int opening,
45	void *params ));
46
47
48#ifdef __APPLE__
49/* Callback type for asynchronous search results. */
50typedef void
51(*LDAPSearchResultsCallback) LDAP_P((
52	LDAP *ld,
53	LDAPMessage *result,
54	int rc,
55	void *context ));
56
57/* Setting a callback on ld will make *all* searches on that ld asynchronous.
58 * Calling ldap_result() after the callback has been set will result in
59 * in error.
60 */
61LDAP_F( void )
62ldap_set_search_results_callback LDAP_P((
63	LDAP *ld,
64	LDAPSearchResultsCallback cb,
65	void *context ));
66#endif
67
68/* Apple TLSspecific error codes*/
69#define LDAP_TLS_CACERTFILE_NOTFOUND       (-30)
70#define LDAP_TLS_CERTFILE_NOTFOUND     	   (-31)
71#define LDAP_TLS_CERTKEYFILE_NOTFOUND      (-32)
72#define LDAP_TLS_PASSPHRASE_NOTFOUND 	   (-33)
73#define LDAP_TLS_KEYCHAIN_CERT_NOTFOUND	   (-34)
74
75LDAP_END_DECL
76
77#endif /* _LDAP_PRIVATE_H */
78