2
/* Python wrapper functions auto-generated by pidl */
6
#include "librpc/rpc/pyrpc.h"
7
#include "librpc/rpc/pyrpc_util.h"
8
#include "librpc/gen_ndr/ndr_preg.h"
9
#include "librpc/gen_ndr/ndr_preg_c.h"
11
#include "librpc/gen_ndr/misc.h"
12
staticforward PyTypeObject preg_entry_Type;
13
staticforward PyTypeObject preg_header_Type;
14
staticforward PyTypeObject preg_file_Type;
15
staticforward PyTypeObject preg_InterfaceType;
17
void initpreg(void);static PyTypeObject *Object_Type;
18
static PyTypeObject *ClientConnection_Type;
20
static PyObject *py_preg_entry_get__opening_bracket(PyObject *obj, void *closure)
22
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
23
PyObject *py__opening_bracket;
24
if (object->_opening_bracket == NULL) {
25
py__opening_bracket = Py_None;
26
Py_INCREF(py__opening_bracket);
28
py__opening_bracket = PyUnicode_Decode(object->_opening_bracket, strlen(object->_opening_bracket), "utf-8", "ignore");
30
return py__opening_bracket;
33
static int py_preg_entry_set__opening_bracket(PyObject *py_obj, PyObject *value, void *closure)
35
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
36
if (PyUnicode_Check(value)) {
37
object->_opening_bracket = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
38
} else if (PyString_Check(value)) {
39
object->_opening_bracket = PyString_AS_STRING(value);
41
PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
47
static PyObject *py_preg_entry_get_keyname(PyObject *obj, void *closure)
49
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
51
py_keyname = PyString_FromStringOrNULL(object->keyname);
55
static int py_preg_entry_set_keyname(PyObject *py_obj, PyObject *value, void *closure)
57
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
58
object->keyname = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
62
static PyObject *py_preg_entry_get__sep1(PyObject *obj, void *closure)
64
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
66
if (object->_sep1 == NULL) {
70
py__sep1 = PyUnicode_Decode(object->_sep1, strlen(object->_sep1), "utf-8", "ignore");
75
static int py_preg_entry_set__sep1(PyObject *py_obj, PyObject *value, void *closure)
77
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
78
if (PyUnicode_Check(value)) {
79
object->_sep1 = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
80
} else if (PyString_Check(value)) {
81
object->_sep1 = PyString_AS_STRING(value);
83
PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
89
static PyObject *py_preg_entry_get_valuename(PyObject *obj, void *closure)
91
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
92
PyObject *py_valuename;
93
py_valuename = PyString_FromStringOrNULL(object->valuename);
97
static int py_preg_entry_set_valuename(PyObject *py_obj, PyObject *value, void *closure)
99
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
100
object->valuename = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
104
static PyObject *py_preg_entry_get__sep2(PyObject *obj, void *closure)
106
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
108
if (object->_sep2 == NULL) {
112
py__sep2 = PyUnicode_Decode(object->_sep2, strlen(object->_sep2), "utf-8", "ignore");
117
static int py_preg_entry_set__sep2(PyObject *py_obj, PyObject *value, void *closure)
119
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
120
if (PyUnicode_Check(value)) {
121
object->_sep2 = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
122
} else if (PyString_Check(value)) {
123
object->_sep2 = PyString_AS_STRING(value);
125
PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
131
static PyObject *py_preg_entry_get_type(PyObject *obj, void *closure)
133
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
135
py_type = PyInt_FromLong(object->type);
139
static int py_preg_entry_set_type(PyObject *py_obj, PyObject *value, void *closure)
141
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
142
if (PyLong_Check(value)) {
143
object->type = PyLong_AsLongLong(value);
144
} else if (PyInt_Check(value)) {
145
object->type = PyInt_AsLong(value);
147
PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
148
PyInt_Type.tp_name, PyLong_Type.tp_name);
154
static PyObject *py_preg_entry_get__sep3(PyObject *obj, void *closure)
156
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
158
if (object->_sep3 == NULL) {
162
py__sep3 = PyUnicode_Decode(object->_sep3, strlen(object->_sep3), "utf-8", "ignore");
167
static int py_preg_entry_set__sep3(PyObject *py_obj, PyObject *value, void *closure)
169
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
170
if (PyUnicode_Check(value)) {
171
object->_sep3 = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
172
} else if (PyString_Check(value)) {
173
object->_sep3 = PyString_AS_STRING(value);
175
PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
181
static PyObject *py_preg_entry_get_size(PyObject *obj, void *closure)
183
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
185
py_size = PyInt_FromLong(object->size);
189
static int py_preg_entry_set_size(PyObject *py_obj, PyObject *value, void *closure)
191
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
192
PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
193
object->size = PyInt_AsLong(value);
197
static PyObject *py_preg_entry_get__sep4(PyObject *obj, void *closure)
199
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
201
if (object->_sep4 == NULL) {
205
py__sep4 = PyUnicode_Decode(object->_sep4, strlen(object->_sep4), "utf-8", "ignore");
210
static int py_preg_entry_set__sep4(PyObject *py_obj, PyObject *value, void *closure)
212
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
213
if (PyUnicode_Check(value)) {
214
object->_sep4 = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
215
} else if (PyString_Check(value)) {
216
object->_sep4 = PyString_AS_STRING(value);
218
PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
224
static PyObject *py_preg_entry_get_data(PyObject *obj, void *closure)
226
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
228
py_data = PyList_New(object->size);
229
if (py_data == NULL) {
234
for (data_cntr_0 = 0; data_cntr_0 < object->size; data_cntr_0++) {
236
py_data_0 = PyInt_FromLong(object->data[data_cntr_0]);
237
PyList_SetItem(py_data, data_cntr_0, py_data_0);
243
static int py_preg_entry_set_data(PyObject *py_obj, PyObject *value, void *closure)
245
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
246
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
249
object->data = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->data, PyList_GET_SIZE(value));
250
if (!object->data) { return -1;; }
251
talloc_set_name_const(object->data, "ARRAY: object->data");
252
for (data_cntr_0 = 0; data_cntr_0 < PyList_GET_SIZE(value); data_cntr_0++) {
253
PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, data_cntr_0), return -1;);
254
object->data[data_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, data_cntr_0));
260
static PyObject *py_preg_entry_get__closing_bracket(PyObject *obj, void *closure)
262
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(obj);
263
PyObject *py__closing_bracket;
264
if (object->_closing_bracket == NULL) {
265
py__closing_bracket = Py_None;
266
Py_INCREF(py__closing_bracket);
268
py__closing_bracket = PyUnicode_Decode(object->_closing_bracket, strlen(object->_closing_bracket), "utf-8", "ignore");
270
return py__closing_bracket;
273
static int py_preg_entry_set__closing_bracket(PyObject *py_obj, PyObject *value, void *closure)
275
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
276
if (PyUnicode_Check(value)) {
277
object->_closing_bracket = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
278
} else if (PyString_Check(value)) {
279
object->_closing_bracket = PyString_AS_STRING(value);
281
PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
287
static PyGetSetDef py_preg_entry_getsetters[] = {
288
{ discard_const_p(char, "_opening_bracket"), py_preg_entry_get__opening_bracket, py_preg_entry_set__opening_bracket },
289
{ discard_const_p(char, "keyname"), py_preg_entry_get_keyname, py_preg_entry_set_keyname },
290
{ discard_const_p(char, "_sep1"), py_preg_entry_get__sep1, py_preg_entry_set__sep1 },
291
{ discard_const_p(char, "valuename"), py_preg_entry_get_valuename, py_preg_entry_set_valuename },
292
{ discard_const_p(char, "_sep2"), py_preg_entry_get__sep2, py_preg_entry_set__sep2 },
293
{ discard_const_p(char, "type"), py_preg_entry_get_type, py_preg_entry_set_type },
294
{ discard_const_p(char, "_sep3"), py_preg_entry_get__sep3, py_preg_entry_set__sep3 },
295
{ discard_const_p(char, "size"), py_preg_entry_get_size, py_preg_entry_set_size },
296
{ discard_const_p(char, "_sep4"), py_preg_entry_get__sep4, py_preg_entry_set__sep4 },
297
{ discard_const_p(char, "data"), py_preg_entry_get_data, py_preg_entry_set_data },
298
{ discard_const_p(char, "_closing_bracket"), py_preg_entry_get__closing_bracket, py_preg_entry_set__closing_bracket },
302
static PyObject *py_preg_entry_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
304
return py_talloc_new(struct preg_entry, type);
307
static PyObject *py_preg_entry_ndr_pack(PyObject *py_obj)
309
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
311
enum ndr_err_code err;
312
err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_preg_entry);
313
if (err != NDR_ERR_SUCCESS) {
314
PyErr_SetNdrError(err);
318
return PyString_FromStringAndSize((char *)blob.data, blob.length);
321
static PyObject *py_preg_entry_ndr_unpack(PyObject *py_obj, PyObject *args)
323
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
325
enum ndr_err_code err;
326
if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
329
err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_preg_entry);
330
if (err != NDR_ERR_SUCCESS) {
331
PyErr_SetNdrError(err);
338
static PyObject *py_preg_entry_ndr_print(PyObject *py_obj)
340
struct preg_entry *object = (struct preg_entry *)py_talloc_get_ptr(py_obj);
344
retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_preg_entry, "preg_entry", object);
345
ret = PyString_FromString(retstr);
351
static PyMethodDef py_preg_entry_methods[] = {
352
{ "__ndr_pack__", (PyCFunction)py_preg_entry_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
353
{ "__ndr_unpack__", (PyCFunction)py_preg_entry_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
354
{ "__ndr_print__", (PyCFunction)py_preg_entry_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
355
{ NULL, NULL, 0, NULL }
359
static PyTypeObject preg_entry_Type = {
360
PyObject_HEAD_INIT(NULL) 0,
361
.tp_name = "preg.entry",
362
.tp_getset = py_preg_entry_getsetters,
363
.tp_methods = py_preg_entry_methods,
364
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
365
.tp_basicsize = sizeof(py_talloc_Object),
366
.tp_new = py_preg_entry_new,
370
static PyObject *py_preg_header_get_signature(PyObject *obj, void *closure)
372
struct preg_header *object = (struct preg_header *)py_talloc_get_ptr(obj);
373
PyObject *py_signature;
374
if (object->signature == NULL) {
375
py_signature = Py_None;
376
Py_INCREF(py_signature);
378
py_signature = PyUnicode_Decode(object->signature, strlen(object->signature), "utf-8", "ignore");
383
static int py_preg_header_set_signature(PyObject *py_obj, PyObject *value, void *closure)
385
struct preg_header *object = (struct preg_header *)py_talloc_get_ptr(py_obj);
386
if (PyUnicode_Check(value)) {
387
object->signature = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
388
} else if (PyString_Check(value)) {
389
object->signature = PyString_AS_STRING(value);
391
PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
397
static PyObject *py_preg_header_get_version(PyObject *obj, void *closure)
399
struct preg_header *object = (struct preg_header *)py_talloc_get_ptr(obj);
400
PyObject *py_version;
401
py_version = PyInt_FromLong(object->version);
405
static int py_preg_header_set_version(PyObject *py_obj, PyObject *value, void *closure)
407
struct preg_header *object = (struct preg_header *)py_talloc_get_ptr(py_obj);
408
PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
409
object->version = PyInt_AsLong(value);
413
static PyGetSetDef py_preg_header_getsetters[] = {
414
{ discard_const_p(char, "signature"), py_preg_header_get_signature, py_preg_header_set_signature },
415
{ discard_const_p(char, "version"), py_preg_header_get_version, py_preg_header_set_version },
419
static PyObject *py_preg_header_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
421
return py_talloc_new(struct preg_header, type);
424
static PyObject *py_preg_header_ndr_pack(PyObject *py_obj)
426
struct preg_header *object = (struct preg_header *)py_talloc_get_ptr(py_obj);
428
enum ndr_err_code err;
429
err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_preg_header);
430
if (err != NDR_ERR_SUCCESS) {
431
PyErr_SetNdrError(err);
435
return PyString_FromStringAndSize((char *)blob.data, blob.length);
438
static PyObject *py_preg_header_ndr_unpack(PyObject *py_obj, PyObject *args)
440
struct preg_header *object = (struct preg_header *)py_talloc_get_ptr(py_obj);
442
enum ndr_err_code err;
443
if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
446
err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_preg_header);
447
if (err != NDR_ERR_SUCCESS) {
448
PyErr_SetNdrError(err);
455
static PyObject *py_preg_header_ndr_print(PyObject *py_obj)
457
struct preg_header *object = (struct preg_header *)py_talloc_get_ptr(py_obj);
461
retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_preg_header, "preg_header", object);
462
ret = PyString_FromString(retstr);
468
static PyMethodDef py_preg_header_methods[] = {
469
{ "__ndr_pack__", (PyCFunction)py_preg_header_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
470
{ "__ndr_unpack__", (PyCFunction)py_preg_header_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
471
{ "__ndr_print__", (PyCFunction)py_preg_header_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
472
{ NULL, NULL, 0, NULL }
476
static PyTypeObject preg_header_Type = {
477
PyObject_HEAD_INIT(NULL) 0,
478
.tp_name = "preg.header",
479
.tp_getset = py_preg_header_getsetters,
480
.tp_methods = py_preg_header_methods,
481
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
482
.tp_basicsize = sizeof(py_talloc_Object),
483
.tp_new = py_preg_header_new,
487
static PyObject *py_preg_file_get_header(PyObject *obj, void *closure)
489
struct preg_file *object = (struct preg_file *)py_talloc_get_ptr(obj);
491
py_header = py_talloc_reference_ex(&preg_header_Type, py_talloc_get_mem_ctx(obj), &object->header);
495
static int py_preg_file_set_header(PyObject *py_obj, PyObject *value, void *closure)
497
struct preg_file *object = (struct preg_file *)py_talloc_get_ptr(py_obj);
498
PY_CHECK_TYPE(&preg_header_Type, value, return -1;);
499
if (talloc_reference(py_talloc_get_mem_ctx(py_obj), py_talloc_get_mem_ctx(value)) == NULL) {
503
object->header = *(struct preg_header *)py_talloc_get_ptr(value);
507
static PyObject *py_preg_file_get_num_entries(PyObject *obj, void *closure)
509
struct preg_file *object = (struct preg_file *)py_talloc_get_ptr(obj);
510
PyObject *py_num_entries;
511
py_num_entries = PyInt_FromLong(object->num_entries);
512
return py_num_entries;
515
static int py_preg_file_set_num_entries(PyObject *py_obj, PyObject *value, void *closure)
517
struct preg_file *object = (struct preg_file *)py_talloc_get_ptr(py_obj);
518
PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
519
object->num_entries = PyInt_AsLong(value);
523
static PyObject *py_preg_file_get_entries(PyObject *obj, void *closure)
525
struct preg_file *object = (struct preg_file *)py_talloc_get_ptr(obj);
526
PyObject *py_entries;
527
py_entries = PyList_New(object->num_entries);
528
if (py_entries == NULL) {
533
for (entries_cntr_0 = 0; entries_cntr_0 < object->num_entries; entries_cntr_0++) {
534
PyObject *py_entries_0;
535
py_entries_0 = py_talloc_reference_ex(&preg_entry_Type, object->entries, &object->entries[entries_cntr_0]);
536
PyList_SetItem(py_entries, entries_cntr_0, py_entries_0);
542
static int py_preg_file_set_entries(PyObject *py_obj, PyObject *value, void *closure)
544
struct preg_file *object = (struct preg_file *)py_talloc_get_ptr(py_obj);
545
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
548
object->entries = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->entries, PyList_GET_SIZE(value));
549
if (!object->entries) { return -1;; }
550
talloc_set_name_const(object->entries, "ARRAY: object->entries");
551
for (entries_cntr_0 = 0; entries_cntr_0 < PyList_GET_SIZE(value); entries_cntr_0++) {
552
PY_CHECK_TYPE(&preg_entry_Type, PyList_GET_ITEM(value, entries_cntr_0), return -1;);
553
if (talloc_reference(object->entries, py_talloc_get_mem_ctx(PyList_GET_ITEM(value, entries_cntr_0))) == NULL) {
557
object->entries[entries_cntr_0] = *(struct preg_entry *)py_talloc_get_ptr(PyList_GET_ITEM(value, entries_cntr_0));
563
static PyGetSetDef py_preg_file_getsetters[] = {
564
{ discard_const_p(char, "header"), py_preg_file_get_header, py_preg_file_set_header },
565
{ discard_const_p(char, "num_entries"), py_preg_file_get_num_entries, py_preg_file_set_num_entries },
566
{ discard_const_p(char, "entries"), py_preg_file_get_entries, py_preg_file_set_entries },
570
static PyObject *py_preg_file_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
572
return py_talloc_new(struct preg_file, type);
575
static PyObject *py_preg_file_ndr_pack(PyObject *py_obj)
577
struct preg_file *object = (struct preg_file *)py_talloc_get_ptr(py_obj);
579
enum ndr_err_code err;
580
err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_preg_file);
581
if (err != NDR_ERR_SUCCESS) {
582
PyErr_SetNdrError(err);
586
return PyString_FromStringAndSize((char *)blob.data, blob.length);
589
static PyObject *py_preg_file_ndr_unpack(PyObject *py_obj, PyObject *args)
591
struct preg_file *object = (struct preg_file *)py_talloc_get_ptr(py_obj);
593
enum ndr_err_code err;
594
if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
597
err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_preg_file);
598
if (err != NDR_ERR_SUCCESS) {
599
PyErr_SetNdrError(err);
606
static PyObject *py_preg_file_ndr_print(PyObject *py_obj)
608
struct preg_file *object = (struct preg_file *)py_talloc_get_ptr(py_obj);
612
retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_preg_file, "preg_file", object);
613
ret = PyString_FromString(retstr);
619
static PyMethodDef py_preg_file_methods[] = {
620
{ "__ndr_pack__", (PyCFunction)py_preg_file_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
621
{ "__ndr_unpack__", (PyCFunction)py_preg_file_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
622
{ "__ndr_print__", (PyCFunction)py_preg_file_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
623
{ NULL, NULL, 0, NULL }
627
static PyTypeObject preg_file_Type = {
628
PyObject_HEAD_INIT(NULL) 0,
629
.tp_name = "preg.file",
630
.tp_getset = py_preg_file_getsetters,
631
.tp_methods = py_preg_file_methods,
632
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
633
.tp_basicsize = sizeof(py_talloc_Object),
634
.tp_new = py_preg_file_new,
638
static bool pack_py_decode_preg_file_args_in(PyObject *args, PyObject *kwargs, struct decode_preg_file *r)
641
const char *kwnames[] = {
645
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_preg_file", discard_const_p(char *, kwnames), &py_file)) {
649
PY_CHECK_TYPE(&preg_file_Type, py_file, return false;);
650
if (talloc_reference(r, py_talloc_get_mem_ctx(py_file)) == NULL) {
654
r->in.file = *(struct preg_file *)py_talloc_get_ptr(py_file);
658
static PyObject *unpack_py_decode_preg_file_args_out(struct decode_preg_file *r)
666
const struct PyNdrRpcMethodDef py_ndr_preg_methods[] = {
667
{ "decode_preg_file", "S.decode_preg_file(file) -> None", (py_dcerpc_call_fn)dcerpc_decode_preg_file_r, (py_data_pack_fn)pack_py_decode_preg_file_args_in, (py_data_unpack_fn)unpack_py_decode_preg_file_args_out, 0, &ndr_table_preg },
671
static PyObject *interface_preg_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
673
return py_dcerpc_interface_init_helper(type, args, kwargs, &ndr_table_preg);
676
#define PY_DOC_PREG "PReg structure"
677
static PyTypeObject preg_InterfaceType = {
678
PyObject_HEAD_INIT(NULL) 0,
679
.tp_name = "preg.preg",
680
.tp_basicsize = sizeof(dcerpc_InterfaceObject),
681
.tp_doc = "preg(binding, lp_ctx=None, credentials=None) -> connection\n"
683
"binding should be a DCE/RPC binding string (for example: ncacn_ip_tcp:127.0.0.1)\n"
684
"lp_ctx should be a path to a smb.conf file or a param.LoadParm object\n"
685
"credentials should be a credentials.Credentials object.\n\n"PY_DOC_PREG,
686
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
687
.tp_new = interface_preg_new,
690
static PyMethodDef preg_methods[] = {
691
{ NULL, NULL, 0, NULL }
697
PyObject *dep_talloc;
698
PyObject *dep_samba_dcerpc_misc;
699
PyObject *dep_samba_dcerpc_base;
701
dep_talloc = PyImport_ImportModule("talloc");
702
if (dep_talloc == NULL)
705
dep_samba_dcerpc_misc = PyImport_ImportModule("samba.dcerpc.misc");
706
if (dep_samba_dcerpc_misc == NULL)
709
dep_samba_dcerpc_base = PyImport_ImportModule("samba.dcerpc.base");
710
if (dep_samba_dcerpc_base == NULL)
713
Object_Type = (PyTypeObject *)PyObject_GetAttrString(dep_talloc, "Object");
714
if (Object_Type == NULL)
717
ClientConnection_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_base, "ClientConnection");
718
if (ClientConnection_Type == NULL)
721
preg_entry_Type.tp_base = Object_Type;
723
preg_header_Type.tp_base = Object_Type;
725
preg_file_Type.tp_base = Object_Type;
727
preg_InterfaceType.tp_base = ClientConnection_Type;
729
if (PyType_Ready(&preg_entry_Type) < 0)
731
if (PyType_Ready(&preg_header_Type) < 0)
733
if (PyType_Ready(&preg_file_Type) < 0)
735
if (PyType_Ready(&preg_InterfaceType) < 0)
737
if (!PyInterface_AddNdrRpcMethods(&preg_InterfaceType, py_ndr_preg_methods))
740
#ifdef PY_ENTRY_PATCH
741
PY_ENTRY_PATCH(&preg_entry_Type);
743
#ifdef PY_HEADER_PATCH
744
PY_HEADER_PATCH(&preg_header_Type);
747
PY_FILE_PATCH(&preg_file_Type);
750
PY_PREG_PATCH(&preg_InterfaceType);
753
m = Py_InitModule3("preg", preg_methods, "preg DCE/RPC");
757
Py_INCREF((PyObject *)(void *)&preg_entry_Type);
758
PyModule_AddObject(m, "entry", (PyObject *)(void *)&preg_entry_Type);
759
Py_INCREF((PyObject *)(void *)&preg_header_Type);
760
PyModule_AddObject(m, "header", (PyObject *)(void *)&preg_header_Type);
761
Py_INCREF((PyObject *)(void *)&preg_file_Type);
762
PyModule_AddObject(m, "file", (PyObject *)(void *)&preg_file_Type);
763
Py_INCREF((PyObject *)(void *)&preg_InterfaceType);
764
PyModule_AddObject(m, "preg", (PyObject *)(void *)&preg_InterfaceType);
765
#ifdef PY_MOD_PREG_PATCH
766
PY_MOD_PREG_PATCH(m);