00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _PY_SAMR_H
00022 #define _PY_SAMR_H
00023
00024 #include "python/py_common.h"
00025
00026
00027
00028 typedef struct {
00029 PyObject_HEAD
00030 struct rpc_pipe_client *cli;
00031 TALLOC_CTX *mem_ctx;
00032 POLICY_HND connect_pol;
00033 } samr_connect_hnd_object;
00034
00035
00036
00037 typedef struct {
00038 PyObject_HEAD
00039 struct rpc_pipe_client *cli;
00040 TALLOC_CTX *mem_ctx;
00041 POLICY_HND domain_pol;
00042 } samr_domain_hnd_object;
00043
00044
00045
00046 typedef struct {
00047 PyObject_HEAD
00048 struct rpc_pipe_client *cli;
00049 TALLOC_CTX *mem_ctx;
00050 POLICY_HND user_pol;
00051 } samr_user_hnd_object;
00052
00053
00054
00055 typedef struct {
00056 PyObject_HEAD
00057 struct cli_state *cli;
00058 TALLOC_CTX *mem_ctx;
00059 POLICY_HND group_pol;
00060 } samr_group_hnd_object;
00061
00062
00063
00064 typedef struct {
00065 PyObject_HEAD
00066 struct cli_state *cli;
00067 TALLOC_CTX *mem_ctx;
00068 POLICY_HND alias_pol;
00069 } samr_alias_hnd_object;
00070
00071 extern PyTypeObject samr_connect_hnd_type, samr_domain_hnd_type,
00072 samr_user_hnd_type, samr_group_hnd_type, samr_alias_hnd_type;
00073
00074
00075
00076 extern PyObject *samr_error;
00077
00078
00079
00080 BOOL py_from_acct_info(PyObject **array, struct acct_info *info, int num_accts);
00081 BOOL py_from_SAM_USER_INFO_16(PyObject **dict, SAM_USER_INFO_16 *info);
00082 BOOL py_to_SAM_USER_INFO_16(SAM_USER_INFO_16 *info, PyObject *dict);
00083 BOOL py_from_SAM_USER_INFO_21(PyObject **dict, SAM_USER_INFO_21 *info);
00084 BOOL py_to_SAM_USER_INFO_21(SAM_USER_INFO_21 *info, PyObject *dict);
00085
00086 #endif