]> git.sur5r.net Git - openldap/blob - servers/slapd/slapi/proto-slapi.h
use slapi_pblock_delete_param()
[openldap] / servers / slapd / slapi / proto-slapi.h
1 /* $OpenLDAP$ */
2 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3  *
4  * Copyright 2002-2005 The OpenLDAP Foundation.
5  * Portions Copyright 1997,2002-2003 IBM Corporation.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted only as authorized by the OpenLDAP
10  * Public License.
11  *
12  * A copy of this license is available in the file LICENSE in the
13  * top-level directory of the distribution or, alternatively, at
14  * <http://www.OpenLDAP.org/license.html>.
15  */
16 /* ACKNOWLEDGEMENTS:
17  * This work was initially developed by IBM Corporation for use in
18  * IBM products and subsequently ported to OpenLDAP Software by
19  * Steve Omrani.  Additional significant contributors include:
20  *   Luke Howard
21  */
22
23 #ifndef _PROTO_SLAPI_H
24 #define _PROTO_SLAPI_H
25
26 LDAP_BEGIN_DECL
27
28 /* slapi_utils.c */
29 LDAP_SLAPI_F (LDAPMod **) slapi_int_modifications2ldapmods LDAP_P(( Modifications **, void *ctx ));
30 LDAP_SLAPI_F (Modifications *) slapi_int_ldapmods2modifications LDAP_P(( LDAPMod **, void *ctx ));
31 LDAP_SLAPI_F (void) slapi_int_free_ldapmods LDAP_P(( LDAPMod ** ));
32 LDAP_SLAPI_F (int) slapi_int_count_controls LDAP_P(( LDAPControl **ctrls ));
33
34 LDAP_SLAPI_F (int) slapi_int_access_allowed LDAP_P((Operation *op,
35         Entry *entry,
36         AttributeDescription *desc,
37         struct berval *val,
38         slap_access_t access,
39         AccessControlState *state ));
40
41 LDAP_SLAPI_F (char **) slapi_get_supported_extended_ops LDAP_P((void));
42
43 /* slapi_ops.c */
44 LDAP_SLAPI_F (int) slapi_int_response LDAP_P(( Slapi_Operation *op, SlapReply *rs ));
45 LDAP_SLAPI_F (void) slapi_int_connection_init_pb LDAP_P(( Slapi_PBlock *pb, ber_tag_t OpType ));
46 LDAP_SLAPI_F (void) slapi_int_connection_done_pb LDAP_P(( Slapi_PBlock *pb ));
47
48 /* slapi_pblock.c */
49 LDAP_SLAPI_F (int) slapi_pblock_delete_param LDAP_P(( Slapi_PBlock *p, int param ));
50 LDAP_SLAPI_F (void) slapi_pblock_clear LDAP_P(( Slapi_PBlock *pb ));
51 LDAP_SLAPI_F (void) slapi_int_mods_free( Modifications *ml );
52
53 LDAP_SLAPI_F (int) slapi_int_pblock_get_first LDAP_P(( Backend *be, Slapi_PBlock **pb ));
54 LDAP_SLAPI_F (int) slapi_int_pblock_get_next LDAP_P(( Slapi_PBlock **pb ));
55
56 #define PBLOCK_ASSERT_OP( _pb, _tag ) do { \
57                 assert( (_pb) != NULL ); \
58                 assert( (_pb)->pop != NULL ); \
59                 assert( (_pb)->pconn != NULL ); \
60                 if ( _tag != 0 ) \
61                         assert( (_pb)->pop->o_tag == (_tag)); \
62         } while (0)
63         
64 #define PBLOCK_ASSERT_INTOP( _pb, _tag ) do { \
65                 PBLOCK_ASSERT_OP( _pb, _tag ); \
66                 assert( (_pb)->internal_op ); \
67                 assert( pb->pop == (Operation *)pb->pconn->c_pending_ops.stqh_first ); \
68         } while (0)
69         
70 /* plugin.c */
71 LDAP_SLAPI_F (int) slapi_int_register_plugin LDAP_P((Backend *be, Slapi_PBlock *pPB));
72 LDAP_SLAPI_F (int) slapi_int_call_plugins LDAP_P((Backend *be, int funcType, Slapi_PBlock * pPB));
73 LDAP_SLAPI_F (int) slapi_int_get_plugins LDAP_P((Backend *be, int functype, SLAPI_FUNC **ppFuncPtrs));
74 LDAP_SLAPI_F (int) slapi_int_register_extop LDAP_P((Backend *pBE, ExtendedOp **opList, Slapi_PBlock *pPB));
75 LDAP_SLAPI_F (int) slapi_int_get_extop_plugin LDAP_P((struct berval  *reqoid, SLAPI_FUNC *pFuncAddr ));
76 LDAP_SLAPI_F (struct berval *) slapi_int_get_supported_extop LDAP_P(( int ));
77 LDAP_SLAPI_F (int) slapi_int_read_config LDAP_P((Backend *be, const char *fname, int lineno,
78                 int argc, char **argv ));
79 LDAP_SLAPI_F (void) slapi_int_plugin_unparse LDAP_P((Backend *be, BerVarray *out ));
80 LDAP_SLAPI_F (int) slapi_int_initialize LDAP_P((void));
81
82 /* slapi_ext.c */
83 LDAP_SLAPI_F (int) slapi_int_init_object_extensions LDAP_P((void));
84 LDAP_SLAPI_F (int) slapi_int_free_object_extensions LDAP_P((int objecttype, void *object));
85 LDAP_SLAPI_F (int) slapi_int_create_object_extensions LDAP_P((int objecttype, void *object));
86 LDAP_SLAPI_F (int) slapi_int_clear_object_extensions LDAP_P((int objecttype, void *object));
87
88 /* slapi_overlay.c */
89 LDAP_SLAPI_F (int) slapi_int_overlay_init LDAP_P((void));
90
91 LDAP_END_DECL
92
93 #endif /* _PROTO_SLAPI_H */
94