r24554: Add internal implementation (before api function) of group
[abartlet/samba.git/.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
21 struct libnet_context {
22         /* here we need:
23          * a client env context
24          * a user env context
25          */
26         struct cli_credentials *cred;
27
28         /* samr connection parameters - opened handles and related properties */
29         struct {
30                 struct dcerpc_pipe *pipe;
31                 char *name;
32                 struct dom_sid *sid;
33                 uint32_t access_mask;
34                 struct policy_handle handle;
35                 struct policy_handle connect_handle;
36                 int buf_size;
37         } samr;
38
39         /* lsa connection parameters - opened handles and related properties */
40         struct {
41                 struct dcerpc_pipe *pipe;
42                 char *name;
43                 uint32_t access_mask;
44                 struct policy_handle handle;
45         } lsa;
46
47         /* name resolution methods */
48         const char **name_res_methods;
49
50         struct event_context *event_ctx;
51 };
52
53
54 #include "lib/ldb/include/ldb.h"
55 #include "libnet/composite.h"
56 #include "libnet/userman.h"
57 #include "libnet/userinfo.h"
58 #include "libnet/groupinfo.h"
59 #include "libnet/libnet_passwd.h"
60 #include "libnet/libnet_time.h"
61 #include "libnet/libnet_rpc.h"
62 #include "libnet/libnet_join.h"
63 #include "libnet/libnet_site.h"
64 #include "libnet/libnet_become_dc.h"
65 #include "libnet/libnet_unbecome_dc.h"
66 #include "libnet/libnet_vampire.h"
67 #include "libnet/libnet_user.h"
68 #include "libnet/libnet_share.h"
69 #include "libnet/libnet_lookup.h"
70 #include "libnet/libnet_domain.h"
71 #include "libnet/libnet_proto.h"