]> git.sur5r.net Git - openldap/blob - servers/slapd/back-relay/back-relay.h
More ITS#6133: Search/Extended referrals, entry_<get/release> results,
[openldap] / servers / slapd / back-relay / back-relay.h
1 /* back-relay.h - relay backend header file */
2 /* $OpenLDAP$ */
3 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
4  *
5  * Copyright 2004-2009 The OpenLDAP Foundation.
6  * Portions Copyright 2004 Pierangelo Masarati.
7  * All rights reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted only as authorized by the OpenLDAP
11  * Public License.
12  *
13  * A copy of this license is available in the file LICENSE in the
14  * top-level directory of the distribution or, alternatively, at
15  * <http://www.OpenLDAP.org/license.html>.
16  */
17 /* ACKNOWLEDGEMENTS:
18  * This work was initially developed by Pierangelo Masarati for inclusion
19  * in OpenLDAP Software.
20  */
21
22 #ifndef SLAPD_RELAY_H
23 #define SLAPD_RELAY_H
24
25 #include "proto-back-relay.h"
26
27 /* String rewrite library */
28
29 LDAP_BEGIN_DECL
30
31 typedef enum relay_operation_e {
32         relay_op_entry_get = op_last,
33         relay_op_entry_release,
34         relay_op_has_subordinates,
35         relay_op_last
36 } relay_operation_t;
37
38 typedef struct relay_back_info {
39         BackendDB       *ri_bd;
40         struct berval   ri_realsuffix;
41         int             ri_massage;
42 } relay_back_info;
43
44 /* Pad relay_back_info if needed to create valid OpExtra key addresses */
45 #define RELAY_INFO_SIZE \
46         (sizeof(relay_back_info) > (size_t) relay_op_last ? \
47          sizeof(relay_back_info) : (size_t) relay_op_last   )
48
49 LDAP_END_DECL
50
51 #endif /* SLAPD_RELAY_H */