2003-11-30 01:52:05 +08:00
|
|
|
/* $OpenLDAP$ */
|
2003-11-27 00:05:06 +08:00
|
|
|
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
|
|
*
|
2013-01-03 02:20:30 +08:00
|
|
|
* Copyright 2002-2013 The OpenLDAP Foundation.
|
2003-11-27 00:05:06 +08:00
|
|
|
* Portions Copyright 1997,2002-2003 IBM Corporation.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
2003-11-20 13:11:37 +08:00
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
* modification, are permitted only as authorized by the OpenLDAP
|
2003-11-27 00:05:06 +08:00
|
|
|
* Public License.
|
|
|
|
*
|
|
|
|
* A copy of this license is available in the file LICENSE in the
|
|
|
|
* top-level directory of the distribution or, alternatively, at
|
|
|
|
* <http://www.OpenLDAP.org/license.html>.
|
|
|
|
*/
|
|
|
|
/* ACKNOWLEDGEMENTS:
|
|
|
|
* This work was initially developed by IBM Corporation for use in
|
|
|
|
* IBM products and subsequently ported to OpenLDAP Software by
|
|
|
|
* Steve Omrani. Additional significant contributors include:
|
|
|
|
* Luke Howard
|
2002-12-08 01:19:29 +08:00
|
|
|
*/
|
|
|
|
|
2003-01-27 22:44:39 +08:00
|
|
|
#ifndef _PROTO_SLAPI_H
|
|
|
|
#define _PROTO_SLAPI_H
|
2002-12-08 01:19:29 +08:00
|
|
|
|
2003-01-21 04:16:42 +08:00
|
|
|
LDAP_BEGIN_DECL
|
|
|
|
|
2005-07-22 17:35:27 +08:00
|
|
|
/* slapi_utils.c */
|
2005-08-09 13:28:58 +08:00
|
|
|
LDAP_SLAPI_F (LDAPMod **) slapi_int_modifications2ldapmods LDAP_P(( Modifications * ));
|
2006-12-24 14:55:02 +08:00
|
|
|
LDAP_SLAPI_F (Modifications *) slapi_int_ldapmods2modifications LDAP_P(( Operation *op, LDAPMod ** ));
|
2005-07-25 12:19:33 +08:00
|
|
|
LDAP_SLAPI_F (int) slapi_int_count_controls LDAP_P(( LDAPControl **ctrls ));
|
2005-07-22 17:35:27 +08:00
|
|
|
LDAP_SLAPI_F (char **) slapi_get_supported_extended_ops LDAP_P((void));
|
2005-07-25 17:54:13 +08:00
|
|
|
LDAP_SLAPI_F (int) slapi_int_access_allowed LDAP_P((Operation *op, Entry *entry, AttributeDescription *desc, struct berval *val, slap_access_t access, AccessControlState *state ));
|
2005-07-22 17:35:27 +08:00
|
|
|
|
|
|
|
/* slapi_ops.c */
|
2005-07-23 20:03:13 +08:00
|
|
|
LDAP_SLAPI_F (int) slapi_int_response LDAP_P(( Slapi_Operation *op, SlapReply *rs ));
|
2005-07-25 12:19:33 +08:00
|
|
|
LDAP_SLAPI_F (void) slapi_int_connection_init_pb LDAP_P(( Slapi_PBlock *pb, ber_tag_t OpType ));
|
|
|
|
LDAP_SLAPI_F (void) slapi_int_connection_done_pb LDAP_P(( Slapi_PBlock *pb ));
|
2005-07-22 17:35:27 +08:00
|
|
|
|
|
|
|
/* slapi_pblock.c */
|
|
|
|
LDAP_SLAPI_F (int) slapi_pblock_delete_param LDAP_P(( Slapi_PBlock *p, int param ));
|
|
|
|
LDAP_SLAPI_F (void) slapi_pblock_clear LDAP_P(( Slapi_PBlock *pb ));
|
|
|
|
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_pblock_get_first LDAP_P(( Backend *be, Slapi_PBlock **pb ));
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_pblock_get_next LDAP_P(( Slapi_PBlock **pb ));
|
|
|
|
|
2005-07-25 17:54:13 +08:00
|
|
|
#define PBLOCK_ASSERT_CONN( _pb ) do { \
|
2005-07-25 12:19:33 +08:00
|
|
|
assert( (_pb) != NULL ); \
|
2005-07-25 19:13:15 +08:00
|
|
|
assert( (_pb)->pb_conn != NULL ); \
|
2005-07-25 17:54:13 +08:00
|
|
|
} while (0)
|
|
|
|
|
|
|
|
#define PBLOCK_ASSERT_OP( _pb, _tag ) do { \
|
|
|
|
PBLOCK_ASSERT_CONN( _pb ); \
|
2005-07-25 19:13:15 +08:00
|
|
|
assert( (_pb)->pb_op != NULL ); \
|
2005-07-27 18:09:44 +08:00
|
|
|
assert( (_pb)->pb_rs != NULL ); \
|
2005-07-25 12:19:33 +08:00
|
|
|
if ( _tag != 0 ) \
|
2005-07-25 19:13:15 +08:00
|
|
|
assert( (_pb)->pb_op->o_tag == (_tag)); \
|
2005-07-25 12:19:33 +08:00
|
|
|
} while (0)
|
|
|
|
|
|
|
|
#define PBLOCK_ASSERT_INTOP( _pb, _tag ) do { \
|
|
|
|
PBLOCK_ASSERT_OP( _pb, _tag ); \
|
2005-07-25 19:13:15 +08:00
|
|
|
assert( (_pb)->pb_intop ); \
|
|
|
|
assert( (_pb)->pb_op == (Operation *)pb->pb_conn->c_pending_ops.stqh_first ); \
|
2005-07-25 12:19:33 +08:00
|
|
|
} while (0)
|
|
|
|
|
2005-07-22 17:35:27 +08:00
|
|
|
/* plugin.c */
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_register_plugin LDAP_P((Backend *be, Slapi_PBlock *pPB));
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_call_plugins LDAP_P((Backend *be, int funcType, Slapi_PBlock * pPB));
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_get_plugins LDAP_P((Backend *be, int functype, SLAPI_FUNC **ppFuncPtrs));
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_register_extop LDAP_P((Backend *pBE, ExtendedOp **opList, Slapi_PBlock *pPB));
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_get_extop_plugin LDAP_P((struct berval *reqoid, SLAPI_FUNC *pFuncAddr ));
|
|
|
|
LDAP_SLAPI_F (struct berval *) slapi_int_get_supported_extop LDAP_P(( int ));
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_read_config LDAP_P((Backend *be, const char *fname, int lineno,
|
|
|
|
int argc, char **argv ));
|
|
|
|
LDAP_SLAPI_F (void) slapi_int_plugin_unparse LDAP_P((Backend *be, BerVarray *out ));
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_initialize LDAP_P((void));
|
|
|
|
|
|
|
|
/* slapi_ext.c */
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_init_object_extensions LDAP_P((void));
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_free_object_extensions LDAP_P((int objecttype, void *object));
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_create_object_extensions LDAP_P((int objecttype, void *object));
|
|
|
|
LDAP_SLAPI_F (int) slapi_int_clear_object_extensions LDAP_P((int objecttype, void *object));
|
2003-07-04 03:04:18 +08:00
|
|
|
|
2005-07-23 20:03:13 +08:00
|
|
|
/* slapi_overlay.c */
|
2005-08-01 23:26:13 +08:00
|
|
|
LDAP_SLAPI_F (int) slapi_over_is_inst LDAP_P((BackendDB *));
|
2008-06-01 02:44:40 +08:00
|
|
|
LDAP_SLAPI_F (int) slapi_over_config LDAP_P((BackendDB *, ConfigReply *));
|
2005-07-23 20:03:13 +08:00
|
|
|
|
2003-01-21 04:16:42 +08:00
|
|
|
LDAP_END_DECL
|
|
|
|
|
2003-01-27 22:44:39 +08:00
|
|
|
#endif /* _PROTO_SLAPI_H */
|
2002-12-08 01:19:29 +08:00
|
|
|
|