]> git.sur5r.net Git - openldap/blob - servers/slapd/back-shell/shell.h
Consolidated static/dynamic backend switches
[openldap] / servers / slapd / back-shell / shell.h
1 /* shell.h - shell backend header file */
2 /* $OpenLDAP$ */
3 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
4  *
5  * Copyright 1998-2004 The OpenLDAP Foundation.
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 /* Portions Copyright (c) 1995 Regents of the University of Michigan.
17  * All rights reserved.
18  *
19  * Redistribution and use in source and binary forms are permitted
20  * provided that this notice is preserved and that due credit is given
21  * to the University of Michigan at Ann Arbor. The name of the University
22  * may not be used to endorse or promote products derived from this
23  * software without specific prior written permission. This software
24  * is provided ``as is'' without express or implied warranty.
25  */
26 /* ACKNOWLEDGEMENTS:
27  * This work was originally developed by the University of Michigan
28  * (as part of U-MICH LDAP).
29  */
30
31 #ifndef SLAPD_SHELL_H
32 #define SLAPD_SHELL_H
33
34 #include "external.h"
35
36 LDAP_BEGIN_DECL
37
38 struct shellinfo {
39         char    **si_bind;              /* cmd + args to exec for bind    */
40         char    **si_unbind;    /* cmd + args to exec for unbind  */
41         char    **si_search;    /* cmd + args to exec for search  */
42         char    **si_compare;   /* cmd + args to exec for compare */
43         char    **si_modify;    /* cmd + args to exec for modify  */
44         char    **si_modrdn;    /* cmd + args to exec for modrdn  */
45         char    **si_add;               /* cmd + args to exec for add     */
46         char    **si_delete;    /* cmd + args to exec for delete  */
47 };
48
49 struct slap_backend_db;
50 struct slap_conn;
51 struct slap_op;
52
53 extern pid_t forkandexec LDAP_P((
54         char **args,
55         FILE **rfp,
56         FILE **wfp));
57
58 extern void print_suffixes LDAP_P((
59         FILE *fp,
60         struct slap_backend_db *bd));
61
62 extern int read_and_send_results LDAP_P((
63         struct slap_op *op,
64         struct slap_rep *rs,
65         FILE *fp));
66
67 LDAP_END_DECL
68
69 #endif