]> git.sur5r.net Git - openldap/blob - servers/slapd/sets.h
import ITS#3481 from HEAD detect indexer deadlock
[openldap] / servers / slapd / sets.h
1 /* $OpenLDAP$ */
2 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3  *
4  * Copyright 1998-2004 The OpenLDAP Foundation.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted only as authorized by the OpenLDAP
9  * Public License.
10  *
11  * A copy of this license is available in the file LICENSE in the
12  * top-level directory of the distribution or, alternatively, at
13  * <http://www.OpenLDAP.org/license.html>.
14  */
15
16 #ifndef SLAP_SETS_H_
17 #define SLAP_SETS_H_
18
19 #include <ldap_cdefs.h>
20
21 LDAP_BEGIN_DECL
22
23 typedef struct slap_set_cookie {
24         struct slap_op *op;
25 } SetCookie;
26
27 /* this routine needs to return the bervals instead of
28  * plain strings, since syntax is not known.  It should
29  * also return the syntax or some "comparison cookie"
30  * that is used by set_filter.
31  */
32 typedef BerVarray (SLAP_SET_GATHER)(
33         SetCookie *cookie, struct berval *name, struct berval *attr);
34
35 LDAP_SLAPD_F (long) slap_set_size(BerVarray set);
36 LDAP_SLAPD_F (void) slap_set_dispose(SetCookie *cookie, BerVarray set);
37
38 LDAP_SLAPD_F (int) slap_set_filter(
39         SLAP_SET_GATHER gatherer,
40         SetCookie *cookie, struct berval *filter,
41         struct berval *user, struct berval *this, BerVarray *results);
42
43 LDAP_END_DECL
44
45 #endif