1/*	$NetBSD: back-relay.h,v 1.1.1.3 2010/12/12 15:23:21 adam Exp $	*/
2
3/* back-relay.h - relay backend header file */
4/* OpenLDAP: pkg/ldap/servers/slapd/back-relay/back-relay.h,v 1.6.2.7 2010/04/13 20:23:38 kurt Exp */
5/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
6 *
7 * Copyright 2004-2010 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
29LDAP_BEGIN_DECL
30
31typedef 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
38typedef 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
49LDAP_END_DECL
50
51#endif /* SLAPD_RELAY_H */
52