Skeleton for SAMR module.
[samba.git] / source / python / py_samr.h
1 /* 
2    Python wrappers for DCERPC/SMB client routines.
3
4    Copyright (C) Tim Potter, 2002
5    
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
10    
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15    
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20
21 #ifndef _PY_SAMR_H
22 #define _PY_SAMR_H
23
24 #include "includes.h"
25 #include "Python.h"
26
27 #include "python/py_common.h"
28
29 /* SAMR connect policy handle object */
30
31 typedef struct {
32         PyObject_HEAD
33         struct cli_state *cli;
34         TALLOC_CTX *mem_ctx;
35         POLICY_HND pol;
36 } samr_connect_hnd_object;
37      
38 /* SAMR domain policy handle object */
39
40 typedef struct {
41         PyObject_HEAD
42         struct cli_state *cli;
43         TALLOC_CTX *mem_ctx;
44         POLICY_HND pol;
45 } samr_domain_hnd_object;
46
47 /* SAMR user policy handle object */
48
49 typedef struct {
50         PyObject_HEAD
51         struct cli_state *cli;
52         TALLOC_CTX *mem_ctx;
53         POLICY_HND pol;
54 } samr_user_hnd_object;
55
56 /* SAMR group policy handle object */
57
58 typedef struct {
59         PyObject_HEAD
60         struct cli_state *cli;
61         TALLOC_CTX *mem_ctx;
62         POLICY_HND pol;
63 } samr_group_hnd_object;
64      
65 /* SAMR alias policy handle object */
66
67 typedef struct {
68         PyObject_HEAD
69         struct cli_state *cli;
70         TALLOC_CTX *mem_ctx;
71         POLICY_HND pol;
72 } samr_alias_hnd_object;
73      
74 extern PyTypeObject samr_connect_hnd_type, samr_domain_hnd_type,
75         samr_user_hnd_type, samr_group_hnd_type, samr_alias_hnd_type; 
76
77 /* Exceptions raised by this module */
78
79 extern PyObject *samr_error;
80
81 // #include "python/py_samr_proto.h"
82
83 #endif /* _PY_SAMR_H */