ldb-samba: ldif_read_objectSid avoids VLA
[samba.git] / source4 / libnet / libnet.h
1 /* 
2    Unix SMB/CIFS implementation.
3    
4    Copyright (C) Stefan Metzmacher      2004
5    Copyright (C) Rafal Szczesniak       2005-2006
6    
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11    
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16    
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 */
20 #ifndef LIBNET_H
21 #define LIBNET_H
22
23 #include "librpc/gen_ndr/misc.h"
24
25 struct libnet_context {
26         /* here we need:
27          * a client env context
28          * a user env context
29          */
30         struct cli_credentials *cred;
31
32         /* samr connection parameters - opened handles and related properties */
33         struct {
34                 struct dcerpc_pipe *pipe;
35                 struct dcerpc_binding_handle *samr_handle;
36                 const char *name;
37                 struct dom_sid *sid;
38                 uint32_t access_mask;
39                 struct policy_handle handle;
40                 struct policy_handle connect_handle;
41                 int buf_size;
42         } samr;
43
44         /* lsa connection parameters - opened handles and related properties */
45         struct {
46                 struct dcerpc_pipe *pipe;
47                 struct dcerpc_binding_handle *lsa_handle;
48                 const char *name;
49                 uint32_t access_mask;
50                 struct policy_handle handle;
51         } lsa;
52
53         /* name resolution methods */
54         struct resolve_context *resolve_ctx;
55
56         struct tevent_context *event_ctx;
57
58         struct loadparm_context *lp_ctx;
59
60         /* if non-null then override the server address */
61         const char *server_address;
62 };
63
64
65 #include <ldb.h>
66 #include "libnet/composite.h"
67 #include "libnet/userman.h"
68 #include "libnet/userinfo.h"
69 #include "libnet/groupinfo.h"
70 #include "libnet/groupman.h"
71 #include "libnet/libnet_passwd.h"
72 #include "libnet/libnet_time.h"
73 #include "libnet/libnet_rpc.h"
74 #include "libnet/libnet_join.h"
75 #include "libnet/libnet_site.h"
76 #include "libnet/libnet_become_dc.h"
77 #include "libnet/libnet_unbecome_dc.h"
78 #include "libnet/libnet_samsync.h"
79 #include "libnet/libnet_vampire.h"
80 #include "libnet/libnet_user.h"
81 #include "libnet/libnet_group.h"
82 #include "libnet/libnet_share.h"
83 #include "libnet/libnet_lookup.h"
84 #include "libnet/libnet_domain.h"
85 #include "libnet/libnet_proto.h"
86 #endif