]> git.sur5r.net Git - openldap/blob - servers/slapd/back-sock/back-sock.h
7a083a8df12e6d3dfc4d44ab67d67ed8c710bb73
[openldap] / servers / slapd / back-sock / back-sock.h
1 /* sock.h - socket backend header file */
2 /* $OpenLDAP$ */
3 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
4  *
5  * Copyright 2007-2017 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 /* ACKNOWLEDGEMENTS:
17  * This work was initially developed by Brian Candler for inclusion
18  * in OpenLDAP Software.
19  */
20
21 #ifndef SLAPD_SOCK_H
22 #define SLAPD_SOCK_H
23
24 #include "proto-sock.h"
25
26 LDAP_BEGIN_DECL
27
28 struct sockinfo {
29         const char      *si_sockpath;
30         slap_mask_t     si_extensions;
31         slap_mask_t     si_ops;         /* overlay: operations to act on */
32         slap_mask_t     si_resps;       /* overlay: responses to forward */
33         regex_t si_dnpat;               /* overlay: DN pattern to match */
34         struct berval   si_dnpatstr;
35 };
36
37 #define SOCK_EXT_BINDDN 1
38 #define SOCK_EXT_PEERNAME       2
39 #define SOCK_EXT_SSF            4
40 #define SOCK_EXT_CONNID         8
41
42 extern FILE *opensock LDAP_P((
43         const char *sockpath));
44
45 extern void sock_print_suffixes LDAP_P((
46         FILE *fp,
47         BackendDB *bd));
48
49 extern void sock_print_conn LDAP_P((
50         FILE *fp,
51         Connection *conn,
52         struct sockinfo *si));
53
54 extern int sock_read_and_send_results LDAP_P((
55         Operation *op,
56         SlapReply *rs,
57         FILE *fp));
58
59 LDAP_END_DECL
60
61 #endif