Back to index

openldap  2.4.31
proto-slapi.h
Go to the documentation of this file.
00001 /* $OpenLDAP$ */
00002 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
00003  *
00004  * Copyright 2002-2012 The OpenLDAP Foundation.
00005  * Portions Copyright 1997,2002-2003 IBM Corporation.
00006  * All rights reserved.
00007  *
00008  * Redistribution and use in source and binary forms, with or without
00009  * modification, are permitted only as authorized by the OpenLDAP
00010  * Public License.
00011  *
00012  * A copy of this license is available in the file LICENSE in the
00013  * top-level directory of the distribution or, alternatively, at
00014  * <http://www.OpenLDAP.org/license.html>.
00015  */
00016 /* ACKNOWLEDGEMENTS:
00017  * This work was initially developed by IBM Corporation for use in
00018  * IBM products and subsequently ported to OpenLDAP Software by
00019  * Steve Omrani.  Additional significant contributors include:
00020  *   Luke Howard
00021  */
00022 
00023 #ifndef _PROTO_SLAPI_H
00024 #define _PROTO_SLAPI_H
00025 
00026 LDAP_BEGIN_DECL
00027 
00028 /* slapi_utils.c */
00029 LDAP_SLAPI_F (LDAPMod **) slapi_int_modifications2ldapmods LDAP_P(( Modifications * ));
00030 LDAP_SLAPI_F (Modifications *) slapi_int_ldapmods2modifications LDAP_P(( Operation *op, LDAPMod ** ));
00031 LDAP_SLAPI_F (int) slapi_int_count_controls LDAP_P(( LDAPControl **ctrls ));
00032 LDAP_SLAPI_F (char **) slapi_get_supported_extended_ops LDAP_P((void));
00033 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 ));
00034 
00035 /* slapi_ops.c */
00036 LDAP_SLAPI_F (int) slapi_int_response LDAP_P(( Slapi_Operation *op, SlapReply *rs ));
00037 LDAP_SLAPI_F (void) slapi_int_connection_init_pb LDAP_P(( Slapi_PBlock *pb, ber_tag_t OpType ));
00038 LDAP_SLAPI_F (void) slapi_int_connection_done_pb LDAP_P(( Slapi_PBlock *pb ));
00039 
00040 /* slapi_pblock.c */
00041 LDAP_SLAPI_F (int) slapi_pblock_delete_param LDAP_P(( Slapi_PBlock *p, int param ));
00042 LDAP_SLAPI_F (void) slapi_pblock_clear LDAP_P(( Slapi_PBlock *pb ));
00043 
00044 LDAP_SLAPI_F (int) slapi_int_pblock_get_first LDAP_P(( Backend *be, Slapi_PBlock **pb ));
00045 LDAP_SLAPI_F (int) slapi_int_pblock_get_next LDAP_P(( Slapi_PBlock **pb ));
00046 
00047 #define PBLOCK_ASSERT_CONN( _pb ) do { \
00048               assert( (_pb) != NULL ); \
00049               assert( (_pb)->pb_conn != NULL ); \
00050        } while (0)
00051 
00052 #define PBLOCK_ASSERT_OP( _pb, _tag ) do { \
00053               PBLOCK_ASSERT_CONN( _pb ); \
00054               assert( (_pb)->pb_op != NULL ); \
00055               assert( (_pb)->pb_rs != NULL ); \
00056               if ( _tag != 0 ) \
00057                      assert( (_pb)->pb_op->o_tag == (_tag)); \
00058        } while (0)
00059        
00060 #define PBLOCK_ASSERT_INTOP( _pb, _tag ) do { \
00061               PBLOCK_ASSERT_OP( _pb, _tag ); \
00062               assert( (_pb)->pb_intop ); \
00063               assert( (_pb)->pb_op == (Operation *)pb->pb_conn->c_pending_ops.stqh_first ); \
00064        } while (0)
00065        
00066 /* plugin.c */
00067 LDAP_SLAPI_F (int) slapi_int_register_plugin LDAP_P((Backend *be, Slapi_PBlock *pPB));
00068 LDAP_SLAPI_F (int) slapi_int_call_plugins LDAP_P((Backend *be, int funcType, Slapi_PBlock * pPB));
00069 LDAP_SLAPI_F (int) slapi_int_get_plugins LDAP_P((Backend *be, int functype, SLAPI_FUNC **ppFuncPtrs));
00070 LDAP_SLAPI_F (int) slapi_int_register_extop LDAP_P((Backend *pBE, ExtendedOp **opList, Slapi_PBlock *pPB));
00071 LDAP_SLAPI_F (int) slapi_int_get_extop_plugin LDAP_P((struct berval  *reqoid, SLAPI_FUNC *pFuncAddr ));
00072 LDAP_SLAPI_F (struct berval *) slapi_int_get_supported_extop LDAP_P(( int ));
00073 LDAP_SLAPI_F (int) slapi_int_read_config LDAP_P((Backend *be, const char *fname, int lineno,
00074               int argc, char **argv ));
00075 LDAP_SLAPI_F (void) slapi_int_plugin_unparse LDAP_P((Backend *be, BerVarray *out ));
00076 LDAP_SLAPI_F (int) slapi_int_initialize LDAP_P((void));
00077 
00078 /* slapi_ext.c */
00079 LDAP_SLAPI_F (int) slapi_int_init_object_extensions LDAP_P((void));
00080 LDAP_SLAPI_F (int) slapi_int_free_object_extensions LDAP_P((int objecttype, void *object));
00081 LDAP_SLAPI_F (int) slapi_int_create_object_extensions LDAP_P((int objecttype, void *object));
00082 LDAP_SLAPI_F (int) slapi_int_clear_object_extensions LDAP_P((int objecttype, void *object));
00083 
00084 /* slapi_overlay.c */
00085 LDAP_SLAPI_F (int) slapi_over_is_inst LDAP_P((BackendDB *));
00086 LDAP_SLAPI_F (int) slapi_over_config LDAP_P((BackendDB *, ConfigReply *));
00087 
00088 LDAP_END_DECL
00089 
00090 #endif /* _PROTO_SLAPI_H */
00091