]> git.sur5r.net Git - openldap/blob - servers/slapd/back-shell/shell.h
74004f13b28b03dc18a6bdff95ecf636348808a2
[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-2015 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 "proto-shell.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 extern pid_t forkandexec LDAP_P((
50         char **args,
51         FILE **rfp,
52         FILE **wfp));
53
54 extern void print_suffixes LDAP_P((
55         FILE *fp,
56         BackendDB *bd));
57
58 extern int read_and_send_results LDAP_P((
59         Operation *op,
60         SlapReply *rs,
61         FILE *fp));
62
63 LDAP_END_DECL
64
65 #endif