]> git.sur5r.net Git - openldap/blob - servers/slapd/back-tcl/tcl_back.h
Fix cursor initialization, scope IDs
[openldap] / servers / slapd / back-tcl / tcl_back.h
1 /* $OpenLDAP$ */
2 /* tcl_back.h - tcl backend header (structs, functions)
3  *
4  * Copyright 1999, Ben Collins <bcollins@debian.org>, All rights reserved.
5  *
6  * Redistribution and use in source and binary forms are permitted only
7  * as authorized by the OpenLDAP Public License.  A copy of this
8  * license is available at http://www.OpenLDAP.org/license.html or
9  * in file LICENSE in the top-level directory of the distribution.
10  */
11
12 #include <tcl.h>
13
14 #ifndef SLAPD_TCL_H
15 #define SLAPD_TCL_H
16
17 #include <ldap_cdefs.h>
18 #include "external.h"
19
20 extern ldap_pvt_thread_mutex_t tcl_interpreter_mutex;
21
22 struct i_info {
23         Tcl_Interp *interp;
24         char *name;
25         struct i_info *next;
26         int count;
27 };
28
29 extern struct i_info *global_i;
30
31 struct tclinfo {
32         struct berval ti_script_path;
33         struct i_info *ti_ii;
34         struct berval ti_bind;
35         struct berval ti_unbind;
36         struct berval ti_search;
37         struct berval ti_compare;
38         struct berval ti_modify;
39         struct berval ti_modrdn;
40         struct berval ti_add;
41         struct berval ti_delete;
42         struct berval ti_abandon;
43 };
44
45 void readtclscript (char *script, Tcl_Interp * my_tcl);
46 char *tcl_clean_entry (Entry * e);
47 struct berval *tcl_merge_bvlist (BerVarray bvlist, struct berval *out);
48
49 int tcl_ldap_debug (
50         ClientData clientData,
51         Tcl_Interp * interp,
52         int argc,
53         char *argv[]
54 );
55
56 int interp_send_results (
57         Operation * op,
58         SlapReply * rs,
59         char *result
60 );
61
62 #endif