1 /*	$NetBSD: back-relay.h,v 1.3 2021/08/14 16:15:01 christos Exp $	*/
2 
3 /* back-relay.h - relay backend header file */
4 /* $OpenLDAP$ */
5 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
6  *
7  * Copyright 2004-2021 The OpenLDAP Foundation.
8  * Portions Copyright 2004 Pierangelo Masarati.
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted only as authorized by the OpenLDAP
13  * Public License.
14  *
15  * A copy of this license is available in the file LICENSE in the
16  * top-level directory of the distribution or, alternatively, at
17  * <http://www.OpenLDAP.org/license.html>.
18  */
19 /* ACKNOWLEDGEMENTS:
20  * This work was initially developed by Pierangelo Masarati for inclusion
21  * in OpenLDAP Software.
22  */
23 
24 #ifndef SLAPD_RELAY_H
25 #define SLAPD_RELAY_H
26 
27 #include "proto-back-relay.h"
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 */
52