r17670: 1) Refactor libnet context structure a bit, to have rpc connection
[sfrench/samba-autobuild/.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 2 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, write to the Free Software
19    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 */
21
22 struct libnet_context {
23         /* here we need:
24          * a client env context
25          * a user env context
26          */
27         struct cli_credentials *cred;
28
29         struct dcerpc_pipe *pipe;
30
31         /* samr connection parameters - opened handles and related properties */
32         struct {
33                 struct dcerpc_pipe *pipe;
34                 const char *name;
35                 uint32_t access_mask;
36                 struct policy_handle handle;
37         } samr;
38
39         struct policy_handle user_handle;
40
41         /* lsa connection parameters - opened handles and related properties */
42         struct {
43                 struct dcerpc_pipe *pipe;
44                 const char *name;
45                 uint32_t access_mask;
46                 struct policy_handle handle;
47         } lsa;
48
49         /* name resolution methods */
50         const char **name_res_methods;
51
52         struct event_context *event_ctx;
53 };
54
55
56 #include "lib/ldb/include/ldb.h"
57 #include "libnet/composite.h"
58 #include "libnet/userman.h"
59 #include "libnet/userinfo.h"
60 #include "libnet/libnet_passwd.h"
61 #include "libnet/libnet_time.h"
62 #include "libnet/libnet_rpc.h"
63 #include "libnet/libnet_join.h"
64 #include "libnet/libnet_site.h"
65 #include "libnet/libnet_vampire.h"
66 #include "libnet/libnet_user.h"
67 #include "libnet/libnet_share.h"
68 #include "libnet/libnet_lookup.h"
69 #include "libnet/libnet_domain.h"
70 #include "libnet/libnet_proto.h"