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 "python/py_common.h" 25 26/* SAMR connect policy handle object */ 27 28typedef struct { 29 PyObject_HEAD 30 struct rpc_pipe_client *cli; 31 TALLOC_CTX *mem_ctx; 32 POLICY_HND connect_pol; 33} samr_connect_hnd_object; 34 35/* SAMR domain policy handle object */ 36 37typedef struct { 38 PyObject_HEAD 39 struct rpc_pipe_client *cli; 40 TALLOC_CTX *mem_ctx; 41 POLICY_HND domain_pol; 42} samr_domain_hnd_object; 43 44/* SAMR user policy handle object */ 45 46typedef struct { 47 PyObject_HEAD 48 struct rpc_pipe_client *cli; 49 TALLOC_CTX *mem_ctx; 50 POLICY_HND user_pol; 51} samr_user_hnd_object; 52 53/* SAMR group policy handle object */ 54 55typedef struct { 56 PyObject_HEAD 57 struct cli_state *cli; 58 TALLOC_CTX *mem_ctx; 59 POLICY_HND group_pol; 60} samr_group_hnd_object; 61 62/* SAMR alias policy handle object */ 63 64typedef struct { 65 PyObject_HEAD 66 struct cli_state *cli; 67 TALLOC_CTX *mem_ctx; 68 POLICY_HND alias_pol; 69} samr_alias_hnd_object; 70 71extern PyTypeObject samr_connect_hnd_type, samr_domain_hnd_type, 72 samr_user_hnd_type, samr_group_hnd_type, samr_alias_hnd_type; 73 74/* Exceptions raised by this module */ 75 76extern PyObject *samr_error; 77 78/* The following definitions are from py_samr_conv.c */ 79 80BOOL py_from_acct_info(PyObject **array, struct acct_info *info, int num_accts); 81BOOL py_from_SAM_USER_INFO_16(PyObject **dict, SAM_USER_INFO_16 *info); 82BOOL py_to_SAM_USER_INFO_16(SAM_USER_INFO_16 *info, PyObject *dict); 83BOOL py_from_SAM_USER_INFO_21(PyObject **dict, SAM_USER_INFO_21 *info); 84BOOL py_to_SAM_USER_INFO_21(SAM_USER_INFO_21 *info, PyObject *dict); 85 86#endif /* _PY_SAMR_H */ 87