2 /* Python wrapper functions auto-generated by pidl */
5 #include "lib/talloc/pytalloc.h"
6 #include "librpc/rpc/pyrpc.h"
7 #include "librpc/gen_ndr/ndr_drsblobs.h"
8 #include "librpc/gen_ndr/ndr_drsblobs_c.h"
10 #include "librpc/gen_ndr/drsuapi.h"
11 #include "librpc/gen_ndr/misc.h"
12 #include "librpc/gen_ndr/samr.h"
13 #include "librpc/gen_ndr/lsa.h"
14 #include "librpc/gen_ndr/security.h"
15 staticforward PyTypeObject replPropertyMetaData1_Type;
16 staticforward PyTypeObject replPropertyMetaDataCtr1_Type;
17 staticforward PyTypeObject replPropertyMetaDataBlob_Type;
18 staticforward PyTypeObject replUpToDateVectorCtr1_Type;
19 staticforward PyTypeObject replUpToDateVectorCtr2_Type;
20 staticforward PyTypeObject replUpToDateVectorBlob_Type;
21 staticforward PyTypeObject repsFromTo1OtherInfo_Type;
22 staticforward PyTypeObject repsFromTo1_Type;
23 staticforward PyTypeObject repsFromTo2OtherInfo_Type;
24 staticforward PyTypeObject repsFromTo2_Type;
25 staticforward PyTypeObject repsFromToBlob_Type;
26 staticforward PyTypeObject partialAttributeSetCtr1_Type;
27 staticforward PyTypeObject partialAttributeSetBlob_Type;
28 staticforward PyTypeObject schemaInfoBlob_Type;
29 staticforward PyTypeObject drsuapi_MSPrefixMap_Entry_Type;
30 staticforward PyTypeObject drsuapi_MSPrefixMap_Ctr_Type;
31 staticforward PyTypeObject prefixMapBlob_Type;
32 staticforward PyTypeObject ldapControlDirSyncBlob_Type;
33 staticforward PyTypeObject ldapControlDirSyncCookie_Type;
34 staticforward PyTypeObject supplementalCredentialsPackage_Type;
35 staticforward PyTypeObject supplementalCredentialsSubBlob_Type;
36 staticforward PyTypeObject supplementalCredentialsBlob_Type;
37 staticforward PyTypeObject package_PackagesBlob_Type;
38 staticforward PyTypeObject package_PrimaryCLEARTEXTBlob_Type;
39 staticforward PyTypeObject package_PrimaryWDigestHash_Type;
40 staticforward PyTypeObject package_PrimaryWDigestBlob_Type;
41 staticforward PyTypeObject AuthInfoNone_Type;
42 staticforward PyTypeObject AuthInfoNT4Owf_Type;
43 staticforward PyTypeObject AuthInfoClear_Type;
44 staticforward PyTypeObject AuthInfoVersion_Type;
45 staticforward PyTypeObject AuthenticationInformation_Type;
46 staticforward PyTypeObject AuthenticationInformationArray_Type;
47 staticforward PyTypeObject trustAuthInOutBlob_Type;
48 staticforward PyTypeObject trustCurrentPasswords_Type;
49 staticforward PyTypeObject trustDomainPasswords_Type;
50 staticforward PyTypeObject DsCompressedChunk_Type;
51 staticforward PyTypeObject ExtendedErrorAString_Type;
52 staticforward PyTypeObject ExtendedErrorUString_Type;
53 staticforward PyTypeObject ExtendedErrorBlob_Type;
54 staticforward PyTypeObject ExtendedErrorComputerName_Type;
55 staticforward PyTypeObject ExtendedErrorParam_Type;
56 staticforward PyTypeObject ExtendedErrorInfo_Type;
57 staticforward PyTypeObject ExtendedErrorInfoPtr_Type;
58 staticforward PyTypeObject ForestTrustString_Type;
59 staticforward PyTypeObject ForestTrustDataDomainInfo_Type;
60 staticforward PyTypeObject ForestTrustDataBinaryData_Type;
61 staticforward PyTypeObject ForestTrustInfoRecord_Type;
62 staticforward PyTypeObject ForestTrustInfoRecordArmor_Type;
63 staticforward PyTypeObject ForestTrustInfo_Type;
64 staticforward PyTypeObject drsblobs_InterfaceType;
66 static PyTypeObject *dom_sid_Type;
67 static PyTypeObject *drsuapi_DsReplicaOIDMapping_Ctr_Type;
68 static PyTypeObject *samr_Password_Type;
69 static PyTypeObject *drsuapi_DsReplicaCursor_Type;
70 static PyTypeObject *drsuapi_DsReplicaHighWaterMark_Type;
71 static PyTypeObject *GUID_Type;
72 static PyTypeObject *drsuapi_DsReplicaCursor2_Type;
74 static PyObject *py_replPropertyMetaData1_get_attid(PyObject *obj, void *closure)
76 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(obj);
78 py_attid = PyInt_FromLong(object->attid);
82 static int py_replPropertyMetaData1_set_attid(PyObject *py_obj, PyObject *value, void *closure)
84 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(py_obj);
85 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
86 object->attid = PyInt_AsLong(value);
90 static PyObject *py_replPropertyMetaData1_get_version(PyObject *obj, void *closure)
92 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(obj);
94 py_version = PyInt_FromLong(object->version);
98 static int py_replPropertyMetaData1_set_version(PyObject *py_obj, PyObject *value, void *closure)
100 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(py_obj);
101 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
102 object->version = PyInt_AsLong(value);
106 static PyObject *py_replPropertyMetaData1_get_originating_change_time(PyObject *obj, void *closure)
108 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(obj);
109 PyObject *py_originating_change_time;
110 py_originating_change_time = PyLong_FromLongLong(object->originating_change_time);
111 return py_originating_change_time;
114 static int py_replPropertyMetaData1_set_originating_change_time(PyObject *py_obj, PyObject *value, void *closure)
116 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(py_obj);
117 if (PyObject_TypeCheck(value, &PyLong_Type)) {
118 object->originating_change_time = PyLong_AsLongLong(value);
120 if (PyObject_TypeCheck(value, &PyInt_Type)) {
121 object->originating_change_time = PyInt_AsLong(value);
123 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
124 PyInt_Type.tp_name, PyLong_Type.tp_name);
131 static PyObject *py_replPropertyMetaData1_get_originating_invocation_id(PyObject *obj, void *closure)
133 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(obj);
134 PyObject *py_originating_invocation_id;
135 py_originating_invocation_id = py_talloc_reference_ex(GUID_Type, py_talloc_get_mem_ctx(obj), &object->originating_invocation_id);
136 return py_originating_invocation_id;
139 static int py_replPropertyMetaData1_set_originating_invocation_id(PyObject *py_obj, PyObject *value, void *closure)
141 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(py_obj);
142 PY_CHECK_TYPE(GUID_Type, value, return -1;);
143 memcpy(&object->originating_invocation_id, (struct GUID *)py_talloc_get_ptr(value), sizeof(object->originating_invocation_id));
147 static PyObject *py_replPropertyMetaData1_get_originating_usn(PyObject *obj, void *closure)
149 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(obj);
150 PyObject *py_originating_usn;
151 py_originating_usn = PyLong_FromLongLong(object->originating_usn);
152 return py_originating_usn;
155 static int py_replPropertyMetaData1_set_originating_usn(PyObject *py_obj, PyObject *value, void *closure)
157 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(py_obj);
158 if (PyObject_TypeCheck(value, &PyLong_Type)) {
159 object->originating_usn = PyLong_AsLongLong(value);
161 if (PyObject_TypeCheck(value, &PyInt_Type)) {
162 object->originating_usn = PyInt_AsLong(value);
164 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
165 PyInt_Type.tp_name, PyLong_Type.tp_name);
172 static PyObject *py_replPropertyMetaData1_get_local_usn(PyObject *obj, void *closure)
174 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(obj);
175 PyObject *py_local_usn;
176 py_local_usn = PyLong_FromLongLong(object->local_usn);
180 static int py_replPropertyMetaData1_set_local_usn(PyObject *py_obj, PyObject *value, void *closure)
182 struct replPropertyMetaData1 *object = (struct replPropertyMetaData1 *)py_talloc_get_ptr(py_obj);
183 if (PyObject_TypeCheck(value, &PyLong_Type)) {
184 object->local_usn = PyLong_AsLongLong(value);
186 if (PyObject_TypeCheck(value, &PyInt_Type)) {
187 object->local_usn = PyInt_AsLong(value);
189 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
190 PyInt_Type.tp_name, PyLong_Type.tp_name);
197 static PyGetSetDef py_replPropertyMetaData1_getsetters[] = {
198 { discard_const_p(char, "attid"), py_replPropertyMetaData1_get_attid, py_replPropertyMetaData1_set_attid },
199 { discard_const_p(char, "version"), py_replPropertyMetaData1_get_version, py_replPropertyMetaData1_set_version },
200 { discard_const_p(char, "originating_change_time"), py_replPropertyMetaData1_get_originating_change_time, py_replPropertyMetaData1_set_originating_change_time },
201 { discard_const_p(char, "originating_invocation_id"), py_replPropertyMetaData1_get_originating_invocation_id, py_replPropertyMetaData1_set_originating_invocation_id },
202 { discard_const_p(char, "originating_usn"), py_replPropertyMetaData1_get_originating_usn, py_replPropertyMetaData1_set_originating_usn },
203 { discard_const_p(char, "local_usn"), py_replPropertyMetaData1_get_local_usn, py_replPropertyMetaData1_set_local_usn },
207 static PyObject *py_replPropertyMetaData1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
209 return py_talloc_new(struct replPropertyMetaData1, type);
213 static PyTypeObject replPropertyMetaData1_Type = {
214 PyObject_HEAD_INIT(NULL) 0,
215 .tp_name = "drsblobs.replPropertyMetaData1",
216 .tp_basicsize = sizeof(py_talloc_Object),
217 .tp_dealloc = py_talloc_dealloc,
218 .tp_getset = py_replPropertyMetaData1_getsetters,
219 .tp_repr = py_talloc_default_repr,
221 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
222 .tp_new = py_replPropertyMetaData1_new,
226 static PyObject *py_replPropertyMetaDataCtr1_get_count(PyObject *obj, void *closure)
228 struct replPropertyMetaDataCtr1 *object = (struct replPropertyMetaDataCtr1 *)py_talloc_get_ptr(obj);
230 py_count = PyInt_FromLong(object->count);
234 static int py_replPropertyMetaDataCtr1_set_count(PyObject *py_obj, PyObject *value, void *closure)
236 struct replPropertyMetaDataCtr1 *object = (struct replPropertyMetaDataCtr1 *)py_talloc_get_ptr(py_obj);
237 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
238 object->count = PyInt_AsLong(value);
242 static PyObject *py_replPropertyMetaDataCtr1_get_reserved(PyObject *obj, void *closure)
244 struct replPropertyMetaDataCtr1 *object = (struct replPropertyMetaDataCtr1 *)py_talloc_get_ptr(obj);
245 PyObject *py_reserved;
246 py_reserved = PyInt_FromLong(object->reserved);
250 static int py_replPropertyMetaDataCtr1_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
252 struct replPropertyMetaDataCtr1 *object = (struct replPropertyMetaDataCtr1 *)py_talloc_get_ptr(py_obj);
253 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
254 object->reserved = PyInt_AsLong(value);
258 static PyObject *py_replPropertyMetaDataCtr1_get_array(PyObject *obj, void *closure)
260 struct replPropertyMetaDataCtr1 *object = (struct replPropertyMetaDataCtr1 *)py_talloc_get_ptr(obj);
262 py_array = PyList_New(object->count);
263 if (py_array == NULL) {
268 for (array_cntr_0 = 0; array_cntr_0 < object->count; array_cntr_0++) {
269 PyObject *py_array_0;
270 py_array_0 = py_talloc_reference_ex(&replPropertyMetaData1_Type, object->array, &object->array[array_cntr_0]);
271 PyList_SetItem(py_array, array_cntr_0, py_array_0);
277 static int py_replPropertyMetaDataCtr1_set_array(PyObject *py_obj, PyObject *value, void *closure)
279 struct replPropertyMetaDataCtr1 *object = (struct replPropertyMetaDataCtr1 *)py_talloc_get_ptr(py_obj);
280 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
283 object->array = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->array, PyList_Size(value));
284 for (array_cntr_0 = 0; array_cntr_0 < PyList_Size(value); array_cntr_0++) {
285 PY_CHECK_TYPE(&replPropertyMetaData1_Type, PyList_GetItem(value, array_cntr_0), return -1;);
286 memcpy(&object->array[array_cntr_0], (struct replPropertyMetaData1 *)py_talloc_get_ptr(PyList_GetItem(value, array_cntr_0)), sizeof(object->array[array_cntr_0]));
292 static PyGetSetDef py_replPropertyMetaDataCtr1_getsetters[] = {
293 { discard_const_p(char, "count"), py_replPropertyMetaDataCtr1_get_count, py_replPropertyMetaDataCtr1_set_count },
294 { discard_const_p(char, "reserved"), py_replPropertyMetaDataCtr1_get_reserved, py_replPropertyMetaDataCtr1_set_reserved },
295 { discard_const_p(char, "array"), py_replPropertyMetaDataCtr1_get_array, py_replPropertyMetaDataCtr1_set_array },
299 static PyObject *py_replPropertyMetaDataCtr1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
301 return py_talloc_new(struct replPropertyMetaDataCtr1, type);
305 static PyTypeObject replPropertyMetaDataCtr1_Type = {
306 PyObject_HEAD_INIT(NULL) 0,
307 .tp_name = "drsblobs.replPropertyMetaDataCtr1",
308 .tp_basicsize = sizeof(py_talloc_Object),
309 .tp_dealloc = py_talloc_dealloc,
310 .tp_getset = py_replPropertyMetaDataCtr1_getsetters,
311 .tp_repr = py_talloc_default_repr,
313 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
314 .tp_new = py_replPropertyMetaDataCtr1_new,
317 PyObject *py_import_replPropertyMetaDataCtr(TALLOC_CTX *mem_ctx, int level, union replPropertyMetaDataCtr *in)
323 ret = py_talloc_reference_ex(&replPropertyMetaDataCtr1_Type, mem_ctx, &in->ctr1);
327 PyErr_SetString(PyExc_TypeError, "unknown union level");
331 union replPropertyMetaDataCtr *py_export_replPropertyMetaDataCtr(TALLOC_CTX *mem_ctx, int level, PyObject *in)
333 union replPropertyMetaDataCtr *ret = talloc_zero(mem_ctx, union replPropertyMetaDataCtr);
336 PY_CHECK_TYPE(&replPropertyMetaDataCtr1_Type, in, talloc_free(ret); return NULL;);
337 memcpy(&ret->ctr1, (struct replPropertyMetaDataCtr1 *)py_talloc_get_ptr(in), sizeof(ret->ctr1));
341 PyErr_SetString(PyExc_TypeError, "invalid union level value");
350 static PyObject *py_replPropertyMetaDataBlob_get_version(PyObject *obj, void *closure)
352 struct replPropertyMetaDataBlob *object = (struct replPropertyMetaDataBlob *)py_talloc_get_ptr(obj);
353 PyObject *py_version;
354 py_version = PyInt_FromLong(object->version);
358 static int py_replPropertyMetaDataBlob_set_version(PyObject *py_obj, PyObject *value, void *closure)
360 struct replPropertyMetaDataBlob *object = (struct replPropertyMetaDataBlob *)py_talloc_get_ptr(py_obj);
361 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
362 object->version = PyInt_AsLong(value);
366 static PyObject *py_replPropertyMetaDataBlob_get_reserved(PyObject *obj, void *closure)
368 struct replPropertyMetaDataBlob *object = (struct replPropertyMetaDataBlob *)py_talloc_get_ptr(obj);
369 PyObject *py_reserved;
370 py_reserved = PyInt_FromLong(object->reserved);
374 static int py_replPropertyMetaDataBlob_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
376 struct replPropertyMetaDataBlob *object = (struct replPropertyMetaDataBlob *)py_talloc_get_ptr(py_obj);
377 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
378 object->reserved = PyInt_AsLong(value);
382 static PyObject *py_replPropertyMetaDataBlob_get_ctr(PyObject *obj, void *closure)
384 struct replPropertyMetaDataBlob *object = (struct replPropertyMetaDataBlob *)py_talloc_get_ptr(obj);
386 py_ctr = py_import_replPropertyMetaDataCtr(py_talloc_get_mem_ctx(obj), object->version, &object->ctr);
387 if (py_ctr == NULL) {
393 static int py_replPropertyMetaDataBlob_set_ctr(PyObject *py_obj, PyObject *value, void *closure)
395 struct replPropertyMetaDataBlob *object = (struct replPropertyMetaDataBlob *)py_talloc_get_ptr(py_obj);
398 ctr_switch_0 = py_export_replPropertyMetaDataCtr(py_talloc_get_mem_ctx(py_obj), object->version, value);
399 if (ctr_switch_0 == NULL) { return -1; }
400 memcpy(&object->ctr, ctr_switch_0, sizeof(object->ctr));
405 static PyGetSetDef py_replPropertyMetaDataBlob_getsetters[] = {
406 { discard_const_p(char, "version"), py_replPropertyMetaDataBlob_get_version, py_replPropertyMetaDataBlob_set_version },
407 { discard_const_p(char, "reserved"), py_replPropertyMetaDataBlob_get_reserved, py_replPropertyMetaDataBlob_set_reserved },
408 { discard_const_p(char, "ctr"), py_replPropertyMetaDataBlob_get_ctr, py_replPropertyMetaDataBlob_set_ctr },
412 static PyObject *py_replPropertyMetaDataBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
414 return py_talloc_new(struct replPropertyMetaDataBlob, type);
417 static PyObject *py_replPropertyMetaDataBlob_ndr_pack(PyObject *py_obj)
419 struct replPropertyMetaDataBlob *object = (struct replPropertyMetaDataBlob *)py_talloc_get_ptr(py_obj);
421 enum ndr_err_code err;
422 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_replPropertyMetaDataBlob);
423 if (err != NDR_ERR_SUCCESS) {
424 PyErr_SetNdrError(err);
428 return PyString_FromStringAndSize((char *)blob.data, blob.length);
431 static PyObject *py_replPropertyMetaDataBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
433 struct replPropertyMetaDataBlob *object = (struct replPropertyMetaDataBlob *)py_talloc_get_ptr(py_obj);
435 enum ndr_err_code err;
436 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
439 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_replPropertyMetaDataBlob);
440 if (err != NDR_ERR_SUCCESS) {
441 PyErr_SetNdrError(err);
448 static PyObject *py_replPropertyMetaDataBlob_ndr_print(PyObject *py_obj)
450 struct replPropertyMetaDataBlob *object = (struct replPropertyMetaDataBlob *)py_talloc_get_ptr(py_obj);
452 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_replPropertyMetaDataBlob, "replPropertyMetaDataBlob", object);
453 return PyString_FromString(retstr);
456 static PyMethodDef py_replPropertyMetaDataBlob_methods[] = {
457 { "__ndr_pack__", (PyCFunction)py_replPropertyMetaDataBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
458 { "__ndr_unpack__", (PyCFunction)py_replPropertyMetaDataBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
459 { "__ndr_print__", (PyCFunction)py_replPropertyMetaDataBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
460 { NULL, NULL, 0, NULL }
464 static PyTypeObject replPropertyMetaDataBlob_Type = {
465 PyObject_HEAD_INIT(NULL) 0,
466 .tp_name = "drsblobs.replPropertyMetaDataBlob",
467 .tp_basicsize = sizeof(py_talloc_Object),
468 .tp_dealloc = py_talloc_dealloc,
469 .tp_getset = py_replPropertyMetaDataBlob_getsetters,
470 .tp_repr = py_talloc_default_repr,
471 .tp_methods = py_replPropertyMetaDataBlob_methods,
472 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
473 .tp_new = py_replPropertyMetaDataBlob_new,
477 static PyObject *py_replUpToDateVectorCtr1_get_count(PyObject *obj, void *closure)
479 struct replUpToDateVectorCtr1 *object = (struct replUpToDateVectorCtr1 *)py_talloc_get_ptr(obj);
481 py_count = PyInt_FromLong(object->count);
485 static int py_replUpToDateVectorCtr1_set_count(PyObject *py_obj, PyObject *value, void *closure)
487 struct replUpToDateVectorCtr1 *object = (struct replUpToDateVectorCtr1 *)py_talloc_get_ptr(py_obj);
488 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
489 object->count = PyInt_AsLong(value);
493 static PyObject *py_replUpToDateVectorCtr1_get_reserved(PyObject *obj, void *closure)
495 struct replUpToDateVectorCtr1 *object = (struct replUpToDateVectorCtr1 *)py_talloc_get_ptr(obj);
496 PyObject *py_reserved;
497 py_reserved = PyInt_FromLong(object->reserved);
501 static int py_replUpToDateVectorCtr1_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
503 struct replUpToDateVectorCtr1 *object = (struct replUpToDateVectorCtr1 *)py_talloc_get_ptr(py_obj);
504 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
505 object->reserved = PyInt_AsLong(value);
509 static PyObject *py_replUpToDateVectorCtr1_get_cursors(PyObject *obj, void *closure)
511 struct replUpToDateVectorCtr1 *object = (struct replUpToDateVectorCtr1 *)py_talloc_get_ptr(obj);
512 PyObject *py_cursors;
513 py_cursors = PyList_New(object->count);
514 if (py_cursors == NULL) {
519 for (cursors_cntr_0 = 0; cursors_cntr_0 < object->count; cursors_cntr_0++) {
520 PyObject *py_cursors_0;
521 py_cursors_0 = py_talloc_reference_ex(drsuapi_DsReplicaCursor_Type, object->cursors, &object->cursors[cursors_cntr_0]);
522 PyList_SetItem(py_cursors, cursors_cntr_0, py_cursors_0);
528 static int py_replUpToDateVectorCtr1_set_cursors(PyObject *py_obj, PyObject *value, void *closure)
530 struct replUpToDateVectorCtr1 *object = (struct replUpToDateVectorCtr1 *)py_talloc_get_ptr(py_obj);
531 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
534 object->cursors = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->cursors, PyList_Size(value));
535 for (cursors_cntr_0 = 0; cursors_cntr_0 < PyList_Size(value); cursors_cntr_0++) {
536 PY_CHECK_TYPE(drsuapi_DsReplicaCursor_Type, PyList_GetItem(value, cursors_cntr_0), return -1;);
537 memcpy(&object->cursors[cursors_cntr_0], (struct drsuapi_DsReplicaCursor *)py_talloc_get_ptr(PyList_GetItem(value, cursors_cntr_0)), sizeof(object->cursors[cursors_cntr_0]));
543 static PyGetSetDef py_replUpToDateVectorCtr1_getsetters[] = {
544 { discard_const_p(char, "count"), py_replUpToDateVectorCtr1_get_count, py_replUpToDateVectorCtr1_set_count },
545 { discard_const_p(char, "reserved"), py_replUpToDateVectorCtr1_get_reserved, py_replUpToDateVectorCtr1_set_reserved },
546 { discard_const_p(char, "cursors"), py_replUpToDateVectorCtr1_get_cursors, py_replUpToDateVectorCtr1_set_cursors },
550 static PyObject *py_replUpToDateVectorCtr1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
552 return py_talloc_new(struct replUpToDateVectorCtr1, type);
556 static PyTypeObject replUpToDateVectorCtr1_Type = {
557 PyObject_HEAD_INIT(NULL) 0,
558 .tp_name = "drsblobs.replUpToDateVectorCtr1",
559 .tp_basicsize = sizeof(py_talloc_Object),
560 .tp_dealloc = py_talloc_dealloc,
561 .tp_getset = py_replUpToDateVectorCtr1_getsetters,
562 .tp_repr = py_talloc_default_repr,
564 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
565 .tp_new = py_replUpToDateVectorCtr1_new,
569 static PyObject *py_replUpToDateVectorCtr2_get_count(PyObject *obj, void *closure)
571 struct replUpToDateVectorCtr2 *object = (struct replUpToDateVectorCtr2 *)py_talloc_get_ptr(obj);
573 py_count = PyInt_FromLong(object->count);
577 static int py_replUpToDateVectorCtr2_set_count(PyObject *py_obj, PyObject *value, void *closure)
579 struct replUpToDateVectorCtr2 *object = (struct replUpToDateVectorCtr2 *)py_talloc_get_ptr(py_obj);
580 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
581 object->count = PyInt_AsLong(value);
585 static PyObject *py_replUpToDateVectorCtr2_get_reserved(PyObject *obj, void *closure)
587 struct replUpToDateVectorCtr2 *object = (struct replUpToDateVectorCtr2 *)py_talloc_get_ptr(obj);
588 PyObject *py_reserved;
589 py_reserved = PyInt_FromLong(object->reserved);
593 static int py_replUpToDateVectorCtr2_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
595 struct replUpToDateVectorCtr2 *object = (struct replUpToDateVectorCtr2 *)py_talloc_get_ptr(py_obj);
596 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
597 object->reserved = PyInt_AsLong(value);
601 static PyObject *py_replUpToDateVectorCtr2_get_cursors(PyObject *obj, void *closure)
603 struct replUpToDateVectorCtr2 *object = (struct replUpToDateVectorCtr2 *)py_talloc_get_ptr(obj);
604 PyObject *py_cursors;
605 py_cursors = PyList_New(object->count);
606 if (py_cursors == NULL) {
611 for (cursors_cntr_0 = 0; cursors_cntr_0 < object->count; cursors_cntr_0++) {
612 PyObject *py_cursors_0;
613 py_cursors_0 = py_talloc_reference_ex(drsuapi_DsReplicaCursor2_Type, object->cursors, &object->cursors[cursors_cntr_0]);
614 PyList_SetItem(py_cursors, cursors_cntr_0, py_cursors_0);
620 static int py_replUpToDateVectorCtr2_set_cursors(PyObject *py_obj, PyObject *value, void *closure)
622 struct replUpToDateVectorCtr2 *object = (struct replUpToDateVectorCtr2 *)py_talloc_get_ptr(py_obj);
623 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
626 object->cursors = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->cursors, PyList_Size(value));
627 for (cursors_cntr_0 = 0; cursors_cntr_0 < PyList_Size(value); cursors_cntr_0++) {
628 PY_CHECK_TYPE(drsuapi_DsReplicaCursor2_Type, PyList_GetItem(value, cursors_cntr_0), return -1;);
629 memcpy(&object->cursors[cursors_cntr_0], (struct drsuapi_DsReplicaCursor2 *)py_talloc_get_ptr(PyList_GetItem(value, cursors_cntr_0)), sizeof(object->cursors[cursors_cntr_0]));
635 static PyGetSetDef py_replUpToDateVectorCtr2_getsetters[] = {
636 { discard_const_p(char, "count"), py_replUpToDateVectorCtr2_get_count, py_replUpToDateVectorCtr2_set_count },
637 { discard_const_p(char, "reserved"), py_replUpToDateVectorCtr2_get_reserved, py_replUpToDateVectorCtr2_set_reserved },
638 { discard_const_p(char, "cursors"), py_replUpToDateVectorCtr2_get_cursors, py_replUpToDateVectorCtr2_set_cursors },
642 static PyObject *py_replUpToDateVectorCtr2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
644 return py_talloc_new(struct replUpToDateVectorCtr2, type);
648 static PyTypeObject replUpToDateVectorCtr2_Type = {
649 PyObject_HEAD_INIT(NULL) 0,
650 .tp_name = "drsblobs.replUpToDateVectorCtr2",
651 .tp_basicsize = sizeof(py_talloc_Object),
652 .tp_dealloc = py_talloc_dealloc,
653 .tp_getset = py_replUpToDateVectorCtr2_getsetters,
654 .tp_repr = py_talloc_default_repr,
656 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
657 .tp_new = py_replUpToDateVectorCtr2_new,
660 PyObject *py_import_replUpToDateVectorCtr(TALLOC_CTX *mem_ctx, int level, union replUpToDateVectorCtr *in)
666 ret = py_talloc_reference_ex(&replUpToDateVectorCtr1_Type, mem_ctx, &in->ctr1);
670 ret = py_talloc_reference_ex(&replUpToDateVectorCtr2_Type, mem_ctx, &in->ctr2);
674 PyErr_SetString(PyExc_TypeError, "unknown union level");
678 union replUpToDateVectorCtr *py_export_replUpToDateVectorCtr(TALLOC_CTX *mem_ctx, int level, PyObject *in)
680 union replUpToDateVectorCtr *ret = talloc_zero(mem_ctx, union replUpToDateVectorCtr);
683 PY_CHECK_TYPE(&replUpToDateVectorCtr1_Type, in, talloc_free(ret); return NULL;);
684 memcpy(&ret->ctr1, (struct replUpToDateVectorCtr1 *)py_talloc_get_ptr(in), sizeof(ret->ctr1));
688 PY_CHECK_TYPE(&replUpToDateVectorCtr2_Type, in, talloc_free(ret); return NULL;);
689 memcpy(&ret->ctr2, (struct replUpToDateVectorCtr2 *)py_talloc_get_ptr(in), sizeof(ret->ctr2));
693 PyErr_SetString(PyExc_TypeError, "invalid union level value");
702 static PyObject *py_replUpToDateVectorBlob_get_version(PyObject *obj, void *closure)
704 struct replUpToDateVectorBlob *object = (struct replUpToDateVectorBlob *)py_talloc_get_ptr(obj);
705 PyObject *py_version;
706 py_version = PyInt_FromLong(object->version);
710 static int py_replUpToDateVectorBlob_set_version(PyObject *py_obj, PyObject *value, void *closure)
712 struct replUpToDateVectorBlob *object = (struct replUpToDateVectorBlob *)py_talloc_get_ptr(py_obj);
713 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
714 object->version = PyInt_AsLong(value);
718 static PyObject *py_replUpToDateVectorBlob_get_reserved(PyObject *obj, void *closure)
720 struct replUpToDateVectorBlob *object = (struct replUpToDateVectorBlob *)py_talloc_get_ptr(obj);
721 PyObject *py_reserved;
722 py_reserved = PyInt_FromLong(object->reserved);
726 static int py_replUpToDateVectorBlob_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
728 struct replUpToDateVectorBlob *object = (struct replUpToDateVectorBlob *)py_talloc_get_ptr(py_obj);
729 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
730 object->reserved = PyInt_AsLong(value);
734 static PyObject *py_replUpToDateVectorBlob_get_ctr(PyObject *obj, void *closure)
736 struct replUpToDateVectorBlob *object = (struct replUpToDateVectorBlob *)py_talloc_get_ptr(obj);
738 py_ctr = py_import_replUpToDateVectorCtr(py_talloc_get_mem_ctx(obj), object->version, &object->ctr);
739 if (py_ctr == NULL) {
745 static int py_replUpToDateVectorBlob_set_ctr(PyObject *py_obj, PyObject *value, void *closure)
747 struct replUpToDateVectorBlob *object = (struct replUpToDateVectorBlob *)py_talloc_get_ptr(py_obj);
750 ctr_switch_0 = py_export_replUpToDateVectorCtr(py_talloc_get_mem_ctx(py_obj), object->version, value);
751 if (ctr_switch_0 == NULL) { return -1; }
752 memcpy(&object->ctr, ctr_switch_0, sizeof(object->ctr));
757 static PyGetSetDef py_replUpToDateVectorBlob_getsetters[] = {
758 { discard_const_p(char, "version"), py_replUpToDateVectorBlob_get_version, py_replUpToDateVectorBlob_set_version },
759 { discard_const_p(char, "reserved"), py_replUpToDateVectorBlob_get_reserved, py_replUpToDateVectorBlob_set_reserved },
760 { discard_const_p(char, "ctr"), py_replUpToDateVectorBlob_get_ctr, py_replUpToDateVectorBlob_set_ctr },
764 static PyObject *py_replUpToDateVectorBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
766 return py_talloc_new(struct replUpToDateVectorBlob, type);
769 static PyObject *py_replUpToDateVectorBlob_ndr_pack(PyObject *py_obj)
771 struct replUpToDateVectorBlob *object = (struct replUpToDateVectorBlob *)py_talloc_get_ptr(py_obj);
773 enum ndr_err_code err;
774 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_replUpToDateVectorBlob);
775 if (err != NDR_ERR_SUCCESS) {
776 PyErr_SetNdrError(err);
780 return PyString_FromStringAndSize((char *)blob.data, blob.length);
783 static PyObject *py_replUpToDateVectorBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
785 struct replUpToDateVectorBlob *object = (struct replUpToDateVectorBlob *)py_talloc_get_ptr(py_obj);
787 enum ndr_err_code err;
788 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
791 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_replUpToDateVectorBlob);
792 if (err != NDR_ERR_SUCCESS) {
793 PyErr_SetNdrError(err);
800 static PyObject *py_replUpToDateVectorBlob_ndr_print(PyObject *py_obj)
802 struct replUpToDateVectorBlob *object = (struct replUpToDateVectorBlob *)py_talloc_get_ptr(py_obj);
804 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_replUpToDateVectorBlob, "replUpToDateVectorBlob", object);
805 return PyString_FromString(retstr);
808 static PyMethodDef py_replUpToDateVectorBlob_methods[] = {
809 { "__ndr_pack__", (PyCFunction)py_replUpToDateVectorBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
810 { "__ndr_unpack__", (PyCFunction)py_replUpToDateVectorBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
811 { "__ndr_print__", (PyCFunction)py_replUpToDateVectorBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
812 { NULL, NULL, 0, NULL }
816 static PyTypeObject replUpToDateVectorBlob_Type = {
817 PyObject_HEAD_INIT(NULL) 0,
818 .tp_name = "drsblobs.replUpToDateVectorBlob",
819 .tp_basicsize = sizeof(py_talloc_Object),
820 .tp_dealloc = py_talloc_dealloc,
821 .tp_getset = py_replUpToDateVectorBlob_getsetters,
822 .tp_repr = py_talloc_default_repr,
823 .tp_methods = py_replUpToDateVectorBlob_methods,
824 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
825 .tp_new = py_replUpToDateVectorBlob_new,
829 static PyObject *py_repsFromTo1OtherInfo_get___dns_name_size(PyObject *obj, void *closure)
831 struct repsFromTo1OtherInfo *object = (struct repsFromTo1OtherInfo *)py_talloc_get_ptr(obj);
832 PyObject *py___dns_name_size;
833 py___dns_name_size = PyInt_FromLong(object->__dns_name_size);
834 return py___dns_name_size;
837 static int py_repsFromTo1OtherInfo_set___dns_name_size(PyObject *py_obj, PyObject *value, void *closure)
839 struct repsFromTo1OtherInfo *object = (struct repsFromTo1OtherInfo *)py_talloc_get_ptr(py_obj);
840 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
841 object->__dns_name_size = PyInt_AsLong(value);
845 static PyObject *py_repsFromTo1OtherInfo_get_dns_name(PyObject *obj, void *closure)
847 struct repsFromTo1OtherInfo *object = (struct repsFromTo1OtherInfo *)py_talloc_get_ptr(obj);
848 PyObject *py_dns_name;
849 py_dns_name = PyUnicode_Decode(object->dns_name, strlen(object->dns_name), "utf-8", "ignore");
853 static int py_repsFromTo1OtherInfo_set_dns_name(PyObject *py_obj, PyObject *value, void *closure)
855 struct repsFromTo1OtherInfo *object = (struct repsFromTo1OtherInfo *)py_talloc_get_ptr(py_obj);
856 PY_CHECK_TYPE(&PyUnicode_Type, value, return -1;);
857 object->dns_name = PyString_AsString(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
861 static PyGetSetDef py_repsFromTo1OtherInfo_getsetters[] = {
862 { discard_const_p(char, "__dns_name_size"), py_repsFromTo1OtherInfo_get___dns_name_size, py_repsFromTo1OtherInfo_set___dns_name_size },
863 { discard_const_p(char, "dns_name"), py_repsFromTo1OtherInfo_get_dns_name, py_repsFromTo1OtherInfo_set_dns_name },
867 static PyObject *py_repsFromTo1OtherInfo_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
869 return py_talloc_new(struct repsFromTo1OtherInfo, type);
872 static PyObject *py_repsFromTo1OtherInfo_ndr_pack(PyObject *py_obj)
874 struct repsFromTo1OtherInfo *object = (struct repsFromTo1OtherInfo *)py_talloc_get_ptr(py_obj);
876 enum ndr_err_code err;
877 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_repsFromTo1OtherInfo);
878 if (err != NDR_ERR_SUCCESS) {
879 PyErr_SetNdrError(err);
883 return PyString_FromStringAndSize((char *)blob.data, blob.length);
886 static PyObject *py_repsFromTo1OtherInfo_ndr_unpack(PyObject *py_obj, PyObject *args)
888 struct repsFromTo1OtherInfo *object = (struct repsFromTo1OtherInfo *)py_talloc_get_ptr(py_obj);
890 enum ndr_err_code err;
891 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
894 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_repsFromTo1OtherInfo);
895 if (err != NDR_ERR_SUCCESS) {
896 PyErr_SetNdrError(err);
903 static PyObject *py_repsFromTo1OtherInfo_ndr_print(PyObject *py_obj)
905 struct repsFromTo1OtherInfo *object = (struct repsFromTo1OtherInfo *)py_talloc_get_ptr(py_obj);
907 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_repsFromTo1OtherInfo, "repsFromTo1OtherInfo", object);
908 return PyString_FromString(retstr);
911 static PyMethodDef py_repsFromTo1OtherInfo_methods[] = {
912 { "__ndr_pack__", (PyCFunction)py_repsFromTo1OtherInfo_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
913 { "__ndr_unpack__", (PyCFunction)py_repsFromTo1OtherInfo_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
914 { "__ndr_print__", (PyCFunction)py_repsFromTo1OtherInfo_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
915 { NULL, NULL, 0, NULL }
919 static PyTypeObject repsFromTo1OtherInfo_Type = {
920 PyObject_HEAD_INIT(NULL) 0,
921 .tp_name = "drsblobs.repsFromTo1OtherInfo",
922 .tp_basicsize = sizeof(py_talloc_Object),
923 .tp_dealloc = py_talloc_dealloc,
924 .tp_getset = py_repsFromTo1OtherInfo_getsetters,
925 .tp_repr = py_talloc_default_repr,
926 .tp_methods = py_repsFromTo1OtherInfo_methods,
927 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
928 .tp_new = py_repsFromTo1OtherInfo_new,
932 static PyObject *py_repsFromTo1_get_blobsize(PyObject *obj, void *closure)
934 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
935 PyObject *py_blobsize;
936 py_blobsize = PyInt_FromLong(object->blobsize);
940 static int py_repsFromTo1_set_blobsize(PyObject *py_obj, PyObject *value, void *closure)
942 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
943 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
944 object->blobsize = PyInt_AsLong(value);
948 static PyObject *py_repsFromTo1_get_consecutive_sync_failures(PyObject *obj, void *closure)
950 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
951 PyObject *py_consecutive_sync_failures;
952 py_consecutive_sync_failures = PyInt_FromLong(object->consecutive_sync_failures);
953 return py_consecutive_sync_failures;
956 static int py_repsFromTo1_set_consecutive_sync_failures(PyObject *py_obj, PyObject *value, void *closure)
958 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
959 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
960 object->consecutive_sync_failures = PyInt_AsLong(value);
964 static PyObject *py_repsFromTo1_get_last_success(PyObject *obj, void *closure)
966 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
967 PyObject *py_last_success;
968 py_last_success = PyLong_FromLongLong(object->last_success);
969 return py_last_success;
972 static int py_repsFromTo1_set_last_success(PyObject *py_obj, PyObject *value, void *closure)
974 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
975 if (PyObject_TypeCheck(value, &PyLong_Type)) {
976 object->last_success = PyLong_AsLongLong(value);
978 if (PyObject_TypeCheck(value, &PyInt_Type)) {
979 object->last_success = PyInt_AsLong(value);
981 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
982 PyInt_Type.tp_name, PyLong_Type.tp_name);
989 static PyObject *py_repsFromTo1_get_last_attempt(PyObject *obj, void *closure)
991 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
992 PyObject *py_last_attempt;
993 py_last_attempt = PyLong_FromLongLong(object->last_attempt);
994 return py_last_attempt;
997 static int py_repsFromTo1_set_last_attempt(PyObject *py_obj, PyObject *value, void *closure)
999 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1000 if (PyObject_TypeCheck(value, &PyLong_Type)) {
1001 object->last_attempt = PyLong_AsLongLong(value);
1003 if (PyObject_TypeCheck(value, &PyInt_Type)) {
1004 object->last_attempt = PyInt_AsLong(value);
1006 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
1007 PyInt_Type.tp_name, PyLong_Type.tp_name);
1014 static PyObject *py_repsFromTo1_get_result_last_attempt(PyObject *obj, void *closure)
1016 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
1017 PyObject *py_result_last_attempt;
1018 py_result_last_attempt = PyErr_FromWERROR(object->result_last_attempt);
1019 return py_result_last_attempt;
1022 static int py_repsFromTo1_set_result_last_attempt(PyObject *py_obj, PyObject *value, void *closure)
1024 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1025 object->result_last_attempt = W_ERROR(PyInt_AsLong(value));
1029 static PyObject *py_repsFromTo1_get_other_info(PyObject *obj, void *closure)
1031 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
1032 PyObject *py_other_info;
1033 if (object->other_info == NULL) {
1034 py_other_info = Py_None;
1035 Py_INCREF(py_other_info);
1037 py_other_info = py_talloc_reference_ex(&repsFromTo1OtherInfo_Type, object->other_info, object->other_info);
1039 return py_other_info;
1042 static int py_repsFromTo1_set_other_info(PyObject *py_obj, PyObject *value, void *closure)
1044 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1045 talloc_free(object->other_info);
1046 if (value == Py_None) {
1047 object->other_info = NULL;
1049 object->other_info = talloc_ptrtype(py_talloc_get_mem_ctx(py_obj), object->other_info);
1050 PY_CHECK_TYPE(&repsFromTo1OtherInfo_Type, value, return -1;);
1051 object->other_info = (struct repsFromTo1OtherInfo *)py_talloc_get_ptr(value);
1056 static PyObject *py_repsFromTo1_get_other_info_length(PyObject *obj, void *closure)
1058 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
1059 PyObject *py_other_info_length;
1060 py_other_info_length = PyInt_FromLong(object->other_info_length);
1061 return py_other_info_length;
1064 static int py_repsFromTo1_set_other_info_length(PyObject *py_obj, PyObject *value, void *closure)
1066 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1067 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1068 object->other_info_length = PyInt_AsLong(value);
1072 static PyObject *py_repsFromTo1_get_replica_flags(PyObject *obj, void *closure)
1074 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
1075 PyObject *py_replica_flags;
1076 py_replica_flags = PyInt_FromLong(object->replica_flags);
1077 return py_replica_flags;
1080 static int py_repsFromTo1_set_replica_flags(PyObject *py_obj, PyObject *value, void *closure)
1082 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1083 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1084 object->replica_flags = PyInt_AsLong(value);
1088 static PyObject *py_repsFromTo1_get_schedule(PyObject *obj, void *closure)
1090 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
1091 PyObject *py_schedule;
1092 py_schedule = PyList_New(84);
1093 if (py_schedule == NULL) {
1097 int schedule_cntr_0;
1098 for (schedule_cntr_0 = 0; schedule_cntr_0 < 84; schedule_cntr_0++) {
1099 PyObject *py_schedule_0;
1100 py_schedule_0 = PyInt_FromLong(object->schedule[schedule_cntr_0]);
1101 PyList_SetItem(py_schedule, schedule_cntr_0, py_schedule_0);
1107 static int py_repsFromTo1_set_schedule(PyObject *py_obj, PyObject *value, void *closure)
1109 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1110 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
1112 int schedule_cntr_0;
1113 for (schedule_cntr_0 = 0; schedule_cntr_0 < PyList_Size(value); schedule_cntr_0++) {
1114 PY_CHECK_TYPE(&PyInt_Type, PyList_GetItem(value, schedule_cntr_0), return -1;);
1115 object->schedule[schedule_cntr_0] = PyInt_AsLong(PyList_GetItem(value, schedule_cntr_0));
1121 static PyObject *py_repsFromTo1_get_reserved(PyObject *obj, void *closure)
1123 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
1124 PyObject *py_reserved;
1125 py_reserved = PyInt_FromLong(object->reserved);
1129 static int py_repsFromTo1_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
1131 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1132 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1133 object->reserved = PyInt_AsLong(value);
1137 static PyObject *py_repsFromTo1_get_highwatermark(PyObject *obj, void *closure)
1139 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
1140 PyObject *py_highwatermark;
1141 py_highwatermark = py_talloc_reference_ex(drsuapi_DsReplicaHighWaterMark_Type, py_talloc_get_mem_ctx(obj), &object->highwatermark);
1142 return py_highwatermark;
1145 static int py_repsFromTo1_set_highwatermark(PyObject *py_obj, PyObject *value, void *closure)
1147 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1148 PY_CHECK_TYPE(drsuapi_DsReplicaHighWaterMark_Type, value, return -1;);
1149 memcpy(&object->highwatermark, (struct drsuapi_DsReplicaHighWaterMark *)py_talloc_get_ptr(value), sizeof(object->highwatermark));
1153 static PyObject *py_repsFromTo1_get_source_dsa_obj_guid(PyObject *obj, void *closure)
1155 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
1156 PyObject *py_source_dsa_obj_guid;
1157 py_source_dsa_obj_guid = py_talloc_reference_ex(GUID_Type, py_talloc_get_mem_ctx(obj), &object->source_dsa_obj_guid);
1158 return py_source_dsa_obj_guid;
1161 static int py_repsFromTo1_set_source_dsa_obj_guid(PyObject *py_obj, PyObject *value, void *closure)
1163 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1164 PY_CHECK_TYPE(GUID_Type, value, return -1;);
1165 memcpy(&object->source_dsa_obj_guid, (struct GUID *)py_talloc_get_ptr(value), sizeof(object->source_dsa_obj_guid));
1169 static PyObject *py_repsFromTo1_get_source_dsa_invocation_id(PyObject *obj, void *closure)
1171 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
1172 PyObject *py_source_dsa_invocation_id;
1173 py_source_dsa_invocation_id = py_talloc_reference_ex(GUID_Type, py_talloc_get_mem_ctx(obj), &object->source_dsa_invocation_id);
1174 return py_source_dsa_invocation_id;
1177 static int py_repsFromTo1_set_source_dsa_invocation_id(PyObject *py_obj, PyObject *value, void *closure)
1179 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1180 PY_CHECK_TYPE(GUID_Type, value, return -1;);
1181 memcpy(&object->source_dsa_invocation_id, (struct GUID *)py_talloc_get_ptr(value), sizeof(object->source_dsa_invocation_id));
1185 static PyObject *py_repsFromTo1_get_transport_guid(PyObject *obj, void *closure)
1187 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(obj);
1188 PyObject *py_transport_guid;
1189 py_transport_guid = py_talloc_reference_ex(GUID_Type, py_talloc_get_mem_ctx(obj), &object->transport_guid);
1190 return py_transport_guid;
1193 static int py_repsFromTo1_set_transport_guid(PyObject *py_obj, PyObject *value, void *closure)
1195 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1196 PY_CHECK_TYPE(GUID_Type, value, return -1;);
1197 memcpy(&object->transport_guid, (struct GUID *)py_talloc_get_ptr(value), sizeof(object->transport_guid));
1201 static PyGetSetDef py_repsFromTo1_getsetters[] = {
1202 { discard_const_p(char, "blobsize"), py_repsFromTo1_get_blobsize, py_repsFromTo1_set_blobsize },
1203 { discard_const_p(char, "consecutive_sync_failures"), py_repsFromTo1_get_consecutive_sync_failures, py_repsFromTo1_set_consecutive_sync_failures },
1204 { discard_const_p(char, "last_success"), py_repsFromTo1_get_last_success, py_repsFromTo1_set_last_success },
1205 { discard_const_p(char, "last_attempt"), py_repsFromTo1_get_last_attempt, py_repsFromTo1_set_last_attempt },
1206 { discard_const_p(char, "result_last_attempt"), py_repsFromTo1_get_result_last_attempt, py_repsFromTo1_set_result_last_attempt },
1207 { discard_const_p(char, "other_info"), py_repsFromTo1_get_other_info, py_repsFromTo1_set_other_info },
1208 { discard_const_p(char, "other_info_length"), py_repsFromTo1_get_other_info_length, py_repsFromTo1_set_other_info_length },
1209 { discard_const_p(char, "replica_flags"), py_repsFromTo1_get_replica_flags, py_repsFromTo1_set_replica_flags },
1210 { discard_const_p(char, "schedule"), py_repsFromTo1_get_schedule, py_repsFromTo1_set_schedule },
1211 { discard_const_p(char, "reserved"), py_repsFromTo1_get_reserved, py_repsFromTo1_set_reserved },
1212 { discard_const_p(char, "highwatermark"), py_repsFromTo1_get_highwatermark, py_repsFromTo1_set_highwatermark },
1213 { discard_const_p(char, "source_dsa_obj_guid"), py_repsFromTo1_get_source_dsa_obj_guid, py_repsFromTo1_set_source_dsa_obj_guid },
1214 { discard_const_p(char, "source_dsa_invocation_id"), py_repsFromTo1_get_source_dsa_invocation_id, py_repsFromTo1_set_source_dsa_invocation_id },
1215 { discard_const_p(char, "transport_guid"), py_repsFromTo1_get_transport_guid, py_repsFromTo1_set_transport_guid },
1219 static PyObject *py_repsFromTo1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
1221 return py_talloc_new(struct repsFromTo1, type);
1224 static PyObject *py_repsFromTo1_ndr_pack(PyObject *py_obj)
1226 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1228 enum ndr_err_code err;
1229 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_repsFromTo1);
1230 if (err != NDR_ERR_SUCCESS) {
1231 PyErr_SetNdrError(err);
1235 return PyString_FromStringAndSize((char *)blob.data, blob.length);
1238 static PyObject *py_repsFromTo1_ndr_unpack(PyObject *py_obj, PyObject *args)
1240 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1242 enum ndr_err_code err;
1243 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
1246 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_repsFromTo1);
1247 if (err != NDR_ERR_SUCCESS) {
1248 PyErr_SetNdrError(err);
1255 static PyObject *py_repsFromTo1_ndr_print(PyObject *py_obj)
1257 struct repsFromTo1 *object = (struct repsFromTo1 *)py_talloc_get_ptr(py_obj);
1259 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_repsFromTo1, "repsFromTo1", object);
1260 return PyString_FromString(retstr);
1263 static PyMethodDef py_repsFromTo1_methods[] = {
1264 { "__ndr_pack__", (PyCFunction)py_repsFromTo1_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
1265 { "__ndr_unpack__", (PyCFunction)py_repsFromTo1_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
1266 { "__ndr_print__", (PyCFunction)py_repsFromTo1_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
1267 { NULL, NULL, 0, NULL }
1271 static PyTypeObject repsFromTo1_Type = {
1272 PyObject_HEAD_INIT(NULL) 0,
1273 .tp_name = "drsblobs.repsFromTo1",
1274 .tp_basicsize = sizeof(py_talloc_Object),
1275 .tp_dealloc = py_talloc_dealloc,
1276 .tp_getset = py_repsFromTo1_getsetters,
1277 .tp_repr = py_talloc_default_repr,
1278 .tp_methods = py_repsFromTo1_methods,
1279 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
1280 .tp_new = py_repsFromTo1_new,
1284 static PyObject *py_repsFromTo2OtherInfo_get___ndr_size(PyObject *obj, void *closure)
1286 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(obj);
1287 PyObject *py___ndr_size;
1288 py___ndr_size = PyInt_FromLong(object->__ndr_size);
1289 return py___ndr_size;
1292 static int py_repsFromTo2OtherInfo_set___ndr_size(PyObject *py_obj, PyObject *value, void *closure)
1294 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(py_obj);
1295 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1296 object->__ndr_size = PyInt_AsLong(value);
1300 static PyObject *py_repsFromTo2OtherInfo_get_dns_name1(PyObject *obj, void *closure)
1302 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(obj);
1303 PyObject *py_dns_name1;
1304 py_dns_name1 = PyString_FromString(object->dns_name1);
1305 return py_dns_name1;
1308 static int py_repsFromTo2OtherInfo_set_dns_name1(PyObject *py_obj, PyObject *value, void *closure)
1310 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(py_obj);
1311 object->dns_name1 = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AsString(value));
1315 static PyObject *py_repsFromTo2OtherInfo_get_unknown1(PyObject *obj, void *closure)
1317 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(obj);
1318 PyObject *py_unknown1;
1319 py_unknown1 = PyInt_FromLong(object->unknown1);
1323 static int py_repsFromTo2OtherInfo_set_unknown1(PyObject *py_obj, PyObject *value, void *closure)
1325 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(py_obj);
1326 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1327 object->unknown1 = PyInt_AsLong(value);
1331 static PyObject *py_repsFromTo2OtherInfo_get_dns_name2(PyObject *obj, void *closure)
1333 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(obj);
1334 PyObject *py_dns_name2;
1335 py_dns_name2 = PyString_FromString(object->dns_name2);
1336 return py_dns_name2;
1339 static int py_repsFromTo2OtherInfo_set_dns_name2(PyObject *py_obj, PyObject *value, void *closure)
1341 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(py_obj);
1342 object->dns_name2 = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AsString(value));
1346 static PyObject *py_repsFromTo2OtherInfo_get_unknown2(PyObject *obj, void *closure)
1348 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(obj);
1349 PyObject *py_unknown2;
1350 py_unknown2 = PyLong_FromLongLong(object->unknown2);
1354 static int py_repsFromTo2OtherInfo_set_unknown2(PyObject *py_obj, PyObject *value, void *closure)
1356 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(py_obj);
1357 if (PyObject_TypeCheck(value, &PyLong_Type)) {
1358 object->unknown2 = PyLong_AsLongLong(value);
1360 if (PyObject_TypeCheck(value, &PyInt_Type)) {
1361 object->unknown2 = PyInt_AsLong(value);
1363 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
1364 PyInt_Type.tp_name, PyLong_Type.tp_name);
1371 static PyGetSetDef py_repsFromTo2OtherInfo_getsetters[] = {
1372 { discard_const_p(char, "__ndr_size"), py_repsFromTo2OtherInfo_get___ndr_size, py_repsFromTo2OtherInfo_set___ndr_size },
1373 { discard_const_p(char, "dns_name1"), py_repsFromTo2OtherInfo_get_dns_name1, py_repsFromTo2OtherInfo_set_dns_name1 },
1374 { discard_const_p(char, "unknown1"), py_repsFromTo2OtherInfo_get_unknown1, py_repsFromTo2OtherInfo_set_unknown1 },
1375 { discard_const_p(char, "dns_name2"), py_repsFromTo2OtherInfo_get_dns_name2, py_repsFromTo2OtherInfo_set_dns_name2 },
1376 { discard_const_p(char, "unknown2"), py_repsFromTo2OtherInfo_get_unknown2, py_repsFromTo2OtherInfo_set_unknown2 },
1380 static PyObject *py_repsFromTo2OtherInfo_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
1382 return py_talloc_new(struct repsFromTo2OtherInfo, type);
1385 static PyObject *py_repsFromTo2OtherInfo_ndr_pack(PyObject *py_obj)
1387 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(py_obj);
1389 enum ndr_err_code err;
1390 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_repsFromTo2OtherInfo);
1391 if (err != NDR_ERR_SUCCESS) {
1392 PyErr_SetNdrError(err);
1396 return PyString_FromStringAndSize((char *)blob.data, blob.length);
1399 static PyObject *py_repsFromTo2OtherInfo_ndr_unpack(PyObject *py_obj, PyObject *args)
1401 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(py_obj);
1403 enum ndr_err_code err;
1404 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
1407 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_repsFromTo2OtherInfo);
1408 if (err != NDR_ERR_SUCCESS) {
1409 PyErr_SetNdrError(err);
1416 static PyObject *py_repsFromTo2OtherInfo_ndr_print(PyObject *py_obj)
1418 struct repsFromTo2OtherInfo *object = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(py_obj);
1420 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_repsFromTo2OtherInfo, "repsFromTo2OtherInfo", object);
1421 return PyString_FromString(retstr);
1424 static PyMethodDef py_repsFromTo2OtherInfo_methods[] = {
1425 { "__ndr_pack__", (PyCFunction)py_repsFromTo2OtherInfo_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
1426 { "__ndr_unpack__", (PyCFunction)py_repsFromTo2OtherInfo_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
1427 { "__ndr_print__", (PyCFunction)py_repsFromTo2OtherInfo_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
1428 { NULL, NULL, 0, NULL }
1432 static PyTypeObject repsFromTo2OtherInfo_Type = {
1433 PyObject_HEAD_INIT(NULL) 0,
1434 .tp_name = "drsblobs.repsFromTo2OtherInfo",
1435 .tp_basicsize = sizeof(py_talloc_Object),
1436 .tp_dealloc = py_talloc_dealloc,
1437 .tp_getset = py_repsFromTo2OtherInfo_getsetters,
1438 .tp_repr = py_talloc_default_repr,
1439 .tp_methods = py_repsFromTo2OtherInfo_methods,
1440 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
1441 .tp_new = py_repsFromTo2OtherInfo_new,
1445 static PyObject *py_repsFromTo2_get_blobsize(PyObject *obj, void *closure)
1447 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1448 PyObject *py_blobsize;
1449 py_blobsize = PyInt_FromLong(object->blobsize);
1453 static int py_repsFromTo2_set_blobsize(PyObject *py_obj, PyObject *value, void *closure)
1455 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1456 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1457 object->blobsize = PyInt_AsLong(value);
1461 static PyObject *py_repsFromTo2_get_consecutive_sync_failures(PyObject *obj, void *closure)
1463 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1464 PyObject *py_consecutive_sync_failures;
1465 py_consecutive_sync_failures = PyInt_FromLong(object->consecutive_sync_failures);
1466 return py_consecutive_sync_failures;
1469 static int py_repsFromTo2_set_consecutive_sync_failures(PyObject *py_obj, PyObject *value, void *closure)
1471 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1472 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1473 object->consecutive_sync_failures = PyInt_AsLong(value);
1477 static PyObject *py_repsFromTo2_get_last_success(PyObject *obj, void *closure)
1479 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1480 PyObject *py_last_success;
1481 py_last_success = PyLong_FromLongLong(object->last_success);
1482 return py_last_success;
1485 static int py_repsFromTo2_set_last_success(PyObject *py_obj, PyObject *value, void *closure)
1487 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1488 if (PyObject_TypeCheck(value, &PyLong_Type)) {
1489 object->last_success = PyLong_AsLongLong(value);
1491 if (PyObject_TypeCheck(value, &PyInt_Type)) {
1492 object->last_success = PyInt_AsLong(value);
1494 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
1495 PyInt_Type.tp_name, PyLong_Type.tp_name);
1502 static PyObject *py_repsFromTo2_get_last_attempt(PyObject *obj, void *closure)
1504 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1505 PyObject *py_last_attempt;
1506 py_last_attempt = PyLong_FromLongLong(object->last_attempt);
1507 return py_last_attempt;
1510 static int py_repsFromTo2_set_last_attempt(PyObject *py_obj, PyObject *value, void *closure)
1512 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1513 if (PyObject_TypeCheck(value, &PyLong_Type)) {
1514 object->last_attempt = PyLong_AsLongLong(value);
1516 if (PyObject_TypeCheck(value, &PyInt_Type)) {
1517 object->last_attempt = PyInt_AsLong(value);
1519 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
1520 PyInt_Type.tp_name, PyLong_Type.tp_name);
1527 static PyObject *py_repsFromTo2_get_result_last_attempt(PyObject *obj, void *closure)
1529 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1530 PyObject *py_result_last_attempt;
1531 py_result_last_attempt = PyErr_FromWERROR(object->result_last_attempt);
1532 return py_result_last_attempt;
1535 static int py_repsFromTo2_set_result_last_attempt(PyObject *py_obj, PyObject *value, void *closure)
1537 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1538 object->result_last_attempt = W_ERROR(PyInt_AsLong(value));
1542 static PyObject *py_repsFromTo2_get_other_info(PyObject *obj, void *closure)
1544 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1545 PyObject *py_other_info;
1546 if (object->other_info == NULL) {
1547 py_other_info = Py_None;
1548 Py_INCREF(py_other_info);
1550 py_other_info = py_talloc_reference_ex(&repsFromTo2OtherInfo_Type, object->other_info, object->other_info);
1552 return py_other_info;
1555 static int py_repsFromTo2_set_other_info(PyObject *py_obj, PyObject *value, void *closure)
1557 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1558 talloc_free(object->other_info);
1559 if (value == Py_None) {
1560 object->other_info = NULL;
1562 object->other_info = talloc_ptrtype(py_talloc_get_mem_ctx(py_obj), object->other_info);
1563 PY_CHECK_TYPE(&repsFromTo2OtherInfo_Type, value, return -1;);
1564 object->other_info = (struct repsFromTo2OtherInfo *)py_talloc_get_ptr(value);
1569 static PyObject *py_repsFromTo2_get_other_info_length(PyObject *obj, void *closure)
1571 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1572 PyObject *py_other_info_length;
1573 py_other_info_length = PyInt_FromLong(object->other_info_length);
1574 return py_other_info_length;
1577 static int py_repsFromTo2_set_other_info_length(PyObject *py_obj, PyObject *value, void *closure)
1579 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1580 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1581 object->other_info_length = PyInt_AsLong(value);
1585 static PyObject *py_repsFromTo2_get_replica_flags(PyObject *obj, void *closure)
1587 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1588 PyObject *py_replica_flags;
1589 py_replica_flags = PyInt_FromLong(object->replica_flags);
1590 return py_replica_flags;
1593 static int py_repsFromTo2_set_replica_flags(PyObject *py_obj, PyObject *value, void *closure)
1595 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1596 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1597 object->replica_flags = PyInt_AsLong(value);
1601 static PyObject *py_repsFromTo2_get_schedule(PyObject *obj, void *closure)
1603 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1604 PyObject *py_schedule;
1605 py_schedule = PyList_New(84);
1606 if (py_schedule == NULL) {
1610 int schedule_cntr_0;
1611 for (schedule_cntr_0 = 0; schedule_cntr_0 < 84; schedule_cntr_0++) {
1612 PyObject *py_schedule_0;
1613 py_schedule_0 = PyInt_FromLong(object->schedule[schedule_cntr_0]);
1614 PyList_SetItem(py_schedule, schedule_cntr_0, py_schedule_0);
1620 static int py_repsFromTo2_set_schedule(PyObject *py_obj, PyObject *value, void *closure)
1622 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1623 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
1625 int schedule_cntr_0;
1626 for (schedule_cntr_0 = 0; schedule_cntr_0 < PyList_Size(value); schedule_cntr_0++) {
1627 PY_CHECK_TYPE(&PyInt_Type, PyList_GetItem(value, schedule_cntr_0), return -1;);
1628 object->schedule[schedule_cntr_0] = PyInt_AsLong(PyList_GetItem(value, schedule_cntr_0));
1634 static PyObject *py_repsFromTo2_get_reserved(PyObject *obj, void *closure)
1636 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1637 PyObject *py_reserved;
1638 py_reserved = PyInt_FromLong(object->reserved);
1642 static int py_repsFromTo2_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
1644 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1645 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1646 object->reserved = PyInt_AsLong(value);
1650 static PyObject *py_repsFromTo2_get_highwatermark(PyObject *obj, void *closure)
1652 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1653 PyObject *py_highwatermark;
1654 py_highwatermark = py_talloc_reference_ex(drsuapi_DsReplicaHighWaterMark_Type, py_talloc_get_mem_ctx(obj), &object->highwatermark);
1655 return py_highwatermark;
1658 static int py_repsFromTo2_set_highwatermark(PyObject *py_obj, PyObject *value, void *closure)
1660 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1661 PY_CHECK_TYPE(drsuapi_DsReplicaHighWaterMark_Type, value, return -1;);
1662 memcpy(&object->highwatermark, (struct drsuapi_DsReplicaHighWaterMark *)py_talloc_get_ptr(value), sizeof(object->highwatermark));
1666 static PyObject *py_repsFromTo2_get_source_dsa_obj_guid(PyObject *obj, void *closure)
1668 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1669 PyObject *py_source_dsa_obj_guid;
1670 py_source_dsa_obj_guid = py_talloc_reference_ex(GUID_Type, py_talloc_get_mem_ctx(obj), &object->source_dsa_obj_guid);
1671 return py_source_dsa_obj_guid;
1674 static int py_repsFromTo2_set_source_dsa_obj_guid(PyObject *py_obj, PyObject *value, void *closure)
1676 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1677 PY_CHECK_TYPE(GUID_Type, value, return -1;);
1678 memcpy(&object->source_dsa_obj_guid, (struct GUID *)py_talloc_get_ptr(value), sizeof(object->source_dsa_obj_guid));
1682 static PyObject *py_repsFromTo2_get_source_dsa_invocation_id(PyObject *obj, void *closure)
1684 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1685 PyObject *py_source_dsa_invocation_id;
1686 py_source_dsa_invocation_id = py_talloc_reference_ex(GUID_Type, py_talloc_get_mem_ctx(obj), &object->source_dsa_invocation_id);
1687 return py_source_dsa_invocation_id;
1690 static int py_repsFromTo2_set_source_dsa_invocation_id(PyObject *py_obj, PyObject *value, void *closure)
1692 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1693 PY_CHECK_TYPE(GUID_Type, value, return -1;);
1694 memcpy(&object->source_dsa_invocation_id, (struct GUID *)py_talloc_get_ptr(value), sizeof(object->source_dsa_invocation_id));
1698 static PyObject *py_repsFromTo2_get_transport_guid(PyObject *obj, void *closure)
1700 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1701 PyObject *py_transport_guid;
1702 py_transport_guid = py_talloc_reference_ex(GUID_Type, py_talloc_get_mem_ctx(obj), &object->transport_guid);
1703 return py_transport_guid;
1706 static int py_repsFromTo2_set_transport_guid(PyObject *py_obj, PyObject *value, void *closure)
1708 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1709 PY_CHECK_TYPE(GUID_Type, value, return -1;);
1710 memcpy(&object->transport_guid, (struct GUID *)py_talloc_get_ptr(value), sizeof(object->transport_guid));
1714 static PyObject *py_repsFromTo2_get_unknown1(PyObject *obj, void *closure)
1716 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(obj);
1717 PyObject *py_unknown1;
1718 py_unknown1 = PyLong_FromLongLong(object->unknown1);
1722 static int py_repsFromTo2_set_unknown1(PyObject *py_obj, PyObject *value, void *closure)
1724 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1725 if (PyObject_TypeCheck(value, &PyLong_Type)) {
1726 object->unknown1 = PyLong_AsLongLong(value);
1728 if (PyObject_TypeCheck(value, &PyInt_Type)) {
1729 object->unknown1 = PyInt_AsLong(value);
1731 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
1732 PyInt_Type.tp_name, PyLong_Type.tp_name);
1739 static PyGetSetDef py_repsFromTo2_getsetters[] = {
1740 { discard_const_p(char, "blobsize"), py_repsFromTo2_get_blobsize, py_repsFromTo2_set_blobsize },
1741 { discard_const_p(char, "consecutive_sync_failures"), py_repsFromTo2_get_consecutive_sync_failures, py_repsFromTo2_set_consecutive_sync_failures },
1742 { discard_const_p(char, "last_success"), py_repsFromTo2_get_last_success, py_repsFromTo2_set_last_success },
1743 { discard_const_p(char, "last_attempt"), py_repsFromTo2_get_last_attempt, py_repsFromTo2_set_last_attempt },
1744 { discard_const_p(char, "result_last_attempt"), py_repsFromTo2_get_result_last_attempt, py_repsFromTo2_set_result_last_attempt },
1745 { discard_const_p(char, "other_info"), py_repsFromTo2_get_other_info, py_repsFromTo2_set_other_info },
1746 { discard_const_p(char, "other_info_length"), py_repsFromTo2_get_other_info_length, py_repsFromTo2_set_other_info_length },
1747 { discard_const_p(char, "replica_flags"), py_repsFromTo2_get_replica_flags, py_repsFromTo2_set_replica_flags },
1748 { discard_const_p(char, "schedule"), py_repsFromTo2_get_schedule, py_repsFromTo2_set_schedule },
1749 { discard_const_p(char, "reserved"), py_repsFromTo2_get_reserved, py_repsFromTo2_set_reserved },
1750 { discard_const_p(char, "highwatermark"), py_repsFromTo2_get_highwatermark, py_repsFromTo2_set_highwatermark },
1751 { discard_const_p(char, "source_dsa_obj_guid"), py_repsFromTo2_get_source_dsa_obj_guid, py_repsFromTo2_set_source_dsa_obj_guid },
1752 { discard_const_p(char, "source_dsa_invocation_id"), py_repsFromTo2_get_source_dsa_invocation_id, py_repsFromTo2_set_source_dsa_invocation_id },
1753 { discard_const_p(char, "transport_guid"), py_repsFromTo2_get_transport_guid, py_repsFromTo2_set_transport_guid },
1754 { discard_const_p(char, "unknown1"), py_repsFromTo2_get_unknown1, py_repsFromTo2_set_unknown1 },
1758 static PyObject *py_repsFromTo2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
1760 return py_talloc_new(struct repsFromTo2, type);
1763 static PyObject *py_repsFromTo2_ndr_pack(PyObject *py_obj)
1765 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1767 enum ndr_err_code err;
1768 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_repsFromTo2);
1769 if (err != NDR_ERR_SUCCESS) {
1770 PyErr_SetNdrError(err);
1774 return PyString_FromStringAndSize((char *)blob.data, blob.length);
1777 static PyObject *py_repsFromTo2_ndr_unpack(PyObject *py_obj, PyObject *args)
1779 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1781 enum ndr_err_code err;
1782 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
1785 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_repsFromTo2);
1786 if (err != NDR_ERR_SUCCESS) {
1787 PyErr_SetNdrError(err);
1794 static PyObject *py_repsFromTo2_ndr_print(PyObject *py_obj)
1796 struct repsFromTo2 *object = (struct repsFromTo2 *)py_talloc_get_ptr(py_obj);
1798 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_repsFromTo2, "repsFromTo2", object);
1799 return PyString_FromString(retstr);
1802 static PyMethodDef py_repsFromTo2_methods[] = {
1803 { "__ndr_pack__", (PyCFunction)py_repsFromTo2_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
1804 { "__ndr_unpack__", (PyCFunction)py_repsFromTo2_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
1805 { "__ndr_print__", (PyCFunction)py_repsFromTo2_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
1806 { NULL, NULL, 0, NULL }
1810 static PyTypeObject repsFromTo2_Type = {
1811 PyObject_HEAD_INIT(NULL) 0,
1812 .tp_name = "drsblobs.repsFromTo2",
1813 .tp_basicsize = sizeof(py_talloc_Object),
1814 .tp_dealloc = py_talloc_dealloc,
1815 .tp_getset = py_repsFromTo2_getsetters,
1816 .tp_repr = py_talloc_default_repr,
1817 .tp_methods = py_repsFromTo2_methods,
1818 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
1819 .tp_new = py_repsFromTo2_new,
1822 PyObject *py_import_repsFromTo(TALLOC_CTX *mem_ctx, int level, union repsFromTo *in)
1828 ret = py_talloc_reference_ex(&repsFromTo1_Type, mem_ctx, &in->ctr1);
1832 ret = py_talloc_reference_ex(&repsFromTo2_Type, mem_ctx, &in->ctr2);
1836 PyErr_SetString(PyExc_TypeError, "unknown union level");
1840 union repsFromTo *py_export_repsFromTo(TALLOC_CTX *mem_ctx, int level, PyObject *in)
1842 union repsFromTo *ret = talloc_zero(mem_ctx, union repsFromTo);
1845 PY_CHECK_TYPE(&repsFromTo1_Type, in, talloc_free(ret); return NULL;);
1846 memcpy(&ret->ctr1, (struct repsFromTo1 *)py_talloc_get_ptr(in), sizeof(ret->ctr1));
1850 PY_CHECK_TYPE(&repsFromTo2_Type, in, talloc_free(ret); return NULL;);
1851 memcpy(&ret->ctr2, (struct repsFromTo2 *)py_talloc_get_ptr(in), sizeof(ret->ctr2));
1855 PyErr_SetString(PyExc_TypeError, "invalid union level value");
1864 static PyObject *py_repsFromToBlob_get_version(PyObject *obj, void *closure)
1866 struct repsFromToBlob *object = (struct repsFromToBlob *)py_talloc_get_ptr(obj);
1867 PyObject *py_version;
1868 py_version = PyInt_FromLong(object->version);
1872 static int py_repsFromToBlob_set_version(PyObject *py_obj, PyObject *value, void *closure)
1874 struct repsFromToBlob *object = (struct repsFromToBlob *)py_talloc_get_ptr(py_obj);
1875 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1876 object->version = PyInt_AsLong(value);
1880 static PyObject *py_repsFromToBlob_get_reserved(PyObject *obj, void *closure)
1882 struct repsFromToBlob *object = (struct repsFromToBlob *)py_talloc_get_ptr(obj);
1883 PyObject *py_reserved;
1884 py_reserved = PyInt_FromLong(object->reserved);
1888 static int py_repsFromToBlob_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
1890 struct repsFromToBlob *object = (struct repsFromToBlob *)py_talloc_get_ptr(py_obj);
1891 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1892 object->reserved = PyInt_AsLong(value);
1896 static PyObject *py_repsFromToBlob_get_ctr(PyObject *obj, void *closure)
1898 struct repsFromToBlob *object = (struct repsFromToBlob *)py_talloc_get_ptr(obj);
1900 py_ctr = py_import_repsFromTo(py_talloc_get_mem_ctx(obj), object->version, &object->ctr);
1901 if (py_ctr == NULL) {
1907 static int py_repsFromToBlob_set_ctr(PyObject *py_obj, PyObject *value, void *closure)
1909 struct repsFromToBlob *object = (struct repsFromToBlob *)py_talloc_get_ptr(py_obj);
1912 ctr_switch_0 = py_export_repsFromTo(py_talloc_get_mem_ctx(py_obj), object->version, value);
1913 if (ctr_switch_0 == NULL) { return -1; }
1914 memcpy(&object->ctr, ctr_switch_0, sizeof(object->ctr));
1919 static PyGetSetDef py_repsFromToBlob_getsetters[] = {
1920 { discard_const_p(char, "version"), py_repsFromToBlob_get_version, py_repsFromToBlob_set_version },
1921 { discard_const_p(char, "reserved"), py_repsFromToBlob_get_reserved, py_repsFromToBlob_set_reserved },
1922 { discard_const_p(char, "ctr"), py_repsFromToBlob_get_ctr, py_repsFromToBlob_set_ctr },
1926 static PyObject *py_repsFromToBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
1928 return py_talloc_new(struct repsFromToBlob, type);
1931 static PyObject *py_repsFromToBlob_ndr_pack(PyObject *py_obj)
1933 struct repsFromToBlob *object = (struct repsFromToBlob *)py_talloc_get_ptr(py_obj);
1935 enum ndr_err_code err;
1936 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_repsFromToBlob);
1937 if (err != NDR_ERR_SUCCESS) {
1938 PyErr_SetNdrError(err);
1942 return PyString_FromStringAndSize((char *)blob.data, blob.length);
1945 static PyObject *py_repsFromToBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
1947 struct repsFromToBlob *object = (struct repsFromToBlob *)py_talloc_get_ptr(py_obj);
1949 enum ndr_err_code err;
1950 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
1953 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_repsFromToBlob);
1954 if (err != NDR_ERR_SUCCESS) {
1955 PyErr_SetNdrError(err);
1962 static PyObject *py_repsFromToBlob_ndr_print(PyObject *py_obj)
1964 struct repsFromToBlob *object = (struct repsFromToBlob *)py_talloc_get_ptr(py_obj);
1966 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_repsFromToBlob, "repsFromToBlob", object);
1967 return PyString_FromString(retstr);
1970 static PyMethodDef py_repsFromToBlob_methods[] = {
1971 { "__ndr_pack__", (PyCFunction)py_repsFromToBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
1972 { "__ndr_unpack__", (PyCFunction)py_repsFromToBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
1973 { "__ndr_print__", (PyCFunction)py_repsFromToBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
1974 { NULL, NULL, 0, NULL }
1978 static PyTypeObject repsFromToBlob_Type = {
1979 PyObject_HEAD_INIT(NULL) 0,
1980 .tp_name = "drsblobs.repsFromToBlob",
1981 .tp_basicsize = sizeof(py_talloc_Object),
1982 .tp_dealloc = py_talloc_dealloc,
1983 .tp_getset = py_repsFromToBlob_getsetters,
1984 .tp_repr = py_talloc_default_repr,
1985 .tp_methods = py_repsFromToBlob_methods,
1986 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
1987 .tp_new = py_repsFromToBlob_new,
1991 static PyObject *py_partialAttributeSetCtr1_get_count(PyObject *obj, void *closure)
1993 struct partialAttributeSetCtr1 *object = (struct partialAttributeSetCtr1 *)py_talloc_get_ptr(obj);
1995 py_count = PyInt_FromLong(object->count);
1999 static int py_partialAttributeSetCtr1_set_count(PyObject *py_obj, PyObject *value, void *closure)
2001 struct partialAttributeSetCtr1 *object = (struct partialAttributeSetCtr1 *)py_talloc_get_ptr(py_obj);
2002 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2003 object->count = PyInt_AsLong(value);
2007 static PyObject *py_partialAttributeSetCtr1_get_array(PyObject *obj, void *closure)
2009 struct partialAttributeSetCtr1 *object = (struct partialAttributeSetCtr1 *)py_talloc_get_ptr(obj);
2011 py_array = PyList_New(object->count);
2012 if (py_array == NULL) {
2017 for (array_cntr_0 = 0; array_cntr_0 < object->count; array_cntr_0++) {
2018 PyObject *py_array_0;
2019 py_array_0 = PyInt_FromLong(object->array[array_cntr_0]);
2020 PyList_SetItem(py_array, array_cntr_0, py_array_0);
2026 static int py_partialAttributeSetCtr1_set_array(PyObject *py_obj, PyObject *value, void *closure)
2028 struct partialAttributeSetCtr1 *object = (struct partialAttributeSetCtr1 *)py_talloc_get_ptr(py_obj);
2029 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
2032 object->array = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->array, PyList_Size(value));
2033 for (array_cntr_0 = 0; array_cntr_0 < PyList_Size(value); array_cntr_0++) {
2034 PY_CHECK_TYPE(&PyInt_Type, PyList_GetItem(value, array_cntr_0), return -1;);
2035 object->array[array_cntr_0] = PyInt_AsLong(PyList_GetItem(value, array_cntr_0));
2041 static PyGetSetDef py_partialAttributeSetCtr1_getsetters[] = {
2042 { discard_const_p(char, "count"), py_partialAttributeSetCtr1_get_count, py_partialAttributeSetCtr1_set_count },
2043 { discard_const_p(char, "array"), py_partialAttributeSetCtr1_get_array, py_partialAttributeSetCtr1_set_array },
2047 static PyObject *py_partialAttributeSetCtr1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2049 return py_talloc_new(struct partialAttributeSetCtr1, type);
2053 static PyTypeObject partialAttributeSetCtr1_Type = {
2054 PyObject_HEAD_INIT(NULL) 0,
2055 .tp_name = "drsblobs.partialAttributeSetCtr1",
2056 .tp_basicsize = sizeof(py_talloc_Object),
2057 .tp_dealloc = py_talloc_dealloc,
2058 .tp_getset = py_partialAttributeSetCtr1_getsetters,
2059 .tp_repr = py_talloc_default_repr,
2061 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2062 .tp_new = py_partialAttributeSetCtr1_new,
2065 PyObject *py_import_partialAttributeSetCtr(TALLOC_CTX *mem_ctx, int level, union partialAttributeSetCtr *in)
2071 ret = py_talloc_reference_ex(&partialAttributeSetCtr1_Type, mem_ctx, &in->ctr1);
2075 PyErr_SetString(PyExc_TypeError, "unknown union level");
2079 union partialAttributeSetCtr *py_export_partialAttributeSetCtr(TALLOC_CTX *mem_ctx, int level, PyObject *in)
2081 union partialAttributeSetCtr *ret = talloc_zero(mem_ctx, union partialAttributeSetCtr);
2084 PY_CHECK_TYPE(&partialAttributeSetCtr1_Type, in, talloc_free(ret); return NULL;);
2085 memcpy(&ret->ctr1, (struct partialAttributeSetCtr1 *)py_talloc_get_ptr(in), sizeof(ret->ctr1));
2089 PyErr_SetString(PyExc_TypeError, "invalid union level value");
2098 static PyObject *py_partialAttributeSetBlob_get_version(PyObject *obj, void *closure)
2100 struct partialAttributeSetBlob *object = (struct partialAttributeSetBlob *)py_talloc_get_ptr(obj);
2101 PyObject *py_version;
2102 py_version = PyInt_FromLong(object->version);
2106 static int py_partialAttributeSetBlob_set_version(PyObject *py_obj, PyObject *value, void *closure)
2108 struct partialAttributeSetBlob *object = (struct partialAttributeSetBlob *)py_talloc_get_ptr(py_obj);
2109 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2110 object->version = PyInt_AsLong(value);
2114 static PyObject *py_partialAttributeSetBlob_get_reserved(PyObject *obj, void *closure)
2116 struct partialAttributeSetBlob *object = (struct partialAttributeSetBlob *)py_talloc_get_ptr(obj);
2117 PyObject *py_reserved;
2118 py_reserved = PyInt_FromLong(object->reserved);
2122 static int py_partialAttributeSetBlob_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
2124 struct partialAttributeSetBlob *object = (struct partialAttributeSetBlob *)py_talloc_get_ptr(py_obj);
2125 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2126 object->reserved = PyInt_AsLong(value);
2130 static PyObject *py_partialAttributeSetBlob_get_ctr(PyObject *obj, void *closure)
2132 struct partialAttributeSetBlob *object = (struct partialAttributeSetBlob *)py_talloc_get_ptr(obj);
2134 py_ctr = py_import_partialAttributeSetCtr(py_talloc_get_mem_ctx(obj), object->version, &object->ctr);
2135 if (py_ctr == NULL) {
2141 static int py_partialAttributeSetBlob_set_ctr(PyObject *py_obj, PyObject *value, void *closure)
2143 struct partialAttributeSetBlob *object = (struct partialAttributeSetBlob *)py_talloc_get_ptr(py_obj);
2146 ctr_switch_0 = py_export_partialAttributeSetCtr(py_talloc_get_mem_ctx(py_obj), object->version, value);
2147 if (ctr_switch_0 == NULL) { return -1; }
2148 memcpy(&object->ctr, ctr_switch_0, sizeof(object->ctr));
2153 static PyGetSetDef py_partialAttributeSetBlob_getsetters[] = {
2154 { discard_const_p(char, "version"), py_partialAttributeSetBlob_get_version, py_partialAttributeSetBlob_set_version },
2155 { discard_const_p(char, "reserved"), py_partialAttributeSetBlob_get_reserved, py_partialAttributeSetBlob_set_reserved },
2156 { discard_const_p(char, "ctr"), py_partialAttributeSetBlob_get_ctr, py_partialAttributeSetBlob_set_ctr },
2160 static PyObject *py_partialAttributeSetBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2162 return py_talloc_new(struct partialAttributeSetBlob, type);
2165 static PyObject *py_partialAttributeSetBlob_ndr_pack(PyObject *py_obj)
2167 struct partialAttributeSetBlob *object = (struct partialAttributeSetBlob *)py_talloc_get_ptr(py_obj);
2169 enum ndr_err_code err;
2170 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_partialAttributeSetBlob);
2171 if (err != NDR_ERR_SUCCESS) {
2172 PyErr_SetNdrError(err);
2176 return PyString_FromStringAndSize((char *)blob.data, blob.length);
2179 static PyObject *py_partialAttributeSetBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
2181 struct partialAttributeSetBlob *object = (struct partialAttributeSetBlob *)py_talloc_get_ptr(py_obj);
2183 enum ndr_err_code err;
2184 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
2187 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_partialAttributeSetBlob);
2188 if (err != NDR_ERR_SUCCESS) {
2189 PyErr_SetNdrError(err);
2196 static PyObject *py_partialAttributeSetBlob_ndr_print(PyObject *py_obj)
2198 struct partialAttributeSetBlob *object = (struct partialAttributeSetBlob *)py_talloc_get_ptr(py_obj);
2200 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_partialAttributeSetBlob, "partialAttributeSetBlob", object);
2201 return PyString_FromString(retstr);
2204 static PyMethodDef py_partialAttributeSetBlob_methods[] = {
2205 { "__ndr_pack__", (PyCFunction)py_partialAttributeSetBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
2206 { "__ndr_unpack__", (PyCFunction)py_partialAttributeSetBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
2207 { "__ndr_print__", (PyCFunction)py_partialAttributeSetBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
2208 { NULL, NULL, 0, NULL }
2212 static PyTypeObject partialAttributeSetBlob_Type = {
2213 PyObject_HEAD_INIT(NULL) 0,
2214 .tp_name = "drsblobs.partialAttributeSetBlob",
2215 .tp_basicsize = sizeof(py_talloc_Object),
2216 .tp_dealloc = py_talloc_dealloc,
2217 .tp_getset = py_partialAttributeSetBlob_getsetters,
2218 .tp_repr = py_talloc_default_repr,
2219 .tp_methods = py_partialAttributeSetBlob_methods,
2220 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2221 .tp_new = py_partialAttributeSetBlob_new,
2225 static PyObject *py_schemaInfoBlob_get_marker(PyObject *obj, void *closure)
2227 struct schemaInfoBlob *object = (struct schemaInfoBlob *)py_talloc_get_ptr(obj);
2228 PyObject *py_marker;
2229 py_marker = PyInt_FromLong(object->marker);
2233 static int py_schemaInfoBlob_set_marker(PyObject *py_obj, PyObject *value, void *closure)
2235 struct schemaInfoBlob *object = (struct schemaInfoBlob *)py_talloc_get_ptr(py_obj);
2236 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2237 object->marker = PyInt_AsLong(value);
2241 static PyObject *py_schemaInfoBlob_get_revision(PyObject *obj, void *closure)
2243 struct schemaInfoBlob *object = (struct schemaInfoBlob *)py_talloc_get_ptr(obj);
2244 PyObject *py_revision;
2245 py_revision = PyInt_FromLong(object->revision);
2249 static int py_schemaInfoBlob_set_revision(PyObject *py_obj, PyObject *value, void *closure)
2251 struct schemaInfoBlob *object = (struct schemaInfoBlob *)py_talloc_get_ptr(py_obj);
2252 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2253 object->revision = PyInt_AsLong(value);
2257 static PyObject *py_schemaInfoBlob_get_invocation_id(PyObject *obj, void *closure)
2259 struct schemaInfoBlob *object = (struct schemaInfoBlob *)py_talloc_get_ptr(obj);
2260 PyObject *py_invocation_id;
2261 py_invocation_id = py_talloc_reference_ex(GUID_Type, py_talloc_get_mem_ctx(obj), &object->invocation_id);
2262 return py_invocation_id;
2265 static int py_schemaInfoBlob_set_invocation_id(PyObject *py_obj, PyObject *value, void *closure)
2267 struct schemaInfoBlob *object = (struct schemaInfoBlob *)py_talloc_get_ptr(py_obj);
2268 PY_CHECK_TYPE(GUID_Type, value, return -1;);
2269 memcpy(&object->invocation_id, (struct GUID *)py_talloc_get_ptr(value), sizeof(object->invocation_id));
2273 static PyGetSetDef py_schemaInfoBlob_getsetters[] = {
2274 { discard_const_p(char, "marker"), py_schemaInfoBlob_get_marker, py_schemaInfoBlob_set_marker },
2275 { discard_const_p(char, "revision"), py_schemaInfoBlob_get_revision, py_schemaInfoBlob_set_revision },
2276 { discard_const_p(char, "invocation_id"), py_schemaInfoBlob_get_invocation_id, py_schemaInfoBlob_set_invocation_id },
2280 static PyObject *py_schemaInfoBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2282 return py_talloc_new(struct schemaInfoBlob, type);
2285 static PyObject *py_schemaInfoBlob_ndr_pack(PyObject *py_obj)
2287 struct schemaInfoBlob *object = (struct schemaInfoBlob *)py_talloc_get_ptr(py_obj);
2289 enum ndr_err_code err;
2290 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_schemaInfoBlob);
2291 if (err != NDR_ERR_SUCCESS) {
2292 PyErr_SetNdrError(err);
2296 return PyString_FromStringAndSize((char *)blob.data, blob.length);
2299 static PyObject *py_schemaInfoBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
2301 struct schemaInfoBlob *object = (struct schemaInfoBlob *)py_talloc_get_ptr(py_obj);
2303 enum ndr_err_code err;
2304 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
2307 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_schemaInfoBlob);
2308 if (err != NDR_ERR_SUCCESS) {
2309 PyErr_SetNdrError(err);
2316 static PyObject *py_schemaInfoBlob_ndr_print(PyObject *py_obj)
2318 struct schemaInfoBlob *object = (struct schemaInfoBlob *)py_talloc_get_ptr(py_obj);
2320 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_schemaInfoBlob, "schemaInfoBlob", object);
2321 return PyString_FromString(retstr);
2324 static PyMethodDef py_schemaInfoBlob_methods[] = {
2325 { "__ndr_pack__", (PyCFunction)py_schemaInfoBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
2326 { "__ndr_unpack__", (PyCFunction)py_schemaInfoBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
2327 { "__ndr_print__", (PyCFunction)py_schemaInfoBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
2328 { NULL, NULL, 0, NULL }
2332 static PyTypeObject schemaInfoBlob_Type = {
2333 PyObject_HEAD_INIT(NULL) 0,
2334 .tp_name = "drsblobs.schemaInfoBlob",
2335 .tp_basicsize = sizeof(py_talloc_Object),
2336 .tp_dealloc = py_talloc_dealloc,
2337 .tp_getset = py_schemaInfoBlob_getsetters,
2338 .tp_repr = py_talloc_default_repr,
2339 .tp_methods = py_schemaInfoBlob_methods,
2340 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2341 .tp_new = py_schemaInfoBlob_new,
2345 static PyObject *py_drsuapi_MSPrefixMap_Entry_get_entryID(PyObject *obj, void *closure)
2347 struct drsuapi_MSPrefixMap_Entry *object = (struct drsuapi_MSPrefixMap_Entry *)py_talloc_get_ptr(obj);
2348 PyObject *py_entryID;
2349 py_entryID = PyInt_FromLong(object->entryID);
2353 static int py_drsuapi_MSPrefixMap_Entry_set_entryID(PyObject *py_obj, PyObject *value, void *closure)
2355 struct drsuapi_MSPrefixMap_Entry *object = (struct drsuapi_MSPrefixMap_Entry *)py_talloc_get_ptr(py_obj);
2356 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2357 object->entryID = PyInt_AsLong(value);
2361 static PyObject *py_drsuapi_MSPrefixMap_Entry_get_length(PyObject *obj, void *closure)
2363 struct drsuapi_MSPrefixMap_Entry *object = (struct drsuapi_MSPrefixMap_Entry *)py_talloc_get_ptr(obj);
2364 PyObject *py_length;
2365 py_length = PyInt_FromLong(object->length);
2369 static int py_drsuapi_MSPrefixMap_Entry_set_length(PyObject *py_obj, PyObject *value, void *closure)
2371 struct drsuapi_MSPrefixMap_Entry *object = (struct drsuapi_MSPrefixMap_Entry *)py_talloc_get_ptr(py_obj);
2372 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2373 object->length = PyInt_AsLong(value);
2377 static PyObject *py_drsuapi_MSPrefixMap_Entry_get_binary_oid(PyObject *obj, void *closure)
2379 struct drsuapi_MSPrefixMap_Entry *object = (struct drsuapi_MSPrefixMap_Entry *)py_talloc_get_ptr(obj);
2380 PyObject *py_binary_oid;
2381 py_binary_oid = PyList_New(object->length);
2382 if (py_binary_oid == NULL) {
2386 int binary_oid_cntr_0;
2387 for (binary_oid_cntr_0 = 0; binary_oid_cntr_0 < object->length; binary_oid_cntr_0++) {
2388 PyObject *py_binary_oid_0;
2389 py_binary_oid_0 = PyInt_FromLong(object->binary_oid[binary_oid_cntr_0]);
2390 PyList_SetItem(py_binary_oid, binary_oid_cntr_0, py_binary_oid_0);
2393 return py_binary_oid;
2396 static int py_drsuapi_MSPrefixMap_Entry_set_binary_oid(PyObject *py_obj, PyObject *value, void *closure)
2398 struct drsuapi_MSPrefixMap_Entry *object = (struct drsuapi_MSPrefixMap_Entry *)py_talloc_get_ptr(py_obj);
2399 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
2401 int binary_oid_cntr_0;
2402 object->binary_oid = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->binary_oid, PyList_Size(value));
2403 for (binary_oid_cntr_0 = 0; binary_oid_cntr_0 < PyList_Size(value); binary_oid_cntr_0++) {
2404 PY_CHECK_TYPE(&PyInt_Type, PyList_GetItem(value, binary_oid_cntr_0), return -1;);
2405 object->binary_oid[binary_oid_cntr_0] = PyInt_AsLong(PyList_GetItem(value, binary_oid_cntr_0));
2411 static PyGetSetDef py_drsuapi_MSPrefixMap_Entry_getsetters[] = {
2412 { discard_const_p(char, "entryID"), py_drsuapi_MSPrefixMap_Entry_get_entryID, py_drsuapi_MSPrefixMap_Entry_set_entryID },
2413 { discard_const_p(char, "length"), py_drsuapi_MSPrefixMap_Entry_get_length, py_drsuapi_MSPrefixMap_Entry_set_length },
2414 { discard_const_p(char, "binary_oid"), py_drsuapi_MSPrefixMap_Entry_get_binary_oid, py_drsuapi_MSPrefixMap_Entry_set_binary_oid },
2418 static PyObject *py_drsuapi_MSPrefixMap_Entry_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2420 return py_talloc_new(struct drsuapi_MSPrefixMap_Entry, type);
2424 static PyTypeObject drsuapi_MSPrefixMap_Entry_Type = {
2425 PyObject_HEAD_INIT(NULL) 0,
2426 .tp_name = "drsblobs.drsuapi_MSPrefixMap_Entry",
2427 .tp_basicsize = sizeof(py_talloc_Object),
2428 .tp_dealloc = py_talloc_dealloc,
2429 .tp_getset = py_drsuapi_MSPrefixMap_Entry_getsetters,
2430 .tp_repr = py_talloc_default_repr,
2432 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2433 .tp_new = py_drsuapi_MSPrefixMap_Entry_new,
2437 static PyObject *py_drsuapi_MSPrefixMap_Ctr_get_num_entries(PyObject *obj, void *closure)
2439 struct drsuapi_MSPrefixMap_Ctr *object = (struct drsuapi_MSPrefixMap_Ctr *)py_talloc_get_ptr(obj);
2440 PyObject *py_num_entries;
2441 py_num_entries = PyInt_FromLong(object->num_entries);
2442 return py_num_entries;
2445 static int py_drsuapi_MSPrefixMap_Ctr_set_num_entries(PyObject *py_obj, PyObject *value, void *closure)
2447 struct drsuapi_MSPrefixMap_Ctr *object = (struct drsuapi_MSPrefixMap_Ctr *)py_talloc_get_ptr(py_obj);
2448 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2449 object->num_entries = PyInt_AsLong(value);
2453 static PyObject *py_drsuapi_MSPrefixMap_Ctr_get___ndr_size(PyObject *obj, void *closure)
2455 struct drsuapi_MSPrefixMap_Ctr *object = (struct drsuapi_MSPrefixMap_Ctr *)py_talloc_get_ptr(obj);
2456 PyObject *py___ndr_size;
2457 py___ndr_size = PyInt_FromLong(object->__ndr_size);
2458 return py___ndr_size;
2461 static int py_drsuapi_MSPrefixMap_Ctr_set___ndr_size(PyObject *py_obj, PyObject *value, void *closure)
2463 struct drsuapi_MSPrefixMap_Ctr *object = (struct drsuapi_MSPrefixMap_Ctr *)py_talloc_get_ptr(py_obj);
2464 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2465 object->__ndr_size = PyInt_AsLong(value);
2469 static PyObject *py_drsuapi_MSPrefixMap_Ctr_get_entries(PyObject *obj, void *closure)
2471 struct drsuapi_MSPrefixMap_Ctr *object = (struct drsuapi_MSPrefixMap_Ctr *)py_talloc_get_ptr(obj);
2472 PyObject *py_entries;
2473 py_entries = PyList_New(object->num_entries);
2474 if (py_entries == NULL) {
2479 for (entries_cntr_0 = 0; entries_cntr_0 < object->num_entries; entries_cntr_0++) {
2480 PyObject *py_entries_0;
2481 py_entries_0 = py_talloc_reference_ex(&drsuapi_MSPrefixMap_Entry_Type, object->entries, &object->entries[entries_cntr_0]);
2482 PyList_SetItem(py_entries, entries_cntr_0, py_entries_0);
2488 static int py_drsuapi_MSPrefixMap_Ctr_set_entries(PyObject *py_obj, PyObject *value, void *closure)
2490 struct drsuapi_MSPrefixMap_Ctr *object = (struct drsuapi_MSPrefixMap_Ctr *)py_talloc_get_ptr(py_obj);
2491 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
2494 object->entries = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->entries, PyList_Size(value));
2495 for (entries_cntr_0 = 0; entries_cntr_0 < PyList_Size(value); entries_cntr_0++) {
2496 PY_CHECK_TYPE(&drsuapi_MSPrefixMap_Entry_Type, PyList_GetItem(value, entries_cntr_0), return -1;);
2497 memcpy(&object->entries[entries_cntr_0], (struct drsuapi_MSPrefixMap_Entry *)py_talloc_get_ptr(PyList_GetItem(value, entries_cntr_0)), sizeof(object->entries[entries_cntr_0]));
2503 static PyGetSetDef py_drsuapi_MSPrefixMap_Ctr_getsetters[] = {
2504 { discard_const_p(char, "num_entries"), py_drsuapi_MSPrefixMap_Ctr_get_num_entries, py_drsuapi_MSPrefixMap_Ctr_set_num_entries },
2505 { discard_const_p(char, "__ndr_size"), py_drsuapi_MSPrefixMap_Ctr_get___ndr_size, py_drsuapi_MSPrefixMap_Ctr_set___ndr_size },
2506 { discard_const_p(char, "entries"), py_drsuapi_MSPrefixMap_Ctr_get_entries, py_drsuapi_MSPrefixMap_Ctr_set_entries },
2510 static PyObject *py_drsuapi_MSPrefixMap_Ctr_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2512 return py_talloc_new(struct drsuapi_MSPrefixMap_Ctr, type);
2515 static PyObject *py_drsuapi_MSPrefixMap_Ctr_ndr_pack(PyObject *py_obj)
2517 struct drsuapi_MSPrefixMap_Ctr *object = (struct drsuapi_MSPrefixMap_Ctr *)py_talloc_get_ptr(py_obj);
2519 enum ndr_err_code err;
2520 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_drsuapi_MSPrefixMap_Ctr);
2521 if (err != NDR_ERR_SUCCESS) {
2522 PyErr_SetNdrError(err);
2526 return PyString_FromStringAndSize((char *)blob.data, blob.length);
2529 static PyObject *py_drsuapi_MSPrefixMap_Ctr_ndr_unpack(PyObject *py_obj, PyObject *args)
2531 struct drsuapi_MSPrefixMap_Ctr *object = (struct drsuapi_MSPrefixMap_Ctr *)py_talloc_get_ptr(py_obj);
2533 enum ndr_err_code err;
2534 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
2537 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_drsuapi_MSPrefixMap_Ctr);
2538 if (err != NDR_ERR_SUCCESS) {
2539 PyErr_SetNdrError(err);
2546 static PyObject *py_drsuapi_MSPrefixMap_Ctr_ndr_print(PyObject *py_obj)
2548 struct drsuapi_MSPrefixMap_Ctr *object = (struct drsuapi_MSPrefixMap_Ctr *)py_talloc_get_ptr(py_obj);
2550 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_drsuapi_MSPrefixMap_Ctr, "drsuapi_MSPrefixMap_Ctr", object);
2551 return PyString_FromString(retstr);
2554 static PyMethodDef py_drsuapi_MSPrefixMap_Ctr_methods[] = {
2555 { "__ndr_pack__", (PyCFunction)py_drsuapi_MSPrefixMap_Ctr_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
2556 { "__ndr_unpack__", (PyCFunction)py_drsuapi_MSPrefixMap_Ctr_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
2557 { "__ndr_print__", (PyCFunction)py_drsuapi_MSPrefixMap_Ctr_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
2558 { NULL, NULL, 0, NULL }
2562 static PyTypeObject drsuapi_MSPrefixMap_Ctr_Type = {
2563 PyObject_HEAD_INIT(NULL) 0,
2564 .tp_name = "drsblobs.drsuapi_MSPrefixMap_Ctr",
2565 .tp_basicsize = sizeof(py_talloc_Object),
2566 .tp_dealloc = py_talloc_dealloc,
2567 .tp_getset = py_drsuapi_MSPrefixMap_Ctr_getsetters,
2568 .tp_repr = py_talloc_default_repr,
2569 .tp_methods = py_drsuapi_MSPrefixMap_Ctr_methods,
2570 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2571 .tp_new = py_drsuapi_MSPrefixMap_Ctr_new,
2574 PyObject *py_import_prefixMapCtr(TALLOC_CTX *mem_ctx, int level, union prefixMapCtr *in)
2579 case PREFIX_MAP_VERSION_DSDB:
2580 ret = py_talloc_reference_ex(drsuapi_DsReplicaOIDMapping_Ctr_Type, mem_ctx, &in->dsdb);
2584 PyErr_SetString(PyExc_TypeError, "unknown union level");
2588 union prefixMapCtr *py_export_prefixMapCtr(TALLOC_CTX *mem_ctx, int level, PyObject *in)
2590 union prefixMapCtr *ret = talloc_zero(mem_ctx, union prefixMapCtr);
2592 case PREFIX_MAP_VERSION_DSDB:
2593 PY_CHECK_TYPE(drsuapi_DsReplicaOIDMapping_Ctr_Type, in, talloc_free(ret); return NULL;);
2594 memcpy(&ret->dsdb, (struct drsuapi_DsReplicaOIDMapping_Ctr *)py_talloc_get_ptr(in), sizeof(ret->dsdb));
2598 PyErr_SetString(PyExc_TypeError, "invalid union level value");
2607 static PyObject *py_prefixMapBlob_get_version(PyObject *obj, void *closure)
2609 struct prefixMapBlob *object = (struct prefixMapBlob *)py_talloc_get_ptr(obj);
2610 PyObject *py_version;
2611 py_version = PyInt_FromLong(object->version);
2615 static int py_prefixMapBlob_set_version(PyObject *py_obj, PyObject *value, void *closure)
2617 struct prefixMapBlob *object = (struct prefixMapBlob *)py_talloc_get_ptr(py_obj);
2618 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2619 object->version = PyInt_AsLong(value);
2623 static PyObject *py_prefixMapBlob_get_reserved(PyObject *obj, void *closure)
2625 struct prefixMapBlob *object = (struct prefixMapBlob *)py_talloc_get_ptr(obj);
2626 PyObject *py_reserved;
2627 py_reserved = PyInt_FromLong(object->reserved);
2631 static int py_prefixMapBlob_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
2633 struct prefixMapBlob *object = (struct prefixMapBlob *)py_talloc_get_ptr(py_obj);
2634 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2635 object->reserved = PyInt_AsLong(value);
2639 static PyObject *py_prefixMapBlob_get_ctr(PyObject *obj, void *closure)
2641 struct prefixMapBlob *object = (struct prefixMapBlob *)py_talloc_get_ptr(obj);
2643 py_ctr = py_import_prefixMapCtr(py_talloc_get_mem_ctx(obj), object->version, &object->ctr);
2644 if (py_ctr == NULL) {
2650 static int py_prefixMapBlob_set_ctr(PyObject *py_obj, PyObject *value, void *closure)
2652 struct prefixMapBlob *object = (struct prefixMapBlob *)py_talloc_get_ptr(py_obj);
2655 ctr_switch_0 = py_export_prefixMapCtr(py_talloc_get_mem_ctx(py_obj), object->version, value);
2656 if (ctr_switch_0 == NULL) { return -1; }
2657 memcpy(&object->ctr, ctr_switch_0, sizeof(object->ctr));
2662 static PyGetSetDef py_prefixMapBlob_getsetters[] = {
2663 { discard_const_p(char, "version"), py_prefixMapBlob_get_version, py_prefixMapBlob_set_version },
2664 { discard_const_p(char, "reserved"), py_prefixMapBlob_get_reserved, py_prefixMapBlob_set_reserved },
2665 { discard_const_p(char, "ctr"), py_prefixMapBlob_get_ctr, py_prefixMapBlob_set_ctr },
2669 static PyObject *py_prefixMapBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2671 return py_talloc_new(struct prefixMapBlob, type);
2674 static PyObject *py_prefixMapBlob_ndr_pack(PyObject *py_obj)
2676 struct prefixMapBlob *object = (struct prefixMapBlob *)py_talloc_get_ptr(py_obj);
2678 enum ndr_err_code err;
2679 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_prefixMapBlob);
2680 if (err != NDR_ERR_SUCCESS) {
2681 PyErr_SetNdrError(err);
2685 return PyString_FromStringAndSize((char *)blob.data, blob.length);
2688 static PyObject *py_prefixMapBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
2690 struct prefixMapBlob *object = (struct prefixMapBlob *)py_talloc_get_ptr(py_obj);
2692 enum ndr_err_code err;
2693 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
2696 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_prefixMapBlob);
2697 if (err != NDR_ERR_SUCCESS) {
2698 PyErr_SetNdrError(err);
2705 static PyObject *py_prefixMapBlob_ndr_print(PyObject *py_obj)
2707 struct prefixMapBlob *object = (struct prefixMapBlob *)py_talloc_get_ptr(py_obj);
2709 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_prefixMapBlob, "prefixMapBlob", object);
2710 return PyString_FromString(retstr);
2713 static PyMethodDef py_prefixMapBlob_methods[] = {
2714 { "__ndr_pack__", (PyCFunction)py_prefixMapBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
2715 { "__ndr_unpack__", (PyCFunction)py_prefixMapBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
2716 { "__ndr_print__", (PyCFunction)py_prefixMapBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
2717 { NULL, NULL, 0, NULL }
2721 static PyTypeObject prefixMapBlob_Type = {
2722 PyObject_HEAD_INIT(NULL) 0,
2723 .tp_name = "drsblobs.prefixMapBlob",
2724 .tp_basicsize = sizeof(py_talloc_Object),
2725 .tp_dealloc = py_talloc_dealloc,
2726 .tp_getset = py_prefixMapBlob_getsetters,
2727 .tp_repr = py_talloc_default_repr,
2728 .tp_methods = py_prefixMapBlob_methods,
2729 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2730 .tp_new = py_prefixMapBlob_new,
2733 PyObject *py_import_ldapControlDirSyncExtra(TALLOC_CTX *mem_ctx, int level, union ldapControlDirSyncExtra *in)
2744 ret = py_talloc_reference_ex(&replUpToDateVectorBlob_Type, mem_ctx, &in->uptodateness_vector);
2748 PyErr_SetString(PyExc_TypeError, "unknown union level");
2752 union ldapControlDirSyncExtra *py_export_ldapControlDirSyncExtra(TALLOC_CTX *mem_ctx, int level, PyObject *in)
2754 union ldapControlDirSyncExtra *ret = talloc_zero(mem_ctx, union ldapControlDirSyncExtra);
2760 PY_CHECK_TYPE(&replUpToDateVectorBlob_Type, in, talloc_free(ret); return NULL;);
2761 memcpy(&ret->uptodateness_vector, (struct replUpToDateVectorBlob *)py_talloc_get_ptr(in), sizeof(ret->uptodateness_vector));
2770 static PyObject *py_ldapControlDirSyncBlob_get_u1(PyObject *obj, void *closure)
2772 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(obj);
2774 py_u1 = PyInt_FromLong(object->u1);
2778 static int py_ldapControlDirSyncBlob_set_u1(PyObject *py_obj, PyObject *value, void *closure)
2780 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(py_obj);
2781 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2782 object->u1 = PyInt_AsLong(value);
2786 static PyObject *py_ldapControlDirSyncBlob_get_time(PyObject *obj, void *closure)
2788 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(obj);
2790 py_time = PyLong_FromLongLong(object->time);
2794 static int py_ldapControlDirSyncBlob_set_time(PyObject *py_obj, PyObject *value, void *closure)
2796 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(py_obj);
2797 if (PyObject_TypeCheck(value, &PyLong_Type)) {
2798 object->time = PyLong_AsLongLong(value);
2800 if (PyObject_TypeCheck(value, &PyInt_Type)) {
2801 object->time = PyInt_AsLong(value);
2803 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
2804 PyInt_Type.tp_name, PyLong_Type.tp_name);
2811 static PyObject *py_ldapControlDirSyncBlob_get_u2(PyObject *obj, void *closure)
2813 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(obj);
2815 py_u2 = PyInt_FromLong(object->u2);
2819 static int py_ldapControlDirSyncBlob_set_u2(PyObject *py_obj, PyObject *value, void *closure)
2821 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(py_obj);
2822 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2823 object->u2 = PyInt_AsLong(value);
2827 static PyObject *py_ldapControlDirSyncBlob_get_u3(PyObject *obj, void *closure)
2829 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(obj);
2831 py_u3 = PyInt_FromLong(object->u3);
2835 static int py_ldapControlDirSyncBlob_set_u3(PyObject *py_obj, PyObject *value, void *closure)
2837 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(py_obj);
2838 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2839 object->u3 = PyInt_AsLong(value);
2843 static PyObject *py_ldapControlDirSyncBlob_get_extra_length(PyObject *obj, void *closure)
2845 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(obj);
2846 PyObject *py_extra_length;
2847 py_extra_length = PyInt_FromLong(object->extra_length);
2848 return py_extra_length;
2851 static int py_ldapControlDirSyncBlob_set_extra_length(PyObject *py_obj, PyObject *value, void *closure)
2853 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(py_obj);
2854 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2855 object->extra_length = PyInt_AsLong(value);
2859 static PyObject *py_ldapControlDirSyncBlob_get_highwatermark(PyObject *obj, void *closure)
2861 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(obj);
2862 PyObject *py_highwatermark;
2863 py_highwatermark = py_talloc_reference_ex(drsuapi_DsReplicaHighWaterMark_Type, py_talloc_get_mem_ctx(obj), &object->highwatermark);
2864 return py_highwatermark;
2867 static int py_ldapControlDirSyncBlob_set_highwatermark(PyObject *py_obj, PyObject *value, void *closure)
2869 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(py_obj);
2870 PY_CHECK_TYPE(drsuapi_DsReplicaHighWaterMark_Type, value, return -1;);
2871 memcpy(&object->highwatermark, (struct drsuapi_DsReplicaHighWaterMark *)py_talloc_get_ptr(value), sizeof(object->highwatermark));
2875 static PyObject *py_ldapControlDirSyncBlob_get_guid1(PyObject *obj, void *closure)
2877 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(obj);
2879 py_guid1 = py_talloc_reference_ex(GUID_Type, py_talloc_get_mem_ctx(obj), &object->guid1);
2883 static int py_ldapControlDirSyncBlob_set_guid1(PyObject *py_obj, PyObject *value, void *closure)
2885 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(py_obj);
2886 PY_CHECK_TYPE(GUID_Type, value, return -1;);
2887 memcpy(&object->guid1, (struct GUID *)py_talloc_get_ptr(value), sizeof(object->guid1));
2891 static PyObject *py_ldapControlDirSyncBlob_get_extra(PyObject *obj, void *closure)
2893 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(obj);
2895 py_extra = py_import_ldapControlDirSyncExtra(py_talloc_get_mem_ctx(obj), object->extra_length, &object->extra);
2896 if (py_extra == NULL) {
2902 static int py_ldapControlDirSyncBlob_set_extra(PyObject *py_obj, PyObject *value, void *closure)
2904 struct ldapControlDirSyncBlob *object = (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(py_obj);
2906 void *extra_switch_0;
2907 extra_switch_0 = py_export_ldapControlDirSyncExtra(py_talloc_get_mem_ctx(py_obj), object->extra_length, value);
2908 if (extra_switch_0 == NULL) { return -1; }
2909 memcpy(&object->extra, extra_switch_0, sizeof(object->extra));
2914 static PyGetSetDef py_ldapControlDirSyncBlob_getsetters[] = {
2915 { discard_const_p(char, "u1"), py_ldapControlDirSyncBlob_get_u1, py_ldapControlDirSyncBlob_set_u1 },
2916 { discard_const_p(char, "time"), py_ldapControlDirSyncBlob_get_time, py_ldapControlDirSyncBlob_set_time },
2917 { discard_const_p(char, "u2"), py_ldapControlDirSyncBlob_get_u2, py_ldapControlDirSyncBlob_set_u2 },
2918 { discard_const_p(char, "u3"), py_ldapControlDirSyncBlob_get_u3, py_ldapControlDirSyncBlob_set_u3 },
2919 { discard_const_p(char, "extra_length"), py_ldapControlDirSyncBlob_get_extra_length, py_ldapControlDirSyncBlob_set_extra_length },
2920 { discard_const_p(char, "highwatermark"), py_ldapControlDirSyncBlob_get_highwatermark, py_ldapControlDirSyncBlob_set_highwatermark },
2921 { discard_const_p(char, "guid1"), py_ldapControlDirSyncBlob_get_guid1, py_ldapControlDirSyncBlob_set_guid1 },
2922 { discard_const_p(char, "extra"), py_ldapControlDirSyncBlob_get_extra, py_ldapControlDirSyncBlob_set_extra },
2926 static PyObject *py_ldapControlDirSyncBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2928 return py_talloc_new(struct ldapControlDirSyncBlob, type);
2932 static PyTypeObject ldapControlDirSyncBlob_Type = {
2933 PyObject_HEAD_INIT(NULL) 0,
2934 .tp_name = "drsblobs.ldapControlDirSyncBlob",
2935 .tp_basicsize = sizeof(py_talloc_Object),
2936 .tp_dealloc = py_talloc_dealloc,
2937 .tp_getset = py_ldapControlDirSyncBlob_getsetters,
2938 .tp_repr = py_talloc_default_repr,
2940 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2941 .tp_new = py_ldapControlDirSyncBlob_new,
2945 static PyObject *py_ldapControlDirSyncCookie_get_msds(PyObject *obj, void *closure)
2947 struct ldapControlDirSyncCookie *object = (struct ldapControlDirSyncCookie *)py_talloc_get_ptr(obj);
2949 py_msds = PyUnicode_Decode(object->msds, strlen(object->msds), "utf-8", "ignore");
2953 static int py_ldapControlDirSyncCookie_set_msds(PyObject *py_obj, PyObject *value, void *closure)
2955 struct ldapControlDirSyncCookie *object = (struct ldapControlDirSyncCookie *)py_talloc_get_ptr(py_obj);
2956 PY_CHECK_TYPE(&PyUnicode_Type, value, return -1;);
2957 object->msds = PyString_AsString(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
2961 static PyObject *py_ldapControlDirSyncCookie_get_blob(PyObject *obj, void *closure)
2963 struct ldapControlDirSyncCookie *object = (struct ldapControlDirSyncCookie *)py_talloc_get_ptr(obj);
2965 py_blob = py_talloc_reference_ex(&ldapControlDirSyncBlob_Type, py_talloc_get_mem_ctx(obj), &object->blob);
2969 static int py_ldapControlDirSyncCookie_set_blob(PyObject *py_obj, PyObject *value, void *closure)
2971 struct ldapControlDirSyncCookie *object = (struct ldapControlDirSyncCookie *)py_talloc_get_ptr(py_obj);
2972 PY_CHECK_TYPE(&ldapControlDirSyncBlob_Type, value, return -1;);
2973 memcpy(&object->blob, (struct ldapControlDirSyncBlob *)py_talloc_get_ptr(value), sizeof(object->blob));
2977 static PyGetSetDef py_ldapControlDirSyncCookie_getsetters[] = {
2978 { discard_const_p(char, "msds"), py_ldapControlDirSyncCookie_get_msds, py_ldapControlDirSyncCookie_set_msds },
2979 { discard_const_p(char, "blob"), py_ldapControlDirSyncCookie_get_blob, py_ldapControlDirSyncCookie_set_blob },
2983 static PyObject *py_ldapControlDirSyncCookie_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2985 return py_talloc_new(struct ldapControlDirSyncCookie, type);
2988 static PyObject *py_ldapControlDirSyncCookie_ndr_pack(PyObject *py_obj)
2990 struct ldapControlDirSyncCookie *object = (struct ldapControlDirSyncCookie *)py_talloc_get_ptr(py_obj);
2992 enum ndr_err_code err;
2993 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_ldapControlDirSyncCookie);
2994 if (err != NDR_ERR_SUCCESS) {
2995 PyErr_SetNdrError(err);
2999 return PyString_FromStringAndSize((char *)blob.data, blob.length);
3002 static PyObject *py_ldapControlDirSyncCookie_ndr_unpack(PyObject *py_obj, PyObject *args)
3004 struct ldapControlDirSyncCookie *object = (struct ldapControlDirSyncCookie *)py_talloc_get_ptr(py_obj);
3006 enum ndr_err_code err;
3007 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
3010 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_ldapControlDirSyncCookie);
3011 if (err != NDR_ERR_SUCCESS) {
3012 PyErr_SetNdrError(err);
3019 static PyObject *py_ldapControlDirSyncCookie_ndr_print(PyObject *py_obj)
3021 struct ldapControlDirSyncCookie *object = (struct ldapControlDirSyncCookie *)py_talloc_get_ptr(py_obj);
3023 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_ldapControlDirSyncCookie, "ldapControlDirSyncCookie", object);
3024 return PyString_FromString(retstr);
3027 static PyMethodDef py_ldapControlDirSyncCookie_methods[] = {
3028 { "__ndr_pack__", (PyCFunction)py_ldapControlDirSyncCookie_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
3029 { "__ndr_unpack__", (PyCFunction)py_ldapControlDirSyncCookie_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
3030 { "__ndr_print__", (PyCFunction)py_ldapControlDirSyncCookie_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
3031 { NULL, NULL, 0, NULL }
3035 static PyTypeObject ldapControlDirSyncCookie_Type = {
3036 PyObject_HEAD_INIT(NULL) 0,
3037 .tp_name = "drsblobs.ldapControlDirSyncCookie",
3038 .tp_basicsize = sizeof(py_talloc_Object),
3039 .tp_dealloc = py_talloc_dealloc,
3040 .tp_getset = py_ldapControlDirSyncCookie_getsetters,
3041 .tp_repr = py_talloc_default_repr,
3042 .tp_methods = py_ldapControlDirSyncCookie_methods,
3043 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3044 .tp_new = py_ldapControlDirSyncCookie_new,
3048 static PyObject *py_supplementalCredentialsPackage_get_name_len(PyObject *obj, void *closure)
3050 struct supplementalCredentialsPackage *object = (struct supplementalCredentialsPackage *)py_talloc_get_ptr(obj);
3051 PyObject *py_name_len;
3052 py_name_len = PyInt_FromLong(object->name_len);
3056 static int py_supplementalCredentialsPackage_set_name_len(PyObject *py_obj, PyObject *value, void *closure)
3058 struct supplementalCredentialsPackage *object = (struct supplementalCredentialsPackage *)py_talloc_get_ptr(py_obj);
3059 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3060 object->name_len = PyInt_AsLong(value);
3064 static PyObject *py_supplementalCredentialsPackage_get_data_len(PyObject *obj, void *closure)
3066 struct supplementalCredentialsPackage *object = (struct supplementalCredentialsPackage *)py_talloc_get_ptr(obj);
3067 PyObject *py_data_len;
3068 py_data_len = PyInt_FromLong(object->data_len);
3072 static int py_supplementalCredentialsPackage_set_data_len(PyObject *py_obj, PyObject *value, void *closure)
3074 struct supplementalCredentialsPackage *object = (struct supplementalCredentialsPackage *)py_talloc_get_ptr(py_obj);
3075 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3076 object->data_len = PyInt_AsLong(value);
3080 static PyObject *py_supplementalCredentialsPackage_get_reserved(PyObject *obj, void *closure)
3082 struct supplementalCredentialsPackage *object = (struct supplementalCredentialsPackage *)py_talloc_get_ptr(obj);
3083 PyObject *py_reserved;
3084 py_reserved = PyInt_FromLong(object->reserved);
3088 static int py_supplementalCredentialsPackage_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
3090 struct supplementalCredentialsPackage *object = (struct supplementalCredentialsPackage *)py_talloc_get_ptr(py_obj);
3091 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3092 object->reserved = PyInt_AsLong(value);
3096 static PyObject *py_supplementalCredentialsPackage_get_name(PyObject *obj, void *closure)
3098 struct supplementalCredentialsPackage *object = (struct supplementalCredentialsPackage *)py_talloc_get_ptr(obj);
3100 py_name = PyUnicode_Decode(object->name, strlen(object->name), "utf-8", "ignore");
3104 static int py_supplementalCredentialsPackage_set_name(PyObject *py_obj, PyObject *value, void *closure)
3106 struct supplementalCredentialsPackage *object = (struct supplementalCredentialsPackage *)py_talloc_get_ptr(py_obj);
3107 PY_CHECK_TYPE(&PyUnicode_Type, value, return -1;);
3108 object->name = PyString_AsString(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
3112 static PyObject *py_supplementalCredentialsPackage_get_data(PyObject *obj, void *closure)
3114 struct supplementalCredentialsPackage *object = (struct supplementalCredentialsPackage *)py_talloc_get_ptr(obj);
3116 py_data = PyUnicode_Decode(object->data, strlen(object->data), "utf-8", "ignore");
3120 static int py_supplementalCredentialsPackage_set_data(PyObject *py_obj, PyObject *value, void *closure)
3122 struct supplementalCredentialsPackage *object = (struct supplementalCredentialsPackage *)py_talloc_get_ptr(py_obj);
3123 PY_CHECK_TYPE(&PyUnicode_Type, value, return -1;);
3124 object->data = PyString_AsString(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
3128 static PyGetSetDef py_supplementalCredentialsPackage_getsetters[] = {
3129 { discard_const_p(char, "name_len"), py_supplementalCredentialsPackage_get_name_len, py_supplementalCredentialsPackage_set_name_len },
3130 { discard_const_p(char, "data_len"), py_supplementalCredentialsPackage_get_data_len, py_supplementalCredentialsPackage_set_data_len },
3131 { discard_const_p(char, "reserved"), py_supplementalCredentialsPackage_get_reserved, py_supplementalCredentialsPackage_set_reserved },
3132 { discard_const_p(char, "name"), py_supplementalCredentialsPackage_get_name, py_supplementalCredentialsPackage_set_name },
3133 { discard_const_p(char, "data"), py_supplementalCredentialsPackage_get_data, py_supplementalCredentialsPackage_set_data },
3137 static PyObject *py_supplementalCredentialsPackage_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3139 return py_talloc_new(struct supplementalCredentialsPackage, type);
3143 static PyTypeObject supplementalCredentialsPackage_Type = {
3144 PyObject_HEAD_INIT(NULL) 0,
3145 .tp_name = "drsblobs.supplementalCredentialsPackage",
3146 .tp_basicsize = sizeof(py_talloc_Object),
3147 .tp_dealloc = py_talloc_dealloc,
3148 .tp_getset = py_supplementalCredentialsPackage_getsetters,
3149 .tp_repr = py_talloc_default_repr,
3151 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3152 .tp_new = py_supplementalCredentialsPackage_new,
3156 static PyObject *py_supplementalCredentialsSubBlob_get_prefix(PyObject *obj, void *closure)
3158 struct supplementalCredentialsSubBlob *object = (struct supplementalCredentialsSubBlob *)py_talloc_get_ptr(obj);
3159 PyObject *py_prefix;
3160 py_prefix = PyUnicode_Decode(object->prefix, strlen(object->prefix), "utf-8", "ignore");
3164 static int py_supplementalCredentialsSubBlob_set_prefix(PyObject *py_obj, PyObject *value, void *closure)
3166 struct supplementalCredentialsSubBlob *object = (struct supplementalCredentialsSubBlob *)py_talloc_get_ptr(py_obj);
3167 PY_CHECK_TYPE(&PyUnicode_Type, value, return -1;);
3168 object->prefix = PyString_AsString(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
3172 static PyObject *py_supplementalCredentialsSubBlob_get_signature(PyObject *obj, void *closure)
3174 struct supplementalCredentialsSubBlob *object = (struct supplementalCredentialsSubBlob *)py_talloc_get_ptr(obj);
3175 PyObject *py_signature;
3176 py_signature = PyInt_FromLong(object->signature);
3177 return py_signature;
3180 static int py_supplementalCredentialsSubBlob_set_signature(PyObject *py_obj, PyObject *value, void *closure)
3182 struct supplementalCredentialsSubBlob *object = (struct supplementalCredentialsSubBlob *)py_talloc_get_ptr(py_obj);
3183 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3184 object->signature = PyInt_AsLong(value);
3188 static PyObject *py_supplementalCredentialsSubBlob_get_num_packages(PyObject *obj, void *closure)
3190 struct supplementalCredentialsSubBlob *object = (struct supplementalCredentialsSubBlob *)py_talloc_get_ptr(obj);
3191 PyObject *py_num_packages;
3192 py_num_packages = PyInt_FromLong(object->num_packages);
3193 return py_num_packages;
3196 static int py_supplementalCredentialsSubBlob_set_num_packages(PyObject *py_obj, PyObject *value, void *closure)
3198 struct supplementalCredentialsSubBlob *object = (struct supplementalCredentialsSubBlob *)py_talloc_get_ptr(py_obj);
3199 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3200 object->num_packages = PyInt_AsLong(value);
3204 static PyObject *py_supplementalCredentialsSubBlob_get_packages(PyObject *obj, void *closure)
3206 struct supplementalCredentialsSubBlob *object = (struct supplementalCredentialsSubBlob *)py_talloc_get_ptr(obj);
3207 PyObject *py_packages;
3208 py_packages = PyList_New(object->num_packages);
3209 if (py_packages == NULL) {
3213 int packages_cntr_0;
3214 for (packages_cntr_0 = 0; packages_cntr_0 < object->num_packages; packages_cntr_0++) {
3215 PyObject *py_packages_0;
3216 py_packages_0 = py_talloc_reference_ex(&supplementalCredentialsPackage_Type, object->packages, &object->packages[packages_cntr_0]);
3217 PyList_SetItem(py_packages, packages_cntr_0, py_packages_0);
3223 static int py_supplementalCredentialsSubBlob_set_packages(PyObject *py_obj, PyObject *value, void *closure)
3225 struct supplementalCredentialsSubBlob *object = (struct supplementalCredentialsSubBlob *)py_talloc_get_ptr(py_obj);
3226 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
3228 int packages_cntr_0;
3229 object->packages = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->packages, PyList_Size(value));
3230 for (packages_cntr_0 = 0; packages_cntr_0 < PyList_Size(value); packages_cntr_0++) {
3231 PY_CHECK_TYPE(&supplementalCredentialsPackage_Type, PyList_GetItem(value, packages_cntr_0), return -1;);
3232 memcpy(&object->packages[packages_cntr_0], (struct supplementalCredentialsPackage *)py_talloc_get_ptr(PyList_GetItem(value, packages_cntr_0)), sizeof(object->packages[packages_cntr_0]));
3238 static PyGetSetDef py_supplementalCredentialsSubBlob_getsetters[] = {
3239 { discard_const_p(char, "prefix"), py_supplementalCredentialsSubBlob_get_prefix, py_supplementalCredentialsSubBlob_set_prefix },
3240 { discard_const_p(char, "signature"), py_supplementalCredentialsSubBlob_get_signature, py_supplementalCredentialsSubBlob_set_signature },
3241 { discard_const_p(char, "num_packages"), py_supplementalCredentialsSubBlob_get_num_packages, py_supplementalCredentialsSubBlob_set_num_packages },
3242 { discard_const_p(char, "packages"), py_supplementalCredentialsSubBlob_get_packages, py_supplementalCredentialsSubBlob_set_packages },
3246 static PyObject *py_supplementalCredentialsSubBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3248 return py_talloc_new(struct supplementalCredentialsSubBlob, type);
3252 static PyTypeObject supplementalCredentialsSubBlob_Type = {
3253 PyObject_HEAD_INIT(NULL) 0,
3254 .tp_name = "drsblobs.supplementalCredentialsSubBlob",
3255 .tp_basicsize = sizeof(py_talloc_Object),
3256 .tp_dealloc = py_talloc_dealloc,
3257 .tp_getset = py_supplementalCredentialsSubBlob_getsetters,
3258 .tp_repr = py_talloc_default_repr,
3260 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3261 .tp_new = py_supplementalCredentialsSubBlob_new,
3265 static PyObject *py_supplementalCredentialsBlob_get_unknown1(PyObject *obj, void *closure)
3267 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(obj);
3268 PyObject *py_unknown1;
3269 py_unknown1 = PyInt_FromLong(object->unknown1);
3273 static int py_supplementalCredentialsBlob_set_unknown1(PyObject *py_obj, PyObject *value, void *closure)
3275 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(py_obj);
3276 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3277 object->unknown1 = PyInt_AsLong(value);
3281 static PyObject *py_supplementalCredentialsBlob_get___ndr_size(PyObject *obj, void *closure)
3283 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(obj);
3284 PyObject *py___ndr_size;
3285 py___ndr_size = PyInt_FromLong(object->__ndr_size);
3286 return py___ndr_size;
3289 static int py_supplementalCredentialsBlob_set___ndr_size(PyObject *py_obj, PyObject *value, void *closure)
3291 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(py_obj);
3292 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3293 object->__ndr_size = PyInt_AsLong(value);
3297 static PyObject *py_supplementalCredentialsBlob_get_unknown2(PyObject *obj, void *closure)
3299 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(obj);
3300 PyObject *py_unknown2;
3301 py_unknown2 = PyInt_FromLong(object->unknown2);
3305 static int py_supplementalCredentialsBlob_set_unknown2(PyObject *py_obj, PyObject *value, void *closure)
3307 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(py_obj);
3308 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3309 object->unknown2 = PyInt_AsLong(value);
3313 static PyObject *py_supplementalCredentialsBlob_get_sub(PyObject *obj, void *closure)
3315 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(obj);
3317 py_sub = py_talloc_reference_ex(&supplementalCredentialsSubBlob_Type, py_talloc_get_mem_ctx(obj), &object->sub);
3321 static int py_supplementalCredentialsBlob_set_sub(PyObject *py_obj, PyObject *value, void *closure)
3323 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(py_obj);
3324 PY_CHECK_TYPE(&supplementalCredentialsSubBlob_Type, value, return -1;);
3325 memcpy(&object->sub, (struct supplementalCredentialsSubBlob *)py_talloc_get_ptr(value), sizeof(object->sub));
3329 static PyObject *py_supplementalCredentialsBlob_get_unknown3(PyObject *obj, void *closure)
3331 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(obj);
3332 PyObject *py_unknown3;
3333 py_unknown3 = PyInt_FromLong(object->unknown3);
3337 static int py_supplementalCredentialsBlob_set_unknown3(PyObject *py_obj, PyObject *value, void *closure)
3339 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(py_obj);
3340 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3341 object->unknown3 = PyInt_AsLong(value);
3345 static PyGetSetDef py_supplementalCredentialsBlob_getsetters[] = {
3346 { discard_const_p(char, "unknown1"), py_supplementalCredentialsBlob_get_unknown1, py_supplementalCredentialsBlob_set_unknown1 },
3347 { discard_const_p(char, "__ndr_size"), py_supplementalCredentialsBlob_get___ndr_size, py_supplementalCredentialsBlob_set___ndr_size },
3348 { discard_const_p(char, "unknown2"), py_supplementalCredentialsBlob_get_unknown2, py_supplementalCredentialsBlob_set_unknown2 },
3349 { discard_const_p(char, "sub"), py_supplementalCredentialsBlob_get_sub, py_supplementalCredentialsBlob_set_sub },
3350 { discard_const_p(char, "unknown3"), py_supplementalCredentialsBlob_get_unknown3, py_supplementalCredentialsBlob_set_unknown3 },
3354 static PyObject *py_supplementalCredentialsBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3356 return py_talloc_new(struct supplementalCredentialsBlob, type);
3359 static PyObject *py_supplementalCredentialsBlob_ndr_pack(PyObject *py_obj)
3361 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(py_obj);
3363 enum ndr_err_code err;
3364 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_supplementalCredentialsBlob);
3365 if (err != NDR_ERR_SUCCESS) {
3366 PyErr_SetNdrError(err);
3370 return PyString_FromStringAndSize((char *)blob.data, blob.length);
3373 static PyObject *py_supplementalCredentialsBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
3375 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(py_obj);
3377 enum ndr_err_code err;
3378 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
3381 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_supplementalCredentialsBlob);
3382 if (err != NDR_ERR_SUCCESS) {
3383 PyErr_SetNdrError(err);
3390 static PyObject *py_supplementalCredentialsBlob_ndr_print(PyObject *py_obj)
3392 struct supplementalCredentialsBlob *object = (struct supplementalCredentialsBlob *)py_talloc_get_ptr(py_obj);
3394 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_supplementalCredentialsBlob, "supplementalCredentialsBlob", object);
3395 return PyString_FromString(retstr);
3398 static PyMethodDef py_supplementalCredentialsBlob_methods[] = {
3399 { "__ndr_pack__", (PyCFunction)py_supplementalCredentialsBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
3400 { "__ndr_unpack__", (PyCFunction)py_supplementalCredentialsBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
3401 { "__ndr_print__", (PyCFunction)py_supplementalCredentialsBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
3402 { NULL, NULL, 0, NULL }
3406 static PyTypeObject supplementalCredentialsBlob_Type = {
3407 PyObject_HEAD_INIT(NULL) 0,
3408 .tp_name = "drsblobs.supplementalCredentialsBlob",
3409 .tp_basicsize = sizeof(py_talloc_Object),
3410 .tp_dealloc = py_talloc_dealloc,
3411 .tp_getset = py_supplementalCredentialsBlob_getsetters,
3412 .tp_repr = py_talloc_default_repr,
3413 .tp_methods = py_supplementalCredentialsBlob_methods,
3414 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3415 .tp_new = py_supplementalCredentialsBlob_new,
3419 static PyObject *py_package_PackagesBlob_get_names(PyObject *obj, void *closure)
3421 struct package_PackagesBlob *object = (struct package_PackagesBlob *)py_talloc_get_ptr(obj);
3423 py_names = PyCObject_FromTallocPtr(object->names);
3427 static int py_package_PackagesBlob_set_names(PyObject *py_obj, PyObject *value, void *closure)
3429 struct package_PackagesBlob *object = (struct package_PackagesBlob *)py_talloc_get_ptr(py_obj);
3430 object->names = PyCObject_AsVoidPtr(value);
3434 static PyGetSetDef py_package_PackagesBlob_getsetters[] = {
3435 { discard_const_p(char, "names"), py_package_PackagesBlob_get_names, py_package_PackagesBlob_set_names },
3439 static PyObject *py_package_PackagesBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3441 return py_talloc_new(struct package_PackagesBlob, type);
3444 static PyObject *py_package_PackagesBlob_ndr_pack(PyObject *py_obj)
3446 struct package_PackagesBlob *object = (struct package_PackagesBlob *)py_talloc_get_ptr(py_obj);
3448 enum ndr_err_code err;
3449 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_package_PackagesBlob);
3450 if (err != NDR_ERR_SUCCESS) {
3451 PyErr_SetNdrError(err);
3455 return PyString_FromStringAndSize((char *)blob.data, blob.length);
3458 static PyObject *py_package_PackagesBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
3460 struct package_PackagesBlob *object = (struct package_PackagesBlob *)py_talloc_get_ptr(py_obj);
3462 enum ndr_err_code err;
3463 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
3466 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_package_PackagesBlob);
3467 if (err != NDR_ERR_SUCCESS) {
3468 PyErr_SetNdrError(err);
3475 static PyObject *py_package_PackagesBlob_ndr_print(PyObject *py_obj)
3477 struct package_PackagesBlob *object = (struct package_PackagesBlob *)py_talloc_get_ptr(py_obj);
3479 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_package_PackagesBlob, "package_PackagesBlob", object);
3480 return PyString_FromString(retstr);
3483 static PyMethodDef py_package_PackagesBlob_methods[] = {
3484 { "__ndr_pack__", (PyCFunction)py_package_PackagesBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
3485 { "__ndr_unpack__", (PyCFunction)py_package_PackagesBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
3486 { "__ndr_print__", (PyCFunction)py_package_PackagesBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
3487 { NULL, NULL, 0, NULL }
3491 static PyTypeObject package_PackagesBlob_Type = {
3492 PyObject_HEAD_INIT(NULL) 0,
3493 .tp_name = "drsblobs.package_PackagesBlob",
3494 .tp_basicsize = sizeof(py_talloc_Object),
3495 .tp_dealloc = py_talloc_dealloc,
3496 .tp_getset = py_package_PackagesBlob_getsetters,
3497 .tp_repr = py_talloc_default_repr,
3498 .tp_methods = py_package_PackagesBlob_methods,
3499 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3500 .tp_new = py_package_PackagesBlob_new,
3504 static PyObject *py_package_PrimaryCLEARTEXTBlob_get_cleartext(PyObject *obj, void *closure)
3506 struct package_PrimaryCLEARTEXTBlob *object = (struct package_PrimaryCLEARTEXTBlob *)py_talloc_get_ptr(obj);
3507 PyObject *py_cleartext;
3508 py_cleartext = PyString_FromStringAndSize((char *)(object->cleartext).data, (object->cleartext).length);
3509 return py_cleartext;
3512 static int py_package_PrimaryCLEARTEXTBlob_set_cleartext(PyObject *py_obj, PyObject *value, void *closure)
3514 struct package_PrimaryCLEARTEXTBlob *object = (struct package_PrimaryCLEARTEXTBlob *)py_talloc_get_ptr(py_obj);
3515 object->cleartext = data_blob_talloc(py_talloc_get_mem_ctx(py_obj), PyString_AsString(value), PyString_Size(value));
3519 static PyGetSetDef py_package_PrimaryCLEARTEXTBlob_getsetters[] = {
3520 { discard_const_p(char, "cleartext"), py_package_PrimaryCLEARTEXTBlob_get_cleartext, py_package_PrimaryCLEARTEXTBlob_set_cleartext },
3524 static PyObject *py_package_PrimaryCLEARTEXTBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3526 return py_talloc_new(struct package_PrimaryCLEARTEXTBlob, type);
3529 static PyObject *py_package_PrimaryCLEARTEXTBlob_ndr_pack(PyObject *py_obj)
3531 struct package_PrimaryCLEARTEXTBlob *object = (struct package_PrimaryCLEARTEXTBlob *)py_talloc_get_ptr(py_obj);
3533 enum ndr_err_code err;
3534 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_package_PrimaryCLEARTEXTBlob);
3535 if (err != NDR_ERR_SUCCESS) {
3536 PyErr_SetNdrError(err);
3540 return PyString_FromStringAndSize((char *)blob.data, blob.length);
3543 static PyObject *py_package_PrimaryCLEARTEXTBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
3545 struct package_PrimaryCLEARTEXTBlob *object = (struct package_PrimaryCLEARTEXTBlob *)py_talloc_get_ptr(py_obj);
3547 enum ndr_err_code err;
3548 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
3551 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_package_PrimaryCLEARTEXTBlob);
3552 if (err != NDR_ERR_SUCCESS) {
3553 PyErr_SetNdrError(err);
3560 static PyObject *py_package_PrimaryCLEARTEXTBlob_ndr_print(PyObject *py_obj)
3562 struct package_PrimaryCLEARTEXTBlob *object = (struct package_PrimaryCLEARTEXTBlob *)py_talloc_get_ptr(py_obj);
3564 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_package_PrimaryCLEARTEXTBlob, "package_PrimaryCLEARTEXTBlob", object);
3565 return PyString_FromString(retstr);
3568 static PyMethodDef py_package_PrimaryCLEARTEXTBlob_methods[] = {
3569 { "__ndr_pack__", (PyCFunction)py_package_PrimaryCLEARTEXTBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
3570 { "__ndr_unpack__", (PyCFunction)py_package_PrimaryCLEARTEXTBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
3571 { "__ndr_print__", (PyCFunction)py_package_PrimaryCLEARTEXTBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
3572 { NULL, NULL, 0, NULL }
3576 static PyTypeObject package_PrimaryCLEARTEXTBlob_Type = {
3577 PyObject_HEAD_INIT(NULL) 0,
3578 .tp_name = "drsblobs.package_PrimaryCLEARTEXTBlob",
3579 .tp_basicsize = sizeof(py_talloc_Object),
3580 .tp_dealloc = py_talloc_dealloc,
3581 .tp_getset = py_package_PrimaryCLEARTEXTBlob_getsetters,
3582 .tp_repr = py_talloc_default_repr,
3583 .tp_methods = py_package_PrimaryCLEARTEXTBlob_methods,
3584 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3585 .tp_new = py_package_PrimaryCLEARTEXTBlob_new,
3589 static PyObject *py_package_PrimaryWDigestHash_get_hash(PyObject *obj, void *closure)
3591 struct package_PrimaryWDigestHash *object = (struct package_PrimaryWDigestHash *)py_talloc_get_ptr(obj);
3593 py_hash = PyList_New(16);
3594 if (py_hash == NULL) {
3599 for (hash_cntr_0 = 0; hash_cntr_0 < 16; hash_cntr_0++) {
3600 PyObject *py_hash_0;
3601 py_hash_0 = PyInt_FromLong(object->hash[hash_cntr_0]);
3602 PyList_SetItem(py_hash, hash_cntr_0, py_hash_0);
3608 static int py_package_PrimaryWDigestHash_set_hash(PyObject *py_obj, PyObject *value, void *closure)
3610 struct package_PrimaryWDigestHash *object = (struct package_PrimaryWDigestHash *)py_talloc_get_ptr(py_obj);
3611 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
3614 for (hash_cntr_0 = 0; hash_cntr_0 < PyList_Size(value); hash_cntr_0++) {
3615 PY_CHECK_TYPE(&PyInt_Type, PyList_GetItem(value, hash_cntr_0), return -1;);
3616 object->hash[hash_cntr_0] = PyInt_AsLong(PyList_GetItem(value, hash_cntr_0));
3622 static PyGetSetDef py_package_PrimaryWDigestHash_getsetters[] = {
3623 { discard_const_p(char, "hash"), py_package_PrimaryWDigestHash_get_hash, py_package_PrimaryWDigestHash_set_hash },
3627 static PyObject *py_package_PrimaryWDigestHash_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3629 return py_talloc_new(struct package_PrimaryWDigestHash, type);
3633 static PyTypeObject package_PrimaryWDigestHash_Type = {
3634 PyObject_HEAD_INIT(NULL) 0,
3635 .tp_name = "drsblobs.package_PrimaryWDigestHash",
3636 .tp_basicsize = sizeof(py_talloc_Object),
3637 .tp_dealloc = py_talloc_dealloc,
3638 .tp_getset = py_package_PrimaryWDigestHash_getsetters,
3639 .tp_repr = py_talloc_default_repr,
3641 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3642 .tp_new = py_package_PrimaryWDigestHash_new,
3646 static PyObject *py_package_PrimaryWDigestBlob_get_unknown1(PyObject *obj, void *closure)
3648 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(obj);
3649 PyObject *py_unknown1;
3650 py_unknown1 = PyInt_FromLong(object->unknown1);
3654 static int py_package_PrimaryWDigestBlob_set_unknown1(PyObject *py_obj, PyObject *value, void *closure)
3656 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(py_obj);
3657 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3658 object->unknown1 = PyInt_AsLong(value);
3662 static PyObject *py_package_PrimaryWDigestBlob_get_unknown2(PyObject *obj, void *closure)
3664 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(obj);
3665 PyObject *py_unknown2;
3666 py_unknown2 = PyInt_FromLong(object->unknown2);
3670 static int py_package_PrimaryWDigestBlob_set_unknown2(PyObject *py_obj, PyObject *value, void *closure)
3672 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(py_obj);
3673 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3674 object->unknown2 = PyInt_AsLong(value);
3678 static PyObject *py_package_PrimaryWDigestBlob_get_num_hashes(PyObject *obj, void *closure)
3680 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(obj);
3681 PyObject *py_num_hashes;
3682 py_num_hashes = PyInt_FromLong(object->num_hashes);
3683 return py_num_hashes;
3686 static int py_package_PrimaryWDigestBlob_set_num_hashes(PyObject *py_obj, PyObject *value, void *closure)
3688 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(py_obj);
3689 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3690 object->num_hashes = PyInt_AsLong(value);
3694 static PyObject *py_package_PrimaryWDigestBlob_get_unknown3(PyObject *obj, void *closure)
3696 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(obj);
3697 PyObject *py_unknown3;
3698 py_unknown3 = PyInt_FromLong(object->unknown3);
3702 static int py_package_PrimaryWDigestBlob_set_unknown3(PyObject *py_obj, PyObject *value, void *closure)
3704 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(py_obj);
3705 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3706 object->unknown3 = PyInt_AsLong(value);
3710 static PyObject *py_package_PrimaryWDigestBlob_get_uuknown4(PyObject *obj, void *closure)
3712 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(obj);
3713 PyObject *py_uuknown4;
3714 py_uuknown4 = PyLong_FromLongLong(object->uuknown4);
3718 static int py_package_PrimaryWDigestBlob_set_uuknown4(PyObject *py_obj, PyObject *value, void *closure)
3720 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(py_obj);
3721 if (PyObject_TypeCheck(value, &PyLong_Type)) {
3722 object->uuknown4 = PyLong_AsLongLong(value);
3724 if (PyObject_TypeCheck(value, &PyInt_Type)) {
3725 object->uuknown4 = PyInt_AsLong(value);
3727 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
3728 PyInt_Type.tp_name, PyLong_Type.tp_name);
3735 static PyObject *py_package_PrimaryWDigestBlob_get_hashes(PyObject *obj, void *closure)
3737 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(obj);
3738 PyObject *py_hashes;
3739 py_hashes = PyList_New(object->num_hashes);
3740 if (py_hashes == NULL) {
3745 for (hashes_cntr_0 = 0; hashes_cntr_0 < object->num_hashes; hashes_cntr_0++) {
3746 PyObject *py_hashes_0;
3747 py_hashes_0 = py_talloc_reference_ex(&package_PrimaryWDigestHash_Type, object->hashes, &object->hashes[hashes_cntr_0]);
3748 PyList_SetItem(py_hashes, hashes_cntr_0, py_hashes_0);
3754 static int py_package_PrimaryWDigestBlob_set_hashes(PyObject *py_obj, PyObject *value, void *closure)
3756 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(py_obj);
3757 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
3760 object->hashes = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->hashes, PyList_Size(value));
3761 for (hashes_cntr_0 = 0; hashes_cntr_0 < PyList_Size(value); hashes_cntr_0++) {
3762 PY_CHECK_TYPE(&package_PrimaryWDigestHash_Type, PyList_GetItem(value, hashes_cntr_0), return -1;);
3763 memcpy(&object->hashes[hashes_cntr_0], (struct package_PrimaryWDigestHash *)py_talloc_get_ptr(PyList_GetItem(value, hashes_cntr_0)), sizeof(object->hashes[hashes_cntr_0]));
3769 static PyGetSetDef py_package_PrimaryWDigestBlob_getsetters[] = {
3770 { discard_const_p(char, "unknown1"), py_package_PrimaryWDigestBlob_get_unknown1, py_package_PrimaryWDigestBlob_set_unknown1 },
3771 { discard_const_p(char, "unknown2"), py_package_PrimaryWDigestBlob_get_unknown2, py_package_PrimaryWDigestBlob_set_unknown2 },
3772 { discard_const_p(char, "num_hashes"), py_package_PrimaryWDigestBlob_get_num_hashes, py_package_PrimaryWDigestBlob_set_num_hashes },
3773 { discard_const_p(char, "unknown3"), py_package_PrimaryWDigestBlob_get_unknown3, py_package_PrimaryWDigestBlob_set_unknown3 },
3774 { discard_const_p(char, "uuknown4"), py_package_PrimaryWDigestBlob_get_uuknown4, py_package_PrimaryWDigestBlob_set_uuknown4 },
3775 { discard_const_p(char, "hashes"), py_package_PrimaryWDigestBlob_get_hashes, py_package_PrimaryWDigestBlob_set_hashes },
3779 static PyObject *py_package_PrimaryWDigestBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3781 return py_talloc_new(struct package_PrimaryWDigestBlob, type);
3784 static PyObject *py_package_PrimaryWDigestBlob_ndr_pack(PyObject *py_obj)
3786 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(py_obj);
3788 enum ndr_err_code err;
3789 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_package_PrimaryWDigestBlob);
3790 if (err != NDR_ERR_SUCCESS) {
3791 PyErr_SetNdrError(err);
3795 return PyString_FromStringAndSize((char *)blob.data, blob.length);
3798 static PyObject *py_package_PrimaryWDigestBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
3800 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(py_obj);
3802 enum ndr_err_code err;
3803 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
3806 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_package_PrimaryWDigestBlob);
3807 if (err != NDR_ERR_SUCCESS) {
3808 PyErr_SetNdrError(err);
3815 static PyObject *py_package_PrimaryWDigestBlob_ndr_print(PyObject *py_obj)
3817 struct package_PrimaryWDigestBlob *object = (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(py_obj);
3819 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_package_PrimaryWDigestBlob, "package_PrimaryWDigestBlob", object);
3820 return PyString_FromString(retstr);
3823 static PyMethodDef py_package_PrimaryWDigestBlob_methods[] = {
3824 { "__ndr_pack__", (PyCFunction)py_package_PrimaryWDigestBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
3825 { "__ndr_unpack__", (PyCFunction)py_package_PrimaryWDigestBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
3826 { "__ndr_print__", (PyCFunction)py_package_PrimaryWDigestBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
3827 { NULL, NULL, 0, NULL }
3831 static PyTypeObject package_PrimaryWDigestBlob_Type = {
3832 PyObject_HEAD_INIT(NULL) 0,
3833 .tp_name = "drsblobs.package_PrimaryWDigestBlob",
3834 .tp_basicsize = sizeof(py_talloc_Object),
3835 .tp_dealloc = py_talloc_dealloc,
3836 .tp_getset = py_package_PrimaryWDigestBlob_getsetters,
3837 .tp_repr = py_talloc_default_repr,
3838 .tp_methods = py_package_PrimaryWDigestBlob_methods,
3839 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3840 .tp_new = py_package_PrimaryWDigestBlob_new,
3844 static PyObject *py_AuthInfoNone_get_size(PyObject *obj, void *closure)
3846 struct AuthInfoNone *object = (struct AuthInfoNone *)py_talloc_get_ptr(obj);
3848 py_size = PyInt_FromLong(object->size);
3852 static int py_AuthInfoNone_set_size(PyObject *py_obj, PyObject *value, void *closure)
3854 struct AuthInfoNone *object = (struct AuthInfoNone *)py_talloc_get_ptr(py_obj);
3855 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3856 object->size = PyInt_AsLong(value);
3860 static PyGetSetDef py_AuthInfoNone_getsetters[] = {
3861 { discard_const_p(char, "size"), py_AuthInfoNone_get_size, py_AuthInfoNone_set_size },
3865 static PyObject *py_AuthInfoNone_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3867 return py_talloc_new(struct AuthInfoNone, type);
3871 static PyTypeObject AuthInfoNone_Type = {
3872 PyObject_HEAD_INIT(NULL) 0,
3873 .tp_name = "drsblobs.AuthInfoNone",
3874 .tp_basicsize = sizeof(py_talloc_Object),
3875 .tp_dealloc = py_talloc_dealloc,
3876 .tp_getset = py_AuthInfoNone_getsetters,
3877 .tp_repr = py_talloc_default_repr,
3879 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3880 .tp_new = py_AuthInfoNone_new,
3884 static PyObject *py_AuthInfoNT4Owf_get_size(PyObject *obj, void *closure)
3886 struct AuthInfoNT4Owf *object = (struct AuthInfoNT4Owf *)py_talloc_get_ptr(obj);
3888 py_size = PyInt_FromLong(object->size);
3892 static int py_AuthInfoNT4Owf_set_size(PyObject *py_obj, PyObject *value, void *closure)
3894 struct AuthInfoNT4Owf *object = (struct AuthInfoNT4Owf *)py_talloc_get_ptr(py_obj);
3895 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3896 object->size = PyInt_AsLong(value);
3900 static PyObject *py_AuthInfoNT4Owf_get_password(PyObject *obj, void *closure)
3902 struct AuthInfoNT4Owf *object = (struct AuthInfoNT4Owf *)py_talloc_get_ptr(obj);
3903 PyObject *py_password;
3904 py_password = py_talloc_reference_ex(samr_Password_Type, py_talloc_get_mem_ctx(obj), &object->password);
3908 static int py_AuthInfoNT4Owf_set_password(PyObject *py_obj, PyObject *value, void *closure)
3910 struct AuthInfoNT4Owf *object = (struct AuthInfoNT4Owf *)py_talloc_get_ptr(py_obj);
3911 PY_CHECK_TYPE(samr_Password_Type, value, return -1;);
3912 memcpy(&object->password, (struct samr_Password *)py_talloc_get_ptr(value), sizeof(object->password));
3916 static PyGetSetDef py_AuthInfoNT4Owf_getsetters[] = {
3917 { discard_const_p(char, "size"), py_AuthInfoNT4Owf_get_size, py_AuthInfoNT4Owf_set_size },
3918 { discard_const_p(char, "password"), py_AuthInfoNT4Owf_get_password, py_AuthInfoNT4Owf_set_password },
3922 static PyObject *py_AuthInfoNT4Owf_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3924 return py_talloc_new(struct AuthInfoNT4Owf, type);
3928 static PyTypeObject AuthInfoNT4Owf_Type = {
3929 PyObject_HEAD_INIT(NULL) 0,
3930 .tp_name = "drsblobs.AuthInfoNT4Owf",
3931 .tp_basicsize = sizeof(py_talloc_Object),
3932 .tp_dealloc = py_talloc_dealloc,
3933 .tp_getset = py_AuthInfoNT4Owf_getsetters,
3934 .tp_repr = py_talloc_default_repr,
3936 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3937 .tp_new = py_AuthInfoNT4Owf_new,
3941 static PyObject *py_AuthInfoClear_get_size(PyObject *obj, void *closure)
3943 struct AuthInfoClear *object = (struct AuthInfoClear *)py_talloc_get_ptr(obj);
3945 py_size = PyInt_FromLong(object->size);
3949 static int py_AuthInfoClear_set_size(PyObject *py_obj, PyObject *value, void *closure)
3951 struct AuthInfoClear *object = (struct AuthInfoClear *)py_talloc_get_ptr(py_obj);
3952 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3953 object->size = PyInt_AsLong(value);
3957 static PyObject *py_AuthInfoClear_get_password(PyObject *obj, void *closure)
3959 struct AuthInfoClear *object = (struct AuthInfoClear *)py_talloc_get_ptr(obj);
3960 PyObject *py_password;
3961 py_password = PyList_New(object->size);
3962 if (py_password == NULL) {
3966 int password_cntr_0;
3967 for (password_cntr_0 = 0; password_cntr_0 < object->size; password_cntr_0++) {
3968 PyObject *py_password_0;
3969 py_password_0 = PyInt_FromLong(object->password[password_cntr_0]);
3970 PyList_SetItem(py_password, password_cntr_0, py_password_0);
3976 static int py_AuthInfoClear_set_password(PyObject *py_obj, PyObject *value, void *closure)
3978 struct AuthInfoClear *object = (struct AuthInfoClear *)py_talloc_get_ptr(py_obj);
3979 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
3981 int password_cntr_0;
3982 object->password = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->password, PyList_Size(value));
3983 for (password_cntr_0 = 0; password_cntr_0 < PyList_Size(value); password_cntr_0++) {
3984 PY_CHECK_TYPE(&PyInt_Type, PyList_GetItem(value, password_cntr_0), return -1;);
3985 object->password[password_cntr_0] = PyInt_AsLong(PyList_GetItem(value, password_cntr_0));
3991 static PyGetSetDef py_AuthInfoClear_getsetters[] = {
3992 { discard_const_p(char, "size"), py_AuthInfoClear_get_size, py_AuthInfoClear_set_size },
3993 { discard_const_p(char, "password"), py_AuthInfoClear_get_password, py_AuthInfoClear_set_password },
3997 static PyObject *py_AuthInfoClear_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3999 return py_talloc_new(struct AuthInfoClear, type);
4003 static PyTypeObject AuthInfoClear_Type = {
4004 PyObject_HEAD_INIT(NULL) 0,
4005 .tp_name = "drsblobs.AuthInfoClear",
4006 .tp_basicsize = sizeof(py_talloc_Object),
4007 .tp_dealloc = py_talloc_dealloc,
4008 .tp_getset = py_AuthInfoClear_getsetters,
4009 .tp_repr = py_talloc_default_repr,
4011 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4012 .tp_new = py_AuthInfoClear_new,
4016 static PyObject *py_AuthInfoVersion_get_size(PyObject *obj, void *closure)
4018 struct AuthInfoVersion *object = (struct AuthInfoVersion *)py_talloc_get_ptr(obj);
4020 py_size = PyInt_FromLong(object->size);
4024 static int py_AuthInfoVersion_set_size(PyObject *py_obj, PyObject *value, void *closure)
4026 struct AuthInfoVersion *object = (struct AuthInfoVersion *)py_talloc_get_ptr(py_obj);
4027 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4028 object->size = PyInt_AsLong(value);
4032 static PyObject *py_AuthInfoVersion_get_version(PyObject *obj, void *closure)
4034 struct AuthInfoVersion *object = (struct AuthInfoVersion *)py_talloc_get_ptr(obj);
4035 PyObject *py_version;
4036 py_version = PyInt_FromLong(object->version);
4040 static int py_AuthInfoVersion_set_version(PyObject *py_obj, PyObject *value, void *closure)
4042 struct AuthInfoVersion *object = (struct AuthInfoVersion *)py_talloc_get_ptr(py_obj);
4043 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4044 object->version = PyInt_AsLong(value);
4048 static PyGetSetDef py_AuthInfoVersion_getsetters[] = {
4049 { discard_const_p(char, "size"), py_AuthInfoVersion_get_size, py_AuthInfoVersion_set_size },
4050 { discard_const_p(char, "version"), py_AuthInfoVersion_get_version, py_AuthInfoVersion_set_version },
4054 static PyObject *py_AuthInfoVersion_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4056 return py_talloc_new(struct AuthInfoVersion, type);
4060 static PyTypeObject AuthInfoVersion_Type = {
4061 PyObject_HEAD_INIT(NULL) 0,
4062 .tp_name = "drsblobs.AuthInfoVersion",
4063 .tp_basicsize = sizeof(py_talloc_Object),
4064 .tp_dealloc = py_talloc_dealloc,
4065 .tp_getset = py_AuthInfoVersion_getsetters,
4066 .tp_repr = py_talloc_default_repr,
4068 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4069 .tp_new = py_AuthInfoVersion_new,
4072 PyObject *py_import_AuthInfo(TALLOC_CTX *mem_ctx, int level, union AuthInfo *in)
4077 case TRUST_AUTH_TYPE_NONE:
4078 ret = py_talloc_reference_ex(&AuthInfoNone_Type, mem_ctx, &in->none);
4081 case TRUST_AUTH_TYPE_NT4OWF:
4082 ret = py_talloc_reference_ex(&AuthInfoNT4Owf_Type, mem_ctx, &in->nt4owf);
4085 case TRUST_AUTH_TYPE_CLEAR:
4086 ret = py_talloc_reference_ex(&AuthInfoClear_Type, mem_ctx, &in->clear);
4089 case TRUST_AUTH_TYPE_VERSION:
4090 ret = py_talloc_reference_ex(&AuthInfoVersion_Type, mem_ctx, &in->version);
4094 PyErr_SetString(PyExc_TypeError, "unknown union level");
4098 union AuthInfo *py_export_AuthInfo(TALLOC_CTX *mem_ctx, int level, PyObject *in)
4100 union AuthInfo *ret = talloc_zero(mem_ctx, union AuthInfo);
4102 case TRUST_AUTH_TYPE_NONE:
4103 PY_CHECK_TYPE(&AuthInfoNone_Type, in, talloc_free(ret); return NULL;);
4104 memcpy(&ret->none, (struct AuthInfoNone *)py_talloc_get_ptr(in), sizeof(ret->none));
4107 case TRUST_AUTH_TYPE_NT4OWF:
4108 PY_CHECK_TYPE(&AuthInfoNT4Owf_Type, in, talloc_free(ret); return NULL;);
4109 memcpy(&ret->nt4owf, (struct AuthInfoNT4Owf *)py_talloc_get_ptr(in), sizeof(ret->nt4owf));
4112 case TRUST_AUTH_TYPE_CLEAR:
4113 PY_CHECK_TYPE(&AuthInfoClear_Type, in, talloc_free(ret); return NULL;);
4114 memcpy(&ret->clear, (struct AuthInfoClear *)py_talloc_get_ptr(in), sizeof(ret->clear));
4117 case TRUST_AUTH_TYPE_VERSION:
4118 PY_CHECK_TYPE(&AuthInfoVersion_Type, in, talloc_free(ret); return NULL;);
4119 memcpy(&ret->version, (struct AuthInfoVersion *)py_talloc_get_ptr(in), sizeof(ret->version));
4123 PyErr_SetString(PyExc_TypeError, "invalid union level value");
4132 static PyObject *py_AuthenticationInformation_get_LastUpdateTime(PyObject *obj, void *closure)
4134 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(obj);
4135 PyObject *py_LastUpdateTime;
4136 py_LastUpdateTime = PyLong_FromLongLong(object->LastUpdateTime);
4137 return py_LastUpdateTime;
4140 static int py_AuthenticationInformation_set_LastUpdateTime(PyObject *py_obj, PyObject *value, void *closure)
4142 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(py_obj);
4143 if (PyObject_TypeCheck(value, &PyLong_Type)) {
4144 object->LastUpdateTime = PyLong_AsLongLong(value);
4146 if (PyObject_TypeCheck(value, &PyInt_Type)) {
4147 object->LastUpdateTime = PyInt_AsLong(value);
4149 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
4150 PyInt_Type.tp_name, PyLong_Type.tp_name);
4157 static PyObject *py_AuthenticationInformation_get_AuthType(PyObject *obj, void *closure)
4159 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(obj);
4160 PyObject *py_AuthType;
4161 py_AuthType = PyInt_FromLong(object->AuthType);
4165 static int py_AuthenticationInformation_set_AuthType(PyObject *py_obj, PyObject *value, void *closure)
4167 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(py_obj);
4168 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4169 object->AuthType = PyInt_AsLong(value);
4173 static PyObject *py_AuthenticationInformation_get_AuthInfo(PyObject *obj, void *closure)
4175 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(obj);
4176 PyObject *py_AuthInfo;
4177 py_AuthInfo = py_import_AuthInfo(py_talloc_get_mem_ctx(obj), object->AuthType, &object->AuthInfo);
4178 if (py_AuthInfo == NULL) {
4184 static int py_AuthenticationInformation_set_AuthInfo(PyObject *py_obj, PyObject *value, void *closure)
4186 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(py_obj);
4188 void *AuthInfo_switch_0;
4189 AuthInfo_switch_0 = py_export_AuthInfo(py_talloc_get_mem_ctx(py_obj), object->AuthType, value);
4190 if (AuthInfo_switch_0 == NULL) { return -1; }
4191 memcpy(&object->AuthInfo, AuthInfo_switch_0, sizeof(object->AuthInfo));
4196 static PyObject *py_AuthenticationInformation_get__pad(PyObject *obj, void *closure)
4198 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(obj);
4200 py__pad = PyString_FromStringAndSize((char *)(object->_pad).data, (object->_pad).length);
4204 static int py_AuthenticationInformation_set__pad(PyObject *py_obj, PyObject *value, void *closure)
4206 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(py_obj);
4207 object->_pad = data_blob_talloc(py_talloc_get_mem_ctx(py_obj), PyString_AsString(value), PyString_Size(value));
4211 static PyGetSetDef py_AuthenticationInformation_getsetters[] = {
4212 { discard_const_p(char, "LastUpdateTime"), py_AuthenticationInformation_get_LastUpdateTime, py_AuthenticationInformation_set_LastUpdateTime },
4213 { discard_const_p(char, "AuthType"), py_AuthenticationInformation_get_AuthType, py_AuthenticationInformation_set_AuthType },
4214 { discard_const_p(char, "AuthInfo"), py_AuthenticationInformation_get_AuthInfo, py_AuthenticationInformation_set_AuthInfo },
4215 { discard_const_p(char, "_pad"), py_AuthenticationInformation_get__pad, py_AuthenticationInformation_set__pad },
4219 static PyObject *py_AuthenticationInformation_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4221 return py_talloc_new(struct AuthenticationInformation, type);
4224 static PyObject *py_AuthenticationInformation_ndr_pack(PyObject *py_obj)
4226 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(py_obj);
4228 enum ndr_err_code err;
4229 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_AuthenticationInformation);
4230 if (err != NDR_ERR_SUCCESS) {
4231 PyErr_SetNdrError(err);
4235 return PyString_FromStringAndSize((char *)blob.data, blob.length);
4238 static PyObject *py_AuthenticationInformation_ndr_unpack(PyObject *py_obj, PyObject *args)
4240 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(py_obj);
4242 enum ndr_err_code err;
4243 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
4246 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_AuthenticationInformation);
4247 if (err != NDR_ERR_SUCCESS) {
4248 PyErr_SetNdrError(err);
4255 static PyObject *py_AuthenticationInformation_ndr_print(PyObject *py_obj)
4257 struct AuthenticationInformation *object = (struct AuthenticationInformation *)py_talloc_get_ptr(py_obj);
4259 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_AuthenticationInformation, "AuthenticationInformation", object);
4260 return PyString_FromString(retstr);
4263 static PyMethodDef py_AuthenticationInformation_methods[] = {
4264 { "__ndr_pack__", (PyCFunction)py_AuthenticationInformation_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
4265 { "__ndr_unpack__", (PyCFunction)py_AuthenticationInformation_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
4266 { "__ndr_print__", (PyCFunction)py_AuthenticationInformation_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
4267 { NULL, NULL, 0, NULL }
4271 static PyTypeObject AuthenticationInformation_Type = {
4272 PyObject_HEAD_INIT(NULL) 0,
4273 .tp_name = "drsblobs.AuthenticationInformation",
4274 .tp_basicsize = sizeof(py_talloc_Object),
4275 .tp_dealloc = py_talloc_dealloc,
4276 .tp_getset = py_AuthenticationInformation_getsetters,
4277 .tp_repr = py_talloc_default_repr,
4278 .tp_methods = py_AuthenticationInformation_methods,
4279 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4280 .tp_new = py_AuthenticationInformation_new,
4284 static PyObject *py_AuthenticationInformationArray_get_array(PyObject *obj, void *closure)
4286 struct AuthenticationInformationArray *object = (struct AuthenticationInformationArray *)py_talloc_get_ptr(obj);
4288 py_array = PyList_New(1);
4289 if (py_array == NULL) {
4294 for (array_cntr_0 = 0; array_cntr_0 < 1; array_cntr_0++) {
4295 PyObject *py_array_0;
4296 py_array_0 = py_talloc_reference_ex(&AuthenticationInformation_Type, object->array, &object->array[array_cntr_0]);
4297 PyList_SetItem(py_array, array_cntr_0, py_array_0);
4303 static int py_AuthenticationInformationArray_set_array(PyObject *py_obj, PyObject *value, void *closure)
4305 struct AuthenticationInformationArray *object = (struct AuthenticationInformationArray *)py_talloc_get_ptr(py_obj);
4306 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
4309 object->array = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->array, PyList_Size(value));
4310 for (array_cntr_0 = 0; array_cntr_0 < PyList_Size(value); array_cntr_0++) {
4311 PY_CHECK_TYPE(&AuthenticationInformation_Type, PyList_GetItem(value, array_cntr_0), return -1;);
4312 memcpy(&object->array[array_cntr_0], (struct AuthenticationInformation *)py_talloc_get_ptr(PyList_GetItem(value, array_cntr_0)), sizeof(object->array[array_cntr_0]));
4318 static PyGetSetDef py_AuthenticationInformationArray_getsetters[] = {
4319 { discard_const_p(char, "array"), py_AuthenticationInformationArray_get_array, py_AuthenticationInformationArray_set_array },
4323 static PyObject *py_AuthenticationInformationArray_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4325 return py_talloc_new(struct AuthenticationInformationArray, type);
4329 static PyTypeObject AuthenticationInformationArray_Type = {
4330 PyObject_HEAD_INIT(NULL) 0,
4331 .tp_name = "drsblobs.AuthenticationInformationArray",
4332 .tp_basicsize = sizeof(py_talloc_Object),
4333 .tp_dealloc = py_talloc_dealloc,
4334 .tp_getset = py_AuthenticationInformationArray_getsetters,
4335 .tp_repr = py_talloc_default_repr,
4337 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4338 .tp_new = py_AuthenticationInformationArray_new,
4342 static PyObject *py_trustAuthInOutBlob_get_count(PyObject *obj, void *closure)
4344 struct trustAuthInOutBlob *object = (struct trustAuthInOutBlob *)py_talloc_get_ptr(obj);
4346 py_count = PyInt_FromLong(object->count);
4350 static int py_trustAuthInOutBlob_set_count(PyObject *py_obj, PyObject *value, void *closure)
4352 struct trustAuthInOutBlob *object = (struct trustAuthInOutBlob *)py_talloc_get_ptr(py_obj);
4353 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4354 object->count = PyInt_AsLong(value);
4358 static PyObject *py_trustAuthInOutBlob_get_current(PyObject *obj, void *closure)
4360 struct trustAuthInOutBlob *object = (struct trustAuthInOutBlob *)py_talloc_get_ptr(obj);
4361 PyObject *py_current;
4362 if (object->current == NULL) {
4363 py_current = Py_None;
4364 Py_INCREF(py_current);
4366 py_current = py_talloc_reference_ex(&AuthenticationInformationArray_Type, object->current, object->current);
4371 static int py_trustAuthInOutBlob_set_current(PyObject *py_obj, PyObject *value, void *closure)
4373 struct trustAuthInOutBlob *object = (struct trustAuthInOutBlob *)py_talloc_get_ptr(py_obj);
4374 talloc_free(object->current);
4375 if (value == Py_None) {
4376 object->current = NULL;
4378 object->current = talloc_ptrtype(py_talloc_get_mem_ctx(py_obj), object->current);
4379 PY_CHECK_TYPE(&AuthenticationInformationArray_Type, value, return -1;);
4380 object->current = (struct AuthenticationInformationArray *)py_talloc_get_ptr(value);
4385 static PyObject *py_trustAuthInOutBlob_get_previous(PyObject *obj, void *closure)
4387 struct trustAuthInOutBlob *object = (struct trustAuthInOutBlob *)py_talloc_get_ptr(obj);
4388 PyObject *py_previous;
4389 if (object->previous == NULL) {
4390 py_previous = Py_None;
4391 Py_INCREF(py_previous);
4393 py_previous = py_talloc_reference_ex(&AuthenticationInformationArray_Type, object->previous, object->previous);
4398 static int py_trustAuthInOutBlob_set_previous(PyObject *py_obj, PyObject *value, void *closure)
4400 struct trustAuthInOutBlob *object = (struct trustAuthInOutBlob *)py_talloc_get_ptr(py_obj);
4401 talloc_free(object->previous);
4402 if (value == Py_None) {
4403 object->previous = NULL;
4405 object->previous = talloc_ptrtype(py_talloc_get_mem_ctx(py_obj), object->previous);
4406 PY_CHECK_TYPE(&AuthenticationInformationArray_Type, value, return -1;);
4407 object->previous = (struct AuthenticationInformationArray *)py_talloc_get_ptr(value);
4412 static PyGetSetDef py_trustAuthInOutBlob_getsetters[] = {
4413 { discard_const_p(char, "count"), py_trustAuthInOutBlob_get_count, py_trustAuthInOutBlob_set_count },
4414 { discard_const_p(char, "current"), py_trustAuthInOutBlob_get_current, py_trustAuthInOutBlob_set_current },
4415 { discard_const_p(char, "previous"), py_trustAuthInOutBlob_get_previous, py_trustAuthInOutBlob_set_previous },
4419 static PyObject *py_trustAuthInOutBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4421 return py_talloc_new(struct trustAuthInOutBlob, type);
4424 static PyObject *py_trustAuthInOutBlob_ndr_pack(PyObject *py_obj)
4426 struct trustAuthInOutBlob *object = (struct trustAuthInOutBlob *)py_talloc_get_ptr(py_obj);
4428 enum ndr_err_code err;
4429 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_trustAuthInOutBlob);
4430 if (err != NDR_ERR_SUCCESS) {
4431 PyErr_SetNdrError(err);
4435 return PyString_FromStringAndSize((char *)blob.data, blob.length);
4438 static PyObject *py_trustAuthInOutBlob_ndr_unpack(PyObject *py_obj, PyObject *args)
4440 struct trustAuthInOutBlob *object = (struct trustAuthInOutBlob *)py_talloc_get_ptr(py_obj);
4442 enum ndr_err_code err;
4443 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
4446 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_trustAuthInOutBlob);
4447 if (err != NDR_ERR_SUCCESS) {
4448 PyErr_SetNdrError(err);
4455 static PyObject *py_trustAuthInOutBlob_ndr_print(PyObject *py_obj)
4457 struct trustAuthInOutBlob *object = (struct trustAuthInOutBlob *)py_talloc_get_ptr(py_obj);
4459 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_trustAuthInOutBlob, "trustAuthInOutBlob", object);
4460 return PyString_FromString(retstr);
4463 static PyMethodDef py_trustAuthInOutBlob_methods[] = {
4464 { "__ndr_pack__", (PyCFunction)py_trustAuthInOutBlob_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
4465 { "__ndr_unpack__", (PyCFunction)py_trustAuthInOutBlob_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
4466 { "__ndr_print__", (PyCFunction)py_trustAuthInOutBlob_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
4467 { NULL, NULL, 0, NULL }
4471 static PyTypeObject trustAuthInOutBlob_Type = {
4472 PyObject_HEAD_INIT(NULL) 0,
4473 .tp_name = "drsblobs.trustAuthInOutBlob",
4474 .tp_basicsize = sizeof(py_talloc_Object),
4475 .tp_dealloc = py_talloc_dealloc,
4476 .tp_getset = py_trustAuthInOutBlob_getsetters,
4477 .tp_repr = py_talloc_default_repr,
4478 .tp_methods = py_trustAuthInOutBlob_methods,
4479 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4480 .tp_new = py_trustAuthInOutBlob_new,
4484 static PyObject *py_trustCurrentPasswords_get_count(PyObject *obj, void *closure)
4486 struct trustCurrentPasswords *object = (struct trustCurrentPasswords *)py_talloc_get_ptr(obj);
4488 py_count = PyInt_FromLong(object->count);
4492 static int py_trustCurrentPasswords_set_count(PyObject *py_obj, PyObject *value, void *closure)
4494 struct trustCurrentPasswords *object = (struct trustCurrentPasswords *)py_talloc_get_ptr(py_obj);
4495 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4496 object->count = PyInt_AsLong(value);
4500 static PyObject *py_trustCurrentPasswords_get_current(PyObject *obj, void *closure)
4502 struct trustCurrentPasswords *object = (struct trustCurrentPasswords *)py_talloc_get_ptr(obj);
4503 PyObject *py_current;
4504 py_current = PyList_New(object->count);
4505 if (py_current == NULL) {
4510 for (current_cntr_0 = 0; current_cntr_0 < object->count; current_cntr_0++) {
4511 PyObject *py_current_0;
4512 if (object->current[current_cntr_0] == NULL) {
4513 py_current_0 = Py_None;
4514 Py_INCREF(py_current_0);
4516 py_current_0 = py_talloc_reference_ex(&AuthenticationInformation_Type, object->current[current_cntr_0], object->current[current_cntr_0]);
4518 PyList_SetItem(py_current, current_cntr_0, py_current_0);
4524 static int py_trustCurrentPasswords_set_current(PyObject *py_obj, PyObject *value, void *closure)
4526 struct trustCurrentPasswords *object = (struct trustCurrentPasswords *)py_talloc_get_ptr(py_obj);
4527 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
4530 object->current = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->current, PyList_Size(value));
4531 for (current_cntr_0 = 0; current_cntr_0 < PyList_Size(value); current_cntr_0++) {
4532 if (PyList_GetItem(value, current_cntr_0) == Py_None) {
4533 object->current[current_cntr_0] = NULL;
4535 object->current[current_cntr_0] = talloc_ptrtype(object->current, object->current[current_cntr_0]);
4536 PY_CHECK_TYPE(&AuthenticationInformation_Type, PyList_GetItem(value, current_cntr_0), return -1;);
4537 object->current[current_cntr_0] = (struct AuthenticationInformation *)py_talloc_get_ptr(PyList_GetItem(value, current_cntr_0));
4544 static PyGetSetDef py_trustCurrentPasswords_getsetters[] = {
4545 { discard_const_p(char, "count"), py_trustCurrentPasswords_get_count, py_trustCurrentPasswords_set_count },
4546 { discard_const_p(char, "current"), py_trustCurrentPasswords_get_current, py_trustCurrentPasswords_set_current },
4550 static PyObject *py_trustCurrentPasswords_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4552 return py_talloc_new(struct trustCurrentPasswords, type);
4555 static PyObject *py_trustCurrentPasswords_ndr_pack(PyObject *py_obj)
4557 struct trustCurrentPasswords *object = (struct trustCurrentPasswords *)py_talloc_get_ptr(py_obj);
4559 enum ndr_err_code err;
4560 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_trustCurrentPasswords);
4561 if (err != NDR_ERR_SUCCESS) {
4562 PyErr_SetNdrError(err);
4566 return PyString_FromStringAndSize((char *)blob.data, blob.length);
4569 static PyObject *py_trustCurrentPasswords_ndr_unpack(PyObject *py_obj, PyObject *args)
4571 struct trustCurrentPasswords *object = (struct trustCurrentPasswords *)py_talloc_get_ptr(py_obj);
4573 enum ndr_err_code err;
4574 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
4577 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_trustCurrentPasswords);
4578 if (err != NDR_ERR_SUCCESS) {
4579 PyErr_SetNdrError(err);
4586 static PyObject *py_trustCurrentPasswords_ndr_print(PyObject *py_obj)
4588 struct trustCurrentPasswords *object = (struct trustCurrentPasswords *)py_talloc_get_ptr(py_obj);
4590 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_trustCurrentPasswords, "trustCurrentPasswords", object);
4591 return PyString_FromString(retstr);
4594 static PyMethodDef py_trustCurrentPasswords_methods[] = {
4595 { "__ndr_pack__", (PyCFunction)py_trustCurrentPasswords_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
4596 { "__ndr_unpack__", (PyCFunction)py_trustCurrentPasswords_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
4597 { "__ndr_print__", (PyCFunction)py_trustCurrentPasswords_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
4598 { NULL, NULL, 0, NULL }
4602 static PyTypeObject trustCurrentPasswords_Type = {
4603 PyObject_HEAD_INIT(NULL) 0,
4604 .tp_name = "drsblobs.trustCurrentPasswords",
4605 .tp_basicsize = sizeof(py_talloc_Object),
4606 .tp_dealloc = py_talloc_dealloc,
4607 .tp_getset = py_trustCurrentPasswords_getsetters,
4608 .tp_repr = py_talloc_default_repr,
4609 .tp_methods = py_trustCurrentPasswords_methods,
4610 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4611 .tp_new = py_trustCurrentPasswords_new,
4615 static PyObject *py_trustDomainPasswords_get_confounder(PyObject *obj, void *closure)
4617 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(obj);
4618 PyObject *py_confounder;
4619 py_confounder = PyList_New(512);
4620 if (py_confounder == NULL) {
4624 int confounder_cntr_0;
4625 for (confounder_cntr_0 = 0; confounder_cntr_0 < 512; confounder_cntr_0++) {
4626 PyObject *py_confounder_0;
4627 py_confounder_0 = PyInt_FromLong(object->confounder[confounder_cntr_0]);
4628 PyList_SetItem(py_confounder, confounder_cntr_0, py_confounder_0);
4631 return py_confounder;
4634 static int py_trustDomainPasswords_set_confounder(PyObject *py_obj, PyObject *value, void *closure)
4636 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(py_obj);
4637 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
4639 int confounder_cntr_0;
4640 for (confounder_cntr_0 = 0; confounder_cntr_0 < PyList_Size(value); confounder_cntr_0++) {
4641 PY_CHECK_TYPE(&PyInt_Type, PyList_GetItem(value, confounder_cntr_0), return -1;);
4642 object->confounder[confounder_cntr_0] = PyInt_AsLong(PyList_GetItem(value, confounder_cntr_0));
4648 static PyObject *py_trustDomainPasswords_get_outgoing(PyObject *obj, void *closure)
4650 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(obj);
4651 PyObject *py_outgoing;
4652 py_outgoing = py_talloc_reference_ex(&trustCurrentPasswords_Type, py_talloc_get_mem_ctx(obj), &object->outgoing);
4656 static int py_trustDomainPasswords_set_outgoing(PyObject *py_obj, PyObject *value, void *closure)
4658 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(py_obj);
4659 PY_CHECK_TYPE(&trustCurrentPasswords_Type, value, return -1;);
4660 memcpy(&object->outgoing, (struct trustCurrentPasswords *)py_talloc_get_ptr(value), sizeof(object->outgoing));
4664 static PyObject *py_trustDomainPasswords_get_incoming(PyObject *obj, void *closure)
4666 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(obj);
4667 PyObject *py_incoming;
4668 py_incoming = py_talloc_reference_ex(&trustCurrentPasswords_Type, py_talloc_get_mem_ctx(obj), &object->incoming);
4672 static int py_trustDomainPasswords_set_incoming(PyObject *py_obj, PyObject *value, void *closure)
4674 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(py_obj);
4675 PY_CHECK_TYPE(&trustCurrentPasswords_Type, value, return -1;);
4676 memcpy(&object->incoming, (struct trustCurrentPasswords *)py_talloc_get_ptr(value), sizeof(object->incoming));
4680 static PyObject *py_trustDomainPasswords_get_outgoing_size(PyObject *obj, void *closure)
4682 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(obj);
4683 PyObject *py_outgoing_size;
4684 py_outgoing_size = PyInt_FromLong(object->outgoing_size);
4685 return py_outgoing_size;
4688 static int py_trustDomainPasswords_set_outgoing_size(PyObject *py_obj, PyObject *value, void *closure)
4690 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(py_obj);
4691 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4692 object->outgoing_size = PyInt_AsLong(value);
4696 static PyObject *py_trustDomainPasswords_get_incoming_size(PyObject *obj, void *closure)
4698 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(obj);
4699 PyObject *py_incoming_size;
4700 py_incoming_size = PyInt_FromLong(object->incoming_size);
4701 return py_incoming_size;
4704 static int py_trustDomainPasswords_set_incoming_size(PyObject *py_obj, PyObject *value, void *closure)
4706 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(py_obj);
4707 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4708 object->incoming_size = PyInt_AsLong(value);
4712 static PyGetSetDef py_trustDomainPasswords_getsetters[] = {
4713 { discard_const_p(char, "confounder"), py_trustDomainPasswords_get_confounder, py_trustDomainPasswords_set_confounder },
4714 { discard_const_p(char, "outgoing"), py_trustDomainPasswords_get_outgoing, py_trustDomainPasswords_set_outgoing },
4715 { discard_const_p(char, "incoming"), py_trustDomainPasswords_get_incoming, py_trustDomainPasswords_set_incoming },
4716 { discard_const_p(char, "outgoing_size"), py_trustDomainPasswords_get_outgoing_size, py_trustDomainPasswords_set_outgoing_size },
4717 { discard_const_p(char, "incoming_size"), py_trustDomainPasswords_get_incoming_size, py_trustDomainPasswords_set_incoming_size },
4721 static PyObject *py_trustDomainPasswords_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4723 return py_talloc_new(struct trustDomainPasswords, type);
4726 static PyObject *py_trustDomainPasswords_ndr_pack(PyObject *py_obj)
4728 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(py_obj);
4730 enum ndr_err_code err;
4731 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_trustDomainPasswords);
4732 if (err != NDR_ERR_SUCCESS) {
4733 PyErr_SetNdrError(err);
4737 return PyString_FromStringAndSize((char *)blob.data, blob.length);
4740 static PyObject *py_trustDomainPasswords_ndr_unpack(PyObject *py_obj, PyObject *args)
4742 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(py_obj);
4744 enum ndr_err_code err;
4745 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
4748 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_trustDomainPasswords);
4749 if (err != NDR_ERR_SUCCESS) {
4750 PyErr_SetNdrError(err);
4757 static PyObject *py_trustDomainPasswords_ndr_print(PyObject *py_obj)
4759 struct trustDomainPasswords *object = (struct trustDomainPasswords *)py_talloc_get_ptr(py_obj);
4761 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_trustDomainPasswords, "trustDomainPasswords", object);
4762 return PyString_FromString(retstr);
4765 static PyMethodDef py_trustDomainPasswords_methods[] = {
4766 { "__ndr_pack__", (PyCFunction)py_trustDomainPasswords_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
4767 { "__ndr_unpack__", (PyCFunction)py_trustDomainPasswords_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
4768 { "__ndr_print__", (PyCFunction)py_trustDomainPasswords_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
4769 { NULL, NULL, 0, NULL }
4773 static PyTypeObject trustDomainPasswords_Type = {
4774 PyObject_HEAD_INIT(NULL) 0,
4775 .tp_name = "drsblobs.trustDomainPasswords",
4776 .tp_basicsize = sizeof(py_talloc_Object),
4777 .tp_dealloc = py_talloc_dealloc,
4778 .tp_getset = py_trustDomainPasswords_getsetters,
4779 .tp_repr = py_talloc_default_repr,
4780 .tp_methods = py_trustDomainPasswords_methods,
4781 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4782 .tp_new = py_trustDomainPasswords_new,
4786 static PyObject *py_DsCompressedChunk_get_marker(PyObject *obj, void *closure)
4788 struct DsCompressedChunk *object = (struct DsCompressedChunk *)py_talloc_get_ptr(obj);
4789 PyObject *py_marker;
4790 py_marker = PyInt_FromLong(object->marker);
4794 static int py_DsCompressedChunk_set_marker(PyObject *py_obj, PyObject *value, void *closure)
4796 struct DsCompressedChunk *object = (struct DsCompressedChunk *)py_talloc_get_ptr(py_obj);
4797 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4798 object->marker = PyInt_AsLong(value);
4802 static PyObject *py_DsCompressedChunk_get_data(PyObject *obj, void *closure)
4804 struct DsCompressedChunk *object = (struct DsCompressedChunk *)py_talloc_get_ptr(obj);
4806 py_data = PyString_FromStringAndSize((char *)(object->data).data, (object->data).length);
4810 static int py_DsCompressedChunk_set_data(PyObject *py_obj, PyObject *value, void *closure)
4812 struct DsCompressedChunk *object = (struct DsCompressedChunk *)py_talloc_get_ptr(py_obj);
4813 object->data = data_blob_talloc(py_talloc_get_mem_ctx(py_obj), PyString_AsString(value), PyString_Size(value));
4817 static PyGetSetDef py_DsCompressedChunk_getsetters[] = {
4818 { discard_const_p(char, "marker"), py_DsCompressedChunk_get_marker, py_DsCompressedChunk_set_marker },
4819 { discard_const_p(char, "data"), py_DsCompressedChunk_get_data, py_DsCompressedChunk_set_data },
4823 static PyObject *py_DsCompressedChunk_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4825 return py_talloc_new(struct DsCompressedChunk, type);
4828 static PyObject *py_DsCompressedChunk_ndr_pack(PyObject *py_obj)
4830 struct DsCompressedChunk *object = (struct DsCompressedChunk *)py_talloc_get_ptr(py_obj);
4832 enum ndr_err_code err;
4833 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_DsCompressedChunk);
4834 if (err != NDR_ERR_SUCCESS) {
4835 PyErr_SetNdrError(err);
4839 return PyString_FromStringAndSize((char *)blob.data, blob.length);
4842 static PyObject *py_DsCompressedChunk_ndr_unpack(PyObject *py_obj, PyObject *args)
4844 struct DsCompressedChunk *object = (struct DsCompressedChunk *)py_talloc_get_ptr(py_obj);
4846 enum ndr_err_code err;
4847 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
4850 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_DsCompressedChunk);
4851 if (err != NDR_ERR_SUCCESS) {
4852 PyErr_SetNdrError(err);
4859 static PyObject *py_DsCompressedChunk_ndr_print(PyObject *py_obj)
4861 struct DsCompressedChunk *object = (struct DsCompressedChunk *)py_talloc_get_ptr(py_obj);
4863 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_DsCompressedChunk, "DsCompressedChunk", object);
4864 return PyString_FromString(retstr);
4867 static PyMethodDef py_DsCompressedChunk_methods[] = {
4868 { "__ndr_pack__", (PyCFunction)py_DsCompressedChunk_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
4869 { "__ndr_unpack__", (PyCFunction)py_DsCompressedChunk_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
4870 { "__ndr_print__", (PyCFunction)py_DsCompressedChunk_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
4871 { NULL, NULL, 0, NULL }
4875 static PyTypeObject DsCompressedChunk_Type = {
4876 PyObject_HEAD_INIT(NULL) 0,
4877 .tp_name = "drsblobs.DsCompressedChunk",
4878 .tp_basicsize = sizeof(py_talloc_Object),
4879 .tp_dealloc = py_talloc_dealloc,
4880 .tp_getset = py_DsCompressedChunk_getsetters,
4881 .tp_repr = py_talloc_default_repr,
4882 .tp_methods = py_DsCompressedChunk_methods,
4883 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4884 .tp_new = py_DsCompressedChunk_new,
4888 static PyObject *py_ExtendedErrorAString_get___size(PyObject *obj, void *closure)
4890 struct ExtendedErrorAString *object = (struct ExtendedErrorAString *)py_talloc_get_ptr(obj);
4891 PyObject *py___size;
4892 py___size = PyInt_FromLong(object->__size);
4896 static int py_ExtendedErrorAString_set___size(PyObject *py_obj, PyObject *value, void *closure)
4898 struct ExtendedErrorAString *object = (struct ExtendedErrorAString *)py_talloc_get_ptr(py_obj);
4899 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4900 object->__size = PyInt_AsLong(value);
4904 static PyObject *py_ExtendedErrorAString_get_string(PyObject *obj, void *closure)
4906 struct ExtendedErrorAString *object = (struct ExtendedErrorAString *)py_talloc_get_ptr(obj);
4907 PyObject *py_string;
4908 if (object->string == NULL) {
4909 py_string = Py_None;
4910 Py_INCREF(py_string);
4912 py_string = PyUnicode_Decode(object->string, strlen(object->string), "utf-8", "ignore");
4917 static int py_ExtendedErrorAString_set_string(PyObject *py_obj, PyObject *value, void *closure)
4919 struct ExtendedErrorAString *object = (struct ExtendedErrorAString *)py_talloc_get_ptr(py_obj);
4920 if (value == Py_None) {
4921 object->string = NULL;
4923 object->string = talloc_ptrtype(py_talloc_get_mem_ctx(py_obj), object->string);
4924 PY_CHECK_TYPE(&PyUnicode_Type, value, return -1;);
4925 object->string = PyString_AsString(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
4930 static PyGetSetDef py_ExtendedErrorAString_getsetters[] = {
4931 { discard_const_p(char, "__size"), py_ExtendedErrorAString_get___size, py_ExtendedErrorAString_set___size },
4932 { discard_const_p(char, "string"), py_ExtendedErrorAString_get_string, py_ExtendedErrorAString_set_string },
4936 static PyObject *py_ExtendedErrorAString_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4938 return py_talloc_new(struct ExtendedErrorAString, type);
4942 static PyTypeObject ExtendedErrorAString_Type = {
4943 PyObject_HEAD_INIT(NULL) 0,
4944 .tp_name = "drsblobs.ExtendedErrorAString",
4945 .tp_basicsize = sizeof(py_talloc_Object),
4946 .tp_dealloc = py_talloc_dealloc,
4947 .tp_getset = py_ExtendedErrorAString_getsetters,
4948 .tp_repr = py_talloc_default_repr,
4950 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4951 .tp_new = py_ExtendedErrorAString_new,
4955 static PyObject *py_ExtendedErrorUString_get___size(PyObject *obj, void *closure)
4957 struct ExtendedErrorUString *object = (struct ExtendedErrorUString *)py_talloc_get_ptr(obj);
4958 PyObject *py___size;
4959 py___size = PyInt_FromLong(object->__size);
4963 static int py_ExtendedErrorUString_set___size(PyObject *py_obj, PyObject *value, void *closure)
4965 struct ExtendedErrorUString *object = (struct ExtendedErrorUString *)py_talloc_get_ptr(py_obj);
4966 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4967 object->__size = PyInt_AsLong(value);
4971 static PyObject *py_ExtendedErrorUString_get_string(PyObject *obj, void *closure)
4973 struct ExtendedErrorUString *object = (struct ExtendedErrorUString *)py_talloc_get_ptr(obj);
4974 PyObject *py_string;
4975 if (object->string == NULL) {
4976 py_string = Py_None;
4977 Py_INCREF(py_string);
4979 py_string = PyUnicode_Decode(object->string, strlen(object->string), "utf-8", "ignore");
4984 static int py_ExtendedErrorUString_set_string(PyObject *py_obj, PyObject *value, void *closure)
4986 struct ExtendedErrorUString *object = (struct ExtendedErrorUString *)py_talloc_get_ptr(py_obj);
4987 if (value == Py_None) {
4988 object->string = NULL;
4990 object->string = talloc_ptrtype(py_talloc_get_mem_ctx(py_obj), object->string);
4991 PY_CHECK_TYPE(&PyUnicode_Type, value, return -1;);
4992 object->string = PyString_AsString(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
4997 static PyGetSetDef py_ExtendedErrorUString_getsetters[] = {
4998 { discard_const_p(char, "__size"), py_ExtendedErrorUString_get___size, py_ExtendedErrorUString_set___size },
4999 { discard_const_p(char, "string"), py_ExtendedErrorUString_get_string, py_ExtendedErrorUString_set_string },
5003 static PyObject *py_ExtendedErrorUString_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5005 return py_talloc_new(struct ExtendedErrorUString, type);
5009 static PyTypeObject ExtendedErrorUString_Type = {
5010 PyObject_HEAD_INIT(NULL) 0,
5011 .tp_name = "drsblobs.ExtendedErrorUString",
5012 .tp_basicsize = sizeof(py_talloc_Object),
5013 .tp_dealloc = py_talloc_dealloc,
5014 .tp_getset = py_ExtendedErrorUString_getsetters,
5015 .tp_repr = py_talloc_default_repr,
5017 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5018 .tp_new = py_ExtendedErrorUString_new,
5022 static PyObject *py_ExtendedErrorBlob_get_length(PyObject *obj, void *closure)
5024 struct ExtendedErrorBlob *object = (struct ExtendedErrorBlob *)py_talloc_get_ptr(obj);
5025 PyObject *py_length;
5026 py_length = PyInt_FromLong(object->length);
5030 static int py_ExtendedErrorBlob_set_length(PyObject *py_obj, PyObject *value, void *closure)
5032 struct ExtendedErrorBlob *object = (struct ExtendedErrorBlob *)py_talloc_get_ptr(py_obj);
5033 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5034 object->length = PyInt_AsLong(value);
5038 static PyObject *py_ExtendedErrorBlob_get_data(PyObject *obj, void *closure)
5040 struct ExtendedErrorBlob *object = (struct ExtendedErrorBlob *)py_talloc_get_ptr(obj);
5042 if (object->data == NULL) {
5046 py_data = PyList_New(object->length);
5047 if (py_data == NULL) {
5052 for (data_cntr_1 = 0; data_cntr_1 < object->length; data_cntr_1++) {
5053 PyObject *py_data_1;
5054 py_data_1 = PyInt_FromLong(object->data[data_cntr_1]);
5055 PyList_SetItem(py_data, data_cntr_1, py_data_1);
5062 static int py_ExtendedErrorBlob_set_data(PyObject *py_obj, PyObject *value, void *closure)
5064 struct ExtendedErrorBlob *object = (struct ExtendedErrorBlob *)py_talloc_get_ptr(py_obj);
5065 talloc_free(object->data);
5066 if (value == Py_None) {
5067 object->data = NULL;
5069 object->data = talloc_ptrtype(py_talloc_get_mem_ctx(py_obj), object->data);
5070 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
5073 object->data = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->data, PyList_Size(value));
5074 for (data_cntr_1 = 0; data_cntr_1 < PyList_Size(value); data_cntr_1++) {
5075 PY_CHECK_TYPE(&PyInt_Type, PyList_GetItem(value, data_cntr_1), return -1;);
5076 object->data[data_cntr_1] = PyInt_AsLong(PyList_GetItem(value, data_cntr_1));
5083 static PyGetSetDef py_ExtendedErrorBlob_getsetters[] = {
5084 { discard_const_p(char, "length"), py_ExtendedErrorBlob_get_length, py_ExtendedErrorBlob_set_length },
5085 { discard_const_p(char, "data"), py_ExtendedErrorBlob_get_data, py_ExtendedErrorBlob_set_data },
5089 static PyObject *py_ExtendedErrorBlob_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5091 return py_talloc_new(struct ExtendedErrorBlob, type);
5095 static PyTypeObject ExtendedErrorBlob_Type = {
5096 PyObject_HEAD_INIT(NULL) 0,
5097 .tp_name = "drsblobs.ExtendedErrorBlob",
5098 .tp_basicsize = sizeof(py_talloc_Object),
5099 .tp_dealloc = py_talloc_dealloc,
5100 .tp_getset = py_ExtendedErrorBlob_getsetters,
5101 .tp_repr = py_talloc_default_repr,
5103 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5104 .tp_new = py_ExtendedErrorBlob_new,
5107 PyObject *py_import_ExtendedErrorComputerNameU(TALLOC_CTX *mem_ctx, int level, union ExtendedErrorComputerNameU *in)
5112 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
5113 ret = py_talloc_reference_ex(&ExtendedErrorUString_Type, mem_ctx, &in->name);
5116 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
5122 PyErr_SetString(PyExc_TypeError, "unknown union level");
5126 union ExtendedErrorComputerNameU *py_export_ExtendedErrorComputerNameU(TALLOC_CTX *mem_ctx, int level, PyObject *in)
5128 union ExtendedErrorComputerNameU *ret = talloc_zero(mem_ctx, union ExtendedErrorComputerNameU);
5130 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
5131 PY_CHECK_TYPE(&ExtendedErrorUString_Type, in, talloc_free(ret); return NULL;);
5132 memcpy(&ret->name, (struct ExtendedErrorUString *)py_talloc_get_ptr(in), sizeof(ret->name));
5135 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
5139 PyErr_SetString(PyExc_TypeError, "invalid union level value");
5148 static PyObject *py_ExtendedErrorComputerName_get_present(PyObject *obj, void *closure)
5150 struct ExtendedErrorComputerName *object = (struct ExtendedErrorComputerName *)py_talloc_get_ptr(obj);
5151 PyObject *py_present;
5152 py_present = PyInt_FromLong(object->present);
5156 static int py_ExtendedErrorComputerName_set_present(PyObject *py_obj, PyObject *value, void *closure)
5158 struct ExtendedErrorComputerName *object = (struct ExtendedErrorComputerName *)py_talloc_get_ptr(py_obj);
5159 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5160 object->present = PyInt_AsLong(value);
5164 static PyObject *py_ExtendedErrorComputerName_get_n(PyObject *obj, void *closure)
5166 struct ExtendedErrorComputerName *object = (struct ExtendedErrorComputerName *)py_talloc_get_ptr(obj);
5168 py_n = py_import_ExtendedErrorComputerNameU(py_talloc_get_mem_ctx(obj), object->present, &object->n);
5175 static int py_ExtendedErrorComputerName_set_n(PyObject *py_obj, PyObject *value, void *closure)
5177 struct ExtendedErrorComputerName *object = (struct ExtendedErrorComputerName *)py_talloc_get_ptr(py_obj);
5180 n_switch_0 = py_export_ExtendedErrorComputerNameU(py_talloc_get_mem_ctx(py_obj), object->present, value);
5181 if (n_switch_0 == NULL) { return -1; }
5182 memcpy(&object->n, n_switch_0, sizeof(object->n));
5187 static PyGetSetDef py_ExtendedErrorComputerName_getsetters[] = {
5188 { discard_const_p(char, "present"), py_ExtendedErrorComputerName_get_present, py_ExtendedErrorComputerName_set_present },
5189 { discard_const_p(char, "n"), py_ExtendedErrorComputerName_get_n, py_ExtendedErrorComputerName_set_n },
5193 static PyObject *py_ExtendedErrorComputerName_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5195 return py_talloc_new(struct ExtendedErrorComputerName, type);
5199 static PyTypeObject ExtendedErrorComputerName_Type = {
5200 PyObject_HEAD_INIT(NULL) 0,
5201 .tp_name = "drsblobs.ExtendedErrorComputerName",
5202 .tp_basicsize = sizeof(py_talloc_Object),
5203 .tp_dealloc = py_talloc_dealloc,
5204 .tp_getset = py_ExtendedErrorComputerName_getsetters,
5205 .tp_repr = py_talloc_default_repr,
5207 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5208 .tp_new = py_ExtendedErrorComputerName_new,
5211 PyObject *py_import_ExtendedErrorParamU(TALLOC_CTX *mem_ctx, int level, union ExtendedErrorParamU *in)
5216 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
5217 ret = py_talloc_reference_ex(&ExtendedErrorAString_Type, mem_ctx, &in->a_string);
5220 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
5221 ret = py_talloc_reference_ex(&ExtendedErrorUString_Type, mem_ctx, &in->u_string);
5224 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
5225 ret = PyInt_FromLong(in->uint32);
5228 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
5229 ret = PyInt_FromLong(in->uint16);
5232 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
5233 ret = PyLong_FromLongLong(in->uint64);
5236 case EXTENDED_ERROR_PARAM_TYPE_NONE:
5241 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
5242 ret = py_talloc_reference_ex(&ExtendedErrorBlob_Type, mem_ctx, &in->blob);
5246 PyErr_SetString(PyExc_TypeError, "unknown union level");
5250 union ExtendedErrorParamU *py_export_ExtendedErrorParamU(TALLOC_CTX *mem_ctx, int level, PyObject *in)
5252 union ExtendedErrorParamU *ret = talloc_zero(mem_ctx, union ExtendedErrorParamU);
5254 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
5255 PY_CHECK_TYPE(&ExtendedErrorAString_Type, in, talloc_free(ret); return NULL;);
5256 memcpy(&ret->a_string, (struct ExtendedErrorAString *)py_talloc_get_ptr(in), sizeof(ret->a_string));
5259 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
5260 PY_CHECK_TYPE(&ExtendedErrorUString_Type, in, talloc_free(ret); return NULL;);
5261 memcpy(&ret->u_string, (struct ExtendedErrorUString *)py_talloc_get_ptr(in), sizeof(ret->u_string));
5264 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
5265 PY_CHECK_TYPE(&PyInt_Type, in, talloc_free(ret); return NULL;);
5266 ret->uint32 = PyInt_AsLong(in);
5269 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
5270 PY_CHECK_TYPE(&PyInt_Type, in, talloc_free(ret); return NULL;);
5271 ret->uint16 = PyInt_AsLong(in);
5274 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
5275 if (PyObject_TypeCheck(in, &PyLong_Type)) {
5276 ret->uint64 = PyLong_AsLongLong(in);
5278 if (PyObject_TypeCheck(in, &PyInt_Type)) {
5279 ret->uint64 = PyInt_AsLong(in);
5281 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
5282 PyInt_Type.tp_name, PyLong_Type.tp_name);
5283 talloc_free(ret); return NULL;
5288 case EXTENDED_ERROR_PARAM_TYPE_NONE:
5291 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
5292 PY_CHECK_TYPE(&ExtendedErrorBlob_Type, in, talloc_free(ret); return NULL;);
5293 memcpy(&ret->blob, (struct ExtendedErrorBlob *)py_talloc_get_ptr(in), sizeof(ret->blob));
5297 PyErr_SetString(PyExc_TypeError, "invalid union level value");
5306 static PyObject *py_ExtendedErrorParam_get_type(PyObject *obj, void *closure)
5308 struct ExtendedErrorParam *object = (struct ExtendedErrorParam *)py_talloc_get_ptr(obj);
5310 py_type = PyInt_FromLong(object->type);
5314 static int py_ExtendedErrorParam_set_type(PyObject *py_obj, PyObject *value, void *closure)
5316 struct ExtendedErrorParam *object = (struct ExtendedErrorParam *)py_talloc_get_ptr(py_obj);
5317 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5318 object->type = PyInt_AsLong(value);
5322 static PyObject *py_ExtendedErrorParam_get_p(PyObject *obj, void *closure)
5324 struct ExtendedErrorParam *object = (struct ExtendedErrorParam *)py_talloc_get_ptr(obj);
5326 py_p = py_import_ExtendedErrorParamU(py_talloc_get_mem_ctx(obj), object->type, &object->p);
5333 static int py_ExtendedErrorParam_set_p(PyObject *py_obj, PyObject *value, void *closure)
5335 struct ExtendedErrorParam *object = (struct ExtendedErrorParam *)py_talloc_get_ptr(py_obj);
5338 p_switch_0 = py_export_ExtendedErrorParamU(py_talloc_get_mem_ctx(py_obj), object->type, value);
5339 if (p_switch_0 == NULL) { return -1; }
5340 memcpy(&object->p, p_switch_0, sizeof(object->p));
5345 static PyGetSetDef py_ExtendedErrorParam_getsetters[] = {
5346 { discard_const_p(char, "type"), py_ExtendedErrorParam_get_type, py_ExtendedErrorParam_set_type },
5347 { discard_const_p(char, "p"), py_ExtendedErrorParam_get_p, py_ExtendedErrorParam_set_p },
5351 static PyObject *py_ExtendedErrorParam_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5353 return py_talloc_new(struct ExtendedErrorParam, type);
5357 static PyTypeObject ExtendedErrorParam_Type = {
5358 PyObject_HEAD_INIT(NULL) 0,
5359 .tp_name = "drsblobs.ExtendedErrorParam",
5360 .tp_basicsize = sizeof(py_talloc_Object),
5361 .tp_dealloc = py_talloc_dealloc,
5362 .tp_getset = py_ExtendedErrorParam_getsetters,
5363 .tp_repr = py_talloc_default_repr,
5365 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5366 .tp_new = py_ExtendedErrorParam_new,
5370 static PyObject *py_ExtendedErrorInfo_get_next(PyObject *obj, void *closure)
5372 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(obj);
5374 if (object->next == NULL) {
5378 py_next = py_talloc_reference_ex(&ExtendedErrorInfo_Type, object->next, object->next);
5383 static int py_ExtendedErrorInfo_set_next(PyObject *py_obj, PyObject *value, void *closure)
5385 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5386 talloc_free(object->next);
5387 if (value == Py_None) {
5388 object->next = NULL;
5390 object->next = talloc_ptrtype(py_talloc_get_mem_ctx(py_obj), object->next);
5391 PY_CHECK_TYPE(&ExtendedErrorInfo_Type, value, return -1;);
5392 object->next = (struct ExtendedErrorInfo *)py_talloc_get_ptr(value);
5397 static PyObject *py_ExtendedErrorInfo_get_computer_name(PyObject *obj, void *closure)
5399 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(obj);
5400 PyObject *py_computer_name;
5401 py_computer_name = py_talloc_reference_ex(&ExtendedErrorComputerName_Type, py_talloc_get_mem_ctx(obj), &object->computer_name);
5402 return py_computer_name;
5405 static int py_ExtendedErrorInfo_set_computer_name(PyObject *py_obj, PyObject *value, void *closure)
5407 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5408 PY_CHECK_TYPE(&ExtendedErrorComputerName_Type, value, return -1;);
5409 memcpy(&object->computer_name, (struct ExtendedErrorComputerName *)py_talloc_get_ptr(value), sizeof(object->computer_name));
5413 static PyObject *py_ExtendedErrorInfo_get_pid(PyObject *obj, void *closure)
5415 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(obj);
5417 py_pid = PyLong_FromLongLong(object->pid);
5421 static int py_ExtendedErrorInfo_set_pid(PyObject *py_obj, PyObject *value, void *closure)
5423 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5424 if (PyObject_TypeCheck(value, &PyLong_Type)) {
5425 object->pid = PyLong_AsLongLong(value);
5427 if (PyObject_TypeCheck(value, &PyInt_Type)) {
5428 object->pid = PyInt_AsLong(value);
5430 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
5431 PyInt_Type.tp_name, PyLong_Type.tp_name);
5438 static PyObject *py_ExtendedErrorInfo_get_time(PyObject *obj, void *closure)
5440 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(obj);
5442 py_time = PyLong_FromLongLong(object->time);
5446 static int py_ExtendedErrorInfo_set_time(PyObject *py_obj, PyObject *value, void *closure)
5448 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5449 if (PyObject_TypeCheck(value, &PyLong_Type)) {
5450 object->time = PyLong_AsLongLong(value);
5452 if (PyObject_TypeCheck(value, &PyInt_Type)) {
5453 object->time = PyInt_AsLong(value);
5455 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
5456 PyInt_Type.tp_name, PyLong_Type.tp_name);
5463 static PyObject *py_ExtendedErrorInfo_get_generating_component(PyObject *obj, void *closure)
5465 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(obj);
5466 PyObject *py_generating_component;
5467 py_generating_component = PyInt_FromLong(object->generating_component);
5468 return py_generating_component;
5471 static int py_ExtendedErrorInfo_set_generating_component(PyObject *py_obj, PyObject *value, void *closure)
5473 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5474 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5475 object->generating_component = PyInt_AsLong(value);
5479 static PyObject *py_ExtendedErrorInfo_get_status(PyObject *obj, void *closure)
5481 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(obj);
5482 PyObject *py_status;
5483 py_status = PyErr_FromWERROR(object->status);
5487 static int py_ExtendedErrorInfo_set_status(PyObject *py_obj, PyObject *value, void *closure)
5489 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5490 object->status = W_ERROR(PyInt_AsLong(value));
5494 static PyObject *py_ExtendedErrorInfo_get_detection_location(PyObject *obj, void *closure)
5496 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(obj);
5497 PyObject *py_detection_location;
5498 py_detection_location = PyInt_FromLong(object->detection_location);
5499 return py_detection_location;
5502 static int py_ExtendedErrorInfo_set_detection_location(PyObject *py_obj, PyObject *value, void *closure)
5504 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5505 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5506 object->detection_location = PyInt_AsLong(value);
5510 static PyObject *py_ExtendedErrorInfo_get_flags(PyObject *obj, void *closure)
5512 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(obj);
5514 py_flags = PyInt_FromLong(object->flags);
5518 static int py_ExtendedErrorInfo_set_flags(PyObject *py_obj, PyObject *value, void *closure)
5520 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5521 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5522 object->flags = PyInt_AsLong(value);
5526 static PyObject *py_ExtendedErrorInfo_get_num_params(PyObject *obj, void *closure)
5528 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(obj);
5529 PyObject *py_num_params;
5530 py_num_params = PyInt_FromLong(object->num_params);
5531 return py_num_params;
5534 static int py_ExtendedErrorInfo_set_num_params(PyObject *py_obj, PyObject *value, void *closure)
5536 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5537 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5538 object->num_params = PyInt_AsLong(value);
5542 static PyObject *py_ExtendedErrorInfo_get_params(PyObject *obj, void *closure)
5544 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(obj);
5545 PyObject *py_params;
5546 py_params = PyList_New(object->num_params);
5547 if (py_params == NULL) {
5552 for (params_cntr_0 = 0; params_cntr_0 < object->num_params; params_cntr_0++) {
5553 PyObject *py_params_0;
5554 py_params_0 = py_talloc_reference_ex(&ExtendedErrorParam_Type, object->params, &object->params[params_cntr_0]);
5555 PyList_SetItem(py_params, params_cntr_0, py_params_0);
5561 static int py_ExtendedErrorInfo_set_params(PyObject *py_obj, PyObject *value, void *closure)
5563 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5564 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
5567 object->params = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->params, PyList_Size(value));
5568 for (params_cntr_0 = 0; params_cntr_0 < PyList_Size(value); params_cntr_0++) {
5569 PY_CHECK_TYPE(&ExtendedErrorParam_Type, PyList_GetItem(value, params_cntr_0), return -1;);
5570 memcpy(&object->params[params_cntr_0], (struct ExtendedErrorParam *)py_talloc_get_ptr(PyList_GetItem(value, params_cntr_0)), sizeof(object->params[params_cntr_0]));
5576 static PyGetSetDef py_ExtendedErrorInfo_getsetters[] = {
5577 { discard_const_p(char, "next"), py_ExtendedErrorInfo_get_next, py_ExtendedErrorInfo_set_next },
5578 { discard_const_p(char, "computer_name"), py_ExtendedErrorInfo_get_computer_name, py_ExtendedErrorInfo_set_computer_name },
5579 { discard_const_p(char, "pid"), py_ExtendedErrorInfo_get_pid, py_ExtendedErrorInfo_set_pid },
5580 { discard_const_p(char, "time"), py_ExtendedErrorInfo_get_time, py_ExtendedErrorInfo_set_time },
5581 { discard_const_p(char, "generating_component"), py_ExtendedErrorInfo_get_generating_component, py_ExtendedErrorInfo_set_generating_component },
5582 { discard_const_p(char, "status"), py_ExtendedErrorInfo_get_status, py_ExtendedErrorInfo_set_status },
5583 { discard_const_p(char, "detection_location"), py_ExtendedErrorInfo_get_detection_location, py_ExtendedErrorInfo_set_detection_location },
5584 { discard_const_p(char, "flags"), py_ExtendedErrorInfo_get_flags, py_ExtendedErrorInfo_set_flags },
5585 { discard_const_p(char, "num_params"), py_ExtendedErrorInfo_get_num_params, py_ExtendedErrorInfo_set_num_params },
5586 { discard_const_p(char, "params"), py_ExtendedErrorInfo_get_params, py_ExtendedErrorInfo_set_params },
5590 static PyObject *py_ExtendedErrorInfo_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5592 return py_talloc_new(struct ExtendedErrorInfo, type);
5595 static PyObject *py_ExtendedErrorInfo_ndr_pack(PyObject *py_obj)
5597 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5599 enum ndr_err_code err;
5600 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_ExtendedErrorInfo);
5601 if (err != NDR_ERR_SUCCESS) {
5602 PyErr_SetNdrError(err);
5606 return PyString_FromStringAndSize((char *)blob.data, blob.length);
5609 static PyObject *py_ExtendedErrorInfo_ndr_unpack(PyObject *py_obj, PyObject *args)
5611 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5613 enum ndr_err_code err;
5614 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
5617 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_ExtendedErrorInfo);
5618 if (err != NDR_ERR_SUCCESS) {
5619 PyErr_SetNdrError(err);
5626 static PyObject *py_ExtendedErrorInfo_ndr_print(PyObject *py_obj)
5628 struct ExtendedErrorInfo *object = (struct ExtendedErrorInfo *)py_talloc_get_ptr(py_obj);
5630 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_ExtendedErrorInfo, "ExtendedErrorInfo", object);
5631 return PyString_FromString(retstr);
5634 static PyMethodDef py_ExtendedErrorInfo_methods[] = {
5635 { "__ndr_pack__", (PyCFunction)py_ExtendedErrorInfo_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
5636 { "__ndr_unpack__", (PyCFunction)py_ExtendedErrorInfo_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
5637 { "__ndr_print__", (PyCFunction)py_ExtendedErrorInfo_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
5638 { NULL, NULL, 0, NULL }
5642 static PyTypeObject ExtendedErrorInfo_Type = {
5643 PyObject_HEAD_INIT(NULL) 0,
5644 .tp_name = "drsblobs.ExtendedErrorInfo",
5645 .tp_basicsize = sizeof(py_talloc_Object),
5646 .tp_dealloc = py_talloc_dealloc,
5647 .tp_getset = py_ExtendedErrorInfo_getsetters,
5648 .tp_repr = py_talloc_default_repr,
5649 .tp_methods = py_ExtendedErrorInfo_methods,
5650 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5651 .tp_new = py_ExtendedErrorInfo_new,
5655 static PyObject *py_ExtendedErrorInfoPtr_get_info(PyObject *obj, void *closure)
5657 struct ExtendedErrorInfoPtr *object = (struct ExtendedErrorInfoPtr *)py_talloc_get_ptr(obj);
5659 if (object->info == NULL) {
5663 py_info = py_talloc_reference_ex(&ExtendedErrorInfo_Type, object->info, object->info);
5668 static int py_ExtendedErrorInfoPtr_set_info(PyObject *py_obj, PyObject *value, void *closure)
5670 struct ExtendedErrorInfoPtr *object = (struct ExtendedErrorInfoPtr *)py_talloc_get_ptr(py_obj);
5671 talloc_free(object->info);
5672 if (value == Py_None) {
5673 object->info = NULL;
5675 object->info = talloc_ptrtype(py_talloc_get_mem_ctx(py_obj), object->info);
5676 PY_CHECK_TYPE(&ExtendedErrorInfo_Type, value, return -1;);
5677 object->info = (struct ExtendedErrorInfo *)py_talloc_get_ptr(value);
5682 static PyGetSetDef py_ExtendedErrorInfoPtr_getsetters[] = {
5683 { discard_const_p(char, "info"), py_ExtendedErrorInfoPtr_get_info, py_ExtendedErrorInfoPtr_set_info },
5687 static PyObject *py_ExtendedErrorInfoPtr_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5689 return py_talloc_new(struct ExtendedErrorInfoPtr, type);
5693 static PyTypeObject ExtendedErrorInfoPtr_Type = {
5694 PyObject_HEAD_INIT(NULL) 0,
5695 .tp_name = "drsblobs.ExtendedErrorInfoPtr",
5696 .tp_basicsize = sizeof(py_talloc_Object),
5697 .tp_dealloc = py_talloc_dealloc,
5698 .tp_getset = py_ExtendedErrorInfoPtr_getsetters,
5699 .tp_repr = py_talloc_default_repr,
5701 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5702 .tp_new = py_ExtendedErrorInfoPtr_new,
5706 static PyObject *py_ForestTrustString_get_size(PyObject *obj, void *closure)
5708 struct ForestTrustString *object = (struct ForestTrustString *)py_talloc_get_ptr(obj);
5710 py_size = PyInt_FromLong(object->size);
5714 static int py_ForestTrustString_set_size(PyObject *py_obj, PyObject *value, void *closure)
5716 struct ForestTrustString *object = (struct ForestTrustString *)py_talloc_get_ptr(py_obj);
5717 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5718 object->size = PyInt_AsLong(value);
5722 static PyObject *py_ForestTrustString_get_string(PyObject *obj, void *closure)
5724 struct ForestTrustString *object = (struct ForestTrustString *)py_talloc_get_ptr(obj);
5725 PyObject *py_string;
5726 py_string = PyUnicode_Decode(object->string, strlen(object->string), "utf-8", "ignore");
5730 static int py_ForestTrustString_set_string(PyObject *py_obj, PyObject *value, void *closure)
5732 struct ForestTrustString *object = (struct ForestTrustString *)py_talloc_get_ptr(py_obj);
5733 PY_CHECK_TYPE(&PyUnicode_Type, value, return -1;);
5734 object->string = PyString_AsString(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
5738 static PyGetSetDef py_ForestTrustString_getsetters[] = {
5739 { discard_const_p(char, "size"), py_ForestTrustString_get_size, py_ForestTrustString_set_size },
5740 { discard_const_p(char, "string"), py_ForestTrustString_get_string, py_ForestTrustString_set_string },
5744 static PyObject *py_ForestTrustString_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5746 return py_talloc_new(struct ForestTrustString, type);
5750 static PyTypeObject ForestTrustString_Type = {
5751 PyObject_HEAD_INIT(NULL) 0,
5752 .tp_name = "drsblobs.ForestTrustString",
5753 .tp_basicsize = sizeof(py_talloc_Object),
5754 .tp_dealloc = py_talloc_dealloc,
5755 .tp_getset = py_ForestTrustString_getsetters,
5756 .tp_repr = py_talloc_default_repr,
5758 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5759 .tp_new = py_ForestTrustString_new,
5763 static PyObject *py_ForestTrustDataDomainInfo_get_sid_size(PyObject *obj, void *closure)
5765 struct ForestTrustDataDomainInfo *object = (struct ForestTrustDataDomainInfo *)py_talloc_get_ptr(obj);
5766 PyObject *py_sid_size;
5767 py_sid_size = PyInt_FromLong(object->sid_size);
5771 static int py_ForestTrustDataDomainInfo_set_sid_size(PyObject *py_obj, PyObject *value, void *closure)
5773 struct ForestTrustDataDomainInfo *object = (struct ForestTrustDataDomainInfo *)py_talloc_get_ptr(py_obj);
5774 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5775 object->sid_size = PyInt_AsLong(value);
5779 static PyObject *py_ForestTrustDataDomainInfo_get_sid(PyObject *obj, void *closure)
5781 struct ForestTrustDataDomainInfo *object = (struct ForestTrustDataDomainInfo *)py_talloc_get_ptr(obj);
5783 py_sid = py_talloc_reference_ex(dom_sid_Type, py_talloc_get_mem_ctx(obj), &object->sid);
5787 static int py_ForestTrustDataDomainInfo_set_sid(PyObject *py_obj, PyObject *value, void *closure)
5789 struct ForestTrustDataDomainInfo *object = (struct ForestTrustDataDomainInfo *)py_talloc_get_ptr(py_obj);
5790 PY_CHECK_TYPE(dom_sid_Type, value, return -1;);
5791 memcpy(&object->sid, (struct dom_sid *)py_talloc_get_ptr(value), sizeof(object->sid));
5795 static PyObject *py_ForestTrustDataDomainInfo_get_dns_name(PyObject *obj, void *closure)
5797 struct ForestTrustDataDomainInfo *object = (struct ForestTrustDataDomainInfo *)py_talloc_get_ptr(obj);
5798 PyObject *py_dns_name;
5799 py_dns_name = py_talloc_reference_ex(&ForestTrustString_Type, py_talloc_get_mem_ctx(obj), &object->dns_name);
5803 static int py_ForestTrustDataDomainInfo_set_dns_name(PyObject *py_obj, PyObject *value, void *closure)
5805 struct ForestTrustDataDomainInfo *object = (struct ForestTrustDataDomainInfo *)py_talloc_get_ptr(py_obj);
5806 PY_CHECK_TYPE(&ForestTrustString_Type, value, return -1;);
5807 memcpy(&object->dns_name, (struct ForestTrustString *)py_talloc_get_ptr(value), sizeof(object->dns_name));
5811 static PyObject *py_ForestTrustDataDomainInfo_get_netbios_name(PyObject *obj, void *closure)
5813 struct ForestTrustDataDomainInfo *object = (struct ForestTrustDataDomainInfo *)py_talloc_get_ptr(obj);
5814 PyObject *py_netbios_name;
5815 py_netbios_name = py_talloc_reference_ex(&ForestTrustString_Type, py_talloc_get_mem_ctx(obj), &object->netbios_name);
5816 return py_netbios_name;
5819 static int py_ForestTrustDataDomainInfo_set_netbios_name(PyObject *py_obj, PyObject *value, void *closure)
5821 struct ForestTrustDataDomainInfo *object = (struct ForestTrustDataDomainInfo *)py_talloc_get_ptr(py_obj);
5822 PY_CHECK_TYPE(&ForestTrustString_Type, value, return -1;);
5823 memcpy(&object->netbios_name, (struct ForestTrustString *)py_talloc_get_ptr(value), sizeof(object->netbios_name));
5827 static PyGetSetDef py_ForestTrustDataDomainInfo_getsetters[] = {
5828 { discard_const_p(char, "sid_size"), py_ForestTrustDataDomainInfo_get_sid_size, py_ForestTrustDataDomainInfo_set_sid_size },
5829 { discard_const_p(char, "sid"), py_ForestTrustDataDomainInfo_get_sid, py_ForestTrustDataDomainInfo_set_sid },
5830 { discard_const_p(char, "dns_name"), py_ForestTrustDataDomainInfo_get_dns_name, py_ForestTrustDataDomainInfo_set_dns_name },
5831 { discard_const_p(char, "netbios_name"), py_ForestTrustDataDomainInfo_get_netbios_name, py_ForestTrustDataDomainInfo_set_netbios_name },
5835 static PyObject *py_ForestTrustDataDomainInfo_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5837 return py_talloc_new(struct ForestTrustDataDomainInfo, type);
5841 static PyTypeObject ForestTrustDataDomainInfo_Type = {
5842 PyObject_HEAD_INIT(NULL) 0,
5843 .tp_name = "drsblobs.ForestTrustDataDomainInfo",
5844 .tp_basicsize = sizeof(py_talloc_Object),
5845 .tp_dealloc = py_talloc_dealloc,
5846 .tp_getset = py_ForestTrustDataDomainInfo_getsetters,
5847 .tp_repr = py_talloc_default_repr,
5849 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5850 .tp_new = py_ForestTrustDataDomainInfo_new,
5854 static PyObject *py_ForestTrustDataBinaryData_get_size(PyObject *obj, void *closure)
5856 struct ForestTrustDataBinaryData *object = (struct ForestTrustDataBinaryData *)py_talloc_get_ptr(obj);
5858 py_size = PyInt_FromLong(object->size);
5862 static int py_ForestTrustDataBinaryData_set_size(PyObject *py_obj, PyObject *value, void *closure)
5864 struct ForestTrustDataBinaryData *object = (struct ForestTrustDataBinaryData *)py_talloc_get_ptr(py_obj);
5865 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5866 object->size = PyInt_AsLong(value);
5870 static PyObject *py_ForestTrustDataBinaryData_get_data(PyObject *obj, void *closure)
5872 struct ForestTrustDataBinaryData *object = (struct ForestTrustDataBinaryData *)py_talloc_get_ptr(obj);
5874 py_data = PyList_New(object->size);
5875 if (py_data == NULL) {
5880 for (data_cntr_0 = 0; data_cntr_0 < object->size; data_cntr_0++) {
5881 PyObject *py_data_0;
5882 py_data_0 = PyInt_FromLong(object->data[data_cntr_0]);
5883 PyList_SetItem(py_data, data_cntr_0, py_data_0);
5889 static int py_ForestTrustDataBinaryData_set_data(PyObject *py_obj, PyObject *value, void *closure)
5891 struct ForestTrustDataBinaryData *object = (struct ForestTrustDataBinaryData *)py_talloc_get_ptr(py_obj);
5892 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
5895 object->data = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->data, PyList_Size(value));
5896 for (data_cntr_0 = 0; data_cntr_0 < PyList_Size(value); data_cntr_0++) {
5897 PY_CHECK_TYPE(&PyInt_Type, PyList_GetItem(value, data_cntr_0), return -1;);
5898 object->data[data_cntr_0] = PyInt_AsLong(PyList_GetItem(value, data_cntr_0));
5904 static PyGetSetDef py_ForestTrustDataBinaryData_getsetters[] = {
5905 { discard_const_p(char, "size"), py_ForestTrustDataBinaryData_get_size, py_ForestTrustDataBinaryData_set_size },
5906 { discard_const_p(char, "data"), py_ForestTrustDataBinaryData_get_data, py_ForestTrustDataBinaryData_set_data },
5910 static PyObject *py_ForestTrustDataBinaryData_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5912 return py_talloc_new(struct ForestTrustDataBinaryData, type);
5916 static PyTypeObject ForestTrustDataBinaryData_Type = {
5917 PyObject_HEAD_INIT(NULL) 0,
5918 .tp_name = "drsblobs.ForestTrustDataBinaryData",
5919 .tp_basicsize = sizeof(py_talloc_Object),
5920 .tp_dealloc = py_talloc_dealloc,
5921 .tp_getset = py_ForestTrustDataBinaryData_getsetters,
5922 .tp_repr = py_talloc_default_repr,
5924 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5925 .tp_new = py_ForestTrustDataBinaryData_new,
5928 PyObject *py_import_ForestTrustData(TALLOC_CTX *mem_ctx, int level, union ForestTrustData *in)
5933 case FOREST_TRUST_TOP_LEVEL_NAME:
5934 ret = py_talloc_reference_ex(&ForestTrustString_Type, mem_ctx, &in->name);
5937 case FOREST_TRUST_TOP_LEVEL_NAME_EX:
5938 ret = py_talloc_reference_ex(&ForestTrustString_Type, mem_ctx, &in->name);
5941 case FOREST_TRUST_DOMAIN_INFO:
5942 ret = py_talloc_reference_ex(&ForestTrustDataDomainInfo_Type, mem_ctx, &in->info);
5946 ret = py_talloc_reference_ex(&ForestTrustDataBinaryData_Type, mem_ctx, &in->data);
5950 PyErr_SetString(PyExc_TypeError, "unknown union level");
5954 union ForestTrustData *py_export_ForestTrustData(TALLOC_CTX *mem_ctx, int level, PyObject *in)
5956 union ForestTrustData *ret = talloc_zero(mem_ctx, union ForestTrustData);
5958 case FOREST_TRUST_TOP_LEVEL_NAME:
5959 PY_CHECK_TYPE(&ForestTrustString_Type, in, talloc_free(ret); return NULL;);
5960 memcpy(&ret->name, (struct ForestTrustString *)py_talloc_get_ptr(in), sizeof(ret->name));
5963 case FOREST_TRUST_TOP_LEVEL_NAME_EX:
5964 PY_CHECK_TYPE(&ForestTrustString_Type, in, talloc_free(ret); return NULL;);
5965 memcpy(&ret->name, (struct ForestTrustString *)py_talloc_get_ptr(in), sizeof(ret->name));
5968 case FOREST_TRUST_DOMAIN_INFO:
5969 PY_CHECK_TYPE(&ForestTrustDataDomainInfo_Type, in, talloc_free(ret); return NULL;);
5970 memcpy(&ret->info, (struct ForestTrustDataDomainInfo *)py_talloc_get_ptr(in), sizeof(ret->info));
5974 PY_CHECK_TYPE(&ForestTrustDataBinaryData_Type, in, talloc_free(ret); return NULL;);
5975 memcpy(&ret->data, (struct ForestTrustDataBinaryData *)py_talloc_get_ptr(in), sizeof(ret->data));
5984 static PyObject *py_ForestTrustInfoRecord_get_flags(PyObject *obj, void *closure)
5986 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(obj);
5988 py_flags = PyInt_FromLong(object->flags);
5992 static int py_ForestTrustInfoRecord_set_flags(PyObject *py_obj, PyObject *value, void *closure)
5994 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(py_obj);
5995 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5996 object->flags = PyInt_AsLong(value);
6000 static PyObject *py_ForestTrustInfoRecord_get_timestamp(PyObject *obj, void *closure)
6002 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(obj);
6003 PyObject *py_timestamp;
6004 py_timestamp = PyLong_FromLongLong(object->timestamp);
6005 return py_timestamp;
6008 static int py_ForestTrustInfoRecord_set_timestamp(PyObject *py_obj, PyObject *value, void *closure)
6010 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(py_obj);
6011 if (PyObject_TypeCheck(value, &PyLong_Type)) {
6012 object->timestamp = PyLong_AsLongLong(value);
6014 if (PyObject_TypeCheck(value, &PyInt_Type)) {
6015 object->timestamp = PyInt_AsLong(value);
6017 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
6018 PyInt_Type.tp_name, PyLong_Type.tp_name);
6025 static PyObject *py_ForestTrustInfoRecord_get_type(PyObject *obj, void *closure)
6027 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(obj);
6029 py_type = PyInt_FromLong(object->type);
6033 static int py_ForestTrustInfoRecord_set_type(PyObject *py_obj, PyObject *value, void *closure)
6035 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(py_obj);
6036 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6037 object->type = PyInt_AsLong(value);
6041 static PyObject *py_ForestTrustInfoRecord_get_data(PyObject *obj, void *closure)
6043 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(obj);
6045 py_data = py_import_ForestTrustData(py_talloc_get_mem_ctx(obj), object->type, &object->data);
6046 if (py_data == NULL) {
6052 static int py_ForestTrustInfoRecord_set_data(PyObject *py_obj, PyObject *value, void *closure)
6054 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(py_obj);
6056 void *data_switch_0;
6057 data_switch_0 = py_export_ForestTrustData(py_talloc_get_mem_ctx(py_obj), object->type, value);
6058 if (data_switch_0 == NULL) { return -1; }
6059 memcpy(&object->data, data_switch_0, sizeof(object->data));
6064 static PyGetSetDef py_ForestTrustInfoRecord_getsetters[] = {
6065 { discard_const_p(char, "flags"), py_ForestTrustInfoRecord_get_flags, py_ForestTrustInfoRecord_set_flags },
6066 { discard_const_p(char, "timestamp"), py_ForestTrustInfoRecord_get_timestamp, py_ForestTrustInfoRecord_set_timestamp },
6067 { discard_const_p(char, "type"), py_ForestTrustInfoRecord_get_type, py_ForestTrustInfoRecord_set_type },
6068 { discard_const_p(char, "data"), py_ForestTrustInfoRecord_get_data, py_ForestTrustInfoRecord_set_data },
6072 static PyObject *py_ForestTrustInfoRecord_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6074 return py_talloc_new(struct ForestTrustInfoRecord, type);
6077 static PyObject *py_ForestTrustInfoRecord_ndr_pack(PyObject *py_obj)
6079 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(py_obj);
6081 enum ndr_err_code err;
6082 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_ForestTrustInfoRecord);
6083 if (err != NDR_ERR_SUCCESS) {
6084 PyErr_SetNdrError(err);
6088 return PyString_FromStringAndSize((char *)blob.data, blob.length);
6091 static PyObject *py_ForestTrustInfoRecord_ndr_unpack(PyObject *py_obj, PyObject *args)
6093 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(py_obj);
6095 enum ndr_err_code err;
6096 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
6099 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_ForestTrustInfoRecord);
6100 if (err != NDR_ERR_SUCCESS) {
6101 PyErr_SetNdrError(err);
6108 static PyObject *py_ForestTrustInfoRecord_ndr_print(PyObject *py_obj)
6110 struct ForestTrustInfoRecord *object = (struct ForestTrustInfoRecord *)py_talloc_get_ptr(py_obj);
6112 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_ForestTrustInfoRecord, "ForestTrustInfoRecord", object);
6113 return PyString_FromString(retstr);
6116 static PyMethodDef py_ForestTrustInfoRecord_methods[] = {
6117 { "__ndr_pack__", (PyCFunction)py_ForestTrustInfoRecord_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
6118 { "__ndr_unpack__", (PyCFunction)py_ForestTrustInfoRecord_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
6119 { "__ndr_print__", (PyCFunction)py_ForestTrustInfoRecord_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
6120 { NULL, NULL, 0, NULL }
6124 static PyTypeObject ForestTrustInfoRecord_Type = {
6125 PyObject_HEAD_INIT(NULL) 0,
6126 .tp_name = "drsblobs.ForestTrustInfoRecord",
6127 .tp_basicsize = sizeof(py_talloc_Object),
6128 .tp_dealloc = py_talloc_dealloc,
6129 .tp_getset = py_ForestTrustInfoRecord_getsetters,
6130 .tp_repr = py_talloc_default_repr,
6131 .tp_methods = py_ForestTrustInfoRecord_methods,
6132 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6133 .tp_new = py_ForestTrustInfoRecord_new,
6137 static PyObject *py_ForestTrustInfoRecordArmor_get_record_size(PyObject *obj, void *closure)
6139 struct ForestTrustInfoRecordArmor *object = (struct ForestTrustInfoRecordArmor *)py_talloc_get_ptr(obj);
6140 PyObject *py_record_size;
6141 py_record_size = PyInt_FromLong(object->record_size);
6142 return py_record_size;
6145 static int py_ForestTrustInfoRecordArmor_set_record_size(PyObject *py_obj, PyObject *value, void *closure)
6147 struct ForestTrustInfoRecordArmor *object = (struct ForestTrustInfoRecordArmor *)py_talloc_get_ptr(py_obj);
6148 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6149 object->record_size = PyInt_AsLong(value);
6153 static PyObject *py_ForestTrustInfoRecordArmor_get_record(PyObject *obj, void *closure)
6155 struct ForestTrustInfoRecordArmor *object = (struct ForestTrustInfoRecordArmor *)py_talloc_get_ptr(obj);
6156 PyObject *py_record;
6157 py_record = py_talloc_reference_ex(&ForestTrustInfoRecord_Type, py_talloc_get_mem_ctx(obj), &object->record);
6161 static int py_ForestTrustInfoRecordArmor_set_record(PyObject *py_obj, PyObject *value, void *closure)
6163 struct ForestTrustInfoRecordArmor *object = (struct ForestTrustInfoRecordArmor *)py_talloc_get_ptr(py_obj);
6164 PY_CHECK_TYPE(&ForestTrustInfoRecord_Type, value, return -1;);
6165 memcpy(&object->record, (struct ForestTrustInfoRecord *)py_talloc_get_ptr(value), sizeof(object->record));
6169 static PyGetSetDef py_ForestTrustInfoRecordArmor_getsetters[] = {
6170 { discard_const_p(char, "record_size"), py_ForestTrustInfoRecordArmor_get_record_size, py_ForestTrustInfoRecordArmor_set_record_size },
6171 { discard_const_p(char, "record"), py_ForestTrustInfoRecordArmor_get_record, py_ForestTrustInfoRecordArmor_set_record },
6175 static PyObject *py_ForestTrustInfoRecordArmor_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6177 return py_talloc_new(struct ForestTrustInfoRecordArmor, type);
6181 static PyTypeObject ForestTrustInfoRecordArmor_Type = {
6182 PyObject_HEAD_INIT(NULL) 0,
6183 .tp_name = "drsblobs.ForestTrustInfoRecordArmor",
6184 .tp_basicsize = sizeof(py_talloc_Object),
6185 .tp_dealloc = py_talloc_dealloc,
6186 .tp_getset = py_ForestTrustInfoRecordArmor_getsetters,
6187 .tp_repr = py_talloc_default_repr,
6189 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6190 .tp_new = py_ForestTrustInfoRecordArmor_new,
6194 static PyObject *py_ForestTrustInfo_get_version(PyObject *obj, void *closure)
6196 struct ForestTrustInfo *object = (struct ForestTrustInfo *)py_talloc_get_ptr(obj);
6197 PyObject *py_version;
6198 py_version = PyInt_FromLong(object->version);
6202 static int py_ForestTrustInfo_set_version(PyObject *py_obj, PyObject *value, void *closure)
6204 struct ForestTrustInfo *object = (struct ForestTrustInfo *)py_talloc_get_ptr(py_obj);
6205 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6206 object->version = PyInt_AsLong(value);
6210 static PyObject *py_ForestTrustInfo_get_count(PyObject *obj, void *closure)
6212 struct ForestTrustInfo *object = (struct ForestTrustInfo *)py_talloc_get_ptr(obj);
6214 py_count = PyInt_FromLong(object->count);
6218 static int py_ForestTrustInfo_set_count(PyObject *py_obj, PyObject *value, void *closure)
6220 struct ForestTrustInfo *object = (struct ForestTrustInfo *)py_talloc_get_ptr(py_obj);
6221 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6222 object->count = PyInt_AsLong(value);
6226 static PyObject *py_ForestTrustInfo_get_records(PyObject *obj, void *closure)
6228 struct ForestTrustInfo *object = (struct ForestTrustInfo *)py_talloc_get_ptr(obj);
6229 PyObject *py_records;
6230 py_records = PyList_New(object->count);
6231 if (py_records == NULL) {
6236 for (records_cntr_0 = 0; records_cntr_0 < object->count; records_cntr_0++) {
6237 PyObject *py_records_0;
6238 py_records_0 = py_talloc_reference_ex(&ForestTrustInfoRecordArmor_Type, object->records, &object->records[records_cntr_0]);
6239 PyList_SetItem(py_records, records_cntr_0, py_records_0);
6245 static int py_ForestTrustInfo_set_records(PyObject *py_obj, PyObject *value, void *closure)
6247 struct ForestTrustInfo *object = (struct ForestTrustInfo *)py_talloc_get_ptr(py_obj);
6248 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
6251 object->records = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->records, PyList_Size(value));
6252 for (records_cntr_0 = 0; records_cntr_0 < PyList_Size(value); records_cntr_0++) {
6253 PY_CHECK_TYPE(&ForestTrustInfoRecordArmor_Type, PyList_GetItem(value, records_cntr_0), return -1;);
6254 memcpy(&object->records[records_cntr_0], (struct ForestTrustInfoRecordArmor *)py_talloc_get_ptr(PyList_GetItem(value, records_cntr_0)), sizeof(object->records[records_cntr_0]));
6260 static PyGetSetDef py_ForestTrustInfo_getsetters[] = {
6261 { discard_const_p(char, "version"), py_ForestTrustInfo_get_version, py_ForestTrustInfo_set_version },
6262 { discard_const_p(char, "count"), py_ForestTrustInfo_get_count, py_ForestTrustInfo_set_count },
6263 { discard_const_p(char, "records"), py_ForestTrustInfo_get_records, py_ForestTrustInfo_set_records },
6267 static PyObject *py_ForestTrustInfo_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6269 return py_talloc_new(struct ForestTrustInfo, type);
6272 static PyObject *py_ForestTrustInfo_ndr_pack(PyObject *py_obj)
6274 struct ForestTrustInfo *object = (struct ForestTrustInfo *)py_talloc_get_ptr(py_obj);
6276 enum ndr_err_code err;
6277 err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_ForestTrustInfo);
6278 if (err != NDR_ERR_SUCCESS) {
6279 PyErr_SetNdrError(err);
6283 return PyString_FromStringAndSize((char *)blob.data, blob.length);
6286 static PyObject *py_ForestTrustInfo_ndr_unpack(PyObject *py_obj, PyObject *args)
6288 struct ForestTrustInfo *object = (struct ForestTrustInfo *)py_talloc_get_ptr(py_obj);
6290 enum ndr_err_code err;
6291 if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
6294 err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_ForestTrustInfo);
6295 if (err != NDR_ERR_SUCCESS) {
6296 PyErr_SetNdrError(err);
6303 static PyObject *py_ForestTrustInfo_ndr_print(PyObject *py_obj)
6305 struct ForestTrustInfo *object = (struct ForestTrustInfo *)py_talloc_get_ptr(py_obj);
6307 retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_ForestTrustInfo, "ForestTrustInfo", object);
6308 return PyString_FromString(retstr);
6311 static PyMethodDef py_ForestTrustInfo_methods[] = {
6312 { "__ndr_pack__", (PyCFunction)py_ForestTrustInfo_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
6313 { "__ndr_unpack__", (PyCFunction)py_ForestTrustInfo_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
6314 { "__ndr_print__", (PyCFunction)py_ForestTrustInfo_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
6315 { NULL, NULL, 0, NULL }
6319 static PyTypeObject ForestTrustInfo_Type = {
6320 PyObject_HEAD_INIT(NULL) 0,
6321 .tp_name = "drsblobs.ForestTrustInfo",
6322 .tp_basicsize = sizeof(py_talloc_Object),
6323 .tp_dealloc = py_talloc_dealloc,
6324 .tp_getset = py_ForestTrustInfo_getsetters,
6325 .tp_repr = py_talloc_default_repr,
6326 .tp_methods = py_ForestTrustInfo_methods,
6327 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6328 .tp_new = py_ForestTrustInfo_new,
6332 static bool pack_py_decode_replPropertyMetaData_args_in(PyObject *args, PyObject *kwargs, struct decode_replPropertyMetaData *r)
6335 const char *kwnames[] = {
6339 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_replPropertyMetaData", discard_const_p(char *, kwnames), &py_blob)) {
6343 PY_CHECK_TYPE(&replPropertyMetaDataBlob_Type, py_blob, return false;);
6344 memcpy(&r->in.blob, (struct replPropertyMetaDataBlob *)py_talloc_get_ptr(py_blob), sizeof(r->in.blob));
6348 static PyObject *unpack_py_decode_replPropertyMetaData_args_out(struct decode_replPropertyMetaData *r)
6356 static bool pack_py_decode_replUpToDateVector_args_in(PyObject *args, PyObject *kwargs, struct decode_replUpToDateVector *r)
6359 const char *kwnames[] = {
6363 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_replUpToDateVector", discard_const_p(char *, kwnames), &py_blob)) {
6367 PY_CHECK_TYPE(&replUpToDateVectorBlob_Type, py_blob, return false;);
6368 memcpy(&r->in.blob, (struct replUpToDateVectorBlob *)py_talloc_get_ptr(py_blob), sizeof(r->in.blob));
6372 static PyObject *unpack_py_decode_replUpToDateVector_args_out(struct decode_replUpToDateVector *r)
6380 static bool pack_py_decode_repsFromTo_args_in(PyObject *args, PyObject *kwargs, struct decode_repsFromTo *r)
6383 const char *kwnames[] = {
6387 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_repsFromTo", discard_const_p(char *, kwnames), &py_blob)) {
6391 PY_CHECK_TYPE(&repsFromToBlob_Type, py_blob, return false;);
6392 memcpy(&r->in.blob, (struct repsFromToBlob *)py_talloc_get_ptr(py_blob), sizeof(r->in.blob));
6396 static PyObject *unpack_py_decode_repsFromTo_args_out(struct decode_repsFromTo *r)
6404 static bool pack_py_decode_partialAttributeSet_args_in(PyObject *args, PyObject *kwargs, struct decode_partialAttributeSet *r)
6407 const char *kwnames[] = {
6411 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_partialAttributeSet", discard_const_p(char *, kwnames), &py_blob)) {
6415 PY_CHECK_TYPE(&partialAttributeSetBlob_Type, py_blob, return false;);
6416 memcpy(&r->in.blob, (struct partialAttributeSetBlob *)py_talloc_get_ptr(py_blob), sizeof(r->in.blob));
6420 static PyObject *unpack_py_decode_partialAttributeSet_args_out(struct decode_partialAttributeSet *r)
6428 static bool pack_py_decode_prefixMap_args_in(PyObject *args, PyObject *kwargs, struct decode_prefixMap *r)
6431 const char *kwnames[] = {
6435 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_prefixMap", discard_const_p(char *, kwnames), &py_blob)) {
6439 PY_CHECK_TYPE(&prefixMapBlob_Type, py_blob, return false;);
6440 memcpy(&r->in.blob, (struct prefixMapBlob *)py_talloc_get_ptr(py_blob), sizeof(r->in.blob));
6444 static PyObject *unpack_py_decode_prefixMap_args_out(struct decode_prefixMap *r)
6452 static bool pack_py_decode_ldapControlDirSync_args_in(PyObject *args, PyObject *kwargs, struct decode_ldapControlDirSync *r)
6454 PyObject *py_cookie;
6455 const char *kwnames[] = {
6459 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_ldapControlDirSync", discard_const_p(char *, kwnames), &py_cookie)) {
6463 PY_CHECK_TYPE(&ldapControlDirSyncCookie_Type, py_cookie, return false;);
6464 memcpy(&r->in.cookie, (struct ldapControlDirSyncCookie *)py_talloc_get_ptr(py_cookie), sizeof(r->in.cookie));
6468 static PyObject *unpack_py_decode_ldapControlDirSync_args_out(struct decode_ldapControlDirSync *r)
6476 static bool pack_py_decode_supplementalCredentials_args_in(PyObject *args, PyObject *kwargs, struct decode_supplementalCredentials *r)
6479 const char *kwnames[] = {
6483 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_supplementalCredentials", discard_const_p(char *, kwnames), &py_blob)) {
6487 PY_CHECK_TYPE(&supplementalCredentialsBlob_Type, py_blob, return false;);
6488 memcpy(&r->in.blob, (struct supplementalCredentialsBlob *)py_talloc_get_ptr(py_blob), sizeof(r->in.blob));
6492 static PyObject *unpack_py_decode_supplementalCredentials_args_out(struct decode_supplementalCredentials *r)
6500 static bool pack_py_decode_Packages_args_in(PyObject *args, PyObject *kwargs, struct decode_Packages *r)
6503 const char *kwnames[] = {
6507 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_Packages", discard_const_p(char *, kwnames), &py_blob)) {
6511 PY_CHECK_TYPE(&package_PackagesBlob_Type, py_blob, return false;);
6512 memcpy(&r->in.blob, (struct package_PackagesBlob *)py_talloc_get_ptr(py_blob), sizeof(r->in.blob));
6516 static PyObject *unpack_py_decode_Packages_args_out(struct decode_Packages *r)
6524 static bool pack_py_decode_PrimaryCLEARTEXT_args_in(PyObject *args, PyObject *kwargs, struct decode_PrimaryCLEARTEXT *r)
6527 const char *kwnames[] = {
6531 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_PrimaryCLEARTEXT", discard_const_p(char *, kwnames), &py_blob)) {
6535 PY_CHECK_TYPE(&package_PrimaryCLEARTEXTBlob_Type, py_blob, return false;);
6536 memcpy(&r->in.blob, (struct package_PrimaryCLEARTEXTBlob *)py_talloc_get_ptr(py_blob), sizeof(r->in.blob));
6540 static PyObject *unpack_py_decode_PrimaryCLEARTEXT_args_out(struct decode_PrimaryCLEARTEXT *r)
6548 static bool pack_py_decode_PrimaryWDigest_args_in(PyObject *args, PyObject *kwargs, struct decode_PrimaryWDigest *r)
6551 const char *kwnames[] = {
6555 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_PrimaryWDigest", discard_const_p(char *, kwnames), &py_blob)) {
6559 PY_CHECK_TYPE(&package_PrimaryWDigestBlob_Type, py_blob, return false;);
6560 memcpy(&r->in.blob, (struct package_PrimaryWDigestBlob *)py_talloc_get_ptr(py_blob), sizeof(r->in.blob));
6564 static PyObject *unpack_py_decode_PrimaryWDigest_args_out(struct decode_PrimaryWDigest *r)
6572 const struct PyNdrRpcMethodDef py_ndr_drsblobs_methods[] = {
6573 { "decode_replPropertyMetaData", "S.decode_replPropertyMetaData(blob) -> None", (py_dcerpc_call_fn)dcerpc_decode_replPropertyMetaData_r, (py_data_pack_fn)pack_py_decode_replPropertyMetaData_args_in, (py_data_unpack_fn)unpack_py_decode_replPropertyMetaData_args_out, 0, &ndr_table_drsblobs },
6574 { "decode_replUpToDateVector", "S.decode_replUpToDateVector(blob) -> None", (py_dcerpc_call_fn)dcerpc_decode_replUpToDateVector_r, (py_data_pack_fn)pack_py_decode_replUpToDateVector_args_in, (py_data_unpack_fn)unpack_py_decode_replUpToDateVector_args_out, 1, &ndr_table_drsblobs },
6575 { "decode_repsFromTo", "S.decode_repsFromTo(blob) -> None", (py_dcerpc_call_fn)dcerpc_decode_repsFromTo_r, (py_data_pack_fn)pack_py_decode_repsFromTo_args_in, (py_data_unpack_fn)unpack_py_decode_repsFromTo_args_out, 2, &ndr_table_drsblobs },
6576 { "decode_partialAttributeSet", "S.decode_partialAttributeSet(blob) -> None", (py_dcerpc_call_fn)dcerpc_decode_partialAttributeSet_r, (py_data_pack_fn)pack_py_decode_partialAttributeSet_args_in, (py_data_unpack_fn)unpack_py_decode_partialAttributeSet_args_out, 3, &ndr_table_drsblobs },
6577 { "decode_prefixMap", "S.decode_prefixMap(blob) -> None", (py_dcerpc_call_fn)dcerpc_decode_prefixMap_r, (py_data_pack_fn)pack_py_decode_prefixMap_args_in, (py_data_unpack_fn)unpack_py_decode_prefixMap_args_out, 4, &ndr_table_drsblobs },
6578 { "decode_ldapControlDirSync", "S.decode_ldapControlDirSync(cookie) -> None", (py_dcerpc_call_fn)dcerpc_decode_ldapControlDirSync_r, (py_data_pack_fn)pack_py_decode_ldapControlDirSync_args_in, (py_data_unpack_fn)unpack_py_decode_ldapControlDirSync_args_out, 5, &ndr_table_drsblobs },
6579 { "decode_supplementalCredentials", "S.decode_supplementalCredentials(blob) -> None", (py_dcerpc_call_fn)dcerpc_decode_supplementalCredentials_r, (py_data_pack_fn)pack_py_decode_supplementalCredentials_args_in, (py_data_unpack_fn)unpack_py_decode_supplementalCredentials_args_out, 6, &ndr_table_drsblobs },
6580 { "decode_Packages", "S.decode_Packages(blob) -> None", (py_dcerpc_call_fn)dcerpc_decode_Packages_r, (py_data_pack_fn)pack_py_decode_Packages_args_in, (py_data_unpack_fn)unpack_py_decode_Packages_args_out, 7, &ndr_table_drsblobs },
6581 { "decode_PrimaryCLEARTEXT", "S.decode_PrimaryCLEARTEXT(blob) -> None", (py_dcerpc_call_fn)dcerpc_decode_PrimaryCLEARTEXT_r, (py_data_pack_fn)pack_py_decode_PrimaryCLEARTEXT_args_in, (py_data_unpack_fn)unpack_py_decode_PrimaryCLEARTEXT_args_out, 9, &ndr_table_drsblobs },
6582 { "decode_PrimaryWDigest", "S.decode_PrimaryWDigest(blob) -> None", (py_dcerpc_call_fn)dcerpc_decode_PrimaryWDigest_r, (py_data_pack_fn)pack_py_decode_PrimaryWDigest_args_in, (py_data_unpack_fn)unpack_py_decode_PrimaryWDigest_args_out, 10, &ndr_table_drsblobs },
6586 static PyObject *interface_drsblobs_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6588 return py_dcerpc_interface_init_helper(type, args, kwargs, &ndr_table_drsblobs);
6591 #define PY_DOC_DRSBLOBS "Active Directory Replication LDAP Blobs"
6592 static PyTypeObject drsblobs_InterfaceType = {
6593 PyObject_HEAD_INIT(NULL) 0,
6594 .tp_name = "drsblobs.drsblobs",
6595 .tp_basicsize = sizeof(dcerpc_InterfaceObject),
6596 .tp_base = &dcerpc_InterfaceType,
6597 .tp_doc = "drsblobs(binding, lp_ctx=None, credentials=None) -> connection\n"
6599 "binding should be a DCE/RPC binding string (for example: ncacn_ip_tcp:127.0.0.1)\n"
6600 "lp_ctx should be a path to a smb.conf file or a param.LoadParm object\n"
6601 "credentials should be a credentials.Credentials object.\n\n"PY_DOC_DRSBLOBS,
6602 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6603 .tp_new = interface_drsblobs_new,
6606 static PyMethodDef drsblobs_methods[] = {
6607 { NULL, NULL, 0, NULL }
6610 void initdrsblobs(void)
6613 PyObject *dep_drsuapi;
6617 PyObject *dep_security;
6619 dep_drsuapi = PyImport_ImportModule("samba.dcerpc.drsuapi");
6620 if (dep_drsuapi == NULL)
6623 dep_misc = PyImport_ImportModule("samba.dcerpc.misc");
6624 if (dep_misc == NULL)
6627 dep_samr = PyImport_ImportModule("samba.dcerpc.samr");
6628 if (dep_samr == NULL)
6631 dep_lsa = PyImport_ImportModule("samba.dcerpc.lsa");
6632 if (dep_lsa == NULL)
6635 dep_security = PyImport_ImportModule("samba.dcerpc.security");
6636 if (dep_security == NULL)
6639 dom_sid_Type = (PyTypeObject *)PyObject_GetAttrString(dep_security, "dom_sid");
6640 if (dom_sid_Type == NULL)
6643 drsuapi_DsReplicaOIDMapping_Ctr_Type = (PyTypeObject *)PyObject_GetAttrString(dep_drsuapi, "DsReplicaOIDMapping_Ctr");
6644 if (drsuapi_DsReplicaOIDMapping_Ctr_Type == NULL)
6647 samr_Password_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samr, "Password");
6648 if (samr_Password_Type == NULL)
6651 drsuapi_DsReplicaCursor_Type = (PyTypeObject *)PyObject_GetAttrString(dep_drsuapi, "DsReplicaCursor");
6652 if (drsuapi_DsReplicaCursor_Type == NULL)
6655 drsuapi_DsReplicaHighWaterMark_Type = (PyTypeObject *)PyObject_GetAttrString(dep_drsuapi, "DsReplicaHighWaterMark");
6656 if (drsuapi_DsReplicaHighWaterMark_Type == NULL)
6659 GUID_Type = (PyTypeObject *)PyObject_GetAttrString(dep_misc, "GUID");
6660 if (GUID_Type == NULL)
6663 drsuapi_DsReplicaCursor2_Type = (PyTypeObject *)PyObject_GetAttrString(dep_drsuapi, "DsReplicaCursor2");
6664 if (drsuapi_DsReplicaCursor2_Type == NULL)
6667 if (PyType_Ready(&replPropertyMetaData1_Type) < 0)
6669 if (PyType_Ready(&replPropertyMetaDataCtr1_Type) < 0)
6671 if (PyType_Ready(&replPropertyMetaDataBlob_Type) < 0)
6673 if (PyType_Ready(&replUpToDateVectorCtr1_Type) < 0)
6675 if (PyType_Ready(&replUpToDateVectorCtr2_Type) < 0)
6677 if (PyType_Ready(&replUpToDateVectorBlob_Type) < 0)
6679 if (PyType_Ready(&repsFromTo1OtherInfo_Type) < 0)
6681 if (PyType_Ready(&repsFromTo1_Type) < 0)
6683 if (PyType_Ready(&repsFromTo2OtherInfo_Type) < 0)
6685 if (PyType_Ready(&repsFromTo2_Type) < 0)
6687 if (PyType_Ready(&repsFromToBlob_Type) < 0)
6689 if (PyType_Ready(&partialAttributeSetCtr1_Type) < 0)
6691 if (PyType_Ready(&partialAttributeSetBlob_Type) < 0)
6693 if (PyType_Ready(&schemaInfoBlob_Type) < 0)
6695 if (PyType_Ready(&drsuapi_MSPrefixMap_Entry_Type) < 0)
6697 if (PyType_Ready(&drsuapi_MSPrefixMap_Ctr_Type) < 0)
6699 if (PyType_Ready(&prefixMapBlob_Type) < 0)
6701 if (PyType_Ready(&ldapControlDirSyncBlob_Type) < 0)
6703 if (PyType_Ready(&ldapControlDirSyncCookie_Type) < 0)
6705 if (PyType_Ready(&supplementalCredentialsPackage_Type) < 0)
6707 if (PyType_Ready(&supplementalCredentialsSubBlob_Type) < 0)
6709 if (PyType_Ready(&supplementalCredentialsBlob_Type) < 0)
6711 if (PyType_Ready(&package_PackagesBlob_Type) < 0)
6713 if (PyType_Ready(&package_PrimaryCLEARTEXTBlob_Type) < 0)
6715 if (PyType_Ready(&package_PrimaryWDigestHash_Type) < 0)
6717 if (PyType_Ready(&package_PrimaryWDigestBlob_Type) < 0)
6719 if (PyType_Ready(&AuthInfoNone_Type) < 0)
6721 if (PyType_Ready(&AuthInfoNT4Owf_Type) < 0)
6723 if (PyType_Ready(&AuthInfoClear_Type) < 0)
6725 if (PyType_Ready(&AuthInfoVersion_Type) < 0)
6727 if (PyType_Ready(&AuthenticationInformation_Type) < 0)
6729 if (PyType_Ready(&AuthenticationInformationArray_Type) < 0)
6731 if (PyType_Ready(&trustAuthInOutBlob_Type) < 0)
6733 if (PyType_Ready(&trustCurrentPasswords_Type) < 0)
6735 if (PyType_Ready(&trustDomainPasswords_Type) < 0)
6737 if (PyType_Ready(&DsCompressedChunk_Type) < 0)
6739 if (PyType_Ready(&ExtendedErrorAString_Type) < 0)
6741 if (PyType_Ready(&ExtendedErrorUString_Type) < 0)
6743 if (PyType_Ready(&ExtendedErrorBlob_Type) < 0)
6745 if (PyType_Ready(&ExtendedErrorComputerName_Type) < 0)
6747 if (PyType_Ready(&ExtendedErrorParam_Type) < 0)
6749 if (PyType_Ready(&ExtendedErrorInfo_Type) < 0)
6751 if (PyType_Ready(&ExtendedErrorInfoPtr_Type) < 0)
6753 if (PyType_Ready(&ForestTrustString_Type) < 0)
6755 if (PyType_Ready(&ForestTrustDataDomainInfo_Type) < 0)
6757 if (PyType_Ready(&ForestTrustDataBinaryData_Type) < 0)
6759 if (PyType_Ready(&ForestTrustInfoRecord_Type) < 0)
6761 if (PyType_Ready(&ForestTrustInfoRecordArmor_Type) < 0)
6763 if (PyType_Ready(&ForestTrustInfo_Type) < 0)
6765 if (PyType_Ready(&drsblobs_InterfaceType) < 0)
6767 if (!PyInterface_AddNdrRpcMethods(&drsblobs_InterfaceType, py_ndr_drsblobs_methods))
6770 #ifdef PY_REPLPROPERTYMETADATA1_PATCH
6771 PY_REPLPROPERTYMETADATA1_PATCH(&replPropertyMetaData1_Type);
6773 #ifdef PY_REPLPROPERTYMETADATACTR1_PATCH
6774 PY_REPLPROPERTYMETADATACTR1_PATCH(&replPropertyMetaDataCtr1_Type);
6776 #ifdef PY_REPLPROPERTYMETADATABLOB_PATCH
6777 PY_REPLPROPERTYMETADATABLOB_PATCH(&replPropertyMetaDataBlob_Type);
6779 #ifdef PY_REPLUPTODATEVECTORCTR1_PATCH
6780 PY_REPLUPTODATEVECTORCTR1_PATCH(&replUpToDateVectorCtr1_Type);
6782 #ifdef PY_REPLUPTODATEVECTORCTR2_PATCH
6783 PY_REPLUPTODATEVECTORCTR2_PATCH(&replUpToDateVectorCtr2_Type);
6785 #ifdef PY_REPLUPTODATEVECTORBLOB_PATCH
6786 PY_REPLUPTODATEVECTORBLOB_PATCH(&replUpToDateVectorBlob_Type);
6788 #ifdef PY_REPSFROMTO1OTHERINFO_PATCH
6789 PY_REPSFROMTO1OTHERINFO_PATCH(&repsFromTo1OtherInfo_Type);
6791 #ifdef PY_REPSFROMTO1_PATCH
6792 PY_REPSFROMTO1_PATCH(&repsFromTo1_Type);
6794 #ifdef PY_REPSFROMTO2OTHERINFO_PATCH
6795 PY_REPSFROMTO2OTHERINFO_PATCH(&repsFromTo2OtherInfo_Type);
6797 #ifdef PY_REPSFROMTO2_PATCH
6798 PY_REPSFROMTO2_PATCH(&repsFromTo2_Type);
6800 #ifdef PY_REPSFROMTOBLOB_PATCH
6801 PY_REPSFROMTOBLOB_PATCH(&repsFromToBlob_Type);
6803 #ifdef PY_PARTIALATTRIBUTESETCTR1_PATCH
6804 PY_PARTIALATTRIBUTESETCTR1_PATCH(&partialAttributeSetCtr1_Type);
6806 #ifdef PY_PARTIALATTRIBUTESETBLOB_PATCH
6807 PY_PARTIALATTRIBUTESETBLOB_PATCH(&partialAttributeSetBlob_Type);
6809 #ifdef PY_SCHEMAINFOBLOB_PATCH
6810 PY_SCHEMAINFOBLOB_PATCH(&schemaInfoBlob_Type);
6812 #ifdef PY_DRSUAPI_MSPREFIXMAP_ENTRY_PATCH
6813 PY_DRSUAPI_MSPREFIXMAP_ENTRY_PATCH(&drsuapi_MSPrefixMap_Entry_Type);
6815 #ifdef PY_DRSUAPI_MSPREFIXMAP_CTR_PATCH
6816 PY_DRSUAPI_MSPREFIXMAP_CTR_PATCH(&drsuapi_MSPrefixMap_Ctr_Type);
6818 #ifdef PY_PREFIXMAPBLOB_PATCH
6819 PY_PREFIXMAPBLOB_PATCH(&prefixMapBlob_Type);
6821 #ifdef PY_LDAPCONTROLDIRSYNCBLOB_PATCH
6822 PY_LDAPCONTROLDIRSYNCBLOB_PATCH(&ldapControlDirSyncBlob_Type);
6824 #ifdef PY_LDAPCONTROLDIRSYNCCOOKIE_PATCH
6825 PY_LDAPCONTROLDIRSYNCCOOKIE_PATCH(&ldapControlDirSyncCookie_Type);
6827 #ifdef PY_SUPPLEMENTALCREDENTIALSPACKAGE_PATCH
6828 PY_SUPPLEMENTALCREDENTIALSPACKAGE_PATCH(&supplementalCredentialsPackage_Type);
6830 #ifdef PY_SUPPLEMENTALCREDENTIALSSUBBLOB_PATCH
6831 PY_SUPPLEMENTALCREDENTIALSSUBBLOB_PATCH(&supplementalCredentialsSubBlob_Type);
6833 #ifdef PY_SUPPLEMENTALCREDENTIALSBLOB_PATCH
6834 PY_SUPPLEMENTALCREDENTIALSBLOB_PATCH(&supplementalCredentialsBlob_Type);
6836 #ifdef PY_PACKAGE_PACKAGESBLOB_PATCH
6837 PY_PACKAGE_PACKAGESBLOB_PATCH(&package_PackagesBlob_Type);
6839 #ifdef PY_PACKAGE_PRIMARYCLEARTEXTBLOB_PATCH
6840 PY_PACKAGE_PRIMARYCLEARTEXTBLOB_PATCH(&package_PrimaryCLEARTEXTBlob_Type);
6842 #ifdef PY_PACKAGE_PRIMARYWDIGESTHASH_PATCH
6843 PY_PACKAGE_PRIMARYWDIGESTHASH_PATCH(&package_PrimaryWDigestHash_Type);
6845 #ifdef PY_PACKAGE_PRIMARYWDIGESTBLOB_PATCH
6846 PY_PACKAGE_PRIMARYWDIGESTBLOB_PATCH(&package_PrimaryWDigestBlob_Type);
6848 #ifdef PY_AUTHINFONONE_PATCH
6849 PY_AUTHINFONONE_PATCH(&AuthInfoNone_Type);
6851 #ifdef PY_AUTHINFONT4OWF_PATCH
6852 PY_AUTHINFONT4OWF_PATCH(&AuthInfoNT4Owf_Type);
6854 #ifdef PY_AUTHINFOCLEAR_PATCH
6855 PY_AUTHINFOCLEAR_PATCH(&AuthInfoClear_Type);
6857 #ifdef PY_AUTHINFOVERSION_PATCH
6858 PY_AUTHINFOVERSION_PATCH(&AuthInfoVersion_Type);
6860 #ifdef PY_AUTHENTICATIONINFORMATION_PATCH
6861 PY_AUTHENTICATIONINFORMATION_PATCH(&AuthenticationInformation_Type);
6863 #ifdef PY_AUTHENTICATIONINFORMATIONARRAY_PATCH
6864 PY_AUTHENTICATIONINFORMATIONARRAY_PATCH(&AuthenticationInformationArray_Type);
6866 #ifdef PY_TRUSTAUTHINOUTBLOB_PATCH
6867 PY_TRUSTAUTHINOUTBLOB_PATCH(&trustAuthInOutBlob_Type);
6869 #ifdef PY_TRUSTCURRENTPASSWORDS_PATCH
6870 PY_TRUSTCURRENTPASSWORDS_PATCH(&trustCurrentPasswords_Type);
6872 #ifdef PY_TRUSTDOMAINPASSWORDS_PATCH
6873 PY_TRUSTDOMAINPASSWORDS_PATCH(&trustDomainPasswords_Type);
6875 #ifdef PY_DSCOMPRESSEDCHUNK_PATCH
6876 PY_DSCOMPRESSEDCHUNK_PATCH(&DsCompressedChunk_Type);
6878 #ifdef PY_EXTENDEDERRORASTRING_PATCH
6879 PY_EXTENDEDERRORASTRING_PATCH(&ExtendedErrorAString_Type);
6881 #ifdef PY_EXTENDEDERRORUSTRING_PATCH
6882 PY_EXTENDEDERRORUSTRING_PATCH(&ExtendedErrorUString_Type);
6884 #ifdef PY_EXTENDEDERRORBLOB_PATCH
6885 PY_EXTENDEDERRORBLOB_PATCH(&ExtendedErrorBlob_Type);
6887 #ifdef PY_EXTENDEDERRORCOMPUTERNAME_PATCH
6888 PY_EXTENDEDERRORCOMPUTERNAME_PATCH(&ExtendedErrorComputerName_Type);
6890 #ifdef PY_EXTENDEDERRORPARAM_PATCH
6891 PY_EXTENDEDERRORPARAM_PATCH(&ExtendedErrorParam_Type);
6893 #ifdef PY_EXTENDEDERRORINFO_PATCH
6894 PY_EXTENDEDERRORINFO_PATCH(&ExtendedErrorInfo_Type);
6896 #ifdef PY_EXTENDEDERRORINFOPTR_PATCH
6897 PY_EXTENDEDERRORINFOPTR_PATCH(&ExtendedErrorInfoPtr_Type);
6899 #ifdef PY_FORESTTRUSTSTRING_PATCH
6900 PY_FORESTTRUSTSTRING_PATCH(&ForestTrustString_Type);
6902 #ifdef PY_FORESTTRUSTDATADOMAININFO_PATCH
6903 PY_FORESTTRUSTDATADOMAININFO_PATCH(&ForestTrustDataDomainInfo_Type);
6905 #ifdef PY_FORESTTRUSTDATABINARYDATA_PATCH
6906 PY_FORESTTRUSTDATABINARYDATA_PATCH(&ForestTrustDataBinaryData_Type);
6908 #ifdef PY_FORESTTRUSTINFORECORD_PATCH
6909 PY_FORESTTRUSTINFORECORD_PATCH(&ForestTrustInfoRecord_Type);
6911 #ifdef PY_FORESTTRUSTINFORECORDARMOR_PATCH
6912 PY_FORESTTRUSTINFORECORDARMOR_PATCH(&ForestTrustInfoRecordArmor_Type);
6914 #ifdef PY_FORESTTRUSTINFO_PATCH
6915 PY_FORESTTRUSTINFO_PATCH(&ForestTrustInfo_Type);
6917 #ifdef PY_DRSBLOBS_PATCH
6918 PY_DRSBLOBS_PATCH(&drsblobs_InterfaceType);
6921 m = Py_InitModule3("drsblobs", drsblobs_methods, "drsblobs DCE/RPC");
6925 PyModule_AddObject(m, "FOREST_TRUST_TOP_LEVEL_NAME_EX", PyInt_FromLong(FOREST_TRUST_TOP_LEVEL_NAME_EX));
6926 PyModule_AddObject(m, "EXTENDED_ERROR_COMPUTER_NAME_PRESENT", PyInt_FromLong(EXTENDED_ERROR_COMPUTER_NAME_PRESENT));
6927 PyModule_AddObject(m, "PREFIX_MAP_VERSION_DSDB", PyInt_FromLong(PREFIX_MAP_VERSION_DSDB));
6928 PyModule_AddObject(m, "FOREST_TRUST_DOMAIN_INFO", PyInt_FromLong(FOREST_TRUST_DOMAIN_INFO));
6929 PyModule_AddObject(m, "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING", PyInt_FromLong(EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING));
6930 PyModule_AddObject(m, "SUPPLEMENTAL_CREDENTIALS_SIGNATURE", PyInt_FromLong(SUPPLEMENTAL_CREDENTIALS_SIGNATURE));
6931 PyModule_AddObject(m, "EXTENDED_ERROR_PARAM_TYPE_UINT16", PyInt_FromLong(EXTENDED_ERROR_PARAM_TYPE_UINT16));
6932 PyModule_AddObject(m, "FOREST_TRUST_TOP_LEVEL_NAME", PyInt_FromLong(FOREST_TRUST_TOP_LEVEL_NAME));
6933 PyModule_AddObject(m, "EXTENDED_ERROR_PARAM_TYPE_NONE", PyInt_FromLong(EXTENDED_ERROR_PARAM_TYPE_NONE));
6934 PyModule_AddObject(m, "EXTENDED_ERROR_PARAM_TYPE_UINT64", PyInt_FromLong(EXTENDED_ERROR_PARAM_TYPE_UINT64));
6935 PyModule_AddObject(m, "EXTENDED_ERROR_PARAM_TYPE_UINT32", PyInt_FromLong(EXTENDED_ERROR_PARAM_TYPE_UINT32));
6936 PyModule_AddObject(m, "EXTENDED_ERROR_PARAM_TYPE_BLOB", PyInt_FromLong(EXTENDED_ERROR_PARAM_TYPE_BLOB));
6937 PyModule_AddObject(m, "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT", PyInt_FromLong(EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT));
6938 PyModule_AddObject(m, "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING", PyInt_FromLong(EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING));
6939 PyModule_AddObject(m, "SUPPLEMENTAL_CREDENTIALS_PREFIX", PyString_FromString(" "));
6940 Py_INCREF((PyObject *)(void *)&replPropertyMetaData1_Type);
6941 PyModule_AddObject(m, "replPropertyMetaData1", (PyObject *)(void *)&replPropertyMetaData1_Type);
6942 Py_INCREF((PyObject *)(void *)&replPropertyMetaDataCtr1_Type);
6943 PyModule_AddObject(m, "replPropertyMetaDataCtr1", (PyObject *)(void *)&replPropertyMetaDataCtr1_Type);
6944 Py_INCREF((PyObject *)(void *)&replPropertyMetaDataBlob_Type);
6945 PyModule_AddObject(m, "replPropertyMetaDataBlob", (PyObject *)(void *)&replPropertyMetaDataBlob_Type);
6946 Py_INCREF((PyObject *)(void *)&replUpToDateVectorCtr1_Type);
6947 PyModule_AddObject(m, "replUpToDateVectorCtr1", (PyObject *)(void *)&replUpToDateVectorCtr1_Type);
6948 Py_INCREF((PyObject *)(void *)&replUpToDateVectorCtr2_Type);
6949 PyModule_AddObject(m, "replUpToDateVectorCtr2", (PyObject *)(void *)&replUpToDateVectorCtr2_Type);
6950 Py_INCREF((PyObject *)(void *)&replUpToDateVectorBlob_Type);
6951 PyModule_AddObject(m, "replUpToDateVectorBlob", (PyObject *)(void *)&replUpToDateVectorBlob_Type);
6952 Py_INCREF((PyObject *)(void *)&repsFromTo1OtherInfo_Type);
6953 PyModule_AddObject(m, "repsFromTo1OtherInfo", (PyObject *)(void *)&repsFromTo1OtherInfo_Type);
6954 Py_INCREF((PyObject *)(void *)&repsFromTo1_Type);
6955 PyModule_AddObject(m, "repsFromTo1", (PyObject *)(void *)&repsFromTo1_Type);
6956 Py_INCREF((PyObject *)(void *)&repsFromTo2OtherInfo_Type);
6957 PyModule_AddObject(m, "repsFromTo2OtherInfo", (PyObject *)(void *)&repsFromTo2OtherInfo_Type);
6958 Py_INCREF((PyObject *)(void *)&repsFromTo2_Type);
6959 PyModule_AddObject(m, "repsFromTo2", (PyObject *)(void *)&repsFromTo2_Type);
6960 Py_INCREF((PyObject *)(void *)&repsFromToBlob_Type);
6961 PyModule_AddObject(m, "repsFromToBlob", (PyObject *)(void *)&repsFromToBlob_Type);
6962 Py_INCREF((PyObject *)(void *)&partialAttributeSetCtr1_Type);
6963 PyModule_AddObject(m, "partialAttributeSetCtr1", (PyObject *)(void *)&partialAttributeSetCtr1_Type);
6964 Py_INCREF((PyObject *)(void *)&partialAttributeSetBlob_Type);
6965 PyModule_AddObject(m, "partialAttributeSetBlob", (PyObject *)(void *)&partialAttributeSetBlob_Type);
6966 Py_INCREF((PyObject *)(void *)&schemaInfoBlob_Type);
6967 PyModule_AddObject(m, "schemaInfoBlob", (PyObject *)(void *)&schemaInfoBlob_Type);
6968 Py_INCREF((PyObject *)(void *)&drsuapi_MSPrefixMap_Entry_Type);
6969 PyModule_AddObject(m, "drsuapi_MSPrefixMap_Entry", (PyObject *)(void *)&drsuapi_MSPrefixMap_Entry_Type);
6970 Py_INCREF((PyObject *)(void *)&drsuapi_MSPrefixMap_Ctr_Type);
6971 PyModule_AddObject(m, "drsuapi_MSPrefixMap_Ctr", (PyObject *)(void *)&drsuapi_MSPrefixMap_Ctr_Type);
6972 Py_INCREF((PyObject *)(void *)&prefixMapBlob_Type);
6973 PyModule_AddObject(m, "prefixMapBlob", (PyObject *)(void *)&prefixMapBlob_Type);
6974 Py_INCREF((PyObject *)(void *)&ldapControlDirSyncBlob_Type);
6975 PyModule_AddObject(m, "ldapControlDirSyncBlob", (PyObject *)(void *)&ldapControlDirSyncBlob_Type);
6976 Py_INCREF((PyObject *)(void *)&ldapControlDirSyncCookie_Type);
6977 PyModule_AddObject(m, "ldapControlDirSyncCookie", (PyObject *)(void *)&ldapControlDirSyncCookie_Type);
6978 Py_INCREF((PyObject *)(void *)&supplementalCredentialsPackage_Type);
6979 PyModule_AddObject(m, "supplementalCredentialsPackage", (PyObject *)(void *)&supplementalCredentialsPackage_Type);
6980 Py_INCREF((PyObject *)(void *)&supplementalCredentialsSubBlob_Type);
6981 PyModule_AddObject(m, "supplementalCredentialsSubBlob", (PyObject *)(void *)&supplementalCredentialsSubBlob_Type);
6982 Py_INCREF((PyObject *)(void *)&supplementalCredentialsBlob_Type);
6983 PyModule_AddObject(m, "supplementalCredentialsBlob", (PyObject *)(void *)&supplementalCredentialsBlob_Type);
6984 Py_INCREF((PyObject *)(void *)&package_PackagesBlob_Type);
6985 PyModule_AddObject(m, "package_PackagesBlob", (PyObject *)(void *)&package_PackagesBlob_Type);
6986 Py_INCREF((PyObject *)(void *)&package_PrimaryCLEARTEXTBlob_Type);
6987 PyModule_AddObject(m, "package_PrimaryCLEARTEXTBlob", (PyObject *)(void *)&package_PrimaryCLEARTEXTBlob_Type);
6988 Py_INCREF((PyObject *)(void *)&package_PrimaryWDigestHash_Type);
6989 PyModule_AddObject(m, "package_PrimaryWDigestHash", (PyObject *)(void *)&package_PrimaryWDigestHash_Type);
6990 Py_INCREF((PyObject *)(void *)&package_PrimaryWDigestBlob_Type);
6991 PyModule_AddObject(m, "package_PrimaryWDigestBlob", (PyObject *)(void *)&package_PrimaryWDigestBlob_Type);
6992 Py_INCREF((PyObject *)(void *)&AuthInfoNone_Type);
6993 PyModule_AddObject(m, "AuthInfoNone", (PyObject *)(void *)&AuthInfoNone_Type);
6994 Py_INCREF((PyObject *)(void *)&AuthInfoNT4Owf_Type);
6995 PyModule_AddObject(m, "AuthInfoNT4Owf", (PyObject *)(void *)&AuthInfoNT4Owf_Type);
6996 Py_INCREF((PyObject *)(void *)&AuthInfoClear_Type);
6997 PyModule_AddObject(m, "AuthInfoClear", (PyObject *)(void *)&AuthInfoClear_Type);
6998 Py_INCREF((PyObject *)(void *)&AuthInfoVersion_Type);
6999 PyModule_AddObject(m, "AuthInfoVersion", (PyObject *)(void *)&AuthInfoVersion_Type);
7000 Py_INCREF((PyObject *)(void *)&AuthenticationInformation_Type);
7001 PyModule_AddObject(m, "AuthenticationInformation", (PyObject *)(void *)&AuthenticationInformation_Type);
7002 Py_INCREF((PyObject *)(void *)&AuthenticationInformationArray_Type);
7003 PyModule_AddObject(m, "AuthenticationInformationArray", (PyObject *)(void *)&AuthenticationInformationArray_Type);
7004 Py_INCREF((PyObject *)(void *)&trustAuthInOutBlob_Type);
7005 PyModule_AddObject(m, "trustAuthInOutBlob", (PyObject *)(void *)&trustAuthInOutBlob_Type);
7006 Py_INCREF((PyObject *)(void *)&trustCurrentPasswords_Type);
7007 PyModule_AddObject(m, "trustCurrentPasswords", (PyObject *)(void *)&trustCurrentPasswords_Type);
7008 Py_INCREF((PyObject *)(void *)&trustDomainPasswords_Type);
7009 PyModule_AddObject(m, "trustDomainPasswords", (PyObject *)(void *)&trustDomainPasswords_Type);
7010 Py_INCREF((PyObject *)(void *)&DsCompressedChunk_Type);
7011 PyModule_AddObject(m, "DsCompressedChunk", (PyObject *)(void *)&DsCompressedChunk_Type);
7012 Py_INCREF((PyObject *)(void *)&ExtendedErrorAString_Type);
7013 PyModule_AddObject(m, "ExtendedErrorAString", (PyObject *)(void *)&ExtendedErrorAString_Type);
7014 Py_INCREF((PyObject *)(void *)&ExtendedErrorUString_Type);
7015 PyModule_AddObject(m, "ExtendedErrorUString", (PyObject *)(void *)&ExtendedErrorUString_Type);
7016 Py_INCREF((PyObject *)(void *)&ExtendedErrorBlob_Type);
7017 PyModule_AddObject(m, "ExtendedErrorBlob", (PyObject *)(void *)&ExtendedErrorBlob_Type);
7018 Py_INCREF((PyObject *)(void *)&ExtendedErrorComputerName_Type);
7019 PyModule_AddObject(m, "ExtendedErrorComputerName", (PyObject *)(void *)&ExtendedErrorComputerName_Type);
7020 Py_INCREF((PyObject *)(void *)&ExtendedErrorParam_Type);
7021 PyModule_AddObject(m, "ExtendedErrorParam", (PyObject *)(void *)&ExtendedErrorParam_Type);
7022 Py_INCREF((PyObject *)(void *)&ExtendedErrorInfo_Type);
7023 PyModule_AddObject(m, "ExtendedErrorInfo", (PyObject *)(void *)&ExtendedErrorInfo_Type);
7024 Py_INCREF((PyObject *)(void *)&ExtendedErrorInfoPtr_Type);
7025 PyModule_AddObject(m, "ExtendedErrorInfoPtr", (PyObject *)(void *)&ExtendedErrorInfoPtr_Type);
7026 Py_INCREF((PyObject *)(void *)&ForestTrustString_Type);
7027 PyModule_AddObject(m, "ForestTrustString", (PyObject *)(void *)&ForestTrustString_Type);
7028 Py_INCREF((PyObject *)(void *)&ForestTrustDataDomainInfo_Type);
7029 PyModule_AddObject(m, "ForestTrustDataDomainInfo", (PyObject *)(void *)&ForestTrustDataDomainInfo_Type);
7030 Py_INCREF((PyObject *)(void *)&ForestTrustDataBinaryData_Type);
7031 PyModule_AddObject(m, "ForestTrustDataBinaryData", (PyObject *)(void *)&ForestTrustDataBinaryData_Type);
7032 Py_INCREF((PyObject *)(void *)&ForestTrustInfoRecord_Type);
7033 PyModule_AddObject(m, "ForestTrustInfoRecord", (PyObject *)(void *)&ForestTrustInfoRecord_Type);
7034 Py_INCREF((PyObject *)(void *)&ForestTrustInfoRecordArmor_Type);
7035 PyModule_AddObject(m, "ForestTrustInfoRecordArmor", (PyObject *)(void *)&ForestTrustInfoRecordArmor_Type);
7036 Py_INCREF((PyObject *)(void *)&ForestTrustInfo_Type);
7037 PyModule_AddObject(m, "ForestTrustInfo", (PyObject *)(void *)&ForestTrustInfo_Type);
7038 Py_INCREF((PyObject *)(void *)&drsblobs_InterfaceType);
7039 PyModule_AddObject(m, "drsblobs", (PyObject *)(void *)&drsblobs_InterfaceType);
7040 #ifdef PY_MOD_DRSBLOBS_PATCH
7041 PY_MOD_DRSBLOBS_PATCH(m);