2 /* Python wrapper functions auto-generated by pidl */
6 #include "librpc/rpc/pyrpc.h"
7 #include "librpc/rpc/pyrpc_util.h"
8 #include "bin/default/librpc/gen_ndr/ndr_nbt.h"
9 #include "bin/default/librpc/gen_ndr/ndr_nbt_c.h"
11 #include "librpc/gen_ndr/misc.h"
12 #include "librpc/gen_ndr/security.h"
13 staticforward PyTypeObject nbt_name_Type;
14 staticforward PyTypeObject nbt_name_question_Type;
15 staticforward PyTypeObject nbt_rdata_address_Type;
16 staticforward PyTypeObject nbt_rdata_netbios_Type;
17 staticforward PyTypeObject nbt_statistics_Type;
18 staticforward PyTypeObject nbt_status_name_Type;
19 staticforward PyTypeObject nbt_rdata_status_Type;
20 staticforward PyTypeObject nbt_rdata_data_Type;
21 staticforward PyTypeObject nbt_res_rec_Type;
22 staticforward PyTypeObject nbt_name_packet_Type;
23 staticforward PyTypeObject smb_trans_body_Type;
24 staticforward PyTypeObject dgram_smb_packet_Type;
25 staticforward PyTypeObject dgram_message_Type;
26 staticforward PyTypeObject nbt_dgram_packet_Type;
27 staticforward PyTypeObject nbt_sockaddr_Type;
28 staticforward PyTypeObject NETLOGON_SAM_LOGON_REQUEST_Type;
29 staticforward PyTypeObject NETLOGON_LOGON_REQUEST_Type;
30 staticforward PyTypeObject NETLOGON_SAM_LOGON_RESPONSE_NT40_Type;
31 staticforward PyTypeObject NETLOGON_SAM_LOGON_RESPONSE_Type;
32 staticforward PyTypeObject NETLOGON_SAM_LOGON_RESPONSE_EX_Type;
33 staticforward PyTypeObject nbt_netlogon_query_for_pdc_Type;
34 staticforward PyTypeObject nbt_netlogon_response_from_pdc_Type;
35 staticforward PyTypeObject nbt_netlogon_response2_Type;
36 staticforward PyTypeObject nbt_db_change_info_Type;
37 staticforward PyTypeObject NETLOGON_DB_CHANGE_Type;
38 staticforward PyTypeObject nbt_netlogon_packet_Type;
39 staticforward PyTypeObject nbt_browse_host_announcement_Type;
40 staticforward PyTypeObject nbt_browse_announcement_request_Type;
41 staticforward PyTypeObject nbt_browse_election_request_Type;
42 staticforward PyTypeObject nbt_browse_backup_list_request_Type;
43 staticforward PyTypeObject nbt_browse_backup_list_response_Type;
44 staticforward PyTypeObject nbt_browse_become_backup_Type;
45 staticforward PyTypeObject nbt_browse_domain_announcement_Type;
46 staticforward PyTypeObject nbt_browse_master_announcement_Type;
47 staticforward PyTypeObject nbt_browse_reset_state_Type;
48 staticforward PyTypeObject nbt_browse_local_master_announcement_Type;
49 staticforward PyTypeObject nbt_browse_packet_Type;
50 staticforward PyTypeObject nbt_InterfaceType;
52 void initnbt(void);static PyTypeObject *dom_sid_Type;
53 static PyTypeObject *Object_Type;
54 static PyTypeObject *GUID_Type;
55 static PyTypeObject *ClientConnection_Type;
57 static PyObject *py_nbt_name_get_name(PyObject *obj, void *closure)
59 struct nbt_name *object = (struct nbt_name *)pytalloc_get_ptr(obj);
61 py_name = PyString_FromStringOrNULL(object->name);
65 static int py_nbt_name_set_name(PyObject *py_obj, PyObject *value, void *closure)
67 struct nbt_name *object = (struct nbt_name *)pytalloc_get_ptr(py_obj);
68 object->name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
72 static PyObject *py_nbt_name_get_scope(PyObject *obj, void *closure)
74 struct nbt_name *object = (struct nbt_name *)pytalloc_get_ptr(obj);
76 py_scope = PyString_FromStringOrNULL(object->scope);
80 static int py_nbt_name_set_scope(PyObject *py_obj, PyObject *value, void *closure)
82 struct nbt_name *object = (struct nbt_name *)pytalloc_get_ptr(py_obj);
83 object->scope = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
87 static PyObject *py_nbt_name_get_type(PyObject *obj, void *closure)
89 struct nbt_name *object = (struct nbt_name *)pytalloc_get_ptr(obj);
91 py_type = PyInt_FromLong(object->type);
95 static int py_nbt_name_set_type(PyObject *py_obj, PyObject *value, void *closure)
97 struct nbt_name *object = (struct nbt_name *)pytalloc_get_ptr(py_obj);
98 if (PyLong_Check(value)) {
99 object->type = PyLong_AsLongLong(value);
100 } else if (PyInt_Check(value)) {
101 object->type = PyInt_AsLong(value);
103 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
104 PyInt_Type.tp_name, PyLong_Type.tp_name);
110 static PyGetSetDef py_nbt_name_getsetters[] = {
111 { discard_const_p(char, "name"), py_nbt_name_get_name, py_nbt_name_set_name },
112 { discard_const_p(char, "scope"), py_nbt_name_get_scope, py_nbt_name_set_scope },
113 { discard_const_p(char, "type"), py_nbt_name_get_type, py_nbt_name_set_type },
117 static PyObject *py_nbt_name_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
119 return pytalloc_new(struct nbt_name, type);
122 static PyObject *py_nbt_name_ndr_pack(PyObject *py_obj)
124 struct nbt_name *object = (struct nbt_name *)pytalloc_get_ptr(py_obj);
126 enum ndr_err_code err;
127 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_nbt_name);
128 if (err != NDR_ERR_SUCCESS) {
129 PyErr_SetNdrError(err);
133 return PyString_FromStringAndSize((char *)blob.data, blob.length);
136 static PyObject *py_nbt_name_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
138 struct nbt_name *object = (struct nbt_name *)pytalloc_get_ptr(py_obj);
141 enum ndr_err_code err;
142 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
143 PyObject *allow_remaining_obj = NULL;
144 bool allow_remaining = false;
146 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
147 discard_const_p(char *, kwnames),
148 &blob.data, &blob_length,
149 &allow_remaining_obj)) {
152 blob.length = blob_length;
154 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
155 allow_remaining = true;
158 if (allow_remaining) {
159 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_name);
161 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_name);
163 if (err != NDR_ERR_SUCCESS) {
164 PyErr_SetNdrError(err);
171 static PyObject *py_nbt_name_ndr_print(PyObject *py_obj)
173 struct nbt_name *object = (struct nbt_name *)pytalloc_get_ptr(py_obj);
177 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_nbt_name, "nbt_name", object);
178 ret = PyString_FromString(retstr);
184 static PyMethodDef py_nbt_name_methods[] = {
185 { "__ndr_pack__", (PyCFunction)py_nbt_name_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
186 { "__ndr_unpack__", (PyCFunction)py_nbt_name_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
187 { "__ndr_print__", (PyCFunction)py_nbt_name_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
188 { NULL, NULL, 0, NULL }
192 static PyTypeObject nbt_name_Type = {
193 PyObject_HEAD_INIT(NULL) 0,
194 .tp_name = "nbt.name",
195 .tp_getset = py_nbt_name_getsetters,
196 .tp_methods = py_nbt_name_methods,
197 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
198 .tp_basicsize = sizeof(pytalloc_Object),
199 .tp_new = py_nbt_name_new,
203 static PyObject *py_nbt_name_question_get_name(PyObject *obj, void *closure)
205 struct nbt_name_question *object = (struct nbt_name_question *)pytalloc_get_ptr(obj);
207 py_name = pytalloc_reference_ex(&nbt_name_Type, pytalloc_get_mem_ctx(obj), &object->name);
211 static int py_nbt_name_question_set_name(PyObject *py_obj, PyObject *value, void *closure)
213 struct nbt_name_question *object = (struct nbt_name_question *)pytalloc_get_ptr(py_obj);
214 PY_CHECK_TYPE(&nbt_name_Type, value, return -1;);
215 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
219 object->name = *(struct nbt_name *)pytalloc_get_ptr(value);
223 static PyObject *py_nbt_name_question_get_question_type(PyObject *obj, void *closure)
225 struct nbt_name_question *object = (struct nbt_name_question *)pytalloc_get_ptr(obj);
226 PyObject *py_question_type;
227 py_question_type = PyInt_FromLong(object->question_type);
228 return py_question_type;
231 static int py_nbt_name_question_set_question_type(PyObject *py_obj, PyObject *value, void *closure)
233 struct nbt_name_question *object = (struct nbt_name_question *)pytalloc_get_ptr(py_obj);
234 if (PyLong_Check(value)) {
235 object->question_type = PyLong_AsLongLong(value);
236 } else if (PyInt_Check(value)) {
237 object->question_type = PyInt_AsLong(value);
239 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
240 PyInt_Type.tp_name, PyLong_Type.tp_name);
246 static PyObject *py_nbt_name_question_get_question_class(PyObject *obj, void *closure)
248 struct nbt_name_question *object = (struct nbt_name_question *)pytalloc_get_ptr(obj);
249 PyObject *py_question_class;
250 py_question_class = PyInt_FromLong(object->question_class);
251 return py_question_class;
254 static int py_nbt_name_question_set_question_class(PyObject *py_obj, PyObject *value, void *closure)
256 struct nbt_name_question *object = (struct nbt_name_question *)pytalloc_get_ptr(py_obj);
257 if (PyLong_Check(value)) {
258 object->question_class = PyLong_AsLongLong(value);
259 } else if (PyInt_Check(value)) {
260 object->question_class = PyInt_AsLong(value);
262 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
263 PyInt_Type.tp_name, PyLong_Type.tp_name);
269 static PyGetSetDef py_nbt_name_question_getsetters[] = {
270 { discard_const_p(char, "name"), py_nbt_name_question_get_name, py_nbt_name_question_set_name },
271 { discard_const_p(char, "question_type"), py_nbt_name_question_get_question_type, py_nbt_name_question_set_question_type },
272 { discard_const_p(char, "question_class"), py_nbt_name_question_get_question_class, py_nbt_name_question_set_question_class },
276 static PyObject *py_nbt_name_question_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
278 return pytalloc_new(struct nbt_name_question, type);
282 static PyTypeObject nbt_name_question_Type = {
283 PyObject_HEAD_INIT(NULL) 0,
284 .tp_name = "nbt.name_question",
285 .tp_getset = py_nbt_name_question_getsetters,
287 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
288 .tp_basicsize = sizeof(pytalloc_Object),
289 .tp_new = py_nbt_name_question_new,
293 static PyObject *py_nbt_rdata_address_get_nb_flags(PyObject *obj, void *closure)
295 struct nbt_rdata_address *object = (struct nbt_rdata_address *)pytalloc_get_ptr(obj);
296 PyObject *py_nb_flags;
297 py_nb_flags = PyInt_FromLong(object->nb_flags);
301 static int py_nbt_rdata_address_set_nb_flags(PyObject *py_obj, PyObject *value, void *closure)
303 struct nbt_rdata_address *object = (struct nbt_rdata_address *)pytalloc_get_ptr(py_obj);
304 if (PyLong_Check(value)) {
305 object->nb_flags = PyLong_AsLongLong(value);
306 } else if (PyInt_Check(value)) {
307 object->nb_flags = PyInt_AsLong(value);
309 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
310 PyInt_Type.tp_name, PyLong_Type.tp_name);
316 static PyObject *py_nbt_rdata_address_get_ipaddr(PyObject *obj, void *closure)
318 struct nbt_rdata_address *object = (struct nbt_rdata_address *)pytalloc_get_ptr(obj);
320 py_ipaddr = PyString_FromStringOrNULL(object->ipaddr);
324 static int py_nbt_rdata_address_set_ipaddr(PyObject *py_obj, PyObject *value, void *closure)
326 struct nbt_rdata_address *object = (struct nbt_rdata_address *)pytalloc_get_ptr(py_obj);
327 object->ipaddr = PyString_AS_STRING(value);
331 static PyGetSetDef py_nbt_rdata_address_getsetters[] = {
332 { discard_const_p(char, "nb_flags"), py_nbt_rdata_address_get_nb_flags, py_nbt_rdata_address_set_nb_flags },
333 { discard_const_p(char, "ipaddr"), py_nbt_rdata_address_get_ipaddr, py_nbt_rdata_address_set_ipaddr },
337 static PyObject *py_nbt_rdata_address_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
339 return pytalloc_new(struct nbt_rdata_address, type);
343 static PyTypeObject nbt_rdata_address_Type = {
344 PyObject_HEAD_INIT(NULL) 0,
345 .tp_name = "nbt.rdata_address",
346 .tp_getset = py_nbt_rdata_address_getsetters,
348 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
349 .tp_basicsize = sizeof(pytalloc_Object),
350 .tp_new = py_nbt_rdata_address_new,
354 static PyObject *py_nbt_rdata_netbios_get_length(PyObject *obj, void *closure)
356 struct nbt_rdata_netbios *object = (struct nbt_rdata_netbios *)pytalloc_get_ptr(obj);
358 py_length = PyInt_FromLong(object->length);
362 static int py_nbt_rdata_netbios_set_length(PyObject *py_obj, PyObject *value, void *closure)
364 struct nbt_rdata_netbios *object = (struct nbt_rdata_netbios *)pytalloc_get_ptr(py_obj);
365 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
366 object->length = PyInt_AsLong(value);
370 static PyObject *py_nbt_rdata_netbios_get_addresses(PyObject *obj, void *closure)
372 struct nbt_rdata_netbios *object = (struct nbt_rdata_netbios *)pytalloc_get_ptr(obj);
373 PyObject *py_addresses;
374 py_addresses = PyList_New(object->length / 6);
375 if (py_addresses == NULL) {
379 int addresses_cntr_0;
380 for (addresses_cntr_0 = 0; addresses_cntr_0 < object->length / 6; addresses_cntr_0++) {
381 PyObject *py_addresses_0;
382 py_addresses_0 = pytalloc_reference_ex(&nbt_rdata_address_Type, object->addresses, &object->addresses[addresses_cntr_0]);
383 PyList_SetItem(py_addresses, addresses_cntr_0, py_addresses_0);
389 static int py_nbt_rdata_netbios_set_addresses(PyObject *py_obj, PyObject *value, void *closure)
391 struct nbt_rdata_netbios *object = (struct nbt_rdata_netbios *)pytalloc_get_ptr(py_obj);
392 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
394 int addresses_cntr_0;
395 object->addresses = talloc_array_ptrtype(pytalloc_get_mem_ctx(py_obj), object->addresses, PyList_GET_SIZE(value));
396 if (!object->addresses) { return -1;; }
397 talloc_set_name_const(object->addresses, "ARRAY: object->addresses");
398 for (addresses_cntr_0 = 0; addresses_cntr_0 < PyList_GET_SIZE(value); addresses_cntr_0++) {
399 PY_CHECK_TYPE(&nbt_rdata_address_Type, PyList_GET_ITEM(value, addresses_cntr_0), return -1;);
400 if (talloc_reference(object->addresses, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, addresses_cntr_0))) == NULL) {
404 object->addresses[addresses_cntr_0] = *(struct nbt_rdata_address *)pytalloc_get_ptr(PyList_GET_ITEM(value, addresses_cntr_0));
410 static PyGetSetDef py_nbt_rdata_netbios_getsetters[] = {
411 { discard_const_p(char, "length"), py_nbt_rdata_netbios_get_length, py_nbt_rdata_netbios_set_length },
412 { discard_const_p(char, "addresses"), py_nbt_rdata_netbios_get_addresses, py_nbt_rdata_netbios_set_addresses },
416 static PyObject *py_nbt_rdata_netbios_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
418 return pytalloc_new(struct nbt_rdata_netbios, type);
422 static PyTypeObject nbt_rdata_netbios_Type = {
423 PyObject_HEAD_INIT(NULL) 0,
424 .tp_name = "nbt.rdata_netbios",
425 .tp_getset = py_nbt_rdata_netbios_getsetters,
427 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
428 .tp_basicsize = sizeof(pytalloc_Object),
429 .tp_new = py_nbt_rdata_netbios_new,
433 static PyObject *py_nbt_statistics_get_unit_id(PyObject *obj, void *closure)
435 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
436 PyObject *py_unit_id;
437 py_unit_id = PyList_New(6);
438 if (py_unit_id == NULL) {
443 for (unit_id_cntr_0 = 0; unit_id_cntr_0 < 6; unit_id_cntr_0++) {
444 PyObject *py_unit_id_0;
445 py_unit_id_0 = PyInt_FromLong(object->unit_id[unit_id_cntr_0]);
446 PyList_SetItem(py_unit_id, unit_id_cntr_0, py_unit_id_0);
452 static int py_nbt_statistics_set_unit_id(PyObject *py_obj, PyObject *value, void *closure)
454 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
455 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
458 for (unit_id_cntr_0 = 0; unit_id_cntr_0 < PyList_GET_SIZE(value); unit_id_cntr_0++) {
459 PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, unit_id_cntr_0), return -1;);
460 object->unit_id[unit_id_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, unit_id_cntr_0));
466 static PyObject *py_nbt_statistics_get_jumpers(PyObject *obj, void *closure)
468 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
469 PyObject *py_jumpers;
470 py_jumpers = PyInt_FromLong(object->jumpers);
474 static int py_nbt_statistics_set_jumpers(PyObject *py_obj, PyObject *value, void *closure)
476 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
477 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
478 object->jumpers = PyInt_AsLong(value);
482 static PyObject *py_nbt_statistics_get_test_result(PyObject *obj, void *closure)
484 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
485 PyObject *py_test_result;
486 py_test_result = PyInt_FromLong(object->test_result);
487 return py_test_result;
490 static int py_nbt_statistics_set_test_result(PyObject *py_obj, PyObject *value, void *closure)
492 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
493 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
494 object->test_result = PyInt_AsLong(value);
498 static PyObject *py_nbt_statistics_get_version_number(PyObject *obj, void *closure)
500 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
501 PyObject *py_version_number;
502 py_version_number = PyInt_FromLong(object->version_number);
503 return py_version_number;
506 static int py_nbt_statistics_set_version_number(PyObject *py_obj, PyObject *value, void *closure)
508 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
509 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
510 object->version_number = PyInt_AsLong(value);
514 static PyObject *py_nbt_statistics_get_period_of_statistics(PyObject *obj, void *closure)
516 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
517 PyObject *py_period_of_statistics;
518 py_period_of_statistics = PyInt_FromLong(object->period_of_statistics);
519 return py_period_of_statistics;
522 static int py_nbt_statistics_set_period_of_statistics(PyObject *py_obj, PyObject *value, void *closure)
524 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
525 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
526 object->period_of_statistics = PyInt_AsLong(value);
530 static PyObject *py_nbt_statistics_get_number_of_crcs(PyObject *obj, void *closure)
532 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
533 PyObject *py_number_of_crcs;
534 py_number_of_crcs = PyInt_FromLong(object->number_of_crcs);
535 return py_number_of_crcs;
538 static int py_nbt_statistics_set_number_of_crcs(PyObject *py_obj, PyObject *value, void *closure)
540 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
541 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
542 object->number_of_crcs = PyInt_AsLong(value);
546 static PyObject *py_nbt_statistics_get_number_alignment_errors(PyObject *obj, void *closure)
548 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
549 PyObject *py_number_alignment_errors;
550 py_number_alignment_errors = PyInt_FromLong(object->number_alignment_errors);
551 return py_number_alignment_errors;
554 static int py_nbt_statistics_set_number_alignment_errors(PyObject *py_obj, PyObject *value, void *closure)
556 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
557 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
558 object->number_alignment_errors = PyInt_AsLong(value);
562 static PyObject *py_nbt_statistics_get_number_of_collisions(PyObject *obj, void *closure)
564 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
565 PyObject *py_number_of_collisions;
566 py_number_of_collisions = PyInt_FromLong(object->number_of_collisions);
567 return py_number_of_collisions;
570 static int py_nbt_statistics_set_number_of_collisions(PyObject *py_obj, PyObject *value, void *closure)
572 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
573 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
574 object->number_of_collisions = PyInt_AsLong(value);
578 static PyObject *py_nbt_statistics_get_number_send_aborts(PyObject *obj, void *closure)
580 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
581 PyObject *py_number_send_aborts;
582 py_number_send_aborts = PyInt_FromLong(object->number_send_aborts);
583 return py_number_send_aborts;
586 static int py_nbt_statistics_set_number_send_aborts(PyObject *py_obj, PyObject *value, void *closure)
588 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
589 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
590 object->number_send_aborts = PyInt_AsLong(value);
594 static PyObject *py_nbt_statistics_get_number_good_sends(PyObject *obj, void *closure)
596 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
597 PyObject *py_number_good_sends;
598 py_number_good_sends = PyInt_FromLong(object->number_good_sends);
599 return py_number_good_sends;
602 static int py_nbt_statistics_set_number_good_sends(PyObject *py_obj, PyObject *value, void *closure)
604 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
605 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
606 object->number_good_sends = PyInt_AsLong(value);
610 static PyObject *py_nbt_statistics_get_number_good_receives(PyObject *obj, void *closure)
612 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
613 PyObject *py_number_good_receives;
614 py_number_good_receives = PyInt_FromLong(object->number_good_receives);
615 return py_number_good_receives;
618 static int py_nbt_statistics_set_number_good_receives(PyObject *py_obj, PyObject *value, void *closure)
620 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
621 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
622 object->number_good_receives = PyInt_AsLong(value);
626 static PyObject *py_nbt_statistics_get_number_retransmits(PyObject *obj, void *closure)
628 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
629 PyObject *py_number_retransmits;
630 py_number_retransmits = PyInt_FromLong(object->number_retransmits);
631 return py_number_retransmits;
634 static int py_nbt_statistics_set_number_retransmits(PyObject *py_obj, PyObject *value, void *closure)
636 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
637 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
638 object->number_retransmits = PyInt_AsLong(value);
642 static PyObject *py_nbt_statistics_get_number_no_resource_conditions(PyObject *obj, void *closure)
644 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
645 PyObject *py_number_no_resource_conditions;
646 py_number_no_resource_conditions = PyInt_FromLong(object->number_no_resource_conditions);
647 return py_number_no_resource_conditions;
650 static int py_nbt_statistics_set_number_no_resource_conditions(PyObject *py_obj, PyObject *value, void *closure)
652 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
653 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
654 object->number_no_resource_conditions = PyInt_AsLong(value);
658 static PyObject *py_nbt_statistics_get_number_free_command_blocks(PyObject *obj, void *closure)
660 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
661 PyObject *py_number_free_command_blocks;
662 py_number_free_command_blocks = PyInt_FromLong(object->number_free_command_blocks);
663 return py_number_free_command_blocks;
666 static int py_nbt_statistics_set_number_free_command_blocks(PyObject *py_obj, PyObject *value, void *closure)
668 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
669 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
670 object->number_free_command_blocks = PyInt_AsLong(value);
674 static PyObject *py_nbt_statistics_get_total_number_command_blocks(PyObject *obj, void *closure)
676 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
677 PyObject *py_total_number_command_blocks;
678 py_total_number_command_blocks = PyInt_FromLong(object->total_number_command_blocks);
679 return py_total_number_command_blocks;
682 static int py_nbt_statistics_set_total_number_command_blocks(PyObject *py_obj, PyObject *value, void *closure)
684 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
685 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
686 object->total_number_command_blocks = PyInt_AsLong(value);
690 static PyObject *py_nbt_statistics_get_max_total_number_command_blocks(PyObject *obj, void *closure)
692 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
693 PyObject *py_max_total_number_command_blocks;
694 py_max_total_number_command_blocks = PyInt_FromLong(object->max_total_number_command_blocks);
695 return py_max_total_number_command_blocks;
698 static int py_nbt_statistics_set_max_total_number_command_blocks(PyObject *py_obj, PyObject *value, void *closure)
700 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
701 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
702 object->max_total_number_command_blocks = PyInt_AsLong(value);
706 static PyObject *py_nbt_statistics_get_number_pending_sessions(PyObject *obj, void *closure)
708 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
709 PyObject *py_number_pending_sessions;
710 py_number_pending_sessions = PyInt_FromLong(object->number_pending_sessions);
711 return py_number_pending_sessions;
714 static int py_nbt_statistics_set_number_pending_sessions(PyObject *py_obj, PyObject *value, void *closure)
716 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
717 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
718 object->number_pending_sessions = PyInt_AsLong(value);
722 static PyObject *py_nbt_statistics_get_max_number_pending_sessions(PyObject *obj, void *closure)
724 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
725 PyObject *py_max_number_pending_sessions;
726 py_max_number_pending_sessions = PyInt_FromLong(object->max_number_pending_sessions);
727 return py_max_number_pending_sessions;
730 static int py_nbt_statistics_set_max_number_pending_sessions(PyObject *py_obj, PyObject *value, void *closure)
732 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
733 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
734 object->max_number_pending_sessions = PyInt_AsLong(value);
738 static PyObject *py_nbt_statistics_get_max_total_sessions_possible(PyObject *obj, void *closure)
740 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
741 PyObject *py_max_total_sessions_possible;
742 py_max_total_sessions_possible = PyInt_FromLong(object->max_total_sessions_possible);
743 return py_max_total_sessions_possible;
746 static int py_nbt_statistics_set_max_total_sessions_possible(PyObject *py_obj, PyObject *value, void *closure)
748 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
749 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
750 object->max_total_sessions_possible = PyInt_AsLong(value);
754 static PyObject *py_nbt_statistics_get_session_data_packet_size(PyObject *obj, void *closure)
756 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(obj);
757 PyObject *py_session_data_packet_size;
758 py_session_data_packet_size = PyInt_FromLong(object->session_data_packet_size);
759 return py_session_data_packet_size;
762 static int py_nbt_statistics_set_session_data_packet_size(PyObject *py_obj, PyObject *value, void *closure)
764 struct nbt_statistics *object = (struct nbt_statistics *)pytalloc_get_ptr(py_obj);
765 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
766 object->session_data_packet_size = PyInt_AsLong(value);
770 static PyGetSetDef py_nbt_statistics_getsetters[] = {
771 { discard_const_p(char, "unit_id"), py_nbt_statistics_get_unit_id, py_nbt_statistics_set_unit_id },
772 { discard_const_p(char, "jumpers"), py_nbt_statistics_get_jumpers, py_nbt_statistics_set_jumpers },
773 { discard_const_p(char, "test_result"), py_nbt_statistics_get_test_result, py_nbt_statistics_set_test_result },
774 { discard_const_p(char, "version_number"), py_nbt_statistics_get_version_number, py_nbt_statistics_set_version_number },
775 { discard_const_p(char, "period_of_statistics"), py_nbt_statistics_get_period_of_statistics, py_nbt_statistics_set_period_of_statistics },
776 { discard_const_p(char, "number_of_crcs"), py_nbt_statistics_get_number_of_crcs, py_nbt_statistics_set_number_of_crcs },
777 { discard_const_p(char, "number_alignment_errors"), py_nbt_statistics_get_number_alignment_errors, py_nbt_statistics_set_number_alignment_errors },
778 { discard_const_p(char, "number_of_collisions"), py_nbt_statistics_get_number_of_collisions, py_nbt_statistics_set_number_of_collisions },
779 { discard_const_p(char, "number_send_aborts"), py_nbt_statistics_get_number_send_aborts, py_nbt_statistics_set_number_send_aborts },
780 { discard_const_p(char, "number_good_sends"), py_nbt_statistics_get_number_good_sends, py_nbt_statistics_set_number_good_sends },
781 { discard_const_p(char, "number_good_receives"), py_nbt_statistics_get_number_good_receives, py_nbt_statistics_set_number_good_receives },
782 { discard_const_p(char, "number_retransmits"), py_nbt_statistics_get_number_retransmits, py_nbt_statistics_set_number_retransmits },
783 { discard_const_p(char, "number_no_resource_conditions"), py_nbt_statistics_get_number_no_resource_conditions, py_nbt_statistics_set_number_no_resource_conditions },
784 { discard_const_p(char, "number_free_command_blocks"), py_nbt_statistics_get_number_free_command_blocks, py_nbt_statistics_set_number_free_command_blocks },
785 { discard_const_p(char, "total_number_command_blocks"), py_nbt_statistics_get_total_number_command_blocks, py_nbt_statistics_set_total_number_command_blocks },
786 { discard_const_p(char, "max_total_number_command_blocks"), py_nbt_statistics_get_max_total_number_command_blocks, py_nbt_statistics_set_max_total_number_command_blocks },
787 { discard_const_p(char, "number_pending_sessions"), py_nbt_statistics_get_number_pending_sessions, py_nbt_statistics_set_number_pending_sessions },
788 { discard_const_p(char, "max_number_pending_sessions"), py_nbt_statistics_get_max_number_pending_sessions, py_nbt_statistics_set_max_number_pending_sessions },
789 { discard_const_p(char, "max_total_sessions_possible"), py_nbt_statistics_get_max_total_sessions_possible, py_nbt_statistics_set_max_total_sessions_possible },
790 { discard_const_p(char, "session_data_packet_size"), py_nbt_statistics_get_session_data_packet_size, py_nbt_statistics_set_session_data_packet_size },
794 static PyObject *py_nbt_statistics_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
796 return pytalloc_new(struct nbt_statistics, type);
800 static PyTypeObject nbt_statistics_Type = {
801 PyObject_HEAD_INIT(NULL) 0,
802 .tp_name = "nbt.statistics",
803 .tp_getset = py_nbt_statistics_getsetters,
805 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
806 .tp_basicsize = sizeof(pytalloc_Object),
807 .tp_new = py_nbt_statistics_new,
811 static PyObject *py_nbt_status_name_get_name(PyObject *obj, void *closure)
813 struct nbt_status_name *object = (struct nbt_status_name *)pytalloc_get_ptr(obj);
815 if (object->name == NULL) {
819 py_name = PyUnicode_Decode(object->name, strlen(object->name), "utf-8", "ignore");
824 static int py_nbt_status_name_set_name(PyObject *py_obj, PyObject *value, void *closure)
826 struct nbt_status_name *object = (struct nbt_status_name *)pytalloc_get_ptr(py_obj);
827 if (PyUnicode_Check(value)) {
828 object->name = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
829 } else if (PyString_Check(value)) {
830 object->name = PyString_AS_STRING(value);
832 PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
838 static PyObject *py_nbt_status_name_get_type(PyObject *obj, void *closure)
840 struct nbt_status_name *object = (struct nbt_status_name *)pytalloc_get_ptr(obj);
842 py_type = PyInt_FromLong(object->type);
846 static int py_nbt_status_name_set_type(PyObject *py_obj, PyObject *value, void *closure)
848 struct nbt_status_name *object = (struct nbt_status_name *)pytalloc_get_ptr(py_obj);
849 if (PyLong_Check(value)) {
850 object->type = PyLong_AsLongLong(value);
851 } else if (PyInt_Check(value)) {
852 object->type = PyInt_AsLong(value);
854 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
855 PyInt_Type.tp_name, PyLong_Type.tp_name);
861 static PyObject *py_nbt_status_name_get_nb_flags(PyObject *obj, void *closure)
863 struct nbt_status_name *object = (struct nbt_status_name *)pytalloc_get_ptr(obj);
864 PyObject *py_nb_flags;
865 py_nb_flags = PyInt_FromLong(object->nb_flags);
869 static int py_nbt_status_name_set_nb_flags(PyObject *py_obj, PyObject *value, void *closure)
871 struct nbt_status_name *object = (struct nbt_status_name *)pytalloc_get_ptr(py_obj);
872 if (PyLong_Check(value)) {
873 object->nb_flags = PyLong_AsLongLong(value);
874 } else if (PyInt_Check(value)) {
875 object->nb_flags = PyInt_AsLong(value);
877 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
878 PyInt_Type.tp_name, PyLong_Type.tp_name);
884 static PyGetSetDef py_nbt_status_name_getsetters[] = {
885 { discard_const_p(char, "name"), py_nbt_status_name_get_name, py_nbt_status_name_set_name },
886 { discard_const_p(char, "type"), py_nbt_status_name_get_type, py_nbt_status_name_set_type },
887 { discard_const_p(char, "nb_flags"), py_nbt_status_name_get_nb_flags, py_nbt_status_name_set_nb_flags },
891 static PyObject *py_nbt_status_name_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
893 return pytalloc_new(struct nbt_status_name, type);
897 static PyTypeObject nbt_status_name_Type = {
898 PyObject_HEAD_INIT(NULL) 0,
899 .tp_name = "nbt.status_name",
900 .tp_getset = py_nbt_status_name_getsetters,
902 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
903 .tp_basicsize = sizeof(pytalloc_Object),
904 .tp_new = py_nbt_status_name_new,
908 static PyObject *py_nbt_rdata_status_get_length(PyObject *obj, void *closure)
910 struct nbt_rdata_status *object = (struct nbt_rdata_status *)pytalloc_get_ptr(obj);
912 py_length = PyInt_FromLong(object->length);
916 static int py_nbt_rdata_status_set_length(PyObject *py_obj, PyObject *value, void *closure)
918 struct nbt_rdata_status *object = (struct nbt_rdata_status *)pytalloc_get_ptr(py_obj);
919 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
920 object->length = PyInt_AsLong(value);
924 static PyObject *py_nbt_rdata_status_get_num_names(PyObject *obj, void *closure)
926 struct nbt_rdata_status *object = (struct nbt_rdata_status *)pytalloc_get_ptr(obj);
927 PyObject *py_num_names;
928 py_num_names = PyInt_FromLong(object->num_names);
932 static int py_nbt_rdata_status_set_num_names(PyObject *py_obj, PyObject *value, void *closure)
934 struct nbt_rdata_status *object = (struct nbt_rdata_status *)pytalloc_get_ptr(py_obj);
935 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
936 object->num_names = PyInt_AsLong(value);
940 static PyObject *py_nbt_rdata_status_get_names(PyObject *obj, void *closure)
942 struct nbt_rdata_status *object = (struct nbt_rdata_status *)pytalloc_get_ptr(obj);
944 py_names = PyList_New(object->num_names);
945 if (py_names == NULL) {
950 for (names_cntr_0 = 0; names_cntr_0 < object->num_names; names_cntr_0++) {
951 PyObject *py_names_0;
952 py_names_0 = pytalloc_reference_ex(&nbt_status_name_Type, object->names, &object->names[names_cntr_0]);
953 PyList_SetItem(py_names, names_cntr_0, py_names_0);
959 static int py_nbt_rdata_status_set_names(PyObject *py_obj, PyObject *value, void *closure)
961 struct nbt_rdata_status *object = (struct nbt_rdata_status *)pytalloc_get_ptr(py_obj);
962 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
965 object->names = talloc_array_ptrtype(pytalloc_get_mem_ctx(py_obj), object->names, PyList_GET_SIZE(value));
966 if (!object->names) { return -1;; }
967 talloc_set_name_const(object->names, "ARRAY: object->names");
968 for (names_cntr_0 = 0; names_cntr_0 < PyList_GET_SIZE(value); names_cntr_0++) {
969 PY_CHECK_TYPE(&nbt_status_name_Type, PyList_GET_ITEM(value, names_cntr_0), return -1;);
970 if (talloc_reference(object->names, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, names_cntr_0))) == NULL) {
974 object->names[names_cntr_0] = *(struct nbt_status_name *)pytalloc_get_ptr(PyList_GET_ITEM(value, names_cntr_0));
980 static PyObject *py_nbt_rdata_status_get_statistics(PyObject *obj, void *closure)
982 struct nbt_rdata_status *object = (struct nbt_rdata_status *)pytalloc_get_ptr(obj);
983 PyObject *py_statistics;
984 py_statistics = pytalloc_reference_ex(&nbt_statistics_Type, pytalloc_get_mem_ctx(obj), &object->statistics);
985 return py_statistics;
988 static int py_nbt_rdata_status_set_statistics(PyObject *py_obj, PyObject *value, void *closure)
990 struct nbt_rdata_status *object = (struct nbt_rdata_status *)pytalloc_get_ptr(py_obj);
991 PY_CHECK_TYPE(&nbt_statistics_Type, value, return -1;);
992 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
996 object->statistics = *(struct nbt_statistics *)pytalloc_get_ptr(value);
1000 static PyGetSetDef py_nbt_rdata_status_getsetters[] = {
1001 { discard_const_p(char, "length"), py_nbt_rdata_status_get_length, py_nbt_rdata_status_set_length },
1002 { discard_const_p(char, "num_names"), py_nbt_rdata_status_get_num_names, py_nbt_rdata_status_set_num_names },
1003 { discard_const_p(char, "names"), py_nbt_rdata_status_get_names, py_nbt_rdata_status_set_names },
1004 { discard_const_p(char, "statistics"), py_nbt_rdata_status_get_statistics, py_nbt_rdata_status_set_statistics },
1008 static PyObject *py_nbt_rdata_status_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
1010 return pytalloc_new(struct nbt_rdata_status, type);
1014 static PyTypeObject nbt_rdata_status_Type = {
1015 PyObject_HEAD_INIT(NULL) 0,
1016 .tp_name = "nbt.rdata_status",
1017 .tp_getset = py_nbt_rdata_status_getsetters,
1019 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
1020 .tp_basicsize = sizeof(pytalloc_Object),
1021 .tp_new = py_nbt_rdata_status_new,
1025 static PyObject *py_nbt_rdata_data_get_length(PyObject *obj, void *closure)
1027 struct nbt_rdata_data *object = (struct nbt_rdata_data *)pytalloc_get_ptr(obj);
1028 PyObject *py_length;
1029 py_length = PyInt_FromLong(object->length);
1033 static int py_nbt_rdata_data_set_length(PyObject *py_obj, PyObject *value, void *closure)
1035 struct nbt_rdata_data *object = (struct nbt_rdata_data *)pytalloc_get_ptr(py_obj);
1036 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1037 object->length = PyInt_AsLong(value);
1041 static PyObject *py_nbt_rdata_data_get_data(PyObject *obj, void *closure)
1043 struct nbt_rdata_data *object = (struct nbt_rdata_data *)pytalloc_get_ptr(obj);
1045 py_data = PyList_New(object->length);
1046 if (py_data == NULL) {
1051 for (data_cntr_0 = 0; data_cntr_0 < object->length; data_cntr_0++) {
1052 PyObject *py_data_0;
1053 py_data_0 = PyInt_FromLong(object->data[data_cntr_0]);
1054 PyList_SetItem(py_data, data_cntr_0, py_data_0);
1060 static int py_nbt_rdata_data_set_data(PyObject *py_obj, PyObject *value, void *closure)
1062 struct nbt_rdata_data *object = (struct nbt_rdata_data *)pytalloc_get_ptr(py_obj);
1063 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
1066 object->data = talloc_array_ptrtype(pytalloc_get_mem_ctx(py_obj), object->data, PyList_GET_SIZE(value));
1067 if (!object->data) { return -1;; }
1068 talloc_set_name_const(object->data, "ARRAY: object->data");
1069 for (data_cntr_0 = 0; data_cntr_0 < PyList_GET_SIZE(value); data_cntr_0++) {
1070 PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, data_cntr_0), return -1;);
1071 object->data[data_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, data_cntr_0));
1077 static PyGetSetDef py_nbt_rdata_data_getsetters[] = {
1078 { discard_const_p(char, "length"), py_nbt_rdata_data_get_length, py_nbt_rdata_data_set_length },
1079 { discard_const_p(char, "data"), py_nbt_rdata_data_get_data, py_nbt_rdata_data_set_data },
1083 static PyObject *py_nbt_rdata_data_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
1085 return pytalloc_new(struct nbt_rdata_data, type);
1089 static PyTypeObject nbt_rdata_data_Type = {
1090 PyObject_HEAD_INIT(NULL) 0,
1091 .tp_name = "nbt.rdata_data",
1092 .tp_getset = py_nbt_rdata_data_getsetters,
1094 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
1095 .tp_basicsize = sizeof(pytalloc_Object),
1096 .tp_new = py_nbt_rdata_data_new,
1099 PyObject *py_import_nbt_rdata(TALLOC_CTX *mem_ctx, int level, union nbt_rdata *in)
1104 case NBT_QTYPE_NETBIOS:
1105 ret = pytalloc_reference_ex(&nbt_rdata_netbios_Type, mem_ctx, &in->netbios);
1108 case NBT_QTYPE_STATUS:
1109 ret = pytalloc_reference_ex(&nbt_rdata_status_Type, mem_ctx, &in->status);
1113 ret = pytalloc_reference_ex(&nbt_rdata_data_Type, mem_ctx, &in->data);
1117 PyErr_SetString(PyExc_TypeError, "unknown union level");
1121 union nbt_rdata *py_export_nbt_rdata(TALLOC_CTX *mem_ctx, int level, PyObject *in)
1123 union nbt_rdata *ret = talloc_zero(mem_ctx, union nbt_rdata);
1125 case NBT_QTYPE_NETBIOS:
1126 PY_CHECK_TYPE(&nbt_rdata_netbios_Type, in, talloc_free(ret); return NULL;);
1127 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
1129 talloc_free(ret); return NULL;
1131 ret->netbios = *(struct nbt_rdata_netbios *)pytalloc_get_ptr(in);
1134 case NBT_QTYPE_STATUS:
1135 PY_CHECK_TYPE(&nbt_rdata_status_Type, in, talloc_free(ret); return NULL;);
1136 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
1138 talloc_free(ret); return NULL;
1140 ret->status = *(struct nbt_rdata_status *)pytalloc_get_ptr(in);
1144 PY_CHECK_TYPE(&nbt_rdata_data_Type, in, talloc_free(ret); return NULL;);
1145 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
1147 talloc_free(ret); return NULL;
1149 ret->data = *(struct nbt_rdata_data *)pytalloc_get_ptr(in);
1158 static PyObject *py_nbt_res_rec_get_name(PyObject *obj, void *closure)
1160 struct nbt_res_rec *object = (struct nbt_res_rec *)pytalloc_get_ptr(obj);
1162 py_name = pytalloc_reference_ex(&nbt_name_Type, pytalloc_get_mem_ctx(obj), &object->name);
1166 static int py_nbt_res_rec_set_name(PyObject *py_obj, PyObject *value, void *closure)
1168 struct nbt_res_rec *object = (struct nbt_res_rec *)pytalloc_get_ptr(py_obj);
1169 PY_CHECK_TYPE(&nbt_name_Type, value, return -1;);
1170 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
1174 object->name = *(struct nbt_name *)pytalloc_get_ptr(value);
1178 static PyObject *py_nbt_res_rec_get_rr_type(PyObject *obj, void *closure)
1180 struct nbt_res_rec *object = (struct nbt_res_rec *)pytalloc_get_ptr(obj);
1181 PyObject *py_rr_type;
1182 py_rr_type = PyInt_FromLong(object->rr_type);
1186 static int py_nbt_res_rec_set_rr_type(PyObject *py_obj, PyObject *value, void *closure)
1188 struct nbt_res_rec *object = (struct nbt_res_rec *)pytalloc_get_ptr(py_obj);
1189 if (PyLong_Check(value)) {
1190 object->rr_type = PyLong_AsLongLong(value);
1191 } else if (PyInt_Check(value)) {
1192 object->rr_type = PyInt_AsLong(value);
1194 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
1195 PyInt_Type.tp_name, PyLong_Type.tp_name);
1201 static PyObject *py_nbt_res_rec_get_rr_class(PyObject *obj, void *closure)
1203 struct nbt_res_rec *object = (struct nbt_res_rec *)pytalloc_get_ptr(obj);
1204 PyObject *py_rr_class;
1205 py_rr_class = PyInt_FromLong(object->rr_class);
1209 static int py_nbt_res_rec_set_rr_class(PyObject *py_obj, PyObject *value, void *closure)
1211 struct nbt_res_rec *object = (struct nbt_res_rec *)pytalloc_get_ptr(py_obj);
1212 if (PyLong_Check(value)) {
1213 object->rr_class = PyLong_AsLongLong(value);
1214 } else if (PyInt_Check(value)) {
1215 object->rr_class = PyInt_AsLong(value);
1217 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
1218 PyInt_Type.tp_name, PyLong_Type.tp_name);
1224 static PyObject *py_nbt_res_rec_get_ttl(PyObject *obj, void *closure)
1226 struct nbt_res_rec *object = (struct nbt_res_rec *)pytalloc_get_ptr(obj);
1228 py_ttl = PyInt_FromLong(object->ttl);
1232 static int py_nbt_res_rec_set_ttl(PyObject *py_obj, PyObject *value, void *closure)
1234 struct nbt_res_rec *object = (struct nbt_res_rec *)pytalloc_get_ptr(py_obj);
1235 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1236 object->ttl = PyInt_AsLong(value);
1240 static PyObject *py_nbt_res_rec_get_rdata(PyObject *obj, void *closure)
1242 struct nbt_res_rec *object = (struct nbt_res_rec *)pytalloc_get_ptr(obj);
1244 py_rdata = py_import_nbt_rdata(pytalloc_get_mem_ctx(obj), object->rr_type, &object->rdata);
1245 if (py_rdata == NULL) {
1251 static int py_nbt_res_rec_set_rdata(PyObject *py_obj, PyObject *value, void *closure)
1253 struct nbt_res_rec *object = (struct nbt_res_rec *)pytalloc_get_ptr(py_obj);
1255 union nbt_rdata *rdata_switch_0;
1256 rdata_switch_0 = py_export_nbt_rdata(pytalloc_get_mem_ctx(py_obj), object->rr_type, value);
1257 if (rdata_switch_0 == NULL) {
1260 object->rdata = *rdata_switch_0;
1265 static PyGetSetDef py_nbt_res_rec_getsetters[] = {
1266 { discard_const_p(char, "name"), py_nbt_res_rec_get_name, py_nbt_res_rec_set_name },
1267 { discard_const_p(char, "rr_type"), py_nbt_res_rec_get_rr_type, py_nbt_res_rec_set_rr_type },
1268 { discard_const_p(char, "rr_class"), py_nbt_res_rec_get_rr_class, py_nbt_res_rec_set_rr_class },
1269 { discard_const_p(char, "ttl"), py_nbt_res_rec_get_ttl, py_nbt_res_rec_set_ttl },
1270 { discard_const_p(char, "rdata"), py_nbt_res_rec_get_rdata, py_nbt_res_rec_set_rdata },
1274 static PyObject *py_nbt_res_rec_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
1276 return pytalloc_new(struct nbt_res_rec, type);
1280 static PyTypeObject nbt_res_rec_Type = {
1281 PyObject_HEAD_INIT(NULL) 0,
1282 .tp_name = "nbt.res_rec",
1283 .tp_getset = py_nbt_res_rec_getsetters,
1285 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
1286 .tp_basicsize = sizeof(pytalloc_Object),
1287 .tp_new = py_nbt_res_rec_new,
1291 static PyObject *py_nbt_name_packet_get_name_trn_id(PyObject *obj, void *closure)
1293 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1294 PyObject *py_name_trn_id;
1295 py_name_trn_id = PyInt_FromLong(object->name_trn_id);
1296 return py_name_trn_id;
1299 static int py_nbt_name_packet_set_name_trn_id(PyObject *py_obj, PyObject *value, void *closure)
1301 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1302 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1303 object->name_trn_id = PyInt_AsLong(value);
1307 static PyObject *py_nbt_name_packet_get_operation(PyObject *obj, void *closure)
1309 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1310 PyObject *py_operation;
1311 py_operation = PyInt_FromLong(object->operation);
1312 return py_operation;
1315 static int py_nbt_name_packet_set_operation(PyObject *py_obj, PyObject *value, void *closure)
1317 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1318 if (PyLong_Check(value)) {
1319 object->operation = PyLong_AsLongLong(value);
1320 } else if (PyInt_Check(value)) {
1321 object->operation = PyInt_AsLong(value);
1323 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
1324 PyInt_Type.tp_name, PyLong_Type.tp_name);
1330 static PyObject *py_nbt_name_packet_get_qdcount(PyObject *obj, void *closure)
1332 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1333 PyObject *py_qdcount;
1334 py_qdcount = PyInt_FromLong(object->qdcount);
1338 static int py_nbt_name_packet_set_qdcount(PyObject *py_obj, PyObject *value, void *closure)
1340 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1341 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1342 object->qdcount = PyInt_AsLong(value);
1346 static PyObject *py_nbt_name_packet_get_ancount(PyObject *obj, void *closure)
1348 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1349 PyObject *py_ancount;
1350 py_ancount = PyInt_FromLong(object->ancount);
1354 static int py_nbt_name_packet_set_ancount(PyObject *py_obj, PyObject *value, void *closure)
1356 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1357 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1358 object->ancount = PyInt_AsLong(value);
1362 static PyObject *py_nbt_name_packet_get_nscount(PyObject *obj, void *closure)
1364 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1365 PyObject *py_nscount;
1366 py_nscount = PyInt_FromLong(object->nscount);
1370 static int py_nbt_name_packet_set_nscount(PyObject *py_obj, PyObject *value, void *closure)
1372 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1373 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1374 object->nscount = PyInt_AsLong(value);
1378 static PyObject *py_nbt_name_packet_get_arcount(PyObject *obj, void *closure)
1380 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1381 PyObject *py_arcount;
1382 py_arcount = PyInt_FromLong(object->arcount);
1386 static int py_nbt_name_packet_set_arcount(PyObject *py_obj, PyObject *value, void *closure)
1388 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1389 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1390 object->arcount = PyInt_AsLong(value);
1394 static PyObject *py_nbt_name_packet_get_questions(PyObject *obj, void *closure)
1396 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1397 PyObject *py_questions;
1398 py_questions = PyList_New(object->qdcount);
1399 if (py_questions == NULL) {
1403 int questions_cntr_0;
1404 for (questions_cntr_0 = 0; questions_cntr_0 < object->qdcount; questions_cntr_0++) {
1405 PyObject *py_questions_0;
1406 py_questions_0 = pytalloc_reference_ex(&nbt_name_question_Type, object->questions, &object->questions[questions_cntr_0]);
1407 PyList_SetItem(py_questions, questions_cntr_0, py_questions_0);
1410 return py_questions;
1413 static int py_nbt_name_packet_set_questions(PyObject *py_obj, PyObject *value, void *closure)
1415 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1416 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
1418 int questions_cntr_0;
1419 object->questions = talloc_array_ptrtype(pytalloc_get_mem_ctx(py_obj), object->questions, PyList_GET_SIZE(value));
1420 if (!object->questions) { return -1;; }
1421 talloc_set_name_const(object->questions, "ARRAY: object->questions");
1422 for (questions_cntr_0 = 0; questions_cntr_0 < PyList_GET_SIZE(value); questions_cntr_0++) {
1423 PY_CHECK_TYPE(&nbt_name_question_Type, PyList_GET_ITEM(value, questions_cntr_0), return -1;);
1424 if (talloc_reference(object->questions, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, questions_cntr_0))) == NULL) {
1428 object->questions[questions_cntr_0] = *(struct nbt_name_question *)pytalloc_get_ptr(PyList_GET_ITEM(value, questions_cntr_0));
1434 static PyObject *py_nbt_name_packet_get_answers(PyObject *obj, void *closure)
1436 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1437 PyObject *py_answers;
1438 py_answers = PyList_New(object->ancount);
1439 if (py_answers == NULL) {
1444 for (answers_cntr_0 = 0; answers_cntr_0 < object->ancount; answers_cntr_0++) {
1445 PyObject *py_answers_0;
1446 py_answers_0 = pytalloc_reference_ex(&nbt_res_rec_Type, object->answers, &object->answers[answers_cntr_0]);
1447 PyList_SetItem(py_answers, answers_cntr_0, py_answers_0);
1453 static int py_nbt_name_packet_set_answers(PyObject *py_obj, PyObject *value, void *closure)
1455 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1456 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
1459 object->answers = talloc_array_ptrtype(pytalloc_get_mem_ctx(py_obj), object->answers, PyList_GET_SIZE(value));
1460 if (!object->answers) { return -1;; }
1461 talloc_set_name_const(object->answers, "ARRAY: object->answers");
1462 for (answers_cntr_0 = 0; answers_cntr_0 < PyList_GET_SIZE(value); answers_cntr_0++) {
1463 PY_CHECK_TYPE(&nbt_res_rec_Type, PyList_GET_ITEM(value, answers_cntr_0), return -1;);
1464 if (talloc_reference(object->answers, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, answers_cntr_0))) == NULL) {
1468 object->answers[answers_cntr_0] = *(struct nbt_res_rec *)pytalloc_get_ptr(PyList_GET_ITEM(value, answers_cntr_0));
1474 static PyObject *py_nbt_name_packet_get_nsrecs(PyObject *obj, void *closure)
1476 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1477 PyObject *py_nsrecs;
1478 py_nsrecs = PyList_New(object->nscount);
1479 if (py_nsrecs == NULL) {
1484 for (nsrecs_cntr_0 = 0; nsrecs_cntr_0 < object->nscount; nsrecs_cntr_0++) {
1485 PyObject *py_nsrecs_0;
1486 py_nsrecs_0 = pytalloc_reference_ex(&nbt_res_rec_Type, object->nsrecs, &object->nsrecs[nsrecs_cntr_0]);
1487 PyList_SetItem(py_nsrecs, nsrecs_cntr_0, py_nsrecs_0);
1493 static int py_nbt_name_packet_set_nsrecs(PyObject *py_obj, PyObject *value, void *closure)
1495 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1496 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
1499 object->nsrecs = talloc_array_ptrtype(pytalloc_get_mem_ctx(py_obj), object->nsrecs, PyList_GET_SIZE(value));
1500 if (!object->nsrecs) { return -1;; }
1501 talloc_set_name_const(object->nsrecs, "ARRAY: object->nsrecs");
1502 for (nsrecs_cntr_0 = 0; nsrecs_cntr_0 < PyList_GET_SIZE(value); nsrecs_cntr_0++) {
1503 PY_CHECK_TYPE(&nbt_res_rec_Type, PyList_GET_ITEM(value, nsrecs_cntr_0), return -1;);
1504 if (talloc_reference(object->nsrecs, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, nsrecs_cntr_0))) == NULL) {
1508 object->nsrecs[nsrecs_cntr_0] = *(struct nbt_res_rec *)pytalloc_get_ptr(PyList_GET_ITEM(value, nsrecs_cntr_0));
1514 static PyObject *py_nbt_name_packet_get_additional(PyObject *obj, void *closure)
1516 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1517 PyObject *py_additional;
1518 py_additional = PyList_New(object->arcount);
1519 if (py_additional == NULL) {
1523 int additional_cntr_0;
1524 for (additional_cntr_0 = 0; additional_cntr_0 < object->arcount; additional_cntr_0++) {
1525 PyObject *py_additional_0;
1526 py_additional_0 = pytalloc_reference_ex(&nbt_res_rec_Type, object->additional, &object->additional[additional_cntr_0]);
1527 PyList_SetItem(py_additional, additional_cntr_0, py_additional_0);
1530 return py_additional;
1533 static int py_nbt_name_packet_set_additional(PyObject *py_obj, PyObject *value, void *closure)
1535 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1536 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
1538 int additional_cntr_0;
1539 object->additional = talloc_array_ptrtype(pytalloc_get_mem_ctx(py_obj), object->additional, PyList_GET_SIZE(value));
1540 if (!object->additional) { return -1;; }
1541 talloc_set_name_const(object->additional, "ARRAY: object->additional");
1542 for (additional_cntr_0 = 0; additional_cntr_0 < PyList_GET_SIZE(value); additional_cntr_0++) {
1543 PY_CHECK_TYPE(&nbt_res_rec_Type, PyList_GET_ITEM(value, additional_cntr_0), return -1;);
1544 if (talloc_reference(object->additional, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, additional_cntr_0))) == NULL) {
1548 object->additional[additional_cntr_0] = *(struct nbt_res_rec *)pytalloc_get_ptr(PyList_GET_ITEM(value, additional_cntr_0));
1554 static PyObject *py_nbt_name_packet_get_padding(PyObject *obj, void *closure)
1556 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(obj);
1557 PyObject *py_padding;
1558 py_padding = PyString_FromStringAndSize((char *)(object->padding).data, (object->padding).length);
1562 static int py_nbt_name_packet_set_padding(PyObject *py_obj, PyObject *value, void *closure)
1564 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1565 object->padding = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
1569 static PyGetSetDef py_nbt_name_packet_getsetters[] = {
1570 { discard_const_p(char, "name_trn_id"), py_nbt_name_packet_get_name_trn_id, py_nbt_name_packet_set_name_trn_id },
1571 { discard_const_p(char, "operation"), py_nbt_name_packet_get_operation, py_nbt_name_packet_set_operation },
1572 { discard_const_p(char, "qdcount"), py_nbt_name_packet_get_qdcount, py_nbt_name_packet_set_qdcount },
1573 { discard_const_p(char, "ancount"), py_nbt_name_packet_get_ancount, py_nbt_name_packet_set_ancount },
1574 { discard_const_p(char, "nscount"), py_nbt_name_packet_get_nscount, py_nbt_name_packet_set_nscount },
1575 { discard_const_p(char, "arcount"), py_nbt_name_packet_get_arcount, py_nbt_name_packet_set_arcount },
1576 { discard_const_p(char, "questions"), py_nbt_name_packet_get_questions, py_nbt_name_packet_set_questions },
1577 { discard_const_p(char, "answers"), py_nbt_name_packet_get_answers, py_nbt_name_packet_set_answers },
1578 { discard_const_p(char, "nsrecs"), py_nbt_name_packet_get_nsrecs, py_nbt_name_packet_set_nsrecs },
1579 { discard_const_p(char, "additional"), py_nbt_name_packet_get_additional, py_nbt_name_packet_set_additional },
1580 { discard_const_p(char, "padding"), py_nbt_name_packet_get_padding, py_nbt_name_packet_set_padding },
1584 static PyObject *py_nbt_name_packet_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
1586 return pytalloc_new(struct nbt_name_packet, type);
1589 static PyObject *py_nbt_name_packet_ndr_pack(PyObject *py_obj)
1591 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1593 enum ndr_err_code err;
1594 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_nbt_name_packet);
1595 if (err != NDR_ERR_SUCCESS) {
1596 PyErr_SetNdrError(err);
1600 return PyString_FromStringAndSize((char *)blob.data, blob.length);
1603 static PyObject *py_nbt_name_packet_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
1605 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1607 int blob_length = 0;
1608 enum ndr_err_code err;
1609 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
1610 PyObject *allow_remaining_obj = NULL;
1611 bool allow_remaining = false;
1613 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
1614 discard_const_p(char *, kwnames),
1615 &blob.data, &blob_length,
1616 &allow_remaining_obj)) {
1619 blob.length = blob_length;
1621 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
1622 allow_remaining = true;
1625 if (allow_remaining) {
1626 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_name_packet);
1628 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_name_packet);
1630 if (err != NDR_ERR_SUCCESS) {
1631 PyErr_SetNdrError(err);
1638 static PyObject *py_nbt_name_packet_ndr_print(PyObject *py_obj)
1640 struct nbt_name_packet *object = (struct nbt_name_packet *)pytalloc_get_ptr(py_obj);
1644 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_nbt_name_packet, "nbt_name_packet", object);
1645 ret = PyString_FromString(retstr);
1646 talloc_free(retstr);
1651 static PyMethodDef py_nbt_name_packet_methods[] = {
1652 { "__ndr_pack__", (PyCFunction)py_nbt_name_packet_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
1653 { "__ndr_unpack__", (PyCFunction)py_nbt_name_packet_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
1654 { "__ndr_print__", (PyCFunction)py_nbt_name_packet_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
1655 { NULL, NULL, 0, NULL }
1659 static PyTypeObject nbt_name_packet_Type = {
1660 PyObject_HEAD_INIT(NULL) 0,
1661 .tp_name = "nbt.name_packet",
1662 .tp_getset = py_nbt_name_packet_getsetters,
1663 .tp_methods = py_nbt_name_packet_methods,
1664 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
1665 .tp_basicsize = sizeof(pytalloc_Object),
1666 .tp_new = py_nbt_name_packet_new,
1670 static PyObject *py_smb_trans_body_get_wct(PyObject *obj, void *closure)
1672 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1674 py_wct = PyInt_FromLong(object->wct);
1678 static int py_smb_trans_body_set_wct(PyObject *py_obj, PyObject *value, void *closure)
1680 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1681 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1682 object->wct = PyInt_AsLong(value);
1686 static PyObject *py_smb_trans_body_get_total_param_count(PyObject *obj, void *closure)
1688 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1689 PyObject *py_total_param_count;
1690 py_total_param_count = PyInt_FromLong(object->total_param_count);
1691 return py_total_param_count;
1694 static int py_smb_trans_body_set_total_param_count(PyObject *py_obj, PyObject *value, void *closure)
1696 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1697 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1698 object->total_param_count = PyInt_AsLong(value);
1702 static PyObject *py_smb_trans_body_get_total_data_count(PyObject *obj, void *closure)
1704 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1705 PyObject *py_total_data_count;
1706 py_total_data_count = PyInt_FromLong(object->total_data_count);
1707 return py_total_data_count;
1710 static int py_smb_trans_body_set_total_data_count(PyObject *py_obj, PyObject *value, void *closure)
1712 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1713 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1714 object->total_data_count = PyInt_AsLong(value);
1718 static PyObject *py_smb_trans_body_get_max_param_count(PyObject *obj, void *closure)
1720 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1721 PyObject *py_max_param_count;
1722 py_max_param_count = PyInt_FromLong(object->max_param_count);
1723 return py_max_param_count;
1726 static int py_smb_trans_body_set_max_param_count(PyObject *py_obj, PyObject *value, void *closure)
1728 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1729 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1730 object->max_param_count = PyInt_AsLong(value);
1734 static PyObject *py_smb_trans_body_get_max_data_count(PyObject *obj, void *closure)
1736 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1737 PyObject *py_max_data_count;
1738 py_max_data_count = PyInt_FromLong(object->max_data_count);
1739 return py_max_data_count;
1742 static int py_smb_trans_body_set_max_data_count(PyObject *py_obj, PyObject *value, void *closure)
1744 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1745 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1746 object->max_data_count = PyInt_AsLong(value);
1750 static PyObject *py_smb_trans_body_get_max_setup_count(PyObject *obj, void *closure)
1752 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1753 PyObject *py_max_setup_count;
1754 py_max_setup_count = PyInt_FromLong(object->max_setup_count);
1755 return py_max_setup_count;
1758 static int py_smb_trans_body_set_max_setup_count(PyObject *py_obj, PyObject *value, void *closure)
1760 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1761 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1762 object->max_setup_count = PyInt_AsLong(value);
1766 static PyObject *py_smb_trans_body_get_pad(PyObject *obj, void *closure)
1768 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1770 py_pad = PyInt_FromLong(object->pad);
1774 static int py_smb_trans_body_set_pad(PyObject *py_obj, PyObject *value, void *closure)
1776 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1777 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1778 object->pad = PyInt_AsLong(value);
1782 static PyObject *py_smb_trans_body_get_trans_flags(PyObject *obj, void *closure)
1784 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1785 PyObject *py_trans_flags;
1786 py_trans_flags = PyInt_FromLong(object->trans_flags);
1787 return py_trans_flags;
1790 static int py_smb_trans_body_set_trans_flags(PyObject *py_obj, PyObject *value, void *closure)
1792 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1793 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1794 object->trans_flags = PyInt_AsLong(value);
1798 static PyObject *py_smb_trans_body_get_timeout(PyObject *obj, void *closure)
1800 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1801 PyObject *py_timeout;
1802 py_timeout = PyInt_FromLong(object->timeout);
1806 static int py_smb_trans_body_set_timeout(PyObject *py_obj, PyObject *value, void *closure)
1808 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1809 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1810 object->timeout = PyInt_AsLong(value);
1814 static PyObject *py_smb_trans_body_get_reserved(PyObject *obj, void *closure)
1816 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1817 PyObject *py_reserved;
1818 py_reserved = PyInt_FromLong(object->reserved);
1822 static int py_smb_trans_body_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
1824 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1825 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1826 object->reserved = PyInt_AsLong(value);
1830 static PyObject *py_smb_trans_body_get_param_count(PyObject *obj, void *closure)
1832 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1833 PyObject *py_param_count;
1834 py_param_count = PyInt_FromLong(object->param_count);
1835 return py_param_count;
1838 static int py_smb_trans_body_set_param_count(PyObject *py_obj, PyObject *value, void *closure)
1840 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1841 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1842 object->param_count = PyInt_AsLong(value);
1846 static PyObject *py_smb_trans_body_get_param_offset(PyObject *obj, void *closure)
1848 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1849 PyObject *py_param_offset;
1850 py_param_offset = PyInt_FromLong(object->param_offset);
1851 return py_param_offset;
1854 static int py_smb_trans_body_set_param_offset(PyObject *py_obj, PyObject *value, void *closure)
1856 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1857 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1858 object->param_offset = PyInt_AsLong(value);
1862 static PyObject *py_smb_trans_body_get_data_count(PyObject *obj, void *closure)
1864 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1865 PyObject *py_data_count;
1866 py_data_count = PyInt_FromLong(object->data_count);
1867 return py_data_count;
1870 static int py_smb_trans_body_set_data_count(PyObject *py_obj, PyObject *value, void *closure)
1872 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1873 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1874 object->data_count = PyInt_AsLong(value);
1878 static PyObject *py_smb_trans_body_get_data_offset(PyObject *obj, void *closure)
1880 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1881 PyObject *py_data_offset;
1882 py_data_offset = PyInt_FromLong(object->data_offset);
1883 return py_data_offset;
1886 static int py_smb_trans_body_set_data_offset(PyObject *py_obj, PyObject *value, void *closure)
1888 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1889 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1890 object->data_offset = PyInt_AsLong(value);
1894 static PyObject *py_smb_trans_body_get_setup_count(PyObject *obj, void *closure)
1896 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1897 PyObject *py_setup_count;
1898 py_setup_count = PyInt_FromLong(object->setup_count);
1899 return py_setup_count;
1902 static int py_smb_trans_body_set_setup_count(PyObject *py_obj, PyObject *value, void *closure)
1904 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1905 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1906 object->setup_count = PyInt_AsLong(value);
1910 static PyObject *py_smb_trans_body_get_pad2(PyObject *obj, void *closure)
1912 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1914 py_pad2 = PyInt_FromLong(object->pad2);
1918 static int py_smb_trans_body_set_pad2(PyObject *py_obj, PyObject *value, void *closure)
1920 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1921 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1922 object->pad2 = PyInt_AsLong(value);
1926 static PyObject *py_smb_trans_body_get_opcode(PyObject *obj, void *closure)
1928 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1929 PyObject *py_opcode;
1930 py_opcode = PyInt_FromLong(object->opcode);
1934 static int py_smb_trans_body_set_opcode(PyObject *py_obj, PyObject *value, void *closure)
1936 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1937 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1938 object->opcode = PyInt_AsLong(value);
1942 static PyObject *py_smb_trans_body_get_priority(PyObject *obj, void *closure)
1944 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1945 PyObject *py_priority;
1946 py_priority = PyInt_FromLong(object->priority);
1950 static int py_smb_trans_body_set_priority(PyObject *py_obj, PyObject *value, void *closure)
1952 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1953 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1954 object->priority = PyInt_AsLong(value);
1958 static PyObject *py_smb_trans_body_get__class(PyObject *obj, void *closure)
1960 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1961 PyObject *py__class;
1962 py__class = PyInt_FromLong(object->_class);
1966 static int py_smb_trans_body_set__class(PyObject *py_obj, PyObject *value, void *closure)
1968 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1969 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1970 object->_class = PyInt_AsLong(value);
1974 static PyObject *py_smb_trans_body_get_byte_count(PyObject *obj, void *closure)
1976 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1977 PyObject *py_byte_count;
1978 py_byte_count = PyInt_FromLong(object->byte_count);
1979 return py_byte_count;
1982 static int py_smb_trans_body_set_byte_count(PyObject *py_obj, PyObject *value, void *closure)
1984 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
1985 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
1986 object->byte_count = PyInt_AsLong(value);
1990 static PyObject *py_smb_trans_body_get_mailslot_name(PyObject *obj, void *closure)
1992 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
1993 PyObject *py_mailslot_name;
1994 py_mailslot_name = PyString_FromStringOrNULL(object->mailslot_name);
1995 return py_mailslot_name;
1998 static int py_smb_trans_body_set_mailslot_name(PyObject *py_obj, PyObject *value, void *closure)
2000 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
2001 object->mailslot_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
2005 static PyObject *py_smb_trans_body_get_data(PyObject *obj, void *closure)
2007 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(obj);
2009 py_data = PyString_FromStringAndSize((char *)(object->data).data, (object->data).length);
2013 static int py_smb_trans_body_set_data(PyObject *py_obj, PyObject *value, void *closure)
2015 struct smb_trans_body *object = (struct smb_trans_body *)pytalloc_get_ptr(py_obj);
2016 object->data = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
2020 static PyGetSetDef py_smb_trans_body_getsetters[] = {
2021 { discard_const_p(char, "wct"), py_smb_trans_body_get_wct, py_smb_trans_body_set_wct },
2022 { discard_const_p(char, "total_param_count"), py_smb_trans_body_get_total_param_count, py_smb_trans_body_set_total_param_count },
2023 { discard_const_p(char, "total_data_count"), py_smb_trans_body_get_total_data_count, py_smb_trans_body_set_total_data_count },
2024 { discard_const_p(char, "max_param_count"), py_smb_trans_body_get_max_param_count, py_smb_trans_body_set_max_param_count },
2025 { discard_const_p(char, "max_data_count"), py_smb_trans_body_get_max_data_count, py_smb_trans_body_set_max_data_count },
2026 { discard_const_p(char, "max_setup_count"), py_smb_trans_body_get_max_setup_count, py_smb_trans_body_set_max_setup_count },
2027 { discard_const_p(char, "pad"), py_smb_trans_body_get_pad, py_smb_trans_body_set_pad },
2028 { discard_const_p(char, "trans_flags"), py_smb_trans_body_get_trans_flags, py_smb_trans_body_set_trans_flags },
2029 { discard_const_p(char, "timeout"), py_smb_trans_body_get_timeout, py_smb_trans_body_set_timeout },
2030 { discard_const_p(char, "reserved"), py_smb_trans_body_get_reserved, py_smb_trans_body_set_reserved },
2031 { discard_const_p(char, "param_count"), py_smb_trans_body_get_param_count, py_smb_trans_body_set_param_count },
2032 { discard_const_p(char, "param_offset"), py_smb_trans_body_get_param_offset, py_smb_trans_body_set_param_offset },
2033 { discard_const_p(char, "data_count"), py_smb_trans_body_get_data_count, py_smb_trans_body_set_data_count },
2034 { discard_const_p(char, "data_offset"), py_smb_trans_body_get_data_offset, py_smb_trans_body_set_data_offset },
2035 { discard_const_p(char, "setup_count"), py_smb_trans_body_get_setup_count, py_smb_trans_body_set_setup_count },
2036 { discard_const_p(char, "pad2"), py_smb_trans_body_get_pad2, py_smb_trans_body_set_pad2 },
2037 { discard_const_p(char, "opcode"), py_smb_trans_body_get_opcode, py_smb_trans_body_set_opcode },
2038 { discard_const_p(char, "priority"), py_smb_trans_body_get_priority, py_smb_trans_body_set_priority },
2039 { discard_const_p(char, "_class"), py_smb_trans_body_get__class, py_smb_trans_body_set__class },
2040 { discard_const_p(char, "byte_count"), py_smb_trans_body_get_byte_count, py_smb_trans_body_set_byte_count },
2041 { discard_const_p(char, "mailslot_name"), py_smb_trans_body_get_mailslot_name, py_smb_trans_body_set_mailslot_name },
2042 { discard_const_p(char, "data"), py_smb_trans_body_get_data, py_smb_trans_body_set_data },
2046 static PyObject *py_smb_trans_body_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2048 return pytalloc_new(struct smb_trans_body, type);
2052 static PyTypeObject smb_trans_body_Type = {
2053 PyObject_HEAD_INIT(NULL) 0,
2054 .tp_name = "nbt.smb_trans_body",
2055 .tp_getset = py_smb_trans_body_getsetters,
2057 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2058 .tp_basicsize = sizeof(pytalloc_Object),
2059 .tp_new = py_smb_trans_body_new,
2062 PyObject *py_import_smb_body(TALLOC_CTX *mem_ctx, int level, union smb_body *in)
2067 case SMB_TRANSACTION:
2068 ret = pytalloc_reference_ex(&smb_trans_body_Type, mem_ctx, &in->trans);
2072 PyErr_SetString(PyExc_TypeError, "unknown union level");
2076 union smb_body *py_export_smb_body(TALLOC_CTX *mem_ctx, int level, PyObject *in)
2078 union smb_body *ret = talloc_zero(mem_ctx, union smb_body);
2080 case SMB_TRANSACTION:
2081 PY_CHECK_TYPE(&smb_trans_body_Type, in, talloc_free(ret); return NULL;);
2082 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
2084 talloc_free(ret); return NULL;
2086 ret->trans = *(struct smb_trans_body *)pytalloc_get_ptr(in);
2090 PyErr_SetString(PyExc_TypeError, "invalid union level value");
2099 static PyObject *py_dgram_smb_packet_get_smb_command(PyObject *obj, void *closure)
2101 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2102 PyObject *py_smb_command;
2103 py_smb_command = PyInt_FromLong(object->smb_command);
2104 return py_smb_command;
2107 static int py_dgram_smb_packet_set_smb_command(PyObject *py_obj, PyObject *value, void *closure)
2109 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2110 if (PyLong_Check(value)) {
2111 object->smb_command = PyLong_AsLongLong(value);
2112 } else if (PyInt_Check(value)) {
2113 object->smb_command = PyInt_AsLong(value);
2115 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
2116 PyInt_Type.tp_name, PyLong_Type.tp_name);
2122 static PyObject *py_dgram_smb_packet_get_err_class(PyObject *obj, void *closure)
2124 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2125 PyObject *py_err_class;
2126 py_err_class = PyInt_FromLong(object->err_class);
2127 return py_err_class;
2130 static int py_dgram_smb_packet_set_err_class(PyObject *py_obj, PyObject *value, void *closure)
2132 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2133 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2134 object->err_class = PyInt_AsLong(value);
2138 static PyObject *py_dgram_smb_packet_get_pad(PyObject *obj, void *closure)
2140 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2142 py_pad = PyInt_FromLong(object->pad);
2146 static int py_dgram_smb_packet_set_pad(PyObject *py_obj, PyObject *value, void *closure)
2148 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2149 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2150 object->pad = PyInt_AsLong(value);
2154 static PyObject *py_dgram_smb_packet_get_err_code(PyObject *obj, void *closure)
2156 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2157 PyObject *py_err_code;
2158 py_err_code = PyInt_FromLong(object->err_code);
2162 static int py_dgram_smb_packet_set_err_code(PyObject *py_obj, PyObject *value, void *closure)
2164 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2165 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2166 object->err_code = PyInt_AsLong(value);
2170 static PyObject *py_dgram_smb_packet_get_flags(PyObject *obj, void *closure)
2172 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2174 py_flags = PyInt_FromLong(object->flags);
2178 static int py_dgram_smb_packet_set_flags(PyObject *py_obj, PyObject *value, void *closure)
2180 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2181 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2182 object->flags = PyInt_AsLong(value);
2186 static PyObject *py_dgram_smb_packet_get_flags2(PyObject *obj, void *closure)
2188 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2189 PyObject *py_flags2;
2190 py_flags2 = PyInt_FromLong(object->flags2);
2194 static int py_dgram_smb_packet_set_flags2(PyObject *py_obj, PyObject *value, void *closure)
2196 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2197 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2198 object->flags2 = PyInt_AsLong(value);
2202 static PyObject *py_dgram_smb_packet_get_pid_high(PyObject *obj, void *closure)
2204 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2205 PyObject *py_pid_high;
2206 py_pid_high = PyInt_FromLong(object->pid_high);
2210 static int py_dgram_smb_packet_set_pid_high(PyObject *py_obj, PyObject *value, void *closure)
2212 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2213 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2214 object->pid_high = PyInt_AsLong(value);
2218 static PyObject *py_dgram_smb_packet_get_signature(PyObject *obj, void *closure)
2220 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2221 PyObject *py_signature;
2222 py_signature = PyList_New(8);
2223 if (py_signature == NULL) {
2227 int signature_cntr_0;
2228 for (signature_cntr_0 = 0; signature_cntr_0 < 8; signature_cntr_0++) {
2229 PyObject *py_signature_0;
2230 py_signature_0 = PyInt_FromLong(object->signature[signature_cntr_0]);
2231 PyList_SetItem(py_signature, signature_cntr_0, py_signature_0);
2234 return py_signature;
2237 static int py_dgram_smb_packet_set_signature(PyObject *py_obj, PyObject *value, void *closure)
2239 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2240 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
2242 int signature_cntr_0;
2243 for (signature_cntr_0 = 0; signature_cntr_0 < PyList_GET_SIZE(value); signature_cntr_0++) {
2244 PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, signature_cntr_0), return -1;);
2245 object->signature[signature_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, signature_cntr_0));
2251 static PyObject *py_dgram_smb_packet_get_reserved(PyObject *obj, void *closure)
2253 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2254 PyObject *py_reserved;
2255 py_reserved = PyInt_FromLong(object->reserved);
2259 static int py_dgram_smb_packet_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
2261 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2262 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2263 object->reserved = PyInt_AsLong(value);
2267 static PyObject *py_dgram_smb_packet_get_tid(PyObject *obj, void *closure)
2269 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2271 py_tid = PyInt_FromLong(object->tid);
2275 static int py_dgram_smb_packet_set_tid(PyObject *py_obj, PyObject *value, void *closure)
2277 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2278 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2279 object->tid = PyInt_AsLong(value);
2283 static PyObject *py_dgram_smb_packet_get_pid(PyObject *obj, void *closure)
2285 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2287 py_pid = PyInt_FromLong(object->pid);
2291 static int py_dgram_smb_packet_set_pid(PyObject *py_obj, PyObject *value, void *closure)
2293 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2294 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2295 object->pid = PyInt_AsLong(value);
2299 static PyObject *py_dgram_smb_packet_get_vuid(PyObject *obj, void *closure)
2301 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2303 py_vuid = PyInt_FromLong(object->vuid);
2307 static int py_dgram_smb_packet_set_vuid(PyObject *py_obj, PyObject *value, void *closure)
2309 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2310 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2311 object->vuid = PyInt_AsLong(value);
2315 static PyObject *py_dgram_smb_packet_get_mid(PyObject *obj, void *closure)
2317 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2319 py_mid = PyInt_FromLong(object->mid);
2323 static int py_dgram_smb_packet_set_mid(PyObject *py_obj, PyObject *value, void *closure)
2325 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2326 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2327 object->mid = PyInt_AsLong(value);
2331 static PyObject *py_dgram_smb_packet_get_body(PyObject *obj, void *closure)
2333 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(obj);
2335 py_body = py_import_smb_body(pytalloc_get_mem_ctx(obj), object->smb_command, &object->body);
2336 if (py_body == NULL) {
2342 static int py_dgram_smb_packet_set_body(PyObject *py_obj, PyObject *value, void *closure)
2344 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2346 union smb_body *body_switch_0;
2347 body_switch_0 = py_export_smb_body(pytalloc_get_mem_ctx(py_obj), object->smb_command, value);
2348 if (body_switch_0 == NULL) {
2351 object->body = *body_switch_0;
2356 static PyGetSetDef py_dgram_smb_packet_getsetters[] = {
2357 { discard_const_p(char, "smb_command"), py_dgram_smb_packet_get_smb_command, py_dgram_smb_packet_set_smb_command },
2358 { discard_const_p(char, "err_class"), py_dgram_smb_packet_get_err_class, py_dgram_smb_packet_set_err_class },
2359 { discard_const_p(char, "pad"), py_dgram_smb_packet_get_pad, py_dgram_smb_packet_set_pad },
2360 { discard_const_p(char, "err_code"), py_dgram_smb_packet_get_err_code, py_dgram_smb_packet_set_err_code },
2361 { discard_const_p(char, "flags"), py_dgram_smb_packet_get_flags, py_dgram_smb_packet_set_flags },
2362 { discard_const_p(char, "flags2"), py_dgram_smb_packet_get_flags2, py_dgram_smb_packet_set_flags2 },
2363 { discard_const_p(char, "pid_high"), py_dgram_smb_packet_get_pid_high, py_dgram_smb_packet_set_pid_high },
2364 { discard_const_p(char, "signature"), py_dgram_smb_packet_get_signature, py_dgram_smb_packet_set_signature },
2365 { discard_const_p(char, "reserved"), py_dgram_smb_packet_get_reserved, py_dgram_smb_packet_set_reserved },
2366 { discard_const_p(char, "tid"), py_dgram_smb_packet_get_tid, py_dgram_smb_packet_set_tid },
2367 { discard_const_p(char, "pid"), py_dgram_smb_packet_get_pid, py_dgram_smb_packet_set_pid },
2368 { discard_const_p(char, "vuid"), py_dgram_smb_packet_get_vuid, py_dgram_smb_packet_set_vuid },
2369 { discard_const_p(char, "mid"), py_dgram_smb_packet_get_mid, py_dgram_smb_packet_set_mid },
2370 { discard_const_p(char, "body"), py_dgram_smb_packet_get_body, py_dgram_smb_packet_set_body },
2374 static PyObject *py_dgram_smb_packet_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2376 return pytalloc_new(struct dgram_smb_packet, type);
2379 static PyObject *py_dgram_smb_packet_ndr_pack(PyObject *py_obj)
2381 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2383 enum ndr_err_code err;
2384 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dgram_smb_packet);
2385 if (err != NDR_ERR_SUCCESS) {
2386 PyErr_SetNdrError(err);
2390 return PyString_FromStringAndSize((char *)blob.data, blob.length);
2393 static PyObject *py_dgram_smb_packet_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
2395 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2397 int blob_length = 0;
2398 enum ndr_err_code err;
2399 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
2400 PyObject *allow_remaining_obj = NULL;
2401 bool allow_remaining = false;
2403 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
2404 discard_const_p(char *, kwnames),
2405 &blob.data, &blob_length,
2406 &allow_remaining_obj)) {
2409 blob.length = blob_length;
2411 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
2412 allow_remaining = true;
2415 if (allow_remaining) {
2416 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_dgram_smb_packet);
2418 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_dgram_smb_packet);
2420 if (err != NDR_ERR_SUCCESS) {
2421 PyErr_SetNdrError(err);
2428 static PyObject *py_dgram_smb_packet_ndr_print(PyObject *py_obj)
2430 struct dgram_smb_packet *object = (struct dgram_smb_packet *)pytalloc_get_ptr(py_obj);
2434 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_dgram_smb_packet, "dgram_smb_packet", object);
2435 ret = PyString_FromString(retstr);
2436 talloc_free(retstr);
2441 static PyMethodDef py_dgram_smb_packet_methods[] = {
2442 { "__ndr_pack__", (PyCFunction)py_dgram_smb_packet_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
2443 { "__ndr_unpack__", (PyCFunction)py_dgram_smb_packet_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
2444 { "__ndr_print__", (PyCFunction)py_dgram_smb_packet_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
2445 { NULL, NULL, 0, NULL }
2449 static PyTypeObject dgram_smb_packet_Type = {
2450 PyObject_HEAD_INIT(NULL) 0,
2451 .tp_name = "nbt.dgram_smb_packet",
2452 .tp_getset = py_dgram_smb_packet_getsetters,
2453 .tp_methods = py_dgram_smb_packet_methods,
2454 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2455 .tp_basicsize = sizeof(pytalloc_Object),
2456 .tp_new = py_dgram_smb_packet_new,
2459 PyObject *py_import_dgram_message_body(TALLOC_CTX *mem_ctx, int level, union dgram_message_body *in)
2465 ret = pytalloc_reference_ex(&dgram_smb_packet_Type, mem_ctx, &in->smb);
2469 PyErr_SetString(PyExc_TypeError, "unknown union level");
2473 union dgram_message_body *py_export_dgram_message_body(TALLOC_CTX *mem_ctx, int level, PyObject *in)
2475 union dgram_message_body *ret = talloc_zero(mem_ctx, union dgram_message_body);
2478 PY_CHECK_TYPE(&dgram_smb_packet_Type, in, talloc_free(ret); return NULL;);
2479 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
2481 talloc_free(ret); return NULL;
2483 ret->smb = *(struct dgram_smb_packet *)pytalloc_get_ptr(in);
2487 PyErr_SetString(PyExc_TypeError, "invalid union level value");
2496 static PyObject *py_dgram_message_get_length(PyObject *obj, void *closure)
2498 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(obj);
2499 PyObject *py_length;
2500 py_length = PyInt_FromLong(object->length);
2504 static int py_dgram_message_set_length(PyObject *py_obj, PyObject *value, void *closure)
2506 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(py_obj);
2507 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2508 object->length = PyInt_AsLong(value);
2512 static PyObject *py_dgram_message_get_offset(PyObject *obj, void *closure)
2514 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(obj);
2515 PyObject *py_offset;
2516 py_offset = PyInt_FromLong(object->offset);
2520 static int py_dgram_message_set_offset(PyObject *py_obj, PyObject *value, void *closure)
2522 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(py_obj);
2523 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2524 object->offset = PyInt_AsLong(value);
2528 static PyObject *py_dgram_message_get_source_name(PyObject *obj, void *closure)
2530 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(obj);
2531 PyObject *py_source_name;
2532 py_source_name = pytalloc_reference_ex(&nbt_name_Type, pytalloc_get_mem_ctx(obj), &object->source_name);
2533 return py_source_name;
2536 static int py_dgram_message_set_source_name(PyObject *py_obj, PyObject *value, void *closure)
2538 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(py_obj);
2539 PY_CHECK_TYPE(&nbt_name_Type, value, return -1;);
2540 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
2544 object->source_name = *(struct nbt_name *)pytalloc_get_ptr(value);
2548 static PyObject *py_dgram_message_get_dest_name(PyObject *obj, void *closure)
2550 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(obj);
2551 PyObject *py_dest_name;
2552 py_dest_name = pytalloc_reference_ex(&nbt_name_Type, pytalloc_get_mem_ctx(obj), &object->dest_name);
2553 return py_dest_name;
2556 static int py_dgram_message_set_dest_name(PyObject *py_obj, PyObject *value, void *closure)
2558 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(py_obj);
2559 PY_CHECK_TYPE(&nbt_name_Type, value, return -1;);
2560 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
2564 object->dest_name = *(struct nbt_name *)pytalloc_get_ptr(value);
2568 static PyObject *py_dgram_message_get_dgram_body_type(PyObject *obj, void *closure)
2570 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(obj);
2571 PyObject *py_dgram_body_type;
2572 py_dgram_body_type = PyInt_FromLong(object->dgram_body_type);
2573 return py_dgram_body_type;
2576 static int py_dgram_message_set_dgram_body_type(PyObject *py_obj, PyObject *value, void *closure)
2578 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(py_obj);
2579 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2580 object->dgram_body_type = PyInt_AsLong(value);
2584 static PyObject *py_dgram_message_get_body(PyObject *obj, void *closure)
2586 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(obj);
2588 py_body = py_import_dgram_message_body(pytalloc_get_mem_ctx(obj), object->dgram_body_type, &object->body);
2589 if (py_body == NULL) {
2595 static int py_dgram_message_set_body(PyObject *py_obj, PyObject *value, void *closure)
2597 struct dgram_message *object = (struct dgram_message *)pytalloc_get_ptr(py_obj);
2599 union dgram_message_body *body_switch_0;
2600 body_switch_0 = py_export_dgram_message_body(pytalloc_get_mem_ctx(py_obj), object->dgram_body_type, value);
2601 if (body_switch_0 == NULL) {
2604 object->body = *body_switch_0;
2609 static PyGetSetDef py_dgram_message_getsetters[] = {
2610 { discard_const_p(char, "length"), py_dgram_message_get_length, py_dgram_message_set_length },
2611 { discard_const_p(char, "offset"), py_dgram_message_get_offset, py_dgram_message_set_offset },
2612 { discard_const_p(char, "source_name"), py_dgram_message_get_source_name, py_dgram_message_set_source_name },
2613 { discard_const_p(char, "dest_name"), py_dgram_message_get_dest_name, py_dgram_message_set_dest_name },
2614 { discard_const_p(char, "dgram_body_type"), py_dgram_message_get_dgram_body_type, py_dgram_message_set_dgram_body_type },
2615 { discard_const_p(char, "body"), py_dgram_message_get_body, py_dgram_message_set_body },
2619 static PyObject *py_dgram_message_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2621 return pytalloc_new(struct dgram_message, type);
2625 static PyTypeObject dgram_message_Type = {
2626 PyObject_HEAD_INIT(NULL) 0,
2627 .tp_name = "nbt.dgram_message",
2628 .tp_getset = py_dgram_message_getsetters,
2630 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2631 .tp_basicsize = sizeof(pytalloc_Object),
2632 .tp_new = py_dgram_message_new,
2635 PyObject *py_import_dgram_data(TALLOC_CTX *mem_ctx, int level, union dgram_data *in)
2640 case DGRAM_DIRECT_UNIQUE:
2641 ret = pytalloc_reference_ex(&dgram_message_Type, mem_ctx, &in->msg);
2644 case DGRAM_DIRECT_GROUP:
2645 ret = pytalloc_reference_ex(&dgram_message_Type, mem_ctx, &in->msg);
2649 ret = pytalloc_reference_ex(&dgram_message_Type, mem_ctx, &in->msg);
2653 ret = PyInt_FromLong(in->error);
2657 ret = pytalloc_reference_ex(&nbt_name_Type, mem_ctx, &in->dest_name);
2660 case DGRAM_QUERY_POSITIVE:
2661 ret = pytalloc_reference_ex(&nbt_name_Type, mem_ctx, &in->dest_name);
2664 case DGRAM_QUERY_NEGATIVE:
2665 ret = pytalloc_reference_ex(&nbt_name_Type, mem_ctx, &in->dest_name);
2669 PyErr_SetString(PyExc_TypeError, "unknown union level");
2673 union dgram_data *py_export_dgram_data(TALLOC_CTX *mem_ctx, int level, PyObject *in)
2675 union dgram_data *ret = talloc_zero(mem_ctx, union dgram_data);
2677 case DGRAM_DIRECT_UNIQUE:
2678 PY_CHECK_TYPE(&dgram_message_Type, in, talloc_free(ret); return NULL;);
2679 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
2681 talloc_free(ret); return NULL;
2683 ret->msg = *(struct dgram_message *)pytalloc_get_ptr(in);
2686 case DGRAM_DIRECT_GROUP:
2687 PY_CHECK_TYPE(&dgram_message_Type, in, talloc_free(ret); return NULL;);
2688 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
2690 talloc_free(ret); return NULL;
2692 ret->msg = *(struct dgram_message *)pytalloc_get_ptr(in);
2696 PY_CHECK_TYPE(&dgram_message_Type, in, talloc_free(ret); return NULL;);
2697 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
2699 talloc_free(ret); return NULL;
2701 ret->msg = *(struct dgram_message *)pytalloc_get_ptr(in);
2705 if (PyLong_Check(in)) {
2706 ret->error = PyLong_AsLongLong(in);
2707 } else if (PyInt_Check(in)) {
2708 ret->error = PyInt_AsLong(in);
2710 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
2711 PyInt_Type.tp_name, PyLong_Type.tp_name);
2712 talloc_free(ret); return NULL;
2717 PY_CHECK_TYPE(&nbt_name_Type, in, talloc_free(ret); return NULL;);
2718 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
2720 talloc_free(ret); return NULL;
2722 ret->dest_name = *(struct nbt_name *)pytalloc_get_ptr(in);
2725 case DGRAM_QUERY_POSITIVE:
2726 PY_CHECK_TYPE(&nbt_name_Type, in, talloc_free(ret); return NULL;);
2727 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
2729 talloc_free(ret); return NULL;
2731 ret->dest_name = *(struct nbt_name *)pytalloc_get_ptr(in);
2734 case DGRAM_QUERY_NEGATIVE:
2735 PY_CHECK_TYPE(&nbt_name_Type, in, talloc_free(ret); return NULL;);
2736 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
2738 talloc_free(ret); return NULL;
2740 ret->dest_name = *(struct nbt_name *)pytalloc_get_ptr(in);
2744 PyErr_SetString(PyExc_TypeError, "invalid union level value");
2753 static PyObject *py_nbt_dgram_packet_get_msg_type(PyObject *obj, void *closure)
2755 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(obj);
2756 PyObject *py_msg_type;
2757 py_msg_type = PyInt_FromLong(object->msg_type);
2761 static int py_nbt_dgram_packet_set_msg_type(PyObject *py_obj, PyObject *value, void *closure)
2763 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(py_obj);
2764 if (PyLong_Check(value)) {
2765 object->msg_type = PyLong_AsLongLong(value);
2766 } else if (PyInt_Check(value)) {
2767 object->msg_type = PyInt_AsLong(value);
2769 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
2770 PyInt_Type.tp_name, PyLong_Type.tp_name);
2776 static PyObject *py_nbt_dgram_packet_get_flags(PyObject *obj, void *closure)
2778 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(obj);
2780 py_flags = PyInt_FromLong(object->flags);
2784 static int py_nbt_dgram_packet_set_flags(PyObject *py_obj, PyObject *value, void *closure)
2786 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(py_obj);
2787 if (PyLong_Check(value)) {
2788 object->flags = PyLong_AsLongLong(value);
2789 } else if (PyInt_Check(value)) {
2790 object->flags = PyInt_AsLong(value);
2792 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
2793 PyInt_Type.tp_name, PyLong_Type.tp_name);
2799 static PyObject *py_nbt_dgram_packet_get_dgram_id(PyObject *obj, void *closure)
2801 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(obj);
2802 PyObject *py_dgram_id;
2803 py_dgram_id = PyInt_FromLong(object->dgram_id);
2807 static int py_nbt_dgram_packet_set_dgram_id(PyObject *py_obj, PyObject *value, void *closure)
2809 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(py_obj);
2810 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2811 object->dgram_id = PyInt_AsLong(value);
2815 static PyObject *py_nbt_dgram_packet_get_src_addr(PyObject *obj, void *closure)
2817 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(obj);
2818 PyObject *py_src_addr;
2819 py_src_addr = PyString_FromStringOrNULL(object->src_addr);
2823 static int py_nbt_dgram_packet_set_src_addr(PyObject *py_obj, PyObject *value, void *closure)
2825 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(py_obj);
2826 object->src_addr = PyString_AS_STRING(value);
2830 static PyObject *py_nbt_dgram_packet_get_src_port(PyObject *obj, void *closure)
2832 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(obj);
2833 PyObject *py_src_port;
2834 py_src_port = PyInt_FromLong(object->src_port);
2838 static int py_nbt_dgram_packet_set_src_port(PyObject *py_obj, PyObject *value, void *closure)
2840 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(py_obj);
2841 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2842 object->src_port = PyInt_AsLong(value);
2846 static PyObject *py_nbt_dgram_packet_get_data(PyObject *obj, void *closure)
2848 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(obj);
2850 py_data = py_import_dgram_data(pytalloc_get_mem_ctx(obj), object->msg_type, &object->data);
2851 if (py_data == NULL) {
2857 static int py_nbt_dgram_packet_set_data(PyObject *py_obj, PyObject *value, void *closure)
2859 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(py_obj);
2861 union dgram_data *data_switch_0;
2862 data_switch_0 = py_export_dgram_data(pytalloc_get_mem_ctx(py_obj), object->msg_type, value);
2863 if (data_switch_0 == NULL) {
2866 object->data = *data_switch_0;
2871 static PyGetSetDef py_nbt_dgram_packet_getsetters[] = {
2872 { discard_const_p(char, "msg_type"), py_nbt_dgram_packet_get_msg_type, py_nbt_dgram_packet_set_msg_type },
2873 { discard_const_p(char, "flags"), py_nbt_dgram_packet_get_flags, py_nbt_dgram_packet_set_flags },
2874 { discard_const_p(char, "dgram_id"), py_nbt_dgram_packet_get_dgram_id, py_nbt_dgram_packet_set_dgram_id },
2875 { discard_const_p(char, "src_addr"), py_nbt_dgram_packet_get_src_addr, py_nbt_dgram_packet_set_src_addr },
2876 { discard_const_p(char, "src_port"), py_nbt_dgram_packet_get_src_port, py_nbt_dgram_packet_set_src_port },
2877 { discard_const_p(char, "data"), py_nbt_dgram_packet_get_data, py_nbt_dgram_packet_set_data },
2881 static PyObject *py_nbt_dgram_packet_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
2883 return pytalloc_new(struct nbt_dgram_packet, type);
2886 static PyObject *py_nbt_dgram_packet_ndr_pack(PyObject *py_obj)
2888 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(py_obj);
2890 enum ndr_err_code err;
2891 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_nbt_dgram_packet);
2892 if (err != NDR_ERR_SUCCESS) {
2893 PyErr_SetNdrError(err);
2897 return PyString_FromStringAndSize((char *)blob.data, blob.length);
2900 static PyObject *py_nbt_dgram_packet_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
2902 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(py_obj);
2904 int blob_length = 0;
2905 enum ndr_err_code err;
2906 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
2907 PyObject *allow_remaining_obj = NULL;
2908 bool allow_remaining = false;
2910 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
2911 discard_const_p(char *, kwnames),
2912 &blob.data, &blob_length,
2913 &allow_remaining_obj)) {
2916 blob.length = blob_length;
2918 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
2919 allow_remaining = true;
2922 if (allow_remaining) {
2923 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_dgram_packet);
2925 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_dgram_packet);
2927 if (err != NDR_ERR_SUCCESS) {
2928 PyErr_SetNdrError(err);
2935 static PyObject *py_nbt_dgram_packet_ndr_print(PyObject *py_obj)
2937 struct nbt_dgram_packet *object = (struct nbt_dgram_packet *)pytalloc_get_ptr(py_obj);
2941 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_nbt_dgram_packet, "nbt_dgram_packet", object);
2942 ret = PyString_FromString(retstr);
2943 talloc_free(retstr);
2948 static PyMethodDef py_nbt_dgram_packet_methods[] = {
2949 { "__ndr_pack__", (PyCFunction)py_nbt_dgram_packet_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
2950 { "__ndr_unpack__", (PyCFunction)py_nbt_dgram_packet_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
2951 { "__ndr_print__", (PyCFunction)py_nbt_dgram_packet_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
2952 { NULL, NULL, 0, NULL }
2956 static PyTypeObject nbt_dgram_packet_Type = {
2957 PyObject_HEAD_INIT(NULL) 0,
2958 .tp_name = "nbt.dgram_packet",
2959 .tp_getset = py_nbt_dgram_packet_getsetters,
2960 .tp_methods = py_nbt_dgram_packet_methods,
2961 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
2962 .tp_basicsize = sizeof(pytalloc_Object),
2963 .tp_new = py_nbt_dgram_packet_new,
2967 static PyObject *py_nbt_sockaddr_get_sockaddr_family(PyObject *obj, void *closure)
2969 struct nbt_sockaddr *object = (struct nbt_sockaddr *)pytalloc_get_ptr(obj);
2970 PyObject *py_sockaddr_family;
2971 py_sockaddr_family = PyInt_FromLong(object->sockaddr_family);
2972 return py_sockaddr_family;
2975 static int py_nbt_sockaddr_set_sockaddr_family(PyObject *py_obj, PyObject *value, void *closure)
2977 struct nbt_sockaddr *object = (struct nbt_sockaddr *)pytalloc_get_ptr(py_obj);
2978 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
2979 object->sockaddr_family = PyInt_AsLong(value);
2983 static PyObject *py_nbt_sockaddr_get_pdc_ip(PyObject *obj, void *closure)
2985 struct nbt_sockaddr *object = (struct nbt_sockaddr *)pytalloc_get_ptr(obj);
2986 PyObject *py_pdc_ip;
2987 py_pdc_ip = PyString_FromStringOrNULL(object->pdc_ip);
2991 static int py_nbt_sockaddr_set_pdc_ip(PyObject *py_obj, PyObject *value, void *closure)
2993 struct nbt_sockaddr *object = (struct nbt_sockaddr *)pytalloc_get_ptr(py_obj);
2994 object->pdc_ip = PyString_AS_STRING(value);
2998 static PyObject *py_nbt_sockaddr_get_remaining(PyObject *obj, void *closure)
3000 struct nbt_sockaddr *object = (struct nbt_sockaddr *)pytalloc_get_ptr(obj);
3001 PyObject *py_remaining;
3002 py_remaining = PyString_FromStringAndSize((char *)(object->remaining).data, (object->remaining).length);
3003 return py_remaining;
3006 static int py_nbt_sockaddr_set_remaining(PyObject *py_obj, PyObject *value, void *closure)
3008 struct nbt_sockaddr *object = (struct nbt_sockaddr *)pytalloc_get_ptr(py_obj);
3009 object->remaining = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
3013 static PyGetSetDef py_nbt_sockaddr_getsetters[] = {
3014 { discard_const_p(char, "sockaddr_family"), py_nbt_sockaddr_get_sockaddr_family, py_nbt_sockaddr_set_sockaddr_family },
3015 { discard_const_p(char, "pdc_ip"), py_nbt_sockaddr_get_pdc_ip, py_nbt_sockaddr_set_pdc_ip },
3016 { discard_const_p(char, "remaining"), py_nbt_sockaddr_get_remaining, py_nbt_sockaddr_set_remaining },
3020 static PyObject *py_nbt_sockaddr_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3022 return pytalloc_new(struct nbt_sockaddr, type);
3025 static PyObject *py_nbt_sockaddr_ndr_pack(PyObject *py_obj)
3027 struct nbt_sockaddr *object = (struct nbt_sockaddr *)pytalloc_get_ptr(py_obj);
3029 enum ndr_err_code err;
3030 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_nbt_sockaddr);
3031 if (err != NDR_ERR_SUCCESS) {
3032 PyErr_SetNdrError(err);
3036 return PyString_FromStringAndSize((char *)blob.data, blob.length);
3039 static PyObject *py_nbt_sockaddr_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
3041 struct nbt_sockaddr *object = (struct nbt_sockaddr *)pytalloc_get_ptr(py_obj);
3043 int blob_length = 0;
3044 enum ndr_err_code err;
3045 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
3046 PyObject *allow_remaining_obj = NULL;
3047 bool allow_remaining = false;
3049 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
3050 discard_const_p(char *, kwnames),
3051 &blob.data, &blob_length,
3052 &allow_remaining_obj)) {
3055 blob.length = blob_length;
3057 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
3058 allow_remaining = true;
3061 if (allow_remaining) {
3062 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_sockaddr);
3064 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_sockaddr);
3066 if (err != NDR_ERR_SUCCESS) {
3067 PyErr_SetNdrError(err);
3074 static PyObject *py_nbt_sockaddr_ndr_print(PyObject *py_obj)
3076 struct nbt_sockaddr *object = (struct nbt_sockaddr *)pytalloc_get_ptr(py_obj);
3080 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_nbt_sockaddr, "nbt_sockaddr", object);
3081 ret = PyString_FromString(retstr);
3082 talloc_free(retstr);
3087 static PyMethodDef py_nbt_sockaddr_methods[] = {
3088 { "__ndr_pack__", (PyCFunction)py_nbt_sockaddr_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
3089 { "__ndr_unpack__", (PyCFunction)py_nbt_sockaddr_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
3090 { "__ndr_print__", (PyCFunction)py_nbt_sockaddr_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
3091 { NULL, NULL, 0, NULL }
3095 static PyTypeObject nbt_sockaddr_Type = {
3096 PyObject_HEAD_INIT(NULL) 0,
3097 .tp_name = "nbt.sockaddr",
3098 .tp_getset = py_nbt_sockaddr_getsetters,
3099 .tp_methods = py_nbt_sockaddr_methods,
3100 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3101 .tp_basicsize = sizeof(pytalloc_Object),
3102 .tp_new = py_nbt_sockaddr_new,
3106 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get_request_count(PyObject *obj, void *closure)
3108 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3109 PyObject *py_request_count;
3110 py_request_count = PyInt_FromLong(object->request_count);
3111 return py_request_count;
3114 static int py_NETLOGON_SAM_LOGON_REQUEST_set_request_count(PyObject *py_obj, PyObject *value, void *closure)
3116 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3117 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3118 object->request_count = PyInt_AsLong(value);
3122 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get_computer_name(PyObject *obj, void *closure)
3124 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3125 PyObject *py_computer_name;
3126 py_computer_name = PyString_FromStringOrNULL(object->computer_name);
3127 return py_computer_name;
3130 static int py_NETLOGON_SAM_LOGON_REQUEST_set_computer_name(PyObject *py_obj, PyObject *value, void *closure)
3132 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3133 object->computer_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3137 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get_user_name(PyObject *obj, void *closure)
3139 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3140 PyObject *py_user_name;
3141 py_user_name = PyString_FromStringOrNULL(object->user_name);
3142 return py_user_name;
3145 static int py_NETLOGON_SAM_LOGON_REQUEST_set_user_name(PyObject *py_obj, PyObject *value, void *closure)
3147 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3148 object->user_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3152 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get_mailslot_name(PyObject *obj, void *closure)
3154 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3155 PyObject *py_mailslot_name;
3156 py_mailslot_name = PyString_FromStringOrNULL(object->mailslot_name);
3157 return py_mailslot_name;
3160 static int py_NETLOGON_SAM_LOGON_REQUEST_set_mailslot_name(PyObject *py_obj, PyObject *value, void *closure)
3162 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3163 object->mailslot_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3167 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get_acct_control(PyObject *obj, void *closure)
3169 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3170 PyObject *py_acct_control;
3171 py_acct_control = PyInt_FromLong(object->acct_control);
3172 return py_acct_control;
3175 static int py_NETLOGON_SAM_LOGON_REQUEST_set_acct_control(PyObject *py_obj, PyObject *value, void *closure)
3177 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3178 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3179 object->acct_control = PyInt_AsLong(value);
3183 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get_sid_size(PyObject *obj, void *closure)
3185 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3186 PyObject *py_sid_size;
3187 py_sid_size = PyInt_FromLong(object->sid_size);
3191 static int py_NETLOGON_SAM_LOGON_REQUEST_set_sid_size(PyObject *py_obj, PyObject *value, void *closure)
3193 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3194 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3195 object->sid_size = PyInt_AsLong(value);
3199 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get__pad(PyObject *obj, void *closure)
3201 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3203 py__pad = PyString_FromStringAndSize((char *)(object->_pad).data, (object->_pad).length);
3207 static int py_NETLOGON_SAM_LOGON_REQUEST_set__pad(PyObject *py_obj, PyObject *value, void *closure)
3209 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3210 object->_pad = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
3214 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get_sid(PyObject *obj, void *closure)
3216 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3218 py_sid = pytalloc_reference_ex(dom_sid_Type, pytalloc_get_mem_ctx(obj), &object->sid);
3222 static int py_NETLOGON_SAM_LOGON_REQUEST_set_sid(PyObject *py_obj, PyObject *value, void *closure)
3224 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3225 PY_CHECK_TYPE(dom_sid_Type, value, return -1;);
3226 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
3230 object->sid = *(struct dom_sid *)pytalloc_get_ptr(value);
3234 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get_nt_version(PyObject *obj, void *closure)
3236 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3237 PyObject *py_nt_version;
3238 py_nt_version = PyInt_FromLong(object->nt_version);
3239 return py_nt_version;
3242 static int py_NETLOGON_SAM_LOGON_REQUEST_set_nt_version(PyObject *py_obj, PyObject *value, void *closure)
3244 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3245 if (PyLong_Check(value)) {
3246 object->nt_version = PyLong_AsLongLong(value);
3247 } else if (PyInt_Check(value)) {
3248 object->nt_version = PyInt_AsLong(value);
3250 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
3251 PyInt_Type.tp_name, PyLong_Type.tp_name);
3257 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get_lmnt_token(PyObject *obj, void *closure)
3259 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3260 PyObject *py_lmnt_token;
3261 py_lmnt_token = PyInt_FromLong(object->lmnt_token);
3262 return py_lmnt_token;
3265 static int py_NETLOGON_SAM_LOGON_REQUEST_set_lmnt_token(PyObject *py_obj, PyObject *value, void *closure)
3267 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3268 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3269 object->lmnt_token = PyInt_AsLong(value);
3273 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_get_lm20_token(PyObject *obj, void *closure)
3275 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3276 PyObject *py_lm20_token;
3277 py_lm20_token = PyInt_FromLong(object->lm20_token);
3278 return py_lm20_token;
3281 static int py_NETLOGON_SAM_LOGON_REQUEST_set_lm20_token(PyObject *py_obj, PyObject *value, void *closure)
3283 struct NETLOGON_SAM_LOGON_REQUEST *object = (struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3284 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3285 object->lm20_token = PyInt_AsLong(value);
3289 static PyGetSetDef py_NETLOGON_SAM_LOGON_REQUEST_getsetters[] = {
3290 { discard_const_p(char, "request_count"), py_NETLOGON_SAM_LOGON_REQUEST_get_request_count, py_NETLOGON_SAM_LOGON_REQUEST_set_request_count },
3291 { discard_const_p(char, "computer_name"), py_NETLOGON_SAM_LOGON_REQUEST_get_computer_name, py_NETLOGON_SAM_LOGON_REQUEST_set_computer_name },
3292 { discard_const_p(char, "user_name"), py_NETLOGON_SAM_LOGON_REQUEST_get_user_name, py_NETLOGON_SAM_LOGON_REQUEST_set_user_name },
3293 { discard_const_p(char, "mailslot_name"), py_NETLOGON_SAM_LOGON_REQUEST_get_mailslot_name, py_NETLOGON_SAM_LOGON_REQUEST_set_mailslot_name },
3294 { discard_const_p(char, "acct_control"), py_NETLOGON_SAM_LOGON_REQUEST_get_acct_control, py_NETLOGON_SAM_LOGON_REQUEST_set_acct_control },
3295 { discard_const_p(char, "sid_size"), py_NETLOGON_SAM_LOGON_REQUEST_get_sid_size, py_NETLOGON_SAM_LOGON_REQUEST_set_sid_size },
3296 { discard_const_p(char, "_pad"), py_NETLOGON_SAM_LOGON_REQUEST_get__pad, py_NETLOGON_SAM_LOGON_REQUEST_set__pad },
3297 { discard_const_p(char, "sid"), py_NETLOGON_SAM_LOGON_REQUEST_get_sid, py_NETLOGON_SAM_LOGON_REQUEST_set_sid },
3298 { discard_const_p(char, "nt_version"), py_NETLOGON_SAM_LOGON_REQUEST_get_nt_version, py_NETLOGON_SAM_LOGON_REQUEST_set_nt_version },
3299 { discard_const_p(char, "lmnt_token"), py_NETLOGON_SAM_LOGON_REQUEST_get_lmnt_token, py_NETLOGON_SAM_LOGON_REQUEST_set_lmnt_token },
3300 { discard_const_p(char, "lm20_token"), py_NETLOGON_SAM_LOGON_REQUEST_get_lm20_token, py_NETLOGON_SAM_LOGON_REQUEST_set_lm20_token },
3304 static PyObject *py_NETLOGON_SAM_LOGON_REQUEST_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3306 return pytalloc_new(struct NETLOGON_SAM_LOGON_REQUEST, type);
3310 static PyTypeObject NETLOGON_SAM_LOGON_REQUEST_Type = {
3311 PyObject_HEAD_INIT(NULL) 0,
3312 .tp_name = "nbt.NETLOGON_SAM_LOGON_REQUEST",
3313 .tp_getset = py_NETLOGON_SAM_LOGON_REQUEST_getsetters,
3315 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3316 .tp_basicsize = sizeof(pytalloc_Object),
3317 .tp_new = py_NETLOGON_SAM_LOGON_REQUEST_new,
3321 static PyObject *py_NETLOGON_LOGON_REQUEST_get_computer_name(PyObject *obj, void *closure)
3323 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3324 PyObject *py_computer_name;
3325 py_computer_name = PyString_FromStringOrNULL(object->computer_name);
3326 return py_computer_name;
3329 static int py_NETLOGON_LOGON_REQUEST_set_computer_name(PyObject *py_obj, PyObject *value, void *closure)
3331 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3332 object->computer_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3336 static PyObject *py_NETLOGON_LOGON_REQUEST_get_user_name(PyObject *obj, void *closure)
3338 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3339 PyObject *py_user_name;
3340 py_user_name = PyString_FromStringOrNULL(object->user_name);
3341 return py_user_name;
3344 static int py_NETLOGON_LOGON_REQUEST_set_user_name(PyObject *py_obj, PyObject *value, void *closure)
3346 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3347 object->user_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3351 static PyObject *py_NETLOGON_LOGON_REQUEST_get_mailslot_name(PyObject *obj, void *closure)
3353 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3354 PyObject *py_mailslot_name;
3355 py_mailslot_name = PyString_FromStringOrNULL(object->mailslot_name);
3356 return py_mailslot_name;
3359 static int py_NETLOGON_LOGON_REQUEST_set_mailslot_name(PyObject *py_obj, PyObject *value, void *closure)
3361 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3362 object->mailslot_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3366 static PyObject *py_NETLOGON_LOGON_REQUEST_get_request_count(PyObject *obj, void *closure)
3368 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3369 PyObject *py_request_count;
3370 py_request_count = PyInt_FromLong(object->request_count);
3371 return py_request_count;
3374 static int py_NETLOGON_LOGON_REQUEST_set_request_count(PyObject *py_obj, PyObject *value, void *closure)
3376 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3377 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3378 object->request_count = PyInt_AsLong(value);
3382 static PyObject *py_NETLOGON_LOGON_REQUEST_get_lmnt_token(PyObject *obj, void *closure)
3384 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3385 PyObject *py_lmnt_token;
3386 py_lmnt_token = PyInt_FromLong(object->lmnt_token);
3387 return py_lmnt_token;
3390 static int py_NETLOGON_LOGON_REQUEST_set_lmnt_token(PyObject *py_obj, PyObject *value, void *closure)
3392 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3393 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3394 object->lmnt_token = PyInt_AsLong(value);
3398 static PyObject *py_NETLOGON_LOGON_REQUEST_get_lm20_token(PyObject *obj, void *closure)
3400 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(obj);
3401 PyObject *py_lm20_token;
3402 py_lm20_token = PyInt_FromLong(object->lm20_token);
3403 return py_lm20_token;
3406 static int py_NETLOGON_LOGON_REQUEST_set_lm20_token(PyObject *py_obj, PyObject *value, void *closure)
3408 struct NETLOGON_LOGON_REQUEST *object = (struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(py_obj);
3409 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3410 object->lm20_token = PyInt_AsLong(value);
3414 static PyGetSetDef py_NETLOGON_LOGON_REQUEST_getsetters[] = {
3415 { discard_const_p(char, "computer_name"), py_NETLOGON_LOGON_REQUEST_get_computer_name, py_NETLOGON_LOGON_REQUEST_set_computer_name },
3416 { discard_const_p(char, "user_name"), py_NETLOGON_LOGON_REQUEST_get_user_name, py_NETLOGON_LOGON_REQUEST_set_user_name },
3417 { discard_const_p(char, "mailslot_name"), py_NETLOGON_LOGON_REQUEST_get_mailslot_name, py_NETLOGON_LOGON_REQUEST_set_mailslot_name },
3418 { discard_const_p(char, "request_count"), py_NETLOGON_LOGON_REQUEST_get_request_count, py_NETLOGON_LOGON_REQUEST_set_request_count },
3419 { discard_const_p(char, "lmnt_token"), py_NETLOGON_LOGON_REQUEST_get_lmnt_token, py_NETLOGON_LOGON_REQUEST_set_lmnt_token },
3420 { discard_const_p(char, "lm20_token"), py_NETLOGON_LOGON_REQUEST_get_lm20_token, py_NETLOGON_LOGON_REQUEST_set_lm20_token },
3424 static PyObject *py_NETLOGON_LOGON_REQUEST_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3426 return pytalloc_new(struct NETLOGON_LOGON_REQUEST, type);
3430 static PyTypeObject NETLOGON_LOGON_REQUEST_Type = {
3431 PyObject_HEAD_INIT(NULL) 0,
3432 .tp_name = "nbt.NETLOGON_LOGON_REQUEST",
3433 .tp_getset = py_NETLOGON_LOGON_REQUEST_getsetters,
3435 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3436 .tp_basicsize = sizeof(pytalloc_Object),
3437 .tp_new = py_NETLOGON_LOGON_REQUEST_new,
3441 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_command(PyObject *obj, void *closure)
3443 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(obj);
3444 PyObject *py_command;
3445 py_command = PyInt_FromLong(object->command);
3449 static int py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_command(PyObject *py_obj, PyObject *value, void *closure)
3451 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(py_obj);
3452 if (PyLong_Check(value)) {
3453 object->command = PyLong_AsLongLong(value);
3454 } else if (PyInt_Check(value)) {
3455 object->command = PyInt_AsLong(value);
3457 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
3458 PyInt_Type.tp_name, PyLong_Type.tp_name);
3464 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_pdc_name(PyObject *obj, void *closure)
3466 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(obj);
3467 PyObject *py_pdc_name;
3468 py_pdc_name = PyString_FromStringOrNULL(object->pdc_name);
3472 static int py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_pdc_name(PyObject *py_obj, PyObject *value, void *closure)
3474 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(py_obj);
3475 object->pdc_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3479 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_user_name(PyObject *obj, void *closure)
3481 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(obj);
3482 PyObject *py_user_name;
3483 py_user_name = PyString_FromStringOrNULL(object->user_name);
3484 return py_user_name;
3487 static int py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_user_name(PyObject *py_obj, PyObject *value, void *closure)
3489 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(py_obj);
3490 object->user_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3494 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_domain_name(PyObject *obj, void *closure)
3496 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(obj);
3497 PyObject *py_domain_name;
3498 py_domain_name = PyString_FromStringOrNULL(object->domain_name);
3499 return py_domain_name;
3502 static int py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_domain_name(PyObject *py_obj, PyObject *value, void *closure)
3504 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(py_obj);
3505 object->domain_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3509 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_nt_version(PyObject *obj, void *closure)
3511 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(obj);
3512 PyObject *py_nt_version;
3513 py_nt_version = PyInt_FromLong(object->nt_version);
3514 return py_nt_version;
3517 static int py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_nt_version(PyObject *py_obj, PyObject *value, void *closure)
3519 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(py_obj);
3520 if (PyLong_Check(value)) {
3521 object->nt_version = PyLong_AsLongLong(value);
3522 } else if (PyInt_Check(value)) {
3523 object->nt_version = PyInt_AsLong(value);
3525 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
3526 PyInt_Type.tp_name, PyLong_Type.tp_name);
3532 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_lmnt_token(PyObject *obj, void *closure)
3534 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(obj);
3535 PyObject *py_lmnt_token;
3536 py_lmnt_token = PyInt_FromLong(object->lmnt_token);
3537 return py_lmnt_token;
3540 static int py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_lmnt_token(PyObject *py_obj, PyObject *value, void *closure)
3542 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(py_obj);
3543 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3544 object->lmnt_token = PyInt_AsLong(value);
3548 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_lm20_token(PyObject *obj, void *closure)
3550 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(obj);
3551 PyObject *py_lm20_token;
3552 py_lm20_token = PyInt_FromLong(object->lm20_token);
3553 return py_lm20_token;
3556 static int py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_lm20_token(PyObject *py_obj, PyObject *value, void *closure)
3558 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(py_obj);
3559 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3560 object->lm20_token = PyInt_AsLong(value);
3564 static PyGetSetDef py_NETLOGON_SAM_LOGON_RESPONSE_NT40_getsetters[] = {
3565 { discard_const_p(char, "command"), py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_command, py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_command },
3566 { discard_const_p(char, "pdc_name"), py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_pdc_name, py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_pdc_name },
3567 { discard_const_p(char, "user_name"), py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_user_name, py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_user_name },
3568 { discard_const_p(char, "domain_name"), py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_domain_name, py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_domain_name },
3569 { discard_const_p(char, "nt_version"), py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_nt_version, py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_nt_version },
3570 { discard_const_p(char, "lmnt_token"), py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_lmnt_token, py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_lmnt_token },
3571 { discard_const_p(char, "lm20_token"), py_NETLOGON_SAM_LOGON_RESPONSE_NT40_get_lm20_token, py_NETLOGON_SAM_LOGON_RESPONSE_NT40_set_lm20_token },
3575 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3577 return pytalloc_new(struct NETLOGON_SAM_LOGON_RESPONSE_NT40, type);
3580 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_ndr_pack(PyObject *py_obj)
3582 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(py_obj);
3584 enum ndr_err_code err;
3585 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_NETLOGON_SAM_LOGON_RESPONSE_NT40);
3586 if (err != NDR_ERR_SUCCESS) {
3587 PyErr_SetNdrError(err);
3591 return PyString_FromStringAndSize((char *)blob.data, blob.length);
3594 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
3596 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(py_obj);
3598 int blob_length = 0;
3599 enum ndr_err_code err;
3600 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
3601 PyObject *allow_remaining_obj = NULL;
3602 bool allow_remaining = false;
3604 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
3605 discard_const_p(char *, kwnames),
3606 &blob.data, &blob_length,
3607 &allow_remaining_obj)) {
3610 blob.length = blob_length;
3612 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
3613 allow_remaining = true;
3616 if (allow_remaining) {
3617 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_NT40);
3619 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_NT40);
3621 if (err != NDR_ERR_SUCCESS) {
3622 PyErr_SetNdrError(err);
3629 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_NT40_ndr_print(PyObject *py_obj)
3631 struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *object = (struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *)pytalloc_get_ptr(py_obj);
3635 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_NETLOGON_SAM_LOGON_RESPONSE_NT40, "NETLOGON_SAM_LOGON_RESPONSE_NT40", object);
3636 ret = PyString_FromString(retstr);
3637 talloc_free(retstr);
3642 static PyMethodDef py_NETLOGON_SAM_LOGON_RESPONSE_NT40_methods[] = {
3643 { "__ndr_pack__", (PyCFunction)py_NETLOGON_SAM_LOGON_RESPONSE_NT40_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
3644 { "__ndr_unpack__", (PyCFunction)py_NETLOGON_SAM_LOGON_RESPONSE_NT40_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
3645 { "__ndr_print__", (PyCFunction)py_NETLOGON_SAM_LOGON_RESPONSE_NT40_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
3646 { NULL, NULL, 0, NULL }
3650 static PyTypeObject NETLOGON_SAM_LOGON_RESPONSE_NT40_Type = {
3651 PyObject_HEAD_INIT(NULL) 0,
3652 .tp_name = "nbt.NETLOGON_SAM_LOGON_RESPONSE_NT40",
3653 .tp_getset = py_NETLOGON_SAM_LOGON_RESPONSE_NT40_getsetters,
3654 .tp_methods = py_NETLOGON_SAM_LOGON_RESPONSE_NT40_methods,
3655 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
3656 .tp_basicsize = sizeof(pytalloc_Object),
3657 .tp_new = py_NETLOGON_SAM_LOGON_RESPONSE_NT40_new,
3661 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_command(PyObject *obj, void *closure)
3663 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3664 PyObject *py_command;
3665 py_command = PyInt_FromLong(object->command);
3669 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_command(PyObject *py_obj, PyObject *value, void *closure)
3671 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3672 if (PyLong_Check(value)) {
3673 object->command = PyLong_AsLongLong(value);
3674 } else if (PyInt_Check(value)) {
3675 object->command = PyInt_AsLong(value);
3677 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
3678 PyInt_Type.tp_name, PyLong_Type.tp_name);
3684 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_pdc_name(PyObject *obj, void *closure)
3686 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3687 PyObject *py_pdc_name;
3688 py_pdc_name = PyString_FromStringOrNULL(object->pdc_name);
3692 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_pdc_name(PyObject *py_obj, PyObject *value, void *closure)
3694 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3695 object->pdc_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3699 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_user_name(PyObject *obj, void *closure)
3701 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3702 PyObject *py_user_name;
3703 py_user_name = PyString_FromStringOrNULL(object->user_name);
3704 return py_user_name;
3707 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_user_name(PyObject *py_obj, PyObject *value, void *closure)
3709 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3710 object->user_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3714 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_domain_name(PyObject *obj, void *closure)
3716 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3717 PyObject *py_domain_name;
3718 py_domain_name = PyString_FromStringOrNULL(object->domain_name);
3719 return py_domain_name;
3722 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_domain_name(PyObject *py_obj, PyObject *value, void *closure)
3724 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3725 object->domain_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3729 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_domain_uuid(PyObject *obj, void *closure)
3731 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3732 PyObject *py_domain_uuid;
3733 py_domain_uuid = pytalloc_reference_ex(GUID_Type, pytalloc_get_mem_ctx(obj), &object->domain_uuid);
3734 return py_domain_uuid;
3737 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_domain_uuid(PyObject *py_obj, PyObject *value, void *closure)
3739 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3740 PY_CHECK_TYPE(GUID_Type, value, return -1;);
3741 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
3745 object->domain_uuid = *(struct GUID *)pytalloc_get_ptr(value);
3749 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_zero_uuid(PyObject *obj, void *closure)
3751 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3752 PyObject *py_zero_uuid;
3753 py_zero_uuid = pytalloc_reference_ex(GUID_Type, pytalloc_get_mem_ctx(obj), &object->zero_uuid);
3754 return py_zero_uuid;
3757 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_zero_uuid(PyObject *py_obj, PyObject *value, void *closure)
3759 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3760 PY_CHECK_TYPE(GUID_Type, value, return -1;);
3761 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
3765 object->zero_uuid = *(struct GUID *)pytalloc_get_ptr(value);
3769 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_forest(PyObject *obj, void *closure)
3771 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3772 PyObject *py_forest;
3773 py_forest = PyString_FromStringOrNULL(object->forest);
3777 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_forest(PyObject *py_obj, PyObject *value, void *closure)
3779 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3780 object->forest = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3784 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_dns_domain(PyObject *obj, void *closure)
3786 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3787 PyObject *py_dns_domain;
3788 py_dns_domain = PyString_FromStringOrNULL(object->dns_domain);
3789 return py_dns_domain;
3792 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_dns_domain(PyObject *py_obj, PyObject *value, void *closure)
3794 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3795 object->dns_domain = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3799 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_pdc_dns_name(PyObject *obj, void *closure)
3801 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3802 PyObject *py_pdc_dns_name;
3803 py_pdc_dns_name = PyString_FromStringOrNULL(object->pdc_dns_name);
3804 return py_pdc_dns_name;
3807 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_pdc_dns_name(PyObject *py_obj, PyObject *value, void *closure)
3809 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3810 object->pdc_dns_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
3814 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_pdc_ip(PyObject *obj, void *closure)
3816 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3817 PyObject *py_pdc_ip;
3818 py_pdc_ip = PyString_FromStringOrNULL(object->pdc_ip);
3822 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_pdc_ip(PyObject *py_obj, PyObject *value, void *closure)
3824 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3825 object->pdc_ip = PyString_AS_STRING(value);
3829 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_server_type(PyObject *obj, void *closure)
3831 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3832 PyObject *py_server_type;
3833 py_server_type = PyInt_FromLong(object->server_type);
3834 return py_server_type;
3837 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_server_type(PyObject *py_obj, PyObject *value, void *closure)
3839 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3840 if (PyLong_Check(value)) {
3841 object->server_type = PyLong_AsLongLong(value);
3842 } else if (PyInt_Check(value)) {
3843 object->server_type = PyInt_AsLong(value);
3845 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
3846 PyInt_Type.tp_name, PyLong_Type.tp_name);
3852 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_nt_version(PyObject *obj, void *closure)
3854 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3855 PyObject *py_nt_version;
3856 py_nt_version = PyInt_FromLong(object->nt_version);
3857 return py_nt_version;
3860 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_nt_version(PyObject *py_obj, PyObject *value, void *closure)
3862 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3863 if (PyLong_Check(value)) {
3864 object->nt_version = PyLong_AsLongLong(value);
3865 } else if (PyInt_Check(value)) {
3866 object->nt_version = PyInt_AsLong(value);
3868 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
3869 PyInt_Type.tp_name, PyLong_Type.tp_name);
3875 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_lmnt_token(PyObject *obj, void *closure)
3877 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3878 PyObject *py_lmnt_token;
3879 py_lmnt_token = PyInt_FromLong(object->lmnt_token);
3880 return py_lmnt_token;
3883 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_lmnt_token(PyObject *py_obj, PyObject *value, void *closure)
3885 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3886 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3887 object->lmnt_token = PyInt_AsLong(value);
3891 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_get_lm20_token(PyObject *obj, void *closure)
3893 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(obj);
3894 PyObject *py_lm20_token;
3895 py_lm20_token = PyInt_FromLong(object->lm20_token);
3896 return py_lm20_token;
3899 static int py_NETLOGON_SAM_LOGON_RESPONSE_set_lm20_token(PyObject *py_obj, PyObject *value, void *closure)
3901 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3902 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
3903 object->lm20_token = PyInt_AsLong(value);
3907 static PyGetSetDef py_NETLOGON_SAM_LOGON_RESPONSE_getsetters[] = {
3908 { discard_const_p(char, "command"), py_NETLOGON_SAM_LOGON_RESPONSE_get_command, py_NETLOGON_SAM_LOGON_RESPONSE_set_command },
3909 { discard_const_p(char, "pdc_name"), py_NETLOGON_SAM_LOGON_RESPONSE_get_pdc_name, py_NETLOGON_SAM_LOGON_RESPONSE_set_pdc_name },
3910 { discard_const_p(char, "user_name"), py_NETLOGON_SAM_LOGON_RESPONSE_get_user_name, py_NETLOGON_SAM_LOGON_RESPONSE_set_user_name },
3911 { discard_const_p(char, "domain_name"), py_NETLOGON_SAM_LOGON_RESPONSE_get_domain_name, py_NETLOGON_SAM_LOGON_RESPONSE_set_domain_name },
3912 { discard_const_p(char, "domain_uuid"), py_NETLOGON_SAM_LOGON_RESPONSE_get_domain_uuid, py_NETLOGON_SAM_LOGON_RESPONSE_set_domain_uuid },
3913 { discard_const_p(char, "zero_uuid"), py_NETLOGON_SAM_LOGON_RESPONSE_get_zero_uuid, py_NETLOGON_SAM_LOGON_RESPONSE_set_zero_uuid },
3914 { discard_const_p(char, "forest"), py_NETLOGON_SAM_LOGON_RESPONSE_get_forest, py_NETLOGON_SAM_LOGON_RESPONSE_set_forest },
3915 { discard_const_p(char, "dns_domain"), py_NETLOGON_SAM_LOGON_RESPONSE_get_dns_domain, py_NETLOGON_SAM_LOGON_RESPONSE_set_dns_domain },
3916 { discard_const_p(char, "pdc_dns_name"), py_NETLOGON_SAM_LOGON_RESPONSE_get_pdc_dns_name, py_NETLOGON_SAM_LOGON_RESPONSE_set_pdc_dns_name },
3917 { discard_const_p(char, "pdc_ip"), py_NETLOGON_SAM_LOGON_RESPONSE_get_pdc_ip, py_NETLOGON_SAM_LOGON_RESPONSE_set_pdc_ip },
3918 { discard_const_p(char, "server_type"), py_NETLOGON_SAM_LOGON_RESPONSE_get_server_type, py_NETLOGON_SAM_LOGON_RESPONSE_set_server_type },
3919 { discard_const_p(char, "nt_version"), py_NETLOGON_SAM_LOGON_RESPONSE_get_nt_version, py_NETLOGON_SAM_LOGON_RESPONSE_set_nt_version },
3920 { discard_const_p(char, "lmnt_token"), py_NETLOGON_SAM_LOGON_RESPONSE_get_lmnt_token, py_NETLOGON_SAM_LOGON_RESPONSE_set_lmnt_token },
3921 { discard_const_p(char, "lm20_token"), py_NETLOGON_SAM_LOGON_RESPONSE_get_lm20_token, py_NETLOGON_SAM_LOGON_RESPONSE_set_lm20_token },
3925 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
3927 return pytalloc_new(struct NETLOGON_SAM_LOGON_RESPONSE, type);
3930 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_ndr_pack(PyObject *py_obj)
3932 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3934 enum ndr_err_code err;
3935 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_NETLOGON_SAM_LOGON_RESPONSE);
3936 if (err != NDR_ERR_SUCCESS) {
3937 PyErr_SetNdrError(err);
3941 return PyString_FromStringAndSize((char *)blob.data, blob.length);
3944 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
3946 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3948 int blob_length = 0;
3949 enum ndr_err_code err;
3950 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
3951 PyObject *allow_remaining_obj = NULL;
3952 bool allow_remaining = false;
3954 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
3955 discard_const_p(char *, kwnames),
3956 &blob.data, &blob_length,
3957 &allow_remaining_obj)) {
3960 blob.length = blob_length;
3962 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
3963 allow_remaining = true;
3966 if (allow_remaining) {
3967 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_NETLOGON_SAM_LOGON_RESPONSE);
3969 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_NETLOGON_SAM_LOGON_RESPONSE);
3971 if (err != NDR_ERR_SUCCESS) {
3972 PyErr_SetNdrError(err);
3979 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_ndr_print(PyObject *py_obj)
3981 struct NETLOGON_SAM_LOGON_RESPONSE *object = (struct NETLOGON_SAM_LOGON_RESPONSE *)pytalloc_get_ptr(py_obj);
3985 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_NETLOGON_SAM_LOGON_RESPONSE, "NETLOGON_SAM_LOGON_RESPONSE", object);
3986 ret = PyString_FromString(retstr);
3987 talloc_free(retstr);
3992 static PyMethodDef py_NETLOGON_SAM_LOGON_RESPONSE_methods[] = {
3993 { "__ndr_pack__", (PyCFunction)py_NETLOGON_SAM_LOGON_RESPONSE_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
3994 { "__ndr_unpack__", (PyCFunction)py_NETLOGON_SAM_LOGON_RESPONSE_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
3995 { "__ndr_print__", (PyCFunction)py_NETLOGON_SAM_LOGON_RESPONSE_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
3996 { NULL, NULL, 0, NULL }
4000 static PyTypeObject NETLOGON_SAM_LOGON_RESPONSE_Type = {
4001 PyObject_HEAD_INIT(NULL) 0,
4002 .tp_name = "nbt.NETLOGON_SAM_LOGON_RESPONSE",
4003 .tp_getset = py_NETLOGON_SAM_LOGON_RESPONSE_getsetters,
4004 .tp_methods = py_NETLOGON_SAM_LOGON_RESPONSE_methods,
4005 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4006 .tp_basicsize = sizeof(pytalloc_Object),
4007 .tp_new = py_NETLOGON_SAM_LOGON_RESPONSE_new,
4011 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_command(PyObject *obj, void *closure)
4013 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4014 PyObject *py_command;
4015 py_command = PyInt_FromLong(object->command);
4019 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_command(PyObject *py_obj, PyObject *value, void *closure)
4021 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4022 if (PyLong_Check(value)) {
4023 object->command = PyLong_AsLongLong(value);
4024 } else if (PyInt_Check(value)) {
4025 object->command = PyInt_AsLong(value);
4027 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
4028 PyInt_Type.tp_name, PyLong_Type.tp_name);
4034 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_sbz(PyObject *obj, void *closure)
4036 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4038 py_sbz = PyInt_FromLong(object->sbz);
4042 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_sbz(PyObject *py_obj, PyObject *value, void *closure)
4044 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4045 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4046 object->sbz = PyInt_AsLong(value);
4050 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_server_type(PyObject *obj, void *closure)
4052 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4053 PyObject *py_server_type;
4054 py_server_type = PyInt_FromLong(object->server_type);
4055 return py_server_type;
4058 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_server_type(PyObject *py_obj, PyObject *value, void *closure)
4060 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4061 if (PyLong_Check(value)) {
4062 object->server_type = PyLong_AsLongLong(value);
4063 } else if (PyInt_Check(value)) {
4064 object->server_type = PyInt_AsLong(value);
4066 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
4067 PyInt_Type.tp_name, PyLong_Type.tp_name);
4073 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_domain_uuid(PyObject *obj, void *closure)
4075 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4076 PyObject *py_domain_uuid;
4077 py_domain_uuid = pytalloc_reference_ex(GUID_Type, pytalloc_get_mem_ctx(obj), &object->domain_uuid);
4078 return py_domain_uuid;
4081 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_domain_uuid(PyObject *py_obj, PyObject *value, void *closure)
4083 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4084 PY_CHECK_TYPE(GUID_Type, value, return -1;);
4085 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
4089 object->domain_uuid = *(struct GUID *)pytalloc_get_ptr(value);
4093 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_forest(PyObject *obj, void *closure)
4095 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4096 PyObject *py_forest;
4097 py_forest = PyString_FromStringOrNULL(object->forest);
4101 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_forest(PyObject *py_obj, PyObject *value, void *closure)
4103 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4104 object->forest = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4108 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_dns_domain(PyObject *obj, void *closure)
4110 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4111 PyObject *py_dns_domain;
4112 py_dns_domain = PyString_FromStringOrNULL(object->dns_domain);
4113 return py_dns_domain;
4116 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_dns_domain(PyObject *py_obj, PyObject *value, void *closure)
4118 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4119 object->dns_domain = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4123 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_pdc_dns_name(PyObject *obj, void *closure)
4125 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4126 PyObject *py_pdc_dns_name;
4127 py_pdc_dns_name = PyString_FromStringOrNULL(object->pdc_dns_name);
4128 return py_pdc_dns_name;
4131 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_pdc_dns_name(PyObject *py_obj, PyObject *value, void *closure)
4133 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4134 object->pdc_dns_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4138 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_domain_name(PyObject *obj, void *closure)
4140 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4141 PyObject *py_domain_name;
4142 py_domain_name = PyString_FromStringOrNULL(object->domain_name);
4143 return py_domain_name;
4146 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_domain_name(PyObject *py_obj, PyObject *value, void *closure)
4148 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4149 object->domain_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4153 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_pdc_name(PyObject *obj, void *closure)
4155 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4156 PyObject *py_pdc_name;
4157 py_pdc_name = PyString_FromStringOrNULL(object->pdc_name);
4161 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_pdc_name(PyObject *py_obj, PyObject *value, void *closure)
4163 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4164 object->pdc_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4168 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_user_name(PyObject *obj, void *closure)
4170 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4171 PyObject *py_user_name;
4172 py_user_name = PyString_FromStringOrNULL(object->user_name);
4173 return py_user_name;
4176 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_user_name(PyObject *py_obj, PyObject *value, void *closure)
4178 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4179 object->user_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4183 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_server_site(PyObject *obj, void *closure)
4185 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4186 PyObject *py_server_site;
4187 py_server_site = PyString_FromStringOrNULL(object->server_site);
4188 return py_server_site;
4191 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_server_site(PyObject *py_obj, PyObject *value, void *closure)
4193 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4194 object->server_site = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4198 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_client_site(PyObject *obj, void *closure)
4200 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4201 PyObject *py_client_site;
4202 py_client_site = PyString_FromStringOrNULL(object->client_site);
4203 return py_client_site;
4206 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_client_site(PyObject *py_obj, PyObject *value, void *closure)
4208 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4209 object->client_site = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4213 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_sockaddr_size(PyObject *obj, void *closure)
4215 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4216 PyObject *py_sockaddr_size;
4217 py_sockaddr_size = PyInt_FromLong(object->sockaddr_size);
4218 return py_sockaddr_size;
4221 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_sockaddr_size(PyObject *py_obj, PyObject *value, void *closure)
4223 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4224 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4225 object->sockaddr_size = PyInt_AsLong(value);
4229 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_sockaddr(PyObject *obj, void *closure)
4231 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4232 PyObject *py_sockaddr;
4233 py_sockaddr = pytalloc_reference_ex(&nbt_sockaddr_Type, pytalloc_get_mem_ctx(obj), &object->sockaddr);
4237 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_sockaddr(PyObject *py_obj, PyObject *value, void *closure)
4239 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4240 PY_CHECK_TYPE(&nbt_sockaddr_Type, value, return -1;);
4241 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
4245 object->sockaddr = *(struct nbt_sockaddr *)pytalloc_get_ptr(value);
4249 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_next_closest_site(PyObject *obj, void *closure)
4251 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4252 PyObject *py_next_closest_site;
4253 py_next_closest_site = PyString_FromStringOrNULL(object->next_closest_site);
4254 return py_next_closest_site;
4257 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_next_closest_site(PyObject *py_obj, PyObject *value, void *closure)
4259 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4260 object->next_closest_site = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4264 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_nt_version(PyObject *obj, void *closure)
4266 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4267 PyObject *py_nt_version;
4268 py_nt_version = PyInt_FromLong(object->nt_version);
4269 return py_nt_version;
4272 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_nt_version(PyObject *py_obj, PyObject *value, void *closure)
4274 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4275 if (PyLong_Check(value)) {
4276 object->nt_version = PyLong_AsLongLong(value);
4277 } else if (PyInt_Check(value)) {
4278 object->nt_version = PyInt_AsLong(value);
4280 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
4281 PyInt_Type.tp_name, PyLong_Type.tp_name);
4287 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_lmnt_token(PyObject *obj, void *closure)
4289 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4290 PyObject *py_lmnt_token;
4291 py_lmnt_token = PyInt_FromLong(object->lmnt_token);
4292 return py_lmnt_token;
4295 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_lmnt_token(PyObject *py_obj, PyObject *value, void *closure)
4297 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4298 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4299 object->lmnt_token = PyInt_AsLong(value);
4303 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_lm20_token(PyObject *obj, void *closure)
4305 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(obj);
4306 PyObject *py_lm20_token;
4307 py_lm20_token = PyInt_FromLong(object->lm20_token);
4308 return py_lm20_token;
4311 static int py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_lm20_token(PyObject *py_obj, PyObject *value, void *closure)
4313 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4314 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4315 object->lm20_token = PyInt_AsLong(value);
4319 static PyGetSetDef py_NETLOGON_SAM_LOGON_RESPONSE_EX_getsetters[] = {
4320 { discard_const_p(char, "command"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_command, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_command },
4321 { discard_const_p(char, "sbz"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_sbz, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_sbz },
4322 { discard_const_p(char, "server_type"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_server_type, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_server_type },
4323 { discard_const_p(char, "domain_uuid"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_domain_uuid, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_domain_uuid },
4324 { discard_const_p(char, "forest"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_forest, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_forest },
4325 { discard_const_p(char, "dns_domain"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_dns_domain, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_dns_domain },
4326 { discard_const_p(char, "pdc_dns_name"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_pdc_dns_name, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_pdc_dns_name },
4327 { discard_const_p(char, "domain_name"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_domain_name, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_domain_name },
4328 { discard_const_p(char, "pdc_name"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_pdc_name, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_pdc_name },
4329 { discard_const_p(char, "user_name"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_user_name, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_user_name },
4330 { discard_const_p(char, "server_site"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_server_site, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_server_site },
4331 { discard_const_p(char, "client_site"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_client_site, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_client_site },
4332 { discard_const_p(char, "sockaddr_size"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_sockaddr_size, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_sockaddr_size },
4333 { discard_const_p(char, "sockaddr"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_sockaddr, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_sockaddr },
4334 { discard_const_p(char, "next_closest_site"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_next_closest_site, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_next_closest_site },
4335 { discard_const_p(char, "nt_version"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_nt_version, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_nt_version },
4336 { discard_const_p(char, "lmnt_token"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_lmnt_token, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_lmnt_token },
4337 { discard_const_p(char, "lm20_token"), py_NETLOGON_SAM_LOGON_RESPONSE_EX_get_lm20_token, py_NETLOGON_SAM_LOGON_RESPONSE_EX_set_lm20_token },
4341 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4343 return pytalloc_new(struct NETLOGON_SAM_LOGON_RESPONSE_EX, type);
4346 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_ndr_pack(PyObject *py_obj)
4348 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4350 enum ndr_err_code err;
4351 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_NETLOGON_SAM_LOGON_RESPONSE_EX);
4352 if (err != NDR_ERR_SUCCESS) {
4353 PyErr_SetNdrError(err);
4357 return PyString_FromStringAndSize((char *)blob.data, blob.length);
4360 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
4362 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4364 int blob_length = 0;
4365 enum ndr_err_code err;
4366 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
4367 PyObject *allow_remaining_obj = NULL;
4368 bool allow_remaining = false;
4370 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
4371 discard_const_p(char *, kwnames),
4372 &blob.data, &blob_length,
4373 &allow_remaining_obj)) {
4376 blob.length = blob_length;
4378 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
4379 allow_remaining = true;
4382 if (allow_remaining) {
4383 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_EX);
4385 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_EX);
4387 if (err != NDR_ERR_SUCCESS) {
4388 PyErr_SetNdrError(err);
4395 static PyObject *py_NETLOGON_SAM_LOGON_RESPONSE_EX_ndr_print(PyObject *py_obj)
4397 struct NETLOGON_SAM_LOGON_RESPONSE_EX *object = (struct NETLOGON_SAM_LOGON_RESPONSE_EX *)pytalloc_get_ptr(py_obj);
4401 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_NETLOGON_SAM_LOGON_RESPONSE_EX, "NETLOGON_SAM_LOGON_RESPONSE_EX", object);
4402 ret = PyString_FromString(retstr);
4403 talloc_free(retstr);
4408 static PyMethodDef py_NETLOGON_SAM_LOGON_RESPONSE_EX_methods[] = {
4409 { "__ndr_pack__", (PyCFunction)py_NETLOGON_SAM_LOGON_RESPONSE_EX_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
4410 { "__ndr_unpack__", (PyCFunction)py_NETLOGON_SAM_LOGON_RESPONSE_EX_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
4411 { "__ndr_print__", (PyCFunction)py_NETLOGON_SAM_LOGON_RESPONSE_EX_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
4412 { NULL, NULL, 0, NULL }
4416 static PyTypeObject NETLOGON_SAM_LOGON_RESPONSE_EX_Type = {
4417 PyObject_HEAD_INIT(NULL) 0,
4418 .tp_name = "nbt.NETLOGON_SAM_LOGON_RESPONSE_EX",
4419 .tp_getset = py_NETLOGON_SAM_LOGON_RESPONSE_EX_getsetters,
4420 .tp_methods = py_NETLOGON_SAM_LOGON_RESPONSE_EX_methods,
4421 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4422 .tp_basicsize = sizeof(pytalloc_Object),
4423 .tp_new = py_NETLOGON_SAM_LOGON_RESPONSE_EX_new,
4427 static PyObject *py_nbt_netlogon_query_for_pdc_get_computer_name(PyObject *obj, void *closure)
4429 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(obj);
4430 PyObject *py_computer_name;
4431 py_computer_name = PyString_FromStringOrNULL(object->computer_name);
4432 return py_computer_name;
4435 static int py_nbt_netlogon_query_for_pdc_set_computer_name(PyObject *py_obj, PyObject *value, void *closure)
4437 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(py_obj);
4438 object->computer_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4442 static PyObject *py_nbt_netlogon_query_for_pdc_get_mailslot_name(PyObject *obj, void *closure)
4444 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(obj);
4445 PyObject *py_mailslot_name;
4446 py_mailslot_name = PyString_FromStringOrNULL(object->mailslot_name);
4447 return py_mailslot_name;
4450 static int py_nbt_netlogon_query_for_pdc_set_mailslot_name(PyObject *py_obj, PyObject *value, void *closure)
4452 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(py_obj);
4453 object->mailslot_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4457 static PyObject *py_nbt_netlogon_query_for_pdc_get__pad(PyObject *obj, void *closure)
4459 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(obj);
4461 py__pad = PyString_FromStringAndSize((char *)(object->_pad).data, (object->_pad).length);
4465 static int py_nbt_netlogon_query_for_pdc_set__pad(PyObject *py_obj, PyObject *value, void *closure)
4467 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(py_obj);
4468 object->_pad = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
4472 static PyObject *py_nbt_netlogon_query_for_pdc_get_unicode_name(PyObject *obj, void *closure)
4474 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(obj);
4475 PyObject *py_unicode_name;
4476 py_unicode_name = PyString_FromStringOrNULL(object->unicode_name);
4477 return py_unicode_name;
4480 static int py_nbt_netlogon_query_for_pdc_set_unicode_name(PyObject *py_obj, PyObject *value, void *closure)
4482 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(py_obj);
4483 object->unicode_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4487 static PyObject *py_nbt_netlogon_query_for_pdc_get_nt_version(PyObject *obj, void *closure)
4489 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(obj);
4490 PyObject *py_nt_version;
4491 py_nt_version = PyInt_FromLong(object->nt_version);
4492 return py_nt_version;
4495 static int py_nbt_netlogon_query_for_pdc_set_nt_version(PyObject *py_obj, PyObject *value, void *closure)
4497 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(py_obj);
4498 if (PyLong_Check(value)) {
4499 object->nt_version = PyLong_AsLongLong(value);
4500 } else if (PyInt_Check(value)) {
4501 object->nt_version = PyInt_AsLong(value);
4503 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
4504 PyInt_Type.tp_name, PyLong_Type.tp_name);
4510 static PyObject *py_nbt_netlogon_query_for_pdc_get_lmnt_token(PyObject *obj, void *closure)
4512 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(obj);
4513 PyObject *py_lmnt_token;
4514 py_lmnt_token = PyInt_FromLong(object->lmnt_token);
4515 return py_lmnt_token;
4518 static int py_nbt_netlogon_query_for_pdc_set_lmnt_token(PyObject *py_obj, PyObject *value, void *closure)
4520 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(py_obj);
4521 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4522 object->lmnt_token = PyInt_AsLong(value);
4526 static PyObject *py_nbt_netlogon_query_for_pdc_get_lm20_token(PyObject *obj, void *closure)
4528 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(obj);
4529 PyObject *py_lm20_token;
4530 py_lm20_token = PyInt_FromLong(object->lm20_token);
4531 return py_lm20_token;
4534 static int py_nbt_netlogon_query_for_pdc_set_lm20_token(PyObject *py_obj, PyObject *value, void *closure)
4536 struct nbt_netlogon_query_for_pdc *object = (struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(py_obj);
4537 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4538 object->lm20_token = PyInt_AsLong(value);
4542 static PyGetSetDef py_nbt_netlogon_query_for_pdc_getsetters[] = {
4543 { discard_const_p(char, "computer_name"), py_nbt_netlogon_query_for_pdc_get_computer_name, py_nbt_netlogon_query_for_pdc_set_computer_name },
4544 { discard_const_p(char, "mailslot_name"), py_nbt_netlogon_query_for_pdc_get_mailslot_name, py_nbt_netlogon_query_for_pdc_set_mailslot_name },
4545 { discard_const_p(char, "_pad"), py_nbt_netlogon_query_for_pdc_get__pad, py_nbt_netlogon_query_for_pdc_set__pad },
4546 { discard_const_p(char, "unicode_name"), py_nbt_netlogon_query_for_pdc_get_unicode_name, py_nbt_netlogon_query_for_pdc_set_unicode_name },
4547 { discard_const_p(char, "nt_version"), py_nbt_netlogon_query_for_pdc_get_nt_version, py_nbt_netlogon_query_for_pdc_set_nt_version },
4548 { discard_const_p(char, "lmnt_token"), py_nbt_netlogon_query_for_pdc_get_lmnt_token, py_nbt_netlogon_query_for_pdc_set_lmnt_token },
4549 { discard_const_p(char, "lm20_token"), py_nbt_netlogon_query_for_pdc_get_lm20_token, py_nbt_netlogon_query_for_pdc_set_lm20_token },
4553 static PyObject *py_nbt_netlogon_query_for_pdc_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4555 return pytalloc_new(struct nbt_netlogon_query_for_pdc, type);
4559 static PyTypeObject nbt_netlogon_query_for_pdc_Type = {
4560 PyObject_HEAD_INIT(NULL) 0,
4561 .tp_name = "nbt.netlogon_query_for_pdc",
4562 .tp_getset = py_nbt_netlogon_query_for_pdc_getsetters,
4564 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4565 .tp_basicsize = sizeof(pytalloc_Object),
4566 .tp_new = py_nbt_netlogon_query_for_pdc_new,
4570 static PyObject *py_nbt_netlogon_response_from_pdc_get_command(PyObject *obj, void *closure)
4572 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(obj);
4573 PyObject *py_command;
4574 py_command = PyInt_FromLong(object->command);
4578 static int py_nbt_netlogon_response_from_pdc_set_command(PyObject *py_obj, PyObject *value, void *closure)
4580 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4581 if (PyLong_Check(value)) {
4582 object->command = PyLong_AsLongLong(value);
4583 } else if (PyInt_Check(value)) {
4584 object->command = PyInt_AsLong(value);
4586 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
4587 PyInt_Type.tp_name, PyLong_Type.tp_name);
4593 static PyObject *py_nbt_netlogon_response_from_pdc_get_pdc_name(PyObject *obj, void *closure)
4595 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(obj);
4596 PyObject *py_pdc_name;
4597 py_pdc_name = PyString_FromStringOrNULL(object->pdc_name);
4601 static int py_nbt_netlogon_response_from_pdc_set_pdc_name(PyObject *py_obj, PyObject *value, void *closure)
4603 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4604 object->pdc_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4608 static PyObject *py_nbt_netlogon_response_from_pdc_get__pad(PyObject *obj, void *closure)
4610 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(obj);
4612 py__pad = PyString_FromStringAndSize((char *)(object->_pad).data, (object->_pad).length);
4616 static int py_nbt_netlogon_response_from_pdc_set__pad(PyObject *py_obj, PyObject *value, void *closure)
4618 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4619 object->_pad = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
4623 static PyObject *py_nbt_netlogon_response_from_pdc_get_unicode_pdc_name(PyObject *obj, void *closure)
4625 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(obj);
4626 PyObject *py_unicode_pdc_name;
4627 py_unicode_pdc_name = PyString_FromStringOrNULL(object->unicode_pdc_name);
4628 return py_unicode_pdc_name;
4631 static int py_nbt_netlogon_response_from_pdc_set_unicode_pdc_name(PyObject *py_obj, PyObject *value, void *closure)
4633 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4634 object->unicode_pdc_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4638 static PyObject *py_nbt_netlogon_response_from_pdc_get_domain_name(PyObject *obj, void *closure)
4640 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(obj);
4641 PyObject *py_domain_name;
4642 py_domain_name = PyString_FromStringOrNULL(object->domain_name);
4643 return py_domain_name;
4646 static int py_nbt_netlogon_response_from_pdc_set_domain_name(PyObject *py_obj, PyObject *value, void *closure)
4648 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4649 object->domain_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4653 static PyObject *py_nbt_netlogon_response_from_pdc_get_nt_version(PyObject *obj, void *closure)
4655 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(obj);
4656 PyObject *py_nt_version;
4657 py_nt_version = PyInt_FromLong(object->nt_version);
4658 return py_nt_version;
4661 static int py_nbt_netlogon_response_from_pdc_set_nt_version(PyObject *py_obj, PyObject *value, void *closure)
4663 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4664 if (PyLong_Check(value)) {
4665 object->nt_version = PyLong_AsLongLong(value);
4666 } else if (PyInt_Check(value)) {
4667 object->nt_version = PyInt_AsLong(value);
4669 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
4670 PyInt_Type.tp_name, PyLong_Type.tp_name);
4676 static PyObject *py_nbt_netlogon_response_from_pdc_get_lmnt_token(PyObject *obj, void *closure)
4678 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(obj);
4679 PyObject *py_lmnt_token;
4680 py_lmnt_token = PyInt_FromLong(object->lmnt_token);
4681 return py_lmnt_token;
4684 static int py_nbt_netlogon_response_from_pdc_set_lmnt_token(PyObject *py_obj, PyObject *value, void *closure)
4686 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4687 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4688 object->lmnt_token = PyInt_AsLong(value);
4692 static PyObject *py_nbt_netlogon_response_from_pdc_get_lm20_token(PyObject *obj, void *closure)
4694 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(obj);
4695 PyObject *py_lm20_token;
4696 py_lm20_token = PyInt_FromLong(object->lm20_token);
4697 return py_lm20_token;
4700 static int py_nbt_netlogon_response_from_pdc_set_lm20_token(PyObject *py_obj, PyObject *value, void *closure)
4702 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4703 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4704 object->lm20_token = PyInt_AsLong(value);
4708 static PyGetSetDef py_nbt_netlogon_response_from_pdc_getsetters[] = {
4709 { discard_const_p(char, "command"), py_nbt_netlogon_response_from_pdc_get_command, py_nbt_netlogon_response_from_pdc_set_command },
4710 { discard_const_p(char, "pdc_name"), py_nbt_netlogon_response_from_pdc_get_pdc_name, py_nbt_netlogon_response_from_pdc_set_pdc_name },
4711 { discard_const_p(char, "_pad"), py_nbt_netlogon_response_from_pdc_get__pad, py_nbt_netlogon_response_from_pdc_set__pad },
4712 { discard_const_p(char, "unicode_pdc_name"), py_nbt_netlogon_response_from_pdc_get_unicode_pdc_name, py_nbt_netlogon_response_from_pdc_set_unicode_pdc_name },
4713 { discard_const_p(char, "domain_name"), py_nbt_netlogon_response_from_pdc_get_domain_name, py_nbt_netlogon_response_from_pdc_set_domain_name },
4714 { discard_const_p(char, "nt_version"), py_nbt_netlogon_response_from_pdc_get_nt_version, py_nbt_netlogon_response_from_pdc_set_nt_version },
4715 { discard_const_p(char, "lmnt_token"), py_nbt_netlogon_response_from_pdc_get_lmnt_token, py_nbt_netlogon_response_from_pdc_set_lmnt_token },
4716 { discard_const_p(char, "lm20_token"), py_nbt_netlogon_response_from_pdc_get_lm20_token, py_nbt_netlogon_response_from_pdc_set_lm20_token },
4720 static PyObject *py_nbt_netlogon_response_from_pdc_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4722 return pytalloc_new(struct nbt_netlogon_response_from_pdc, type);
4725 static PyObject *py_nbt_netlogon_response_from_pdc_ndr_pack(PyObject *py_obj)
4727 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4729 enum ndr_err_code err;
4730 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_nbt_netlogon_response_from_pdc);
4731 if (err != NDR_ERR_SUCCESS) {
4732 PyErr_SetNdrError(err);
4736 return PyString_FromStringAndSize((char *)blob.data, blob.length);
4739 static PyObject *py_nbt_netlogon_response_from_pdc_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
4741 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4743 int blob_length = 0;
4744 enum ndr_err_code err;
4745 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
4746 PyObject *allow_remaining_obj = NULL;
4747 bool allow_remaining = false;
4749 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
4750 discard_const_p(char *, kwnames),
4751 &blob.data, &blob_length,
4752 &allow_remaining_obj)) {
4755 blob.length = blob_length;
4757 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
4758 allow_remaining = true;
4761 if (allow_remaining) {
4762 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_netlogon_response_from_pdc);
4764 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_netlogon_response_from_pdc);
4766 if (err != NDR_ERR_SUCCESS) {
4767 PyErr_SetNdrError(err);
4774 static PyObject *py_nbt_netlogon_response_from_pdc_ndr_print(PyObject *py_obj)
4776 struct nbt_netlogon_response_from_pdc *object = (struct nbt_netlogon_response_from_pdc *)pytalloc_get_ptr(py_obj);
4780 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_nbt_netlogon_response_from_pdc, "nbt_netlogon_response_from_pdc", object);
4781 ret = PyString_FromString(retstr);
4782 talloc_free(retstr);
4787 static PyMethodDef py_nbt_netlogon_response_from_pdc_methods[] = {
4788 { "__ndr_pack__", (PyCFunction)py_nbt_netlogon_response_from_pdc_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
4789 { "__ndr_unpack__", (PyCFunction)py_nbt_netlogon_response_from_pdc_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
4790 { "__ndr_print__", (PyCFunction)py_nbt_netlogon_response_from_pdc_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
4791 { NULL, NULL, 0, NULL }
4795 static PyTypeObject nbt_netlogon_response_from_pdc_Type = {
4796 PyObject_HEAD_INIT(NULL) 0,
4797 .tp_name = "nbt.netlogon_response_from_pdc",
4798 .tp_getset = py_nbt_netlogon_response_from_pdc_getsetters,
4799 .tp_methods = py_nbt_netlogon_response_from_pdc_methods,
4800 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4801 .tp_basicsize = sizeof(pytalloc_Object),
4802 .tp_new = py_nbt_netlogon_response_from_pdc_new,
4806 static PyObject *py_nbt_netlogon_response2_get_command(PyObject *obj, void *closure)
4808 struct nbt_netlogon_response2 *object = (struct nbt_netlogon_response2 *)pytalloc_get_ptr(obj);
4809 PyObject *py_command;
4810 py_command = PyInt_FromLong(object->command);
4814 static int py_nbt_netlogon_response2_set_command(PyObject *py_obj, PyObject *value, void *closure)
4816 struct nbt_netlogon_response2 *object = (struct nbt_netlogon_response2 *)pytalloc_get_ptr(py_obj);
4817 if (PyLong_Check(value)) {
4818 object->command = PyLong_AsLongLong(value);
4819 } else if (PyInt_Check(value)) {
4820 object->command = PyInt_AsLong(value);
4822 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
4823 PyInt_Type.tp_name, PyLong_Type.tp_name);
4829 static PyObject *py_nbt_netlogon_response2_get_pdc_name(PyObject *obj, void *closure)
4831 struct nbt_netlogon_response2 *object = (struct nbt_netlogon_response2 *)pytalloc_get_ptr(obj);
4832 PyObject *py_pdc_name;
4833 py_pdc_name = PyString_FromStringOrNULL(object->pdc_name);
4837 static int py_nbt_netlogon_response2_set_pdc_name(PyObject *py_obj, PyObject *value, void *closure)
4839 struct nbt_netlogon_response2 *object = (struct nbt_netlogon_response2 *)pytalloc_get_ptr(py_obj);
4840 object->pdc_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
4844 static PyObject *py_nbt_netlogon_response2_get_lm20_token(PyObject *obj, void *closure)
4846 struct nbt_netlogon_response2 *object = (struct nbt_netlogon_response2 *)pytalloc_get_ptr(obj);
4847 PyObject *py_lm20_token;
4848 py_lm20_token = PyInt_FromLong(object->lm20_token);
4849 return py_lm20_token;
4852 static int py_nbt_netlogon_response2_set_lm20_token(PyObject *py_obj, PyObject *value, void *closure)
4854 struct nbt_netlogon_response2 *object = (struct nbt_netlogon_response2 *)pytalloc_get_ptr(py_obj);
4855 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
4856 object->lm20_token = PyInt_AsLong(value);
4860 static PyGetSetDef py_nbt_netlogon_response2_getsetters[] = {
4861 { discard_const_p(char, "command"), py_nbt_netlogon_response2_get_command, py_nbt_netlogon_response2_set_command },
4862 { discard_const_p(char, "pdc_name"), py_nbt_netlogon_response2_get_pdc_name, py_nbt_netlogon_response2_set_pdc_name },
4863 { discard_const_p(char, "lm20_token"), py_nbt_netlogon_response2_get_lm20_token, py_nbt_netlogon_response2_set_lm20_token },
4867 static PyObject *py_nbt_netlogon_response2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
4869 return pytalloc_new(struct nbt_netlogon_response2, type);
4872 static PyObject *py_nbt_netlogon_response2_ndr_pack(PyObject *py_obj)
4874 struct nbt_netlogon_response2 *object = (struct nbt_netlogon_response2 *)pytalloc_get_ptr(py_obj);
4876 enum ndr_err_code err;
4877 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_nbt_netlogon_response2);
4878 if (err != NDR_ERR_SUCCESS) {
4879 PyErr_SetNdrError(err);
4883 return PyString_FromStringAndSize((char *)blob.data, blob.length);
4886 static PyObject *py_nbt_netlogon_response2_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
4888 struct nbt_netlogon_response2 *object = (struct nbt_netlogon_response2 *)pytalloc_get_ptr(py_obj);
4890 int blob_length = 0;
4891 enum ndr_err_code err;
4892 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
4893 PyObject *allow_remaining_obj = NULL;
4894 bool allow_remaining = false;
4896 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
4897 discard_const_p(char *, kwnames),
4898 &blob.data, &blob_length,
4899 &allow_remaining_obj)) {
4902 blob.length = blob_length;
4904 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
4905 allow_remaining = true;
4908 if (allow_remaining) {
4909 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_netlogon_response2);
4911 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_netlogon_response2);
4913 if (err != NDR_ERR_SUCCESS) {
4914 PyErr_SetNdrError(err);
4921 static PyObject *py_nbt_netlogon_response2_ndr_print(PyObject *py_obj)
4923 struct nbt_netlogon_response2 *object = (struct nbt_netlogon_response2 *)pytalloc_get_ptr(py_obj);
4927 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_nbt_netlogon_response2, "nbt_netlogon_response2", object);
4928 ret = PyString_FromString(retstr);
4929 talloc_free(retstr);
4934 static PyMethodDef py_nbt_netlogon_response2_methods[] = {
4935 { "__ndr_pack__", (PyCFunction)py_nbt_netlogon_response2_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
4936 { "__ndr_unpack__", (PyCFunction)py_nbt_netlogon_response2_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
4937 { "__ndr_print__", (PyCFunction)py_nbt_netlogon_response2_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
4938 { NULL, NULL, 0, NULL }
4942 static PyTypeObject nbt_netlogon_response2_Type = {
4943 PyObject_HEAD_INIT(NULL) 0,
4944 .tp_name = "nbt.netlogon_response2",
4945 .tp_getset = py_nbt_netlogon_response2_getsetters,
4946 .tp_methods = py_nbt_netlogon_response2_methods,
4947 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
4948 .tp_basicsize = sizeof(pytalloc_Object),
4949 .tp_new = py_nbt_netlogon_response2_new,
4953 static PyObject *py_nbt_db_change_info_get_db_index(PyObject *obj, void *closure)
4955 struct nbt_db_change_info *object = (struct nbt_db_change_info *)pytalloc_get_ptr(obj);
4956 PyObject *py_db_index;
4957 py_db_index = PyInt_FromLong(object->db_index);
4961 static int py_nbt_db_change_info_set_db_index(PyObject *py_obj, PyObject *value, void *closure)
4963 struct nbt_db_change_info *object = (struct nbt_db_change_info *)pytalloc_get_ptr(py_obj);
4964 if (PyLong_Check(value)) {
4965 object->db_index = PyLong_AsLongLong(value);
4966 } else if (PyInt_Check(value)) {
4967 object->db_index = PyInt_AsLong(value);
4969 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
4970 PyInt_Type.tp_name, PyLong_Type.tp_name);
4976 static PyObject *py_nbt_db_change_info_get_serial(PyObject *obj, void *closure)
4978 struct nbt_db_change_info *object = (struct nbt_db_change_info *)pytalloc_get_ptr(obj);
4979 PyObject *py_serial;
4980 py_serial = PyLong_FromLongLong(object->serial);
4984 static int py_nbt_db_change_info_set_serial(PyObject *py_obj, PyObject *value, void *closure)
4986 struct nbt_db_change_info *object = (struct nbt_db_change_info *)pytalloc_get_ptr(py_obj);
4987 if (PyLong_Check(value)) {
4988 object->serial = PyLong_AsLongLong(value);
4989 } else if (PyInt_Check(value)) {
4990 object->serial = PyInt_AsLong(value);
4992 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
4993 PyInt_Type.tp_name, PyLong_Type.tp_name);
4999 static PyObject *py_nbt_db_change_info_get_timestamp(PyObject *obj, void *closure)
5001 struct nbt_db_change_info *object = (struct nbt_db_change_info *)pytalloc_get_ptr(obj);
5002 PyObject *py_timestamp;
5003 py_timestamp = PyLong_FromLongLong(object->timestamp);
5004 return py_timestamp;
5007 static int py_nbt_db_change_info_set_timestamp(PyObject *py_obj, PyObject *value, void *closure)
5009 struct nbt_db_change_info *object = (struct nbt_db_change_info *)pytalloc_get_ptr(py_obj);
5010 if (PyLong_Check(value)) {
5011 object->timestamp = PyLong_AsLongLong(value);
5012 } else if (PyInt_Check(value)) {
5013 object->timestamp = PyInt_AsLong(value);
5015 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
5016 PyInt_Type.tp_name, PyLong_Type.tp_name);
5022 static PyGetSetDef py_nbt_db_change_info_getsetters[] = {
5023 { discard_const_p(char, "db_index"), py_nbt_db_change_info_get_db_index, py_nbt_db_change_info_set_db_index },
5024 { discard_const_p(char, "serial"), py_nbt_db_change_info_get_serial, py_nbt_db_change_info_set_serial },
5025 { discard_const_p(char, "timestamp"), py_nbt_db_change_info_get_timestamp, py_nbt_db_change_info_set_timestamp },
5029 static PyObject *py_nbt_db_change_info_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5031 return pytalloc_new(struct nbt_db_change_info, type);
5035 static PyTypeObject nbt_db_change_info_Type = {
5036 PyObject_HEAD_INIT(NULL) 0,
5037 .tp_name = "nbt.db_change_info",
5038 .tp_getset = py_nbt_db_change_info_getsetters,
5040 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5041 .tp_basicsize = sizeof(pytalloc_Object),
5042 .tp_new = py_nbt_db_change_info_new,
5046 static PyObject *py_NETLOGON_DB_CHANGE_get_serial_lo(PyObject *obj, void *closure)
5048 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5049 PyObject *py_serial_lo;
5050 py_serial_lo = PyInt_FromLong(object->serial_lo);
5051 return py_serial_lo;
5054 static int py_NETLOGON_DB_CHANGE_set_serial_lo(PyObject *py_obj, PyObject *value, void *closure)
5056 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5057 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5058 object->serial_lo = PyInt_AsLong(value);
5062 static PyObject *py_NETLOGON_DB_CHANGE_get_timestamp(PyObject *obj, void *closure)
5064 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5065 PyObject *py_timestamp;
5066 py_timestamp = PyInt_FromLong(object->timestamp);
5067 return py_timestamp;
5070 static int py_NETLOGON_DB_CHANGE_set_timestamp(PyObject *py_obj, PyObject *value, void *closure)
5072 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5073 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5074 object->timestamp = PyInt_AsLong(value);
5078 static PyObject *py_NETLOGON_DB_CHANGE_get_pulse(PyObject *obj, void *closure)
5080 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5082 py_pulse = PyInt_FromLong(object->pulse);
5086 static int py_NETLOGON_DB_CHANGE_set_pulse(PyObject *py_obj, PyObject *value, void *closure)
5088 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5089 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5090 object->pulse = PyInt_AsLong(value);
5094 static PyObject *py_NETLOGON_DB_CHANGE_get_random(PyObject *obj, void *closure)
5096 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5097 PyObject *py_random;
5098 py_random = PyInt_FromLong(object->random);
5102 static int py_NETLOGON_DB_CHANGE_set_random(PyObject *py_obj, PyObject *value, void *closure)
5104 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5105 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5106 object->random = PyInt_AsLong(value);
5110 static PyObject *py_NETLOGON_DB_CHANGE_get_pdc_name(PyObject *obj, void *closure)
5112 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5113 PyObject *py_pdc_name;
5114 py_pdc_name = PyString_FromStringOrNULL(object->pdc_name);
5118 static int py_NETLOGON_DB_CHANGE_set_pdc_name(PyObject *py_obj, PyObject *value, void *closure)
5120 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5121 object->pdc_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
5125 static PyObject *py_NETLOGON_DB_CHANGE_get_domain(PyObject *obj, void *closure)
5127 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5128 PyObject *py_domain;
5129 py_domain = PyString_FromStringOrNULL(object->domain);
5133 static int py_NETLOGON_DB_CHANGE_set_domain(PyObject *py_obj, PyObject *value, void *closure)
5135 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5136 object->domain = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
5140 static PyObject *py_NETLOGON_DB_CHANGE_get__pad(PyObject *obj, void *closure)
5142 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5144 py__pad = PyString_FromStringAndSize((char *)(object->_pad).data, (object->_pad).length);
5148 static int py_NETLOGON_DB_CHANGE_set__pad(PyObject *py_obj, PyObject *value, void *closure)
5150 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5151 object->_pad = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
5155 static PyObject *py_NETLOGON_DB_CHANGE_get_unicode_pdc_name(PyObject *obj, void *closure)
5157 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5158 PyObject *py_unicode_pdc_name;
5159 py_unicode_pdc_name = PyString_FromStringOrNULL(object->unicode_pdc_name);
5160 return py_unicode_pdc_name;
5163 static int py_NETLOGON_DB_CHANGE_set_unicode_pdc_name(PyObject *py_obj, PyObject *value, void *closure)
5165 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5166 object->unicode_pdc_name = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
5170 static PyObject *py_NETLOGON_DB_CHANGE_get_unicode_domain(PyObject *obj, void *closure)
5172 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5173 PyObject *py_unicode_domain;
5174 py_unicode_domain = PyString_FromStringOrNULL(object->unicode_domain);
5175 return py_unicode_domain;
5178 static int py_NETLOGON_DB_CHANGE_set_unicode_domain(PyObject *py_obj, PyObject *value, void *closure)
5180 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5181 object->unicode_domain = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
5185 static PyObject *py_NETLOGON_DB_CHANGE_get_db_count(PyObject *obj, void *closure)
5187 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5188 PyObject *py_db_count;
5189 py_db_count = PyInt_FromLong(object->db_count);
5193 static int py_NETLOGON_DB_CHANGE_set_db_count(PyObject *py_obj, PyObject *value, void *closure)
5195 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5196 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5197 object->db_count = PyInt_AsLong(value);
5201 static PyObject *py_NETLOGON_DB_CHANGE_get_dbchange(PyObject *obj, void *closure)
5203 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5204 PyObject *py_dbchange;
5205 py_dbchange = PyList_New(object->db_count);
5206 if (py_dbchange == NULL) {
5210 int dbchange_cntr_0;
5211 for (dbchange_cntr_0 = 0; dbchange_cntr_0 < object->db_count; dbchange_cntr_0++) {
5212 PyObject *py_dbchange_0;
5213 py_dbchange_0 = pytalloc_reference_ex(&nbt_db_change_info_Type, object->dbchange, &object->dbchange[dbchange_cntr_0]);
5214 PyList_SetItem(py_dbchange, dbchange_cntr_0, py_dbchange_0);
5220 static int py_NETLOGON_DB_CHANGE_set_dbchange(PyObject *py_obj, PyObject *value, void *closure)
5222 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5223 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
5225 int dbchange_cntr_0;
5226 object->dbchange = talloc_array_ptrtype(pytalloc_get_mem_ctx(py_obj), object->dbchange, PyList_GET_SIZE(value));
5227 if (!object->dbchange) { return -1;; }
5228 talloc_set_name_const(object->dbchange, "ARRAY: object->dbchange");
5229 for (dbchange_cntr_0 = 0; dbchange_cntr_0 < PyList_GET_SIZE(value); dbchange_cntr_0++) {
5230 PY_CHECK_TYPE(&nbt_db_change_info_Type, PyList_GET_ITEM(value, dbchange_cntr_0), return -1;);
5231 if (talloc_reference(object->dbchange, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, dbchange_cntr_0))) == NULL) {
5235 object->dbchange[dbchange_cntr_0] = *(struct nbt_db_change_info *)pytalloc_get_ptr(PyList_GET_ITEM(value, dbchange_cntr_0));
5241 static PyObject *py_NETLOGON_DB_CHANGE_get_sid_size(PyObject *obj, void *closure)
5243 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5244 PyObject *py_sid_size;
5245 py_sid_size = PyInt_FromLong(object->sid_size);
5249 static int py_NETLOGON_DB_CHANGE_set_sid_size(PyObject *py_obj, PyObject *value, void *closure)
5251 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5252 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5253 object->sid_size = PyInt_AsLong(value);
5257 static PyObject *py_NETLOGON_DB_CHANGE_get_sid(PyObject *obj, void *closure)
5259 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5261 py_sid = pytalloc_reference_ex(dom_sid_Type, pytalloc_get_mem_ctx(obj), &object->sid);
5265 static int py_NETLOGON_DB_CHANGE_set_sid(PyObject *py_obj, PyObject *value, void *closure)
5267 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5268 PY_CHECK_TYPE(dom_sid_Type, value, return -1;);
5269 if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
5273 object->sid = *(struct dom_sid *)pytalloc_get_ptr(value);
5277 static PyObject *py_NETLOGON_DB_CHANGE_get_message_format_version(PyObject *obj, void *closure)
5279 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5280 PyObject *py_message_format_version;
5281 py_message_format_version = PyInt_FromLong(object->message_format_version);
5282 return py_message_format_version;
5285 static int py_NETLOGON_DB_CHANGE_set_message_format_version(PyObject *py_obj, PyObject *value, void *closure)
5287 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5288 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5289 object->message_format_version = PyInt_AsLong(value);
5293 static PyObject *py_NETLOGON_DB_CHANGE_get_message_token(PyObject *obj, void *closure)
5295 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(obj);
5296 PyObject *py_message_token;
5297 py_message_token = PyInt_FromLong(object->message_token);
5298 return py_message_token;
5301 static int py_NETLOGON_DB_CHANGE_set_message_token(PyObject *py_obj, PyObject *value, void *closure)
5303 struct NETLOGON_DB_CHANGE *object = (struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(py_obj);
5304 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5305 object->message_token = PyInt_AsLong(value);
5309 static PyGetSetDef py_NETLOGON_DB_CHANGE_getsetters[] = {
5310 { discard_const_p(char, "serial_lo"), py_NETLOGON_DB_CHANGE_get_serial_lo, py_NETLOGON_DB_CHANGE_set_serial_lo },
5311 { discard_const_p(char, "timestamp"), py_NETLOGON_DB_CHANGE_get_timestamp, py_NETLOGON_DB_CHANGE_set_timestamp },
5312 { discard_const_p(char, "pulse"), py_NETLOGON_DB_CHANGE_get_pulse, py_NETLOGON_DB_CHANGE_set_pulse },
5313 { discard_const_p(char, "random"), py_NETLOGON_DB_CHANGE_get_random, py_NETLOGON_DB_CHANGE_set_random },
5314 { discard_const_p(char, "pdc_name"), py_NETLOGON_DB_CHANGE_get_pdc_name, py_NETLOGON_DB_CHANGE_set_pdc_name },
5315 { discard_const_p(char, "domain"), py_NETLOGON_DB_CHANGE_get_domain, py_NETLOGON_DB_CHANGE_set_domain },
5316 { discard_const_p(char, "_pad"), py_NETLOGON_DB_CHANGE_get__pad, py_NETLOGON_DB_CHANGE_set__pad },
5317 { discard_const_p(char, "unicode_pdc_name"), py_NETLOGON_DB_CHANGE_get_unicode_pdc_name, py_NETLOGON_DB_CHANGE_set_unicode_pdc_name },
5318 { discard_const_p(char, "unicode_domain"), py_NETLOGON_DB_CHANGE_get_unicode_domain, py_NETLOGON_DB_CHANGE_set_unicode_domain },
5319 { discard_const_p(char, "db_count"), py_NETLOGON_DB_CHANGE_get_db_count, py_NETLOGON_DB_CHANGE_set_db_count },
5320 { discard_const_p(char, "dbchange"), py_NETLOGON_DB_CHANGE_get_dbchange, py_NETLOGON_DB_CHANGE_set_dbchange },
5321 { discard_const_p(char, "sid_size"), py_NETLOGON_DB_CHANGE_get_sid_size, py_NETLOGON_DB_CHANGE_set_sid_size },
5322 { discard_const_p(char, "sid"), py_NETLOGON_DB_CHANGE_get_sid, py_NETLOGON_DB_CHANGE_set_sid },
5323 { discard_const_p(char, "message_format_version"), py_NETLOGON_DB_CHANGE_get_message_format_version, py_NETLOGON_DB_CHANGE_set_message_format_version },
5324 { discard_const_p(char, "message_token"), py_NETLOGON_DB_CHANGE_get_message_token, py_NETLOGON_DB_CHANGE_set_message_token },
5328 static PyObject *py_NETLOGON_DB_CHANGE_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5330 return pytalloc_new(struct NETLOGON_DB_CHANGE, type);
5334 static PyTypeObject NETLOGON_DB_CHANGE_Type = {
5335 PyObject_HEAD_INIT(NULL) 0,
5336 .tp_name = "nbt.NETLOGON_DB_CHANGE",
5337 .tp_getset = py_NETLOGON_DB_CHANGE_getsetters,
5339 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5340 .tp_basicsize = sizeof(pytalloc_Object),
5341 .tp_new = py_NETLOGON_DB_CHANGE_new,
5344 PyObject *py_import_nbt_netlogon_request(TALLOC_CTX *mem_ctx, int level, union nbt_netlogon_request *in)
5350 ret = pytalloc_reference_ex(&NETLOGON_LOGON_REQUEST_Type, mem_ctx, &in->logon0);
5353 case LOGON_SAM_LOGON_REQUEST:
5354 ret = pytalloc_reference_ex(&NETLOGON_SAM_LOGON_REQUEST_Type, mem_ctx, &in->logon);
5357 case LOGON_PRIMARY_QUERY:
5358 ret = pytalloc_reference_ex(&nbt_netlogon_query_for_pdc_Type, mem_ctx, &in->pdc);
5361 case NETLOGON_ANNOUNCE_UAS:
5362 ret = pytalloc_reference_ex(&NETLOGON_DB_CHANGE_Type, mem_ctx, &in->uas);
5366 PyErr_SetString(PyExc_TypeError, "unknown union level");
5370 union nbt_netlogon_request *py_export_nbt_netlogon_request(TALLOC_CTX *mem_ctx, int level, PyObject *in)
5372 union nbt_netlogon_request *ret = talloc_zero(mem_ctx, union nbt_netlogon_request);
5375 PY_CHECK_TYPE(&NETLOGON_LOGON_REQUEST_Type, in, talloc_free(ret); return NULL;);
5376 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
5378 talloc_free(ret); return NULL;
5380 ret->logon0 = *(struct NETLOGON_LOGON_REQUEST *)pytalloc_get_ptr(in);
5383 case LOGON_SAM_LOGON_REQUEST:
5384 PY_CHECK_TYPE(&NETLOGON_SAM_LOGON_REQUEST_Type, in, talloc_free(ret); return NULL;);
5385 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
5387 talloc_free(ret); return NULL;
5389 ret->logon = *(struct NETLOGON_SAM_LOGON_REQUEST *)pytalloc_get_ptr(in);
5392 case LOGON_PRIMARY_QUERY:
5393 PY_CHECK_TYPE(&nbt_netlogon_query_for_pdc_Type, in, talloc_free(ret); return NULL;);
5394 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
5396 talloc_free(ret); return NULL;
5398 ret->pdc = *(struct nbt_netlogon_query_for_pdc *)pytalloc_get_ptr(in);
5401 case NETLOGON_ANNOUNCE_UAS:
5402 PY_CHECK_TYPE(&NETLOGON_DB_CHANGE_Type, in, talloc_free(ret); return NULL;);
5403 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
5405 talloc_free(ret); return NULL;
5407 ret->uas = *(struct NETLOGON_DB_CHANGE *)pytalloc_get_ptr(in);
5411 PyErr_SetString(PyExc_TypeError, "invalid union level value");
5420 static PyObject *py_nbt_netlogon_packet_get_command(PyObject *obj, void *closure)
5422 struct nbt_netlogon_packet *object = (struct nbt_netlogon_packet *)pytalloc_get_ptr(obj);
5423 PyObject *py_command;
5424 py_command = PyInt_FromLong(object->command);
5428 static int py_nbt_netlogon_packet_set_command(PyObject *py_obj, PyObject *value, void *closure)
5430 struct nbt_netlogon_packet *object = (struct nbt_netlogon_packet *)pytalloc_get_ptr(py_obj);
5431 if (PyLong_Check(value)) {
5432 object->command = PyLong_AsLongLong(value);
5433 } else if (PyInt_Check(value)) {
5434 object->command = PyInt_AsLong(value);
5436 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
5437 PyInt_Type.tp_name, PyLong_Type.tp_name);
5443 static PyObject *py_nbt_netlogon_packet_get_req(PyObject *obj, void *closure)
5445 struct nbt_netlogon_packet *object = (struct nbt_netlogon_packet *)pytalloc_get_ptr(obj);
5447 py_req = py_import_nbt_netlogon_request(pytalloc_get_mem_ctx(obj), object->command, &object->req);
5448 if (py_req == NULL) {
5454 static int py_nbt_netlogon_packet_set_req(PyObject *py_obj, PyObject *value, void *closure)
5456 struct nbt_netlogon_packet *object = (struct nbt_netlogon_packet *)pytalloc_get_ptr(py_obj);
5458 union nbt_netlogon_request *req_switch_0;
5459 req_switch_0 = py_export_nbt_netlogon_request(pytalloc_get_mem_ctx(py_obj), object->command, value);
5460 if (req_switch_0 == NULL) {
5463 object->req = *req_switch_0;
5468 static PyGetSetDef py_nbt_netlogon_packet_getsetters[] = {
5469 { discard_const_p(char, "command"), py_nbt_netlogon_packet_get_command, py_nbt_netlogon_packet_set_command },
5470 { discard_const_p(char, "req"), py_nbt_netlogon_packet_get_req, py_nbt_netlogon_packet_set_req },
5474 static PyObject *py_nbt_netlogon_packet_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5476 return pytalloc_new(struct nbt_netlogon_packet, type);
5479 static PyObject *py_nbt_netlogon_packet_ndr_pack(PyObject *py_obj)
5481 struct nbt_netlogon_packet *object = (struct nbt_netlogon_packet *)pytalloc_get_ptr(py_obj);
5483 enum ndr_err_code err;
5484 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_nbt_netlogon_packet);
5485 if (err != NDR_ERR_SUCCESS) {
5486 PyErr_SetNdrError(err);
5490 return PyString_FromStringAndSize((char *)blob.data, blob.length);
5493 static PyObject *py_nbt_netlogon_packet_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
5495 struct nbt_netlogon_packet *object = (struct nbt_netlogon_packet *)pytalloc_get_ptr(py_obj);
5497 int blob_length = 0;
5498 enum ndr_err_code err;
5499 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
5500 PyObject *allow_remaining_obj = NULL;
5501 bool allow_remaining = false;
5503 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
5504 discard_const_p(char *, kwnames),
5505 &blob.data, &blob_length,
5506 &allow_remaining_obj)) {
5509 blob.length = blob_length;
5511 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
5512 allow_remaining = true;
5515 if (allow_remaining) {
5516 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_netlogon_packet);
5518 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_netlogon_packet);
5520 if (err != NDR_ERR_SUCCESS) {
5521 PyErr_SetNdrError(err);
5528 static PyObject *py_nbt_netlogon_packet_ndr_print(PyObject *py_obj)
5530 struct nbt_netlogon_packet *object = (struct nbt_netlogon_packet *)pytalloc_get_ptr(py_obj);
5534 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_nbt_netlogon_packet, "nbt_netlogon_packet", object);
5535 ret = PyString_FromString(retstr);
5536 talloc_free(retstr);
5541 static PyMethodDef py_nbt_netlogon_packet_methods[] = {
5542 { "__ndr_pack__", (PyCFunction)py_nbt_netlogon_packet_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
5543 { "__ndr_unpack__", (PyCFunction)py_nbt_netlogon_packet_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
5544 { "__ndr_print__", (PyCFunction)py_nbt_netlogon_packet_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
5545 { NULL, NULL, 0, NULL }
5549 static PyTypeObject nbt_netlogon_packet_Type = {
5550 PyObject_HEAD_INIT(NULL) 0,
5551 .tp_name = "nbt.netlogon_packet",
5552 .tp_getset = py_nbt_netlogon_packet_getsetters,
5553 .tp_methods = py_nbt_netlogon_packet_methods,
5554 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5555 .tp_basicsize = sizeof(pytalloc_Object),
5556 .tp_new = py_nbt_netlogon_packet_new,
5560 static PyObject *py_nbt_browse_host_announcement_get_UpdateCount(PyObject *obj, void *closure)
5562 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(obj);
5563 PyObject *py_UpdateCount;
5564 py_UpdateCount = PyInt_FromLong(object->UpdateCount);
5565 return py_UpdateCount;
5568 static int py_nbt_browse_host_announcement_set_UpdateCount(PyObject *py_obj, PyObject *value, void *closure)
5570 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(py_obj);
5571 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5572 object->UpdateCount = PyInt_AsLong(value);
5576 static PyObject *py_nbt_browse_host_announcement_get_Periodicity(PyObject *obj, void *closure)
5578 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(obj);
5579 PyObject *py_Periodicity;
5580 py_Periodicity = PyInt_FromLong(object->Periodicity);
5581 return py_Periodicity;
5584 static int py_nbt_browse_host_announcement_set_Periodicity(PyObject *py_obj, PyObject *value, void *closure)
5586 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(py_obj);
5587 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5588 object->Periodicity = PyInt_AsLong(value);
5592 static PyObject *py_nbt_browse_host_announcement_get_ServerName(PyObject *obj, void *closure)
5594 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(obj);
5595 PyObject *py_ServerName;
5596 if (object->ServerName == NULL) {
5597 py_ServerName = Py_None;
5598 Py_INCREF(py_ServerName);
5600 py_ServerName = PyUnicode_Decode(object->ServerName, strlen(object->ServerName), "utf-8", "ignore");
5602 return py_ServerName;
5605 static int py_nbt_browse_host_announcement_set_ServerName(PyObject *py_obj, PyObject *value, void *closure)
5607 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(py_obj);
5608 if (PyUnicode_Check(value)) {
5609 object->ServerName = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
5610 } else if (PyString_Check(value)) {
5611 object->ServerName = PyString_AS_STRING(value);
5613 PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
5619 static PyObject *py_nbt_browse_host_announcement_get_OSMajor(PyObject *obj, void *closure)
5621 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(obj);
5622 PyObject *py_OSMajor;
5623 py_OSMajor = PyInt_FromLong(object->OSMajor);
5627 static int py_nbt_browse_host_announcement_set_OSMajor(PyObject *py_obj, PyObject *value, void *closure)
5629 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(py_obj);
5630 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5631 object->OSMajor = PyInt_AsLong(value);
5635 static PyObject *py_nbt_browse_host_announcement_get_OSMinor(PyObject *obj, void *closure)
5637 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(obj);
5638 PyObject *py_OSMinor;
5639 py_OSMinor = PyInt_FromLong(object->OSMinor);
5643 static int py_nbt_browse_host_announcement_set_OSMinor(PyObject *py_obj, PyObject *value, void *closure)
5645 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(py_obj);
5646 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5647 object->OSMinor = PyInt_AsLong(value);
5651 static PyObject *py_nbt_browse_host_announcement_get_ServerType(PyObject *obj, void *closure)
5653 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(obj);
5654 PyObject *py_ServerType;
5655 py_ServerType = PyInt_FromLong(object->ServerType);
5656 return py_ServerType;
5659 static int py_nbt_browse_host_announcement_set_ServerType(PyObject *py_obj, PyObject *value, void *closure)
5661 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(py_obj);
5662 if (PyLong_Check(value)) {
5663 object->ServerType = PyLong_AsLongLong(value);
5664 } else if (PyInt_Check(value)) {
5665 object->ServerType = PyInt_AsLong(value);
5667 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
5668 PyInt_Type.tp_name, PyLong_Type.tp_name);
5674 static PyObject *py_nbt_browse_host_announcement_get_BroMajorVer(PyObject *obj, void *closure)
5676 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(obj);
5677 PyObject *py_BroMajorVer;
5678 py_BroMajorVer = PyInt_FromLong(object->BroMajorVer);
5679 return py_BroMajorVer;
5682 static int py_nbt_browse_host_announcement_set_BroMajorVer(PyObject *py_obj, PyObject *value, void *closure)
5684 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(py_obj);
5685 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5686 object->BroMajorVer = PyInt_AsLong(value);
5690 static PyObject *py_nbt_browse_host_announcement_get_BroMinorVer(PyObject *obj, void *closure)
5692 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(obj);
5693 PyObject *py_BroMinorVer;
5694 py_BroMinorVer = PyInt_FromLong(object->BroMinorVer);
5695 return py_BroMinorVer;
5698 static int py_nbt_browse_host_announcement_set_BroMinorVer(PyObject *py_obj, PyObject *value, void *closure)
5700 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(py_obj);
5701 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5702 object->BroMinorVer = PyInt_AsLong(value);
5706 static PyObject *py_nbt_browse_host_announcement_get_Signature(PyObject *obj, void *closure)
5708 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(obj);
5709 PyObject *py_Signature;
5710 py_Signature = PyInt_FromLong(object->Signature);
5711 return py_Signature;
5714 static int py_nbt_browse_host_announcement_set_Signature(PyObject *py_obj, PyObject *value, void *closure)
5716 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(py_obj);
5717 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5718 object->Signature = PyInt_AsLong(value);
5722 static PyObject *py_nbt_browse_host_announcement_get_Comment(PyObject *obj, void *closure)
5724 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(obj);
5725 PyObject *py_Comment;
5726 py_Comment = PyString_FromStringOrNULL(object->Comment);
5730 static int py_nbt_browse_host_announcement_set_Comment(PyObject *py_obj, PyObject *value, void *closure)
5732 struct nbt_browse_host_announcement *object = (struct nbt_browse_host_announcement *)pytalloc_get_ptr(py_obj);
5733 object->Comment = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
5737 static PyGetSetDef py_nbt_browse_host_announcement_getsetters[] = {
5738 { discard_const_p(char, "UpdateCount"), py_nbt_browse_host_announcement_get_UpdateCount, py_nbt_browse_host_announcement_set_UpdateCount },
5739 { discard_const_p(char, "Periodicity"), py_nbt_browse_host_announcement_get_Periodicity, py_nbt_browse_host_announcement_set_Periodicity },
5740 { discard_const_p(char, "ServerName"), py_nbt_browse_host_announcement_get_ServerName, py_nbt_browse_host_announcement_set_ServerName },
5741 { discard_const_p(char, "OSMajor"), py_nbt_browse_host_announcement_get_OSMajor, py_nbt_browse_host_announcement_set_OSMajor },
5742 { discard_const_p(char, "OSMinor"), py_nbt_browse_host_announcement_get_OSMinor, py_nbt_browse_host_announcement_set_OSMinor },
5743 { discard_const_p(char, "ServerType"), py_nbt_browse_host_announcement_get_ServerType, py_nbt_browse_host_announcement_set_ServerType },
5744 { discard_const_p(char, "BroMajorVer"), py_nbt_browse_host_announcement_get_BroMajorVer, py_nbt_browse_host_announcement_set_BroMajorVer },
5745 { discard_const_p(char, "BroMinorVer"), py_nbt_browse_host_announcement_get_BroMinorVer, py_nbt_browse_host_announcement_set_BroMinorVer },
5746 { discard_const_p(char, "Signature"), py_nbt_browse_host_announcement_get_Signature, py_nbt_browse_host_announcement_set_Signature },
5747 { discard_const_p(char, "Comment"), py_nbt_browse_host_announcement_get_Comment, py_nbt_browse_host_announcement_set_Comment },
5751 static PyObject *py_nbt_browse_host_announcement_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5753 return pytalloc_new(struct nbt_browse_host_announcement, type);
5757 static PyTypeObject nbt_browse_host_announcement_Type = {
5758 PyObject_HEAD_INIT(NULL) 0,
5759 .tp_name = "nbt.browse_host_announcement",
5760 .tp_getset = py_nbt_browse_host_announcement_getsetters,
5762 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5763 .tp_basicsize = sizeof(pytalloc_Object),
5764 .tp_new = py_nbt_browse_host_announcement_new,
5768 static PyObject *py_nbt_browse_announcement_request_get_Unused(PyObject *obj, void *closure)
5770 struct nbt_browse_announcement_request *object = (struct nbt_browse_announcement_request *)pytalloc_get_ptr(obj);
5771 PyObject *py_Unused;
5772 py_Unused = PyInt_FromLong(object->Unused);
5776 static int py_nbt_browse_announcement_request_set_Unused(PyObject *py_obj, PyObject *value, void *closure)
5778 struct nbt_browse_announcement_request *object = (struct nbt_browse_announcement_request *)pytalloc_get_ptr(py_obj);
5779 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5780 object->Unused = PyInt_AsLong(value);
5784 static PyObject *py_nbt_browse_announcement_request_get_ResponseName(PyObject *obj, void *closure)
5786 struct nbt_browse_announcement_request *object = (struct nbt_browse_announcement_request *)pytalloc_get_ptr(obj);
5787 PyObject *py_ResponseName;
5788 py_ResponseName = PyString_FromStringOrNULL(object->ResponseName);
5789 return py_ResponseName;
5792 static int py_nbt_browse_announcement_request_set_ResponseName(PyObject *py_obj, PyObject *value, void *closure)
5794 struct nbt_browse_announcement_request *object = (struct nbt_browse_announcement_request *)pytalloc_get_ptr(py_obj);
5795 object->ResponseName = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
5799 static PyGetSetDef py_nbt_browse_announcement_request_getsetters[] = {
5800 { discard_const_p(char, "Unused"), py_nbt_browse_announcement_request_get_Unused, py_nbt_browse_announcement_request_set_Unused },
5801 { discard_const_p(char, "ResponseName"), py_nbt_browse_announcement_request_get_ResponseName, py_nbt_browse_announcement_request_set_ResponseName },
5805 static PyObject *py_nbt_browse_announcement_request_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5807 return pytalloc_new(struct nbt_browse_announcement_request, type);
5811 static PyTypeObject nbt_browse_announcement_request_Type = {
5812 PyObject_HEAD_INIT(NULL) 0,
5813 .tp_name = "nbt.browse_announcement_request",
5814 .tp_getset = py_nbt_browse_announcement_request_getsetters,
5816 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5817 .tp_basicsize = sizeof(pytalloc_Object),
5818 .tp_new = py_nbt_browse_announcement_request_new,
5822 static PyObject *py_nbt_browse_election_request_get_Version(PyObject *obj, void *closure)
5824 struct nbt_browse_election_request *object = (struct nbt_browse_election_request *)pytalloc_get_ptr(obj);
5825 PyObject *py_Version;
5826 py_Version = PyInt_FromLong(object->Version);
5830 static int py_nbt_browse_election_request_set_Version(PyObject *py_obj, PyObject *value, void *closure)
5832 struct nbt_browse_election_request *object = (struct nbt_browse_election_request *)pytalloc_get_ptr(py_obj);
5833 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5834 object->Version = PyInt_AsLong(value);
5838 static PyObject *py_nbt_browse_election_request_get_Criteria(PyObject *obj, void *closure)
5840 struct nbt_browse_election_request *object = (struct nbt_browse_election_request *)pytalloc_get_ptr(obj);
5841 PyObject *py_Criteria;
5842 py_Criteria = PyInt_FromLong(object->Criteria);
5846 static int py_nbt_browse_election_request_set_Criteria(PyObject *py_obj, PyObject *value, void *closure)
5848 struct nbt_browse_election_request *object = (struct nbt_browse_election_request *)pytalloc_get_ptr(py_obj);
5849 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5850 object->Criteria = PyInt_AsLong(value);
5854 static PyObject *py_nbt_browse_election_request_get_UpTime(PyObject *obj, void *closure)
5856 struct nbt_browse_election_request *object = (struct nbt_browse_election_request *)pytalloc_get_ptr(obj);
5857 PyObject *py_UpTime;
5858 py_UpTime = PyInt_FromLong(object->UpTime);
5862 static int py_nbt_browse_election_request_set_UpTime(PyObject *py_obj, PyObject *value, void *closure)
5864 struct nbt_browse_election_request *object = (struct nbt_browse_election_request *)pytalloc_get_ptr(py_obj);
5865 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5866 object->UpTime = PyInt_AsLong(value);
5870 static PyObject *py_nbt_browse_election_request_get_Reserved(PyObject *obj, void *closure)
5872 struct nbt_browse_election_request *object = (struct nbt_browse_election_request *)pytalloc_get_ptr(obj);
5873 PyObject *py_Reserved;
5874 py_Reserved = PyInt_FromLong(object->Reserved);
5878 static int py_nbt_browse_election_request_set_Reserved(PyObject *py_obj, PyObject *value, void *closure)
5880 struct nbt_browse_election_request *object = (struct nbt_browse_election_request *)pytalloc_get_ptr(py_obj);
5881 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5882 object->Reserved = PyInt_AsLong(value);
5886 static PyObject *py_nbt_browse_election_request_get_ServerName(PyObject *obj, void *closure)
5888 struct nbt_browse_election_request *object = (struct nbt_browse_election_request *)pytalloc_get_ptr(obj);
5889 PyObject *py_ServerName;
5890 py_ServerName = PyString_FromStringOrNULL(object->ServerName);
5891 return py_ServerName;
5894 static int py_nbt_browse_election_request_set_ServerName(PyObject *py_obj, PyObject *value, void *closure)
5896 struct nbt_browse_election_request *object = (struct nbt_browse_election_request *)pytalloc_get_ptr(py_obj);
5897 object->ServerName = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
5901 static PyGetSetDef py_nbt_browse_election_request_getsetters[] = {
5902 { discard_const_p(char, "Version"), py_nbt_browse_election_request_get_Version, py_nbt_browse_election_request_set_Version },
5903 { discard_const_p(char, "Criteria"), py_nbt_browse_election_request_get_Criteria, py_nbt_browse_election_request_set_Criteria },
5904 { discard_const_p(char, "UpTime"), py_nbt_browse_election_request_get_UpTime, py_nbt_browse_election_request_set_UpTime },
5905 { discard_const_p(char, "Reserved"), py_nbt_browse_election_request_get_Reserved, py_nbt_browse_election_request_set_Reserved },
5906 { discard_const_p(char, "ServerName"), py_nbt_browse_election_request_get_ServerName, py_nbt_browse_election_request_set_ServerName },
5910 static PyObject *py_nbt_browse_election_request_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5912 return pytalloc_new(struct nbt_browse_election_request, type);
5916 static PyTypeObject nbt_browse_election_request_Type = {
5917 PyObject_HEAD_INIT(NULL) 0,
5918 .tp_name = "nbt.browse_election_request",
5919 .tp_getset = py_nbt_browse_election_request_getsetters,
5921 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5922 .tp_basicsize = sizeof(pytalloc_Object),
5923 .tp_new = py_nbt_browse_election_request_new,
5927 static PyObject *py_nbt_browse_backup_list_request_get_ReqCount(PyObject *obj, void *closure)
5929 struct nbt_browse_backup_list_request *object = (struct nbt_browse_backup_list_request *)pytalloc_get_ptr(obj);
5930 PyObject *py_ReqCount;
5931 py_ReqCount = PyInt_FromLong(object->ReqCount);
5935 static int py_nbt_browse_backup_list_request_set_ReqCount(PyObject *py_obj, PyObject *value, void *closure)
5937 struct nbt_browse_backup_list_request *object = (struct nbt_browse_backup_list_request *)pytalloc_get_ptr(py_obj);
5938 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5939 object->ReqCount = PyInt_AsLong(value);
5943 static PyObject *py_nbt_browse_backup_list_request_get_Token(PyObject *obj, void *closure)
5945 struct nbt_browse_backup_list_request *object = (struct nbt_browse_backup_list_request *)pytalloc_get_ptr(obj);
5947 py_Token = PyInt_FromLong(object->Token);
5951 static int py_nbt_browse_backup_list_request_set_Token(PyObject *py_obj, PyObject *value, void *closure)
5953 struct nbt_browse_backup_list_request *object = (struct nbt_browse_backup_list_request *)pytalloc_get_ptr(py_obj);
5954 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5955 object->Token = PyInt_AsLong(value);
5959 static PyGetSetDef py_nbt_browse_backup_list_request_getsetters[] = {
5960 { discard_const_p(char, "ReqCount"), py_nbt_browse_backup_list_request_get_ReqCount, py_nbt_browse_backup_list_request_set_ReqCount },
5961 { discard_const_p(char, "Token"), py_nbt_browse_backup_list_request_get_Token, py_nbt_browse_backup_list_request_set_Token },
5965 static PyObject *py_nbt_browse_backup_list_request_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
5967 return pytalloc_new(struct nbt_browse_backup_list_request, type);
5971 static PyTypeObject nbt_browse_backup_list_request_Type = {
5972 PyObject_HEAD_INIT(NULL) 0,
5973 .tp_name = "nbt.browse_backup_list_request",
5974 .tp_getset = py_nbt_browse_backup_list_request_getsetters,
5976 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
5977 .tp_basicsize = sizeof(pytalloc_Object),
5978 .tp_new = py_nbt_browse_backup_list_request_new,
5982 static PyObject *py_nbt_browse_backup_list_response_get_BackupCount(PyObject *obj, void *closure)
5984 struct nbt_browse_backup_list_response *object = (struct nbt_browse_backup_list_response *)pytalloc_get_ptr(obj);
5985 PyObject *py_BackupCount;
5986 py_BackupCount = PyInt_FromLong(object->BackupCount);
5987 return py_BackupCount;
5990 static int py_nbt_browse_backup_list_response_set_BackupCount(PyObject *py_obj, PyObject *value, void *closure)
5992 struct nbt_browse_backup_list_response *object = (struct nbt_browse_backup_list_response *)pytalloc_get_ptr(py_obj);
5993 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
5994 object->BackupCount = PyInt_AsLong(value);
5998 static PyObject *py_nbt_browse_backup_list_response_get_Token(PyObject *obj, void *closure)
6000 struct nbt_browse_backup_list_response *object = (struct nbt_browse_backup_list_response *)pytalloc_get_ptr(obj);
6002 py_Token = PyInt_FromLong(object->Token);
6006 static int py_nbt_browse_backup_list_response_set_Token(PyObject *py_obj, PyObject *value, void *closure)
6008 struct nbt_browse_backup_list_response *object = (struct nbt_browse_backup_list_response *)pytalloc_get_ptr(py_obj);
6009 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6010 object->Token = PyInt_AsLong(value);
6014 static PyObject *py_nbt_browse_backup_list_response_get_BackupServerList(PyObject *obj, void *closure)
6016 struct nbt_browse_backup_list_response *object = (struct nbt_browse_backup_list_response *)pytalloc_get_ptr(obj);
6017 PyObject *py_BackupServerList;
6018 py_BackupServerList = PyList_New(object->BackupCount);
6019 if (py_BackupServerList == NULL) {
6023 int BackupServerList_cntr_0;
6024 for (BackupServerList_cntr_0 = 0; BackupServerList_cntr_0 < object->BackupCount; BackupServerList_cntr_0++) {
6025 PyObject *py_BackupServerList_0;
6026 py_BackupServerList_0 = pytalloc_reference_ex(&nbt_name_Type, object->BackupServerList, &object->BackupServerList[BackupServerList_cntr_0]);
6027 PyList_SetItem(py_BackupServerList, BackupServerList_cntr_0, py_BackupServerList_0);
6030 return py_BackupServerList;
6033 static int py_nbt_browse_backup_list_response_set_BackupServerList(PyObject *py_obj, PyObject *value, void *closure)
6035 struct nbt_browse_backup_list_response *object = (struct nbt_browse_backup_list_response *)pytalloc_get_ptr(py_obj);
6036 PY_CHECK_TYPE(&PyList_Type, value, return -1;);
6038 int BackupServerList_cntr_0;
6039 object->BackupServerList = talloc_array_ptrtype(pytalloc_get_mem_ctx(py_obj), object->BackupServerList, PyList_GET_SIZE(value));
6040 if (!object->BackupServerList) { return -1;; }
6041 talloc_set_name_const(object->BackupServerList, "ARRAY: object->BackupServerList");
6042 for (BackupServerList_cntr_0 = 0; BackupServerList_cntr_0 < PyList_GET_SIZE(value); BackupServerList_cntr_0++) {
6043 PY_CHECK_TYPE(&nbt_name_Type, PyList_GET_ITEM(value, BackupServerList_cntr_0), return -1;);
6044 if (talloc_reference(object->BackupServerList, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, BackupServerList_cntr_0))) == NULL) {
6048 object->BackupServerList[BackupServerList_cntr_0] = *(struct nbt_name *)pytalloc_get_ptr(PyList_GET_ITEM(value, BackupServerList_cntr_0));
6054 static PyGetSetDef py_nbt_browse_backup_list_response_getsetters[] = {
6055 { discard_const_p(char, "BackupCount"), py_nbt_browse_backup_list_response_get_BackupCount, py_nbt_browse_backup_list_response_set_BackupCount },
6056 { discard_const_p(char, "Token"), py_nbt_browse_backup_list_response_get_Token, py_nbt_browse_backup_list_response_set_Token },
6057 { discard_const_p(char, "BackupServerList"), py_nbt_browse_backup_list_response_get_BackupServerList, py_nbt_browse_backup_list_response_set_BackupServerList },
6061 static PyObject *py_nbt_browse_backup_list_response_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6063 return pytalloc_new(struct nbt_browse_backup_list_response, type);
6067 static PyTypeObject nbt_browse_backup_list_response_Type = {
6068 PyObject_HEAD_INIT(NULL) 0,
6069 .tp_name = "nbt.browse_backup_list_response",
6070 .tp_getset = py_nbt_browse_backup_list_response_getsetters,
6072 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6073 .tp_basicsize = sizeof(pytalloc_Object),
6074 .tp_new = py_nbt_browse_backup_list_response_new,
6078 static PyObject *py_nbt_browse_become_backup_get_BrowserName(PyObject *obj, void *closure)
6080 struct nbt_browse_become_backup *object = (struct nbt_browse_become_backup *)pytalloc_get_ptr(obj);
6081 PyObject *py_BrowserName;
6082 py_BrowserName = PyString_FromStringOrNULL(object->BrowserName);
6083 return py_BrowserName;
6086 static int py_nbt_browse_become_backup_set_BrowserName(PyObject *py_obj, PyObject *value, void *closure)
6088 struct nbt_browse_become_backup *object = (struct nbt_browse_become_backup *)pytalloc_get_ptr(py_obj);
6089 object->BrowserName = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
6093 static PyGetSetDef py_nbt_browse_become_backup_getsetters[] = {
6094 { discard_const_p(char, "BrowserName"), py_nbt_browse_become_backup_get_BrowserName, py_nbt_browse_become_backup_set_BrowserName },
6098 static PyObject *py_nbt_browse_become_backup_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6100 return pytalloc_new(struct nbt_browse_become_backup, type);
6104 static PyTypeObject nbt_browse_become_backup_Type = {
6105 PyObject_HEAD_INIT(NULL) 0,
6106 .tp_name = "nbt.browse_become_backup",
6107 .tp_getset = py_nbt_browse_become_backup_getsetters,
6109 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6110 .tp_basicsize = sizeof(pytalloc_Object),
6111 .tp_new = py_nbt_browse_become_backup_new,
6115 static PyObject *py_nbt_browse_domain_announcement_get_UpdateCount(PyObject *obj, void *closure)
6117 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(obj);
6118 PyObject *py_UpdateCount;
6119 py_UpdateCount = PyInt_FromLong(object->UpdateCount);
6120 return py_UpdateCount;
6123 static int py_nbt_browse_domain_announcement_set_UpdateCount(PyObject *py_obj, PyObject *value, void *closure)
6125 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(py_obj);
6126 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6127 object->UpdateCount = PyInt_AsLong(value);
6131 static PyObject *py_nbt_browse_domain_announcement_get_Periodicity(PyObject *obj, void *closure)
6133 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(obj);
6134 PyObject *py_Periodicity;
6135 py_Periodicity = PyInt_FromLong(object->Periodicity);
6136 return py_Periodicity;
6139 static int py_nbt_browse_domain_announcement_set_Periodicity(PyObject *py_obj, PyObject *value, void *closure)
6141 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(py_obj);
6142 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6143 object->Periodicity = PyInt_AsLong(value);
6147 static PyObject *py_nbt_browse_domain_announcement_get_ServerName(PyObject *obj, void *closure)
6149 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(obj);
6150 PyObject *py_ServerName;
6151 if (object->ServerName == NULL) {
6152 py_ServerName = Py_None;
6153 Py_INCREF(py_ServerName);
6155 py_ServerName = PyUnicode_Decode(object->ServerName, strlen(object->ServerName), "utf-8", "ignore");
6157 return py_ServerName;
6160 static int py_nbt_browse_domain_announcement_set_ServerName(PyObject *py_obj, PyObject *value, void *closure)
6162 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(py_obj);
6163 if (PyUnicode_Check(value)) {
6164 object->ServerName = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
6165 } else if (PyString_Check(value)) {
6166 object->ServerName = PyString_AS_STRING(value);
6168 PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
6174 static PyObject *py_nbt_browse_domain_announcement_get_OSMajor(PyObject *obj, void *closure)
6176 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(obj);
6177 PyObject *py_OSMajor;
6178 py_OSMajor = PyInt_FromLong(object->OSMajor);
6182 static int py_nbt_browse_domain_announcement_set_OSMajor(PyObject *py_obj, PyObject *value, void *closure)
6184 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(py_obj);
6185 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6186 object->OSMajor = PyInt_AsLong(value);
6190 static PyObject *py_nbt_browse_domain_announcement_get_OSMinor(PyObject *obj, void *closure)
6192 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(obj);
6193 PyObject *py_OSMinor;
6194 py_OSMinor = PyInt_FromLong(object->OSMinor);
6198 static int py_nbt_browse_domain_announcement_set_OSMinor(PyObject *py_obj, PyObject *value, void *closure)
6200 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(py_obj);
6201 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6202 object->OSMinor = PyInt_AsLong(value);
6206 static PyObject *py_nbt_browse_domain_announcement_get_ServerType(PyObject *obj, void *closure)
6208 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(obj);
6209 PyObject *py_ServerType;
6210 py_ServerType = PyInt_FromLong(object->ServerType);
6211 return py_ServerType;
6214 static int py_nbt_browse_domain_announcement_set_ServerType(PyObject *py_obj, PyObject *value, void *closure)
6216 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(py_obj);
6217 if (PyLong_Check(value)) {
6218 object->ServerType = PyLong_AsLongLong(value);
6219 } else if (PyInt_Check(value)) {
6220 object->ServerType = PyInt_AsLong(value);
6222 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
6223 PyInt_Type.tp_name, PyLong_Type.tp_name);
6229 static PyObject *py_nbt_browse_domain_announcement_get_MysteriousField(PyObject *obj, void *closure)
6231 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(obj);
6232 PyObject *py_MysteriousField;
6233 py_MysteriousField = PyInt_FromLong(object->MysteriousField);
6234 return py_MysteriousField;
6237 static int py_nbt_browse_domain_announcement_set_MysteriousField(PyObject *py_obj, PyObject *value, void *closure)
6239 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(py_obj);
6240 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6241 object->MysteriousField = PyInt_AsLong(value);
6245 static PyObject *py_nbt_browse_domain_announcement_get_Comment(PyObject *obj, void *closure)
6247 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(obj);
6248 PyObject *py_Comment;
6249 py_Comment = PyString_FromStringOrNULL(object->Comment);
6253 static int py_nbt_browse_domain_announcement_set_Comment(PyObject *py_obj, PyObject *value, void *closure)
6255 struct nbt_browse_domain_announcement *object = (struct nbt_browse_domain_announcement *)pytalloc_get_ptr(py_obj);
6256 object->Comment = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
6260 static PyGetSetDef py_nbt_browse_domain_announcement_getsetters[] = {
6261 { discard_const_p(char, "UpdateCount"), py_nbt_browse_domain_announcement_get_UpdateCount, py_nbt_browse_domain_announcement_set_UpdateCount },
6262 { discard_const_p(char, "Periodicity"), py_nbt_browse_domain_announcement_get_Periodicity, py_nbt_browse_domain_announcement_set_Periodicity },
6263 { discard_const_p(char, "ServerName"), py_nbt_browse_domain_announcement_get_ServerName, py_nbt_browse_domain_announcement_set_ServerName },
6264 { discard_const_p(char, "OSMajor"), py_nbt_browse_domain_announcement_get_OSMajor, py_nbt_browse_domain_announcement_set_OSMajor },
6265 { discard_const_p(char, "OSMinor"), py_nbt_browse_domain_announcement_get_OSMinor, py_nbt_browse_domain_announcement_set_OSMinor },
6266 { discard_const_p(char, "ServerType"), py_nbt_browse_domain_announcement_get_ServerType, py_nbt_browse_domain_announcement_set_ServerType },
6267 { discard_const_p(char, "MysteriousField"), py_nbt_browse_domain_announcement_get_MysteriousField, py_nbt_browse_domain_announcement_set_MysteriousField },
6268 { discard_const_p(char, "Comment"), py_nbt_browse_domain_announcement_get_Comment, py_nbt_browse_domain_announcement_set_Comment },
6272 static PyObject *py_nbt_browse_domain_announcement_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6274 return pytalloc_new(struct nbt_browse_domain_announcement, type);
6278 static PyTypeObject nbt_browse_domain_announcement_Type = {
6279 PyObject_HEAD_INIT(NULL) 0,
6280 .tp_name = "nbt.browse_domain_announcement",
6281 .tp_getset = py_nbt_browse_domain_announcement_getsetters,
6283 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6284 .tp_basicsize = sizeof(pytalloc_Object),
6285 .tp_new = py_nbt_browse_domain_announcement_new,
6289 static PyObject *py_nbt_browse_master_announcement_get_ServerName(PyObject *obj, void *closure)
6291 struct nbt_browse_master_announcement *object = (struct nbt_browse_master_announcement *)pytalloc_get_ptr(obj);
6292 PyObject *py_ServerName;
6293 py_ServerName = PyString_FromStringOrNULL(object->ServerName);
6294 return py_ServerName;
6297 static int py_nbt_browse_master_announcement_set_ServerName(PyObject *py_obj, PyObject *value, void *closure)
6299 struct nbt_browse_master_announcement *object = (struct nbt_browse_master_announcement *)pytalloc_get_ptr(py_obj);
6300 object->ServerName = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
6304 static PyGetSetDef py_nbt_browse_master_announcement_getsetters[] = {
6305 { discard_const_p(char, "ServerName"), py_nbt_browse_master_announcement_get_ServerName, py_nbt_browse_master_announcement_set_ServerName },
6309 static PyObject *py_nbt_browse_master_announcement_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6311 return pytalloc_new(struct nbt_browse_master_announcement, type);
6315 static PyTypeObject nbt_browse_master_announcement_Type = {
6316 PyObject_HEAD_INIT(NULL) 0,
6317 .tp_name = "nbt.browse_master_announcement",
6318 .tp_getset = py_nbt_browse_master_announcement_getsetters,
6320 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6321 .tp_basicsize = sizeof(pytalloc_Object),
6322 .tp_new = py_nbt_browse_master_announcement_new,
6326 static PyObject *py_nbt_browse_reset_state_get_Command(PyObject *obj, void *closure)
6328 struct nbt_browse_reset_state *object = (struct nbt_browse_reset_state *)pytalloc_get_ptr(obj);
6329 PyObject *py_Command;
6330 py_Command = PyInt_FromLong(object->Command);
6334 static int py_nbt_browse_reset_state_set_Command(PyObject *py_obj, PyObject *value, void *closure)
6336 struct nbt_browse_reset_state *object = (struct nbt_browse_reset_state *)pytalloc_get_ptr(py_obj);
6337 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6338 object->Command = PyInt_AsLong(value);
6342 static PyGetSetDef py_nbt_browse_reset_state_getsetters[] = {
6343 { discard_const_p(char, "Command"), py_nbt_browse_reset_state_get_Command, py_nbt_browse_reset_state_set_Command },
6347 static PyObject *py_nbt_browse_reset_state_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6349 return pytalloc_new(struct nbt_browse_reset_state, type);
6353 static PyTypeObject nbt_browse_reset_state_Type = {
6354 PyObject_HEAD_INIT(NULL) 0,
6355 .tp_name = "nbt.browse_reset_state",
6356 .tp_getset = py_nbt_browse_reset_state_getsetters,
6358 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6359 .tp_basicsize = sizeof(pytalloc_Object),
6360 .tp_new = py_nbt_browse_reset_state_new,
6364 static PyObject *py_nbt_browse_local_master_announcement_get_UpdateCount(PyObject *obj, void *closure)
6366 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(obj);
6367 PyObject *py_UpdateCount;
6368 py_UpdateCount = PyInt_FromLong(object->UpdateCount);
6369 return py_UpdateCount;
6372 static int py_nbt_browse_local_master_announcement_set_UpdateCount(PyObject *py_obj, PyObject *value, void *closure)
6374 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(py_obj);
6375 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6376 object->UpdateCount = PyInt_AsLong(value);
6380 static PyObject *py_nbt_browse_local_master_announcement_get_Periodicity(PyObject *obj, void *closure)
6382 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(obj);
6383 PyObject *py_Periodicity;
6384 py_Periodicity = PyInt_FromLong(object->Periodicity);
6385 return py_Periodicity;
6388 static int py_nbt_browse_local_master_announcement_set_Periodicity(PyObject *py_obj, PyObject *value, void *closure)
6390 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(py_obj);
6391 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6392 object->Periodicity = PyInt_AsLong(value);
6396 static PyObject *py_nbt_browse_local_master_announcement_get_ServerName(PyObject *obj, void *closure)
6398 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(obj);
6399 PyObject *py_ServerName;
6400 if (object->ServerName == NULL) {
6401 py_ServerName = Py_None;
6402 Py_INCREF(py_ServerName);
6404 py_ServerName = PyUnicode_Decode(object->ServerName, strlen(object->ServerName), "utf-8", "ignore");
6406 return py_ServerName;
6409 static int py_nbt_browse_local_master_announcement_set_ServerName(PyObject *py_obj, PyObject *value, void *closure)
6411 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(py_obj);
6412 if (PyUnicode_Check(value)) {
6413 object->ServerName = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
6414 } else if (PyString_Check(value)) {
6415 object->ServerName = PyString_AS_STRING(value);
6417 PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
6423 static PyObject *py_nbt_browse_local_master_announcement_get_OSMajor(PyObject *obj, void *closure)
6425 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(obj);
6426 PyObject *py_OSMajor;
6427 py_OSMajor = PyInt_FromLong(object->OSMajor);
6431 static int py_nbt_browse_local_master_announcement_set_OSMajor(PyObject *py_obj, PyObject *value, void *closure)
6433 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(py_obj);
6434 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6435 object->OSMajor = PyInt_AsLong(value);
6439 static PyObject *py_nbt_browse_local_master_announcement_get_OSMinor(PyObject *obj, void *closure)
6441 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(obj);
6442 PyObject *py_OSMinor;
6443 py_OSMinor = PyInt_FromLong(object->OSMinor);
6447 static int py_nbt_browse_local_master_announcement_set_OSMinor(PyObject *py_obj, PyObject *value, void *closure)
6449 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(py_obj);
6450 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6451 object->OSMinor = PyInt_AsLong(value);
6455 static PyObject *py_nbt_browse_local_master_announcement_get_ServerType(PyObject *obj, void *closure)
6457 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(obj);
6458 PyObject *py_ServerType;
6459 py_ServerType = PyInt_FromLong(object->ServerType);
6460 return py_ServerType;
6463 static int py_nbt_browse_local_master_announcement_set_ServerType(PyObject *py_obj, PyObject *value, void *closure)
6465 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(py_obj);
6466 if (PyLong_Check(value)) {
6467 object->ServerType = PyLong_AsLongLong(value);
6468 } else if (PyInt_Check(value)) {
6469 object->ServerType = PyInt_AsLong(value);
6471 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
6472 PyInt_Type.tp_name, PyLong_Type.tp_name);
6478 static PyObject *py_nbt_browse_local_master_announcement_get_BroMajorVer(PyObject *obj, void *closure)
6480 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(obj);
6481 PyObject *py_BroMajorVer;
6482 py_BroMajorVer = PyInt_FromLong(object->BroMajorVer);
6483 return py_BroMajorVer;
6486 static int py_nbt_browse_local_master_announcement_set_BroMajorVer(PyObject *py_obj, PyObject *value, void *closure)
6488 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(py_obj);
6489 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6490 object->BroMajorVer = PyInt_AsLong(value);
6494 static PyObject *py_nbt_browse_local_master_announcement_get_BroMinorVer(PyObject *obj, void *closure)
6496 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(obj);
6497 PyObject *py_BroMinorVer;
6498 py_BroMinorVer = PyInt_FromLong(object->BroMinorVer);
6499 return py_BroMinorVer;
6502 static int py_nbt_browse_local_master_announcement_set_BroMinorVer(PyObject *py_obj, PyObject *value, void *closure)
6504 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(py_obj);
6505 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6506 object->BroMinorVer = PyInt_AsLong(value);
6510 static PyObject *py_nbt_browse_local_master_announcement_get_Signature(PyObject *obj, void *closure)
6512 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(obj);
6513 PyObject *py_Signature;
6514 py_Signature = PyInt_FromLong(object->Signature);
6515 return py_Signature;
6518 static int py_nbt_browse_local_master_announcement_set_Signature(PyObject *py_obj, PyObject *value, void *closure)
6520 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(py_obj);
6521 PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
6522 object->Signature = PyInt_AsLong(value);
6526 static PyObject *py_nbt_browse_local_master_announcement_get_Comment(PyObject *obj, void *closure)
6528 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(obj);
6529 PyObject *py_Comment;
6530 py_Comment = PyString_FromStringOrNULL(object->Comment);
6534 static int py_nbt_browse_local_master_announcement_set_Comment(PyObject *py_obj, PyObject *value, void *closure)
6536 struct nbt_browse_local_master_announcement *object = (struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(py_obj);
6537 object->Comment = talloc_strdup(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
6541 static PyGetSetDef py_nbt_browse_local_master_announcement_getsetters[] = {
6542 { discard_const_p(char, "UpdateCount"), py_nbt_browse_local_master_announcement_get_UpdateCount, py_nbt_browse_local_master_announcement_set_UpdateCount },
6543 { discard_const_p(char, "Periodicity"), py_nbt_browse_local_master_announcement_get_Periodicity, py_nbt_browse_local_master_announcement_set_Periodicity },
6544 { discard_const_p(char, "ServerName"), py_nbt_browse_local_master_announcement_get_ServerName, py_nbt_browse_local_master_announcement_set_ServerName },
6545 { discard_const_p(char, "OSMajor"), py_nbt_browse_local_master_announcement_get_OSMajor, py_nbt_browse_local_master_announcement_set_OSMajor },
6546 { discard_const_p(char, "OSMinor"), py_nbt_browse_local_master_announcement_get_OSMinor, py_nbt_browse_local_master_announcement_set_OSMinor },
6547 { discard_const_p(char, "ServerType"), py_nbt_browse_local_master_announcement_get_ServerType, py_nbt_browse_local_master_announcement_set_ServerType },
6548 { discard_const_p(char, "BroMajorVer"), py_nbt_browse_local_master_announcement_get_BroMajorVer, py_nbt_browse_local_master_announcement_set_BroMajorVer },
6549 { discard_const_p(char, "BroMinorVer"), py_nbt_browse_local_master_announcement_get_BroMinorVer, py_nbt_browse_local_master_announcement_set_BroMinorVer },
6550 { discard_const_p(char, "Signature"), py_nbt_browse_local_master_announcement_get_Signature, py_nbt_browse_local_master_announcement_set_Signature },
6551 { discard_const_p(char, "Comment"), py_nbt_browse_local_master_announcement_get_Comment, py_nbt_browse_local_master_announcement_set_Comment },
6555 static PyObject *py_nbt_browse_local_master_announcement_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6557 return pytalloc_new(struct nbt_browse_local_master_announcement, type);
6561 static PyTypeObject nbt_browse_local_master_announcement_Type = {
6562 PyObject_HEAD_INIT(NULL) 0,
6563 .tp_name = "nbt.browse_local_master_announcement",
6564 .tp_getset = py_nbt_browse_local_master_announcement_getsetters,
6566 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6567 .tp_basicsize = sizeof(pytalloc_Object),
6568 .tp_new = py_nbt_browse_local_master_announcement_new,
6571 PyObject *py_import_nbt_browse_payload(TALLOC_CTX *mem_ctx, int level, union nbt_browse_payload *in)
6576 case HostAnnouncement:
6577 ret = pytalloc_reference_ex(&nbt_browse_host_announcement_Type, mem_ctx, &in->host_annoucement);
6580 case AnnouncementRequest:
6581 ret = pytalloc_reference_ex(&nbt_browse_announcement_request_Type, mem_ctx, &in->announcement_request);
6585 ret = pytalloc_reference_ex(&nbt_browse_election_request_Type, mem_ctx, &in->election_request);
6588 case GetBackupListReq:
6589 ret = pytalloc_reference_ex(&nbt_browse_backup_list_request_Type, mem_ctx, &in->backup_list_request);
6592 case GetBackupListResp:
6593 ret = pytalloc_reference_ex(&nbt_browse_backup_list_response_Type, mem_ctx, &in->backup_list_response);
6597 ret = pytalloc_reference_ex(&nbt_browse_become_backup_Type, mem_ctx, &in->become_backup);
6600 case DomainAnnouncement:
6601 ret = pytalloc_reference_ex(&nbt_browse_domain_announcement_Type, mem_ctx, &in->domain_announcement);
6604 case MasterAnnouncement:
6605 ret = pytalloc_reference_ex(&nbt_browse_master_announcement_Type, mem_ctx, &in->master_announcement);
6608 case ResetBrowserState:
6609 ret = pytalloc_reference_ex(&nbt_browse_reset_state_Type, mem_ctx, &in->reset_browser_state);
6612 case LocalMasterAnnouncement:
6613 ret = pytalloc_reference_ex(&nbt_browse_local_master_announcement_Type, mem_ctx, &in->local_master_announcement);
6617 PyErr_SetString(PyExc_TypeError, "unknown union level");
6621 union nbt_browse_payload *py_export_nbt_browse_payload(TALLOC_CTX *mem_ctx, int level, PyObject *in)
6623 union nbt_browse_payload *ret = talloc_zero(mem_ctx, union nbt_browse_payload);
6625 case HostAnnouncement:
6626 PY_CHECK_TYPE(&nbt_browse_host_announcement_Type, in, talloc_free(ret); return NULL;);
6627 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
6629 talloc_free(ret); return NULL;
6631 ret->host_annoucement = *(struct nbt_browse_host_announcement *)pytalloc_get_ptr(in);
6634 case AnnouncementRequest:
6635 PY_CHECK_TYPE(&nbt_browse_announcement_request_Type, in, talloc_free(ret); return NULL;);
6636 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
6638 talloc_free(ret); return NULL;
6640 ret->announcement_request = *(struct nbt_browse_announcement_request *)pytalloc_get_ptr(in);
6644 PY_CHECK_TYPE(&nbt_browse_election_request_Type, in, talloc_free(ret); return NULL;);
6645 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
6647 talloc_free(ret); return NULL;
6649 ret->election_request = *(struct nbt_browse_election_request *)pytalloc_get_ptr(in);
6652 case GetBackupListReq:
6653 PY_CHECK_TYPE(&nbt_browse_backup_list_request_Type, in, talloc_free(ret); return NULL;);
6654 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
6656 talloc_free(ret); return NULL;
6658 ret->backup_list_request = *(struct nbt_browse_backup_list_request *)pytalloc_get_ptr(in);
6661 case GetBackupListResp:
6662 PY_CHECK_TYPE(&nbt_browse_backup_list_response_Type, in, talloc_free(ret); return NULL;);
6663 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
6665 talloc_free(ret); return NULL;
6667 ret->backup_list_response = *(struct nbt_browse_backup_list_response *)pytalloc_get_ptr(in);
6671 PY_CHECK_TYPE(&nbt_browse_become_backup_Type, in, talloc_free(ret); return NULL;);
6672 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
6674 talloc_free(ret); return NULL;
6676 ret->become_backup = *(struct nbt_browse_become_backup *)pytalloc_get_ptr(in);
6679 case DomainAnnouncement:
6680 PY_CHECK_TYPE(&nbt_browse_domain_announcement_Type, in, talloc_free(ret); return NULL;);
6681 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
6683 talloc_free(ret); return NULL;
6685 ret->domain_announcement = *(struct nbt_browse_domain_announcement *)pytalloc_get_ptr(in);
6688 case MasterAnnouncement:
6689 PY_CHECK_TYPE(&nbt_browse_master_announcement_Type, in, talloc_free(ret); return NULL;);
6690 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
6692 talloc_free(ret); return NULL;
6694 ret->master_announcement = *(struct nbt_browse_master_announcement *)pytalloc_get_ptr(in);
6697 case ResetBrowserState:
6698 PY_CHECK_TYPE(&nbt_browse_reset_state_Type, in, talloc_free(ret); return NULL;);
6699 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
6701 talloc_free(ret); return NULL;
6703 ret->reset_browser_state = *(struct nbt_browse_reset_state *)pytalloc_get_ptr(in);
6706 case LocalMasterAnnouncement:
6707 PY_CHECK_TYPE(&nbt_browse_local_master_announcement_Type, in, talloc_free(ret); return NULL;);
6708 if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
6710 talloc_free(ret); return NULL;
6712 ret->local_master_announcement = *(struct nbt_browse_local_master_announcement *)pytalloc_get_ptr(in);
6716 PyErr_SetString(PyExc_TypeError, "invalid union level value");
6725 static PyObject *py_nbt_browse_packet_get_opcode(PyObject *obj, void *closure)
6727 struct nbt_browse_packet *object = (struct nbt_browse_packet *)pytalloc_get_ptr(obj);
6728 PyObject *py_opcode;
6729 py_opcode = PyInt_FromLong(object->opcode);
6733 static int py_nbt_browse_packet_set_opcode(PyObject *py_obj, PyObject *value, void *closure)
6735 struct nbt_browse_packet *object = (struct nbt_browse_packet *)pytalloc_get_ptr(py_obj);
6736 if (PyLong_Check(value)) {
6737 object->opcode = PyLong_AsLongLong(value);
6738 } else if (PyInt_Check(value)) {
6739 object->opcode = PyInt_AsLong(value);
6741 PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
6742 PyInt_Type.tp_name, PyLong_Type.tp_name);
6748 static PyObject *py_nbt_browse_packet_get_payload(PyObject *obj, void *closure)
6750 struct nbt_browse_packet *object = (struct nbt_browse_packet *)pytalloc_get_ptr(obj);
6751 PyObject *py_payload;
6752 py_payload = py_import_nbt_browse_payload(pytalloc_get_mem_ctx(obj), object->opcode, &object->payload);
6753 if (py_payload == NULL) {
6759 static int py_nbt_browse_packet_set_payload(PyObject *py_obj, PyObject *value, void *closure)
6761 struct nbt_browse_packet *object = (struct nbt_browse_packet *)pytalloc_get_ptr(py_obj);
6763 union nbt_browse_payload *payload_switch_0;
6764 payload_switch_0 = py_export_nbt_browse_payload(pytalloc_get_mem_ctx(py_obj), object->opcode, value);
6765 if (payload_switch_0 == NULL) {
6768 object->payload = *payload_switch_0;
6773 static PyGetSetDef py_nbt_browse_packet_getsetters[] = {
6774 { discard_const_p(char, "opcode"), py_nbt_browse_packet_get_opcode, py_nbt_browse_packet_set_opcode },
6775 { discard_const_p(char, "payload"), py_nbt_browse_packet_get_payload, py_nbt_browse_packet_set_payload },
6779 static PyObject *py_nbt_browse_packet_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6781 return pytalloc_new(struct nbt_browse_packet, type);
6784 static PyObject *py_nbt_browse_packet_ndr_pack(PyObject *py_obj)
6786 struct nbt_browse_packet *object = (struct nbt_browse_packet *)pytalloc_get_ptr(py_obj);
6788 enum ndr_err_code err;
6789 err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_nbt_browse_packet);
6790 if (err != NDR_ERR_SUCCESS) {
6791 PyErr_SetNdrError(err);
6795 return PyString_FromStringAndSize((char *)blob.data, blob.length);
6798 static PyObject *py_nbt_browse_packet_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
6800 struct nbt_browse_packet *object = (struct nbt_browse_packet *)pytalloc_get_ptr(py_obj);
6802 int blob_length = 0;
6803 enum ndr_err_code err;
6804 const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
6805 PyObject *allow_remaining_obj = NULL;
6806 bool allow_remaining = false;
6808 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
6809 discard_const_p(char *, kwnames),
6810 &blob.data, &blob_length,
6811 &allow_remaining_obj)) {
6814 blob.length = blob_length;
6816 if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
6817 allow_remaining = true;
6820 if (allow_remaining) {
6821 err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_browse_packet);
6823 err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_nbt_browse_packet);
6825 if (err != NDR_ERR_SUCCESS) {
6826 PyErr_SetNdrError(err);
6833 static PyObject *py_nbt_browse_packet_ndr_print(PyObject *py_obj)
6835 struct nbt_browse_packet *object = (struct nbt_browse_packet *)pytalloc_get_ptr(py_obj);
6839 retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_nbt_browse_packet, "nbt_browse_packet", object);
6840 ret = PyString_FromString(retstr);
6841 talloc_free(retstr);
6846 static PyMethodDef py_nbt_browse_packet_methods[] = {
6847 { "__ndr_pack__", (PyCFunction)py_nbt_browse_packet_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
6848 { "__ndr_unpack__", (PyCFunction)py_nbt_browse_packet_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
6849 { "__ndr_print__", (PyCFunction)py_nbt_browse_packet_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
6850 { NULL, NULL, 0, NULL }
6854 static PyTypeObject nbt_browse_packet_Type = {
6855 PyObject_HEAD_INIT(NULL) 0,
6856 .tp_name = "nbt.browse_packet",
6857 .tp_getset = py_nbt_browse_packet_getsetters,
6858 .tp_methods = py_nbt_browse_packet_methods,
6859 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6860 .tp_basicsize = sizeof(pytalloc_Object),
6861 .tp_new = py_nbt_browse_packet_new,
6865 static bool pack_py_decode_nbt_netlogon_packet_args_in(PyObject *args, PyObject *kwargs, struct decode_nbt_netlogon_packet *r)
6867 PyObject *py_packet;
6868 const char *kwnames[] = {
6872 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:decode_nbt_netlogon_packet", discard_const_p(char *, kwnames), &py_packet)) {
6876 PY_CHECK_TYPE(&nbt_netlogon_packet_Type, py_packet, return false;);
6877 if (talloc_reference(r, pytalloc_get_mem_ctx(py_packet)) == NULL) {
6881 r->in.packet = *(struct nbt_netlogon_packet *)pytalloc_get_ptr(py_packet);
6885 static PyObject *unpack_py_decode_nbt_netlogon_packet_args_out(struct decode_nbt_netlogon_packet *r)
6893 const struct PyNdrRpcMethodDef py_ndr_nbt_methods[] = {
6894 { "decode_nbt_netlogon_packet", "S.decode_nbt_netlogon_packet(packet) -> None", (py_dcerpc_call_fn)dcerpc_decode_nbt_netlogon_packet_r, (py_data_pack_fn)pack_py_decode_nbt_netlogon_packet_args_in, (py_data_unpack_fn)unpack_py_decode_nbt_netlogon_packet_args_out, 0, &ndr_table_nbt },
6898 static PyObject *interface_nbt_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
6900 return py_dcerpc_interface_init_helper(type, args, kwargs, &ndr_table_nbt);
6903 #define PY_DOC_NBT "NBT messages"
6904 static PyTypeObject nbt_InterfaceType = {
6905 PyObject_HEAD_INIT(NULL) 0,
6906 .tp_name = "nbt.nbt",
6907 .tp_basicsize = sizeof(dcerpc_InterfaceObject),
6908 .tp_doc = "nbt(binding, lp_ctx=None, credentials=None) -> connection\n"
6910 "binding should be a DCE/RPC binding string (for example: ncacn_ip_tcp:127.0.0.1)\n"
6911 "lp_ctx should be a path to a smb.conf file or a param.LoadParm object\n"
6912 "credentials should be a credentials.Credentials object.\n\n"PY_DOC_NBT,
6913 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
6914 .tp_new = interface_nbt_new,
6917 static PyMethodDef nbt_methods[] = {
6918 { NULL, NULL, 0, NULL }
6924 PyObject *dep_samba_dcerpc_security;
6925 PyObject *dep_talloc;
6926 PyObject *dep_samba_dcerpc_misc;
6927 PyObject *dep_samba_dcerpc_base;
6929 dep_samba_dcerpc_security = PyImport_ImportModule("samba.dcerpc.security");
6930 if (dep_samba_dcerpc_security == NULL)
6933 dep_talloc = PyImport_ImportModule("talloc");
6934 if (dep_talloc == NULL)
6937 dep_samba_dcerpc_misc = PyImport_ImportModule("samba.dcerpc.misc");
6938 if (dep_samba_dcerpc_misc == NULL)
6941 dep_samba_dcerpc_base = PyImport_ImportModule("samba.dcerpc.base");
6942 if (dep_samba_dcerpc_base == NULL)
6945 dom_sid_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_security, "dom_sid");
6946 if (dom_sid_Type == NULL)
6949 Object_Type = (PyTypeObject *)PyObject_GetAttrString(dep_talloc, "Object");
6950 if (Object_Type == NULL)
6953 GUID_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_misc, "GUID");
6954 if (GUID_Type == NULL)
6957 ClientConnection_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_base, "ClientConnection");
6958 if (ClientConnection_Type == NULL)
6961 nbt_name_Type.tp_base = Object_Type;
6963 nbt_name_question_Type.tp_base = Object_Type;
6965 nbt_rdata_address_Type.tp_base = Object_Type;
6967 nbt_rdata_netbios_Type.tp_base = Object_Type;
6969 nbt_statistics_Type.tp_base = Object_Type;
6971 nbt_status_name_Type.tp_base = Object_Type;
6973 nbt_rdata_status_Type.tp_base = Object_Type;
6975 nbt_rdata_data_Type.tp_base = Object_Type;
6977 nbt_res_rec_Type.tp_base = Object_Type;
6979 nbt_name_packet_Type.tp_base = Object_Type;
6981 smb_trans_body_Type.tp_base = Object_Type;
6983 dgram_smb_packet_Type.tp_base = Object_Type;
6985 dgram_message_Type.tp_base = Object_Type;
6987 nbt_dgram_packet_Type.tp_base = Object_Type;
6989 nbt_sockaddr_Type.tp_base = Object_Type;
6991 NETLOGON_SAM_LOGON_REQUEST_Type.tp_base = Object_Type;
6993 NETLOGON_LOGON_REQUEST_Type.tp_base = Object_Type;
6995 NETLOGON_SAM_LOGON_RESPONSE_NT40_Type.tp_base = Object_Type;
6997 NETLOGON_SAM_LOGON_RESPONSE_Type.tp_base = Object_Type;
6999 NETLOGON_SAM_LOGON_RESPONSE_EX_Type.tp_base = Object_Type;
7001 nbt_netlogon_query_for_pdc_Type.tp_base = Object_Type;
7003 nbt_netlogon_response_from_pdc_Type.tp_base = Object_Type;
7005 nbt_netlogon_response2_Type.tp_base = Object_Type;
7007 nbt_db_change_info_Type.tp_base = Object_Type;
7009 NETLOGON_DB_CHANGE_Type.tp_base = Object_Type;
7011 nbt_netlogon_packet_Type.tp_base = Object_Type;
7013 nbt_browse_host_announcement_Type.tp_base = Object_Type;
7015 nbt_browse_announcement_request_Type.tp_base = Object_Type;
7017 nbt_browse_election_request_Type.tp_base = Object_Type;
7019 nbt_browse_backup_list_request_Type.tp_base = Object_Type;
7021 nbt_browse_backup_list_response_Type.tp_base = Object_Type;
7023 nbt_browse_become_backup_Type.tp_base = Object_Type;
7025 nbt_browse_domain_announcement_Type.tp_base = Object_Type;
7027 nbt_browse_master_announcement_Type.tp_base = Object_Type;
7029 nbt_browse_reset_state_Type.tp_base = Object_Type;
7031 nbt_browse_local_master_announcement_Type.tp_base = Object_Type;
7033 nbt_browse_packet_Type.tp_base = Object_Type;
7035 nbt_InterfaceType.tp_base = ClientConnection_Type;
7037 if (PyType_Ready(&nbt_name_Type) < 0)
7039 if (PyType_Ready(&nbt_name_question_Type) < 0)
7041 if (PyType_Ready(&nbt_rdata_address_Type) < 0)
7043 if (PyType_Ready(&nbt_rdata_netbios_Type) < 0)
7045 if (PyType_Ready(&nbt_statistics_Type) < 0)
7047 if (PyType_Ready(&nbt_status_name_Type) < 0)
7049 if (PyType_Ready(&nbt_rdata_status_Type) < 0)
7051 if (PyType_Ready(&nbt_rdata_data_Type) < 0)
7053 if (PyType_Ready(&nbt_res_rec_Type) < 0)
7055 if (PyType_Ready(&nbt_name_packet_Type) < 0)
7057 if (PyType_Ready(&smb_trans_body_Type) < 0)
7059 if (PyType_Ready(&dgram_smb_packet_Type) < 0)
7061 if (PyType_Ready(&dgram_message_Type) < 0)
7063 if (PyType_Ready(&nbt_dgram_packet_Type) < 0)
7065 if (PyType_Ready(&nbt_sockaddr_Type) < 0)
7067 if (PyType_Ready(&NETLOGON_SAM_LOGON_REQUEST_Type) < 0)
7069 if (PyType_Ready(&NETLOGON_LOGON_REQUEST_Type) < 0)
7071 if (PyType_Ready(&NETLOGON_SAM_LOGON_RESPONSE_NT40_Type) < 0)
7073 if (PyType_Ready(&NETLOGON_SAM_LOGON_RESPONSE_Type) < 0)
7075 if (PyType_Ready(&NETLOGON_SAM_LOGON_RESPONSE_EX_Type) < 0)
7077 if (PyType_Ready(&nbt_netlogon_query_for_pdc_Type) < 0)
7079 if (PyType_Ready(&nbt_netlogon_response_from_pdc_Type) < 0)
7081 if (PyType_Ready(&nbt_netlogon_response2_Type) < 0)
7083 if (PyType_Ready(&nbt_db_change_info_Type) < 0)
7085 if (PyType_Ready(&NETLOGON_DB_CHANGE_Type) < 0)
7087 if (PyType_Ready(&nbt_netlogon_packet_Type) < 0)
7089 if (PyType_Ready(&nbt_browse_host_announcement_Type) < 0)
7091 if (PyType_Ready(&nbt_browse_announcement_request_Type) < 0)
7093 if (PyType_Ready(&nbt_browse_election_request_Type) < 0)
7095 if (PyType_Ready(&nbt_browse_backup_list_request_Type) < 0)
7097 if (PyType_Ready(&nbt_browse_backup_list_response_Type) < 0)
7099 if (PyType_Ready(&nbt_browse_become_backup_Type) < 0)
7101 if (PyType_Ready(&nbt_browse_domain_announcement_Type) < 0)
7103 if (PyType_Ready(&nbt_browse_master_announcement_Type) < 0)
7105 if (PyType_Ready(&nbt_browse_reset_state_Type) < 0)
7107 if (PyType_Ready(&nbt_browse_local_master_announcement_Type) < 0)
7109 if (PyType_Ready(&nbt_browse_packet_Type) < 0)
7111 if (PyType_Ready(&nbt_InterfaceType) < 0)
7113 if (!PyInterface_AddNdrRpcMethods(&nbt_InterfaceType, py_ndr_nbt_methods))
7116 #ifdef PY_NAME_PATCH
7117 PY_NAME_PATCH(&nbt_name_Type);
7119 #ifdef PY_NAME_QUESTION_PATCH
7120 PY_NAME_QUESTION_PATCH(&nbt_name_question_Type);
7122 #ifdef PY_RDATA_ADDRESS_PATCH
7123 PY_RDATA_ADDRESS_PATCH(&nbt_rdata_address_Type);
7125 #ifdef PY_RDATA_NETBIOS_PATCH
7126 PY_RDATA_NETBIOS_PATCH(&nbt_rdata_netbios_Type);
7128 #ifdef PY_STATISTICS_PATCH
7129 PY_STATISTICS_PATCH(&nbt_statistics_Type);
7131 #ifdef PY_STATUS_NAME_PATCH
7132 PY_STATUS_NAME_PATCH(&nbt_status_name_Type);
7134 #ifdef PY_RDATA_STATUS_PATCH
7135 PY_RDATA_STATUS_PATCH(&nbt_rdata_status_Type);
7137 #ifdef PY_RDATA_DATA_PATCH
7138 PY_RDATA_DATA_PATCH(&nbt_rdata_data_Type);
7140 #ifdef PY_RES_REC_PATCH
7141 PY_RES_REC_PATCH(&nbt_res_rec_Type);
7143 #ifdef PY_NAME_PACKET_PATCH
7144 PY_NAME_PACKET_PATCH(&nbt_name_packet_Type);
7146 #ifdef PY_SMB_TRANS_BODY_PATCH
7147 PY_SMB_TRANS_BODY_PATCH(&smb_trans_body_Type);
7149 #ifdef PY_DGRAM_SMB_PACKET_PATCH
7150 PY_DGRAM_SMB_PACKET_PATCH(&dgram_smb_packet_Type);
7152 #ifdef PY_DGRAM_MESSAGE_PATCH
7153 PY_DGRAM_MESSAGE_PATCH(&dgram_message_Type);
7155 #ifdef PY_DGRAM_PACKET_PATCH
7156 PY_DGRAM_PACKET_PATCH(&nbt_dgram_packet_Type);
7158 #ifdef PY_SOCKADDR_PATCH
7159 PY_SOCKADDR_PATCH(&nbt_sockaddr_Type);
7161 #ifdef PY_NETLOGON_SAM_LOGON_REQUEST_PATCH
7162 PY_NETLOGON_SAM_LOGON_REQUEST_PATCH(&NETLOGON_SAM_LOGON_REQUEST_Type);
7164 #ifdef PY_NETLOGON_LOGON_REQUEST_PATCH
7165 PY_NETLOGON_LOGON_REQUEST_PATCH(&NETLOGON_LOGON_REQUEST_Type);
7167 #ifdef PY_NETLOGON_SAM_LOGON_RESPONSE_NT40_PATCH
7168 PY_NETLOGON_SAM_LOGON_RESPONSE_NT40_PATCH(&NETLOGON_SAM_LOGON_RESPONSE_NT40_Type);
7170 #ifdef PY_NETLOGON_SAM_LOGON_RESPONSE_PATCH
7171 PY_NETLOGON_SAM_LOGON_RESPONSE_PATCH(&NETLOGON_SAM_LOGON_RESPONSE_Type);
7173 #ifdef PY_NETLOGON_SAM_LOGON_RESPONSE_EX_PATCH
7174 PY_NETLOGON_SAM_LOGON_RESPONSE_EX_PATCH(&NETLOGON_SAM_LOGON_RESPONSE_EX_Type);
7176 #ifdef PY_NETLOGON_QUERY_FOR_PDC_PATCH
7177 PY_NETLOGON_QUERY_FOR_PDC_PATCH(&nbt_netlogon_query_for_pdc_Type);
7179 #ifdef PY_NETLOGON_RESPONSE_FROM_PDC_PATCH
7180 PY_NETLOGON_RESPONSE_FROM_PDC_PATCH(&nbt_netlogon_response_from_pdc_Type);
7182 #ifdef PY_NETLOGON_RESPONSE2_PATCH
7183 PY_NETLOGON_RESPONSE2_PATCH(&nbt_netlogon_response2_Type);
7185 #ifdef PY_DB_CHANGE_INFO_PATCH
7186 PY_DB_CHANGE_INFO_PATCH(&nbt_db_change_info_Type);
7188 #ifdef PY_NETLOGON_DB_CHANGE_PATCH
7189 PY_NETLOGON_DB_CHANGE_PATCH(&NETLOGON_DB_CHANGE_Type);
7191 #ifdef PY_NETLOGON_PACKET_PATCH
7192 PY_NETLOGON_PACKET_PATCH(&nbt_netlogon_packet_Type);
7194 #ifdef PY_BROWSE_HOST_ANNOUNCEMENT_PATCH
7195 PY_BROWSE_HOST_ANNOUNCEMENT_PATCH(&nbt_browse_host_announcement_Type);
7197 #ifdef PY_BROWSE_ANNOUNCEMENT_REQUEST_PATCH
7198 PY_BROWSE_ANNOUNCEMENT_REQUEST_PATCH(&nbt_browse_announcement_request_Type);
7200 #ifdef PY_BROWSE_ELECTION_REQUEST_PATCH
7201 PY_BROWSE_ELECTION_REQUEST_PATCH(&nbt_browse_election_request_Type);
7203 #ifdef PY_BROWSE_BACKUP_LIST_REQUEST_PATCH
7204 PY_BROWSE_BACKUP_LIST_REQUEST_PATCH(&nbt_browse_backup_list_request_Type);
7206 #ifdef PY_BROWSE_BACKUP_LIST_RESPONSE_PATCH
7207 PY_BROWSE_BACKUP_LIST_RESPONSE_PATCH(&nbt_browse_backup_list_response_Type);
7209 #ifdef PY_BROWSE_BECOME_BACKUP_PATCH
7210 PY_BROWSE_BECOME_BACKUP_PATCH(&nbt_browse_become_backup_Type);
7212 #ifdef PY_BROWSE_DOMAIN_ANNOUNCEMENT_PATCH
7213 PY_BROWSE_DOMAIN_ANNOUNCEMENT_PATCH(&nbt_browse_domain_announcement_Type);
7215 #ifdef PY_BROWSE_MASTER_ANNOUNCEMENT_PATCH
7216 PY_BROWSE_MASTER_ANNOUNCEMENT_PATCH(&nbt_browse_master_announcement_Type);
7218 #ifdef PY_BROWSE_RESET_STATE_PATCH
7219 PY_BROWSE_RESET_STATE_PATCH(&nbt_browse_reset_state_Type);
7221 #ifdef PY_BROWSE_LOCAL_MASTER_ANNOUNCEMENT_PATCH
7222 PY_BROWSE_LOCAL_MASTER_ANNOUNCEMENT_PATCH(&nbt_browse_local_master_announcement_Type);
7224 #ifdef PY_BROWSE_PACKET_PATCH
7225 PY_BROWSE_PACKET_PATCH(&nbt_browse_packet_Type);
7228 PY_NBT_PATCH(&nbt_InterfaceType);
7231 m = Py_InitModule3("nbt", nbt_methods, "nbt DCE/RPC");
7235 PyModule_AddObject(m, "DGRAM_ERROR_INVALID_DEST", PyInt_FromLong(DGRAM_ERROR_INVALID_DEST));
7236 PyModule_AddObject(m, "NBT_NODE_B", PyInt_FromLong(NBT_NODE_B));
7237 PyModule_AddObject(m, "NBT_DGRAM_SERVICE_PORT", PyInt_FromLong(138));
7238 PyModule_AddObject(m, "DGRAM_QUERY_POSITIVE", PyInt_FromLong(DGRAM_QUERY_POSITIVE));
7239 PyModule_AddObject(m, "LOGON_SAM_LOGON_PAUSE_RESPONSE", PyInt_FromLong(LOGON_SAM_LOGON_PAUSE_RESPONSE));
7240 PyModule_AddObject(m, "NBT_SERVER_CLOSEST", PyInt_FromLong(NBT_SERVER_CLOSEST));
7241 PyModule_AddObject(m, "NBT_SERVER_TIMESERV", PyInt_FromLong(NBT_SERVER_TIMESERV));
7242 PyModule_AddObject(m, "NBT_NM_GROUP", PyInt_FromLong(NBT_NM_GROUP));
7243 PyModule_AddObject(m, "NETLOGON_NT_VERSION_PDC", PyInt_FromLong(NETLOGON_NT_VERSION_PDC));
7244 PyModule_AddObject(m, "GetBackupListResp", PyInt_FromLong(GetBackupListResp));
7245 PyModule_AddObject(m, "LOGON_SAM_LOGON_PAUSE_RESPONSE_EX", PyInt_FromLong(LOGON_SAM_LOGON_PAUSE_RESPONSE_EX));
7246 PyModule_AddObject(m, "NBT_SERVER_GOOD_TIMESERV", PyInt_FromLong(NBT_SERVER_GOOD_TIMESERV));
7247 PyModule_AddObject(m, "NBT_SERVER_DS", PyInt_FromLong(NBT_SERVER_DS));
7248 PyModule_AddObject(m, "NBT_SERVER_SELECT_SECRET_DOMAIN_6", PyInt_FromLong(NBT_SERVER_SELECT_SECRET_DOMAIN_6));
7249 PyModule_AddObject(m, "NBT_QCLASS_IP", PyInt_FromLong(NBT_QCLASS_IP));
7250 PyModule_AddObject(m, "MasterAnnouncement", PyInt_FromLong(MasterAnnouncement));
7251 PyModule_AddObject(m, "NBT_SERVER_ADS_WEB_SERVICE", PyInt_FromLong(NBT_SERVER_ADS_WEB_SERVICE));
7252 PyModule_AddObject(m, "NBT_NAME_BROWSER", PyInt_FromLong(NBT_NAME_BROWSER));
7253 PyModule_AddObject(m, "NBT_RCODE_SVR", PyInt_FromLong(NBT_RCODE_SVR));
7254 PyModule_AddObject(m, "BecomeBackup", PyInt_FromLong(BecomeBackup));
7255 PyModule_AddObject(m, "DGRAM_NODE_NBDD", PyInt_FromLong(DGRAM_NODE_NBDD));
7256 PyModule_AddObject(m, "DomainAnnouncement", PyInt_FromLong(DomainAnnouncement));
7257 PyModule_AddObject(m, "DGRAM_NODE_B", PyInt_FromLong(DGRAM_NODE_B));
7258 PyModule_AddObject(m, "NBT_NAME_PDC", PyInt_FromLong(NBT_NAME_PDC));
7259 PyModule_AddObject(m, "NBT_FLAG_BROADCAST", PyInt_FromLong(NBT_FLAG_BROADCAST));
7260 PyModule_AddObject(m, "NBT_RCODE_CFT", PyInt_FromLong(NBT_RCODE_CFT));
7261 PyModule_AddObject(m, "NETLOGON_NT_VERSION_WITH_CLOSEST_SITE", PyInt_FromLong(NETLOGON_NT_VERSION_WITH_CLOSEST_SITE));
7262 PyModule_AddObject(m, "LOGON_SAM_LOGON_RESPONSE_EX", PyInt_FromLong(LOGON_SAM_LOGON_RESPONSE_EX));
7263 PyModule_AddObject(m, "NBT_SERVER_IS_DEFAULT_NC", PyInt_FromLong(NBT_SERVER_IS_DEFAULT_NC));
7264 PyModule_AddObject(m, "Election", PyInt_FromLong(Election));
7265 PyModule_AddObject(m, "NETLOGON_NT_VERSION_LOCAL", PyInt_FromLong(NETLOGON_NT_VERSION_LOCAL));
7266 PyModule_AddObject(m, "DGRAM_NODE_M", PyInt_FromLong(DGRAM_NODE_M));
7267 PyModule_AddObject(m, "NBT_QTYPE_NETBIOS", PyInt_FromLong(NBT_QTYPE_NETBIOS));
7268 PyModule_AddObject(m, "DGRAM_DIRECT_GROUP", PyInt_FromLong(DGRAM_DIRECT_GROUP));
7269 PyModule_AddObject(m, "NBT_FLAG_REPLY", PyInt_FromLong(NBT_FLAG_REPLY));
7270 PyModule_AddObject(m, "NBT_FLAG_TRUNCATION", PyInt_FromLong(NBT_FLAG_TRUNCATION));
7271 PyModule_AddObject(m, "NBT_FLAG_RECURSION_DESIRED", PyInt_FromLong(NBT_FLAG_RECURSION_DESIRED));
7272 PyModule_AddObject(m, "LOGON_SAM_LOGON_USER_UNKNOWN_EX", PyInt_FromLong(LOGON_SAM_LOGON_USER_UNKNOWN_EX));
7273 PyModule_AddObject(m, "NETLOGON_NT_VERSION_IP", PyInt_FromLong(NETLOGON_NT_VERSION_IP));
7274 PyModule_AddObject(m, "NBT_SERVER_PDC", PyInt_FromLong(NBT_SERVER_PDC));
7275 PyModule_AddObject(m, "LOGON_SAM_LOGON_REQUEST", PyInt_FromLong(LOGON_SAM_LOGON_REQUEST));
7276 PyModule_AddObject(m, "DGRAM_FLAG_NODE_TYPE", PyInt_FromLong(DGRAM_FLAG_NODE_TYPE));
7277 PyModule_AddObject(m, "NBT_RCODE_NAM", PyInt_FromLong(NBT_RCODE_NAM));
7278 PyModule_AddObject(m, "NBT_RCODE_ACT", PyInt_FromLong(NBT_RCODE_ACT));
7279 PyModule_AddObject(m, "NBT_FLAG_AUTHORITATIVE", PyInt_FromLong(NBT_FLAG_AUTHORITATIVE));
7280 PyModule_AddObject(m, "DGRAM_FLAG_FIRST", PyInt_FromLong(DGRAM_FLAG_FIRST));
7281 PyModule_AddObject(m, "NBT_SERVER_KDC", PyInt_FromLong(NBT_SERVER_KDC));
7282 PyModule_AddObject(m, "NBT_OPCODE_REFRESH2", PyInt_FromLong(NBT_OPCODE_REFRESH2));
7283 PyModule_AddObject(m, "NETLOGON_NT_VERSION_5EX_WITH_IP", PyInt_FromLong(NETLOGON_NT_VERSION_5EX_WITH_IP));
7284 PyModule_AddObject(m, "NBT_SERVER_FOREST_ROOT", PyInt_FromLong(NBT_SERVER_FOREST_ROOT));
7285 PyModule_AddObject(m, "NBT_FLAG_RECURSION_AVAIL", PyInt_FromLong(NBT_FLAG_RECURSION_AVAIL));
7286 PyModule_AddObject(m, "NBT_RCODE_RFS", PyInt_FromLong(NBT_RCODE_RFS));
7287 PyModule_AddObject(m, "SMB_TRANSACTION", PyInt_FromLong(SMB_TRANSACTION));
7288 PyModule_AddObject(m, "LOGON_PRIMARY_QUERY", PyInt_FromLong(LOGON_PRIMARY_QUERY));
7289 PyModule_AddObject(m, "NBT_NAME_SERVICE_PORT", PyInt_FromLong(137));
7290 PyModule_AddObject(m, "DGRAM_DIRECT_UNIQUE", PyInt_FromLong(DGRAM_DIRECT_UNIQUE));
7291 PyModule_AddObject(m, "LOGON_SAM_LOGON_USER_UNKNOWN", PyInt_FromLong(LOGON_SAM_LOGON_USER_UNKNOWN));
7292 PyModule_AddObject(m, "NETLOGON_NT_VERSION_AVOID_NT4EMUL", PyInt_FromLong(NETLOGON_NT_VERSION_AVOID_NT4EMUL));
7293 PyModule_AddObject(m, "DGRAM_ERROR_INVALID_SOURCE", PyInt_FromLong(DGRAM_ERROR_INVALID_SOURCE));
7294 PyModule_AddObject(m, "NBT_SERVER_LDAP", PyInt_FromLong(NBT_SERVER_LDAP));
7295 PyModule_AddObject(m, "NBT_NAME_LOGON", PyInt_FromLong(NBT_NAME_LOGON));
7296 PyModule_AddObject(m, "NBT_NODE_H", PyInt_FromLong(NBT_NODE_H));
7297 PyModule_AddObject(m, "NBT_OPCODE_REGISTER", PyInt_FromLong(NBT_OPCODE_REGISTER));
7298 PyModule_AddObject(m, "DGRAM_BCAST", PyInt_FromLong(DGRAM_BCAST));
7299 PyModule_AddObject(m, "NBT_SERVER_GC", PyInt_FromLong(NBT_SERVER_GC));
7300 PyModule_AddObject(m, "NBT_OPCODE_MULTI_HOME_REG", PyInt_FromLong(NBT_OPCODE_MULTI_HOME_REG));
7301 PyModule_AddObject(m, "DGRAM_QUERY_NEGATIVE", PyInt_FromLong(DGRAM_QUERY_NEGATIVE));
7302 PyModule_AddObject(m, "NETLOGON_RESPONSE_FROM_PDC", PyInt_FromLong(NETLOGON_RESPONSE_FROM_PDC));
7303 PyModule_AddObject(m, "NBT_OPCODE_RELEASE", PyInt_FromLong(NBT_OPCODE_RELEASE));
7304 PyModule_AddObject(m, "NBT_QTYPE_NULL", PyInt_FromLong(NBT_QTYPE_NULL));
7305 PyModule_AddObject(m, "NBT_NODE_P", PyInt_FromLong(NBT_NODE_P));
7306 PyModule_AddObject(m, "NBT_NODE_M", PyInt_FromLong(NBT_NODE_M));
7307 PyModule_AddObject(m, "NETLOGON_NT_VERSION_1", PyInt_FromLong(NETLOGON_NT_VERSION_1));
7308 PyModule_AddObject(m, "NBT_SERVER_FULL_SECRET_DOMAIN_6", PyInt_FromLong(NBT_SERVER_FULL_SECRET_DOMAIN_6));
7309 PyModule_AddObject(m, "NBT_SERVER_NDNC", PyInt_FromLong(NBT_SERVER_NDNC));
7310 PyModule_AddObject(m, "NBT_OPCODE_WACK", PyInt_FromLong(NBT_OPCODE_WACK));
7311 PyModule_AddObject(m, "NBT_NAME_CLIENT", PyInt_FromLong(NBT_NAME_CLIENT));
7312 PyModule_AddObject(m, "NBT_NAME_SERVER", PyInt_FromLong(NBT_NAME_SERVER));
7313 PyModule_AddObject(m, "NBT_NAME_MS", PyInt_FromLong(NBT_NAME_MS));
7314 PyModule_AddObject(m, "NBT_RCODE_OK", PyInt_FromLong(NBT_RCODE_OK));
7315 PyModule_AddObject(m, "NBT_RCODE_FMT", PyInt_FromLong(NBT_RCODE_FMT));
7316 PyModule_AddObject(m, "NBT_OPCODE", PyInt_FromLong(NBT_OPCODE));
7317 PyModule_AddObject(m, "NBT_OPCODE_QUERY", PyInt_FromLong(NBT_OPCODE_QUERY));
7318 PyModule_AddObject(m, "NBT_NM_OWNER_TYPE", PyInt_FromLong(NBT_NM_OWNER_TYPE));
7319 PyModule_AddObject(m, "DGRAM_ERROR_NAME_NOT_PRESENT", PyInt_FromLong(DGRAM_ERROR_NAME_NOT_PRESENT));
7320 PyModule_AddObject(m, "NBT_QTYPE_NAMESERVICE", PyInt_FromLong(NBT_QTYPE_NAMESERVICE));
7321 PyModule_AddObject(m, "NBT_NM_ACTIVE", PyInt_FromLong(NBT_NM_ACTIVE));
7322 PyModule_AddObject(m, "LOGON_SAM_LOGON_RESPONSE", PyInt_FromLong(LOGON_SAM_LOGON_RESPONSE));
7323 PyModule_AddObject(m, "NBT_NM_CONFLICT", PyInt_FromLong(NBT_NM_CONFLICT));
7324 PyModule_AddObject(m, "DGRAM_SMB", PyInt_FromLong(0xff534d42));
7325 PyModule_AddObject(m, "NBT_NM_PERMANENT", PyInt_FromLong(NBT_NM_PERMANENT));
7326 PyModule_AddObject(m, "LocalMasterAnnouncement", PyInt_FromLong(LocalMasterAnnouncement));
7327 PyModule_AddObject(m, "NETLOGON_NT_VERSION_GC", PyInt_FromLong(NETLOGON_NT_VERSION_GC));
7328 PyModule_AddObject(m, "DGRAM_ERROR", PyInt_FromLong(DGRAM_ERROR));
7329 PyModule_AddObject(m, "ResetBrowserState", PyInt_FromLong(ResetBrowserState));
7330 PyModule_AddObject(m, "DGRAM_NODE_P", PyInt_FromLong(DGRAM_NODE_P));
7331 PyModule_AddObject(m, "NBT_MAILSLOT_GETDC", PyString_FromString("\\MAILSLOT\\NET\\GETDC"));
7332 PyModule_AddObject(m, "NBT_NM_DEREGISTER", PyInt_FromLong(NBT_NM_DEREGISTER));
7333 PyModule_AddObject(m, "NETLOGON_ANNOUNCE_UAS", PyInt_FromLong(NETLOGON_ANNOUNCE_UAS));
7334 PyModule_AddObject(m, "NETLOGON_NT_VERSION_5", PyInt_FromLong(NETLOGON_NT_VERSION_5));
7335 PyModule_AddObject(m, "LOGON_RESPONSE2", PyInt_FromLong(LOGON_RESPONSE2));
7336 PyModule_AddObject(m, "DGRAM_FLAG_MORE", PyInt_FromLong(DGRAM_FLAG_MORE));
7337 PyModule_AddObject(m, "HostAnnouncement", PyInt_FromLong(HostAnnouncement));
7338 PyModule_AddObject(m, "NBT_OPCODE_REFRESH", PyInt_FromLong(NBT_OPCODE_REFRESH));
7339 PyModule_AddObject(m, "NBT_SERVER_HAS_DNS_NAME", PyInt_FromLong(NBT_SERVER_HAS_DNS_NAME));
7340 PyModule_AddObject(m, "NBT_RCODE_IMP", PyInt_FromLong(NBT_RCODE_IMP));
7341 PyModule_AddObject(m, "NBT_SERVER_WRITABLE", PyInt_FromLong(NBT_SERVER_WRITABLE));
7342 PyModule_AddObject(m, "NBT_MAILSLOT_NTLOGON", PyString_FromString("\\MAILSLOT\\NET\\NTLOGON"));
7343 PyModule_AddObject(m, "DGRAM_QUERY", PyInt_FromLong(DGRAM_QUERY));
7344 PyModule_AddObject(m, "AnnouncementRequest", PyInt_FromLong(AnnouncementRequest));
7345 PyModule_AddObject(m, "LOGON_REQUEST", PyInt_FromLong(LOGON_REQUEST));
7346 PyModule_AddObject(m, "NBT_QTYPE_ADDRESS", PyInt_FromLong(NBT_QTYPE_ADDRESS));
7347 PyModule_AddObject(m, "GetBackupListReq", PyInt_FromLong(GetBackupListReq));
7348 PyModule_AddObject(m, "NBT_RCODE", PyInt_FromLong(NBT_RCODE));
7349 PyModule_AddObject(m, "NETLOGON_NT_VERSION_5EX", PyInt_FromLong(NETLOGON_NT_VERSION_5EX));
7350 PyModule_AddObject(m, "NBT_NAME_MASTER", PyInt_FromLong(NBT_NAME_MASTER));
7351 PyModule_AddObject(m, "NBT_QTYPE_STATUS", PyInt_FromLong(NBT_QTYPE_STATUS));
7352 PyModule_AddObject(m, "NBT_MAILSLOT_BROWSE", PyString_FromString("\\MAILSLOT\\BROWSE"));
7353 PyModule_AddObject(m, "NBT_NAME_USER", PyInt_FromLong(NBT_NAME_USER));
7354 PyModule_AddObject(m, "NBT_MAILSLOT_NETLOGON", PyString_FromString("\\MAILSLOT\\NET\\NETLOGON"));
7355 Py_INCREF((PyObject *)(void *)&nbt_name_Type);
7356 PyModule_AddObject(m, "name", (PyObject *)(void *)&nbt_name_Type);
7357 Py_INCREF((PyObject *)(void *)&nbt_name_question_Type);
7358 PyModule_AddObject(m, "name_question", (PyObject *)(void *)&nbt_name_question_Type);
7359 Py_INCREF((PyObject *)(void *)&nbt_rdata_address_Type);
7360 PyModule_AddObject(m, "rdata_address", (PyObject *)(void *)&nbt_rdata_address_Type);
7361 Py_INCREF((PyObject *)(void *)&nbt_rdata_netbios_Type);
7362 PyModule_AddObject(m, "rdata_netbios", (PyObject *)(void *)&nbt_rdata_netbios_Type);
7363 Py_INCREF((PyObject *)(void *)&nbt_statistics_Type);
7364 PyModule_AddObject(m, "statistics", (PyObject *)(void *)&nbt_statistics_Type);
7365 Py_INCREF((PyObject *)(void *)&nbt_status_name_Type);
7366 PyModule_AddObject(m, "status_name", (PyObject *)(void *)&nbt_status_name_Type);
7367 Py_INCREF((PyObject *)(void *)&nbt_rdata_status_Type);
7368 PyModule_AddObject(m, "rdata_status", (PyObject *)(void *)&nbt_rdata_status_Type);
7369 Py_INCREF((PyObject *)(void *)&nbt_rdata_data_Type);
7370 PyModule_AddObject(m, "rdata_data", (PyObject *)(void *)&nbt_rdata_data_Type);
7371 Py_INCREF((PyObject *)(void *)&nbt_res_rec_Type);
7372 PyModule_AddObject(m, "res_rec", (PyObject *)(void *)&nbt_res_rec_Type);
7373 Py_INCREF((PyObject *)(void *)&nbt_name_packet_Type);
7374 PyModule_AddObject(m, "name_packet", (PyObject *)(void *)&nbt_name_packet_Type);
7375 Py_INCREF((PyObject *)(void *)&smb_trans_body_Type);
7376 PyModule_AddObject(m, "smb_trans_body", (PyObject *)(void *)&smb_trans_body_Type);
7377 Py_INCREF((PyObject *)(void *)&dgram_smb_packet_Type);
7378 PyModule_AddObject(m, "dgram_smb_packet", (PyObject *)(void *)&dgram_smb_packet_Type);
7379 Py_INCREF((PyObject *)(void *)&dgram_message_Type);
7380 PyModule_AddObject(m, "dgram_message", (PyObject *)(void *)&dgram_message_Type);
7381 Py_INCREF((PyObject *)(void *)&nbt_dgram_packet_Type);
7382 PyModule_AddObject(m, "dgram_packet", (PyObject *)(void *)&nbt_dgram_packet_Type);
7383 Py_INCREF((PyObject *)(void *)&nbt_sockaddr_Type);
7384 PyModule_AddObject(m, "sockaddr", (PyObject *)(void *)&nbt_sockaddr_Type);
7385 Py_INCREF((PyObject *)(void *)&NETLOGON_SAM_LOGON_REQUEST_Type);
7386 PyModule_AddObject(m, "NETLOGON_SAM_LOGON_REQUEST", (PyObject *)(void *)&NETLOGON_SAM_LOGON_REQUEST_Type);
7387 Py_INCREF((PyObject *)(void *)&NETLOGON_LOGON_REQUEST_Type);
7388 PyModule_AddObject(m, "NETLOGON_LOGON_REQUEST", (PyObject *)(void *)&NETLOGON_LOGON_REQUEST_Type);
7389 Py_INCREF((PyObject *)(void *)&NETLOGON_SAM_LOGON_RESPONSE_NT40_Type);
7390 PyModule_AddObject(m, "NETLOGON_SAM_LOGON_RESPONSE_NT40", (PyObject *)(void *)&NETLOGON_SAM_LOGON_RESPONSE_NT40_Type);
7391 Py_INCREF((PyObject *)(void *)&NETLOGON_SAM_LOGON_RESPONSE_Type);
7392 PyModule_AddObject(m, "NETLOGON_SAM_LOGON_RESPONSE", (PyObject *)(void *)&NETLOGON_SAM_LOGON_RESPONSE_Type);
7393 Py_INCREF((PyObject *)(void *)&NETLOGON_SAM_LOGON_RESPONSE_EX_Type);
7394 PyModule_AddObject(m, "NETLOGON_SAM_LOGON_RESPONSE_EX", (PyObject *)(void *)&NETLOGON_SAM_LOGON_RESPONSE_EX_Type);
7395 Py_INCREF((PyObject *)(void *)&nbt_netlogon_query_for_pdc_Type);
7396 PyModule_AddObject(m, "netlogon_query_for_pdc", (PyObject *)(void *)&nbt_netlogon_query_for_pdc_Type);
7397 Py_INCREF((PyObject *)(void *)&nbt_netlogon_response_from_pdc_Type);
7398 PyModule_AddObject(m, "netlogon_response_from_pdc", (PyObject *)(void *)&nbt_netlogon_response_from_pdc_Type);
7399 Py_INCREF((PyObject *)(void *)&nbt_netlogon_response2_Type);
7400 PyModule_AddObject(m, "netlogon_response2", (PyObject *)(void *)&nbt_netlogon_response2_Type);
7401 Py_INCREF((PyObject *)(void *)&nbt_db_change_info_Type);
7402 PyModule_AddObject(m, "db_change_info", (PyObject *)(void *)&nbt_db_change_info_Type);
7403 Py_INCREF((PyObject *)(void *)&NETLOGON_DB_CHANGE_Type);
7404 PyModule_AddObject(m, "NETLOGON_DB_CHANGE", (PyObject *)(void *)&NETLOGON_DB_CHANGE_Type);
7405 Py_INCREF((PyObject *)(void *)&nbt_netlogon_packet_Type);
7406 PyModule_AddObject(m, "netlogon_packet", (PyObject *)(void *)&nbt_netlogon_packet_Type);
7407 Py_INCREF((PyObject *)(void *)&nbt_browse_host_announcement_Type);
7408 PyModule_AddObject(m, "browse_host_announcement", (PyObject *)(void *)&nbt_browse_host_announcement_Type);
7409 Py_INCREF((PyObject *)(void *)&nbt_browse_announcement_request_Type);
7410 PyModule_AddObject(m, "browse_announcement_request", (PyObject *)(void *)&nbt_browse_announcement_request_Type);
7411 Py_INCREF((PyObject *)(void *)&nbt_browse_election_request_Type);
7412 PyModule_AddObject(m, "browse_election_request", (PyObject *)(void *)&nbt_browse_election_request_Type);
7413 Py_INCREF((PyObject *)(void *)&nbt_browse_backup_list_request_Type);
7414 PyModule_AddObject(m, "browse_backup_list_request", (PyObject *)(void *)&nbt_browse_backup_list_request_Type);
7415 Py_INCREF((PyObject *)(void *)&nbt_browse_backup_list_response_Type);
7416 PyModule_AddObject(m, "browse_backup_list_response", (PyObject *)(void *)&nbt_browse_backup_list_response_Type);
7417 Py_INCREF((PyObject *)(void *)&nbt_browse_become_backup_Type);
7418 PyModule_AddObject(m, "browse_become_backup", (PyObject *)(void *)&nbt_browse_become_backup_Type);
7419 Py_INCREF((PyObject *)(void *)&nbt_browse_domain_announcement_Type);
7420 PyModule_AddObject(m, "browse_domain_announcement", (PyObject *)(void *)&nbt_browse_domain_announcement_Type);
7421 Py_INCREF((PyObject *)(void *)&nbt_browse_master_announcement_Type);
7422 PyModule_AddObject(m, "browse_master_announcement", (PyObject *)(void *)&nbt_browse_master_announcement_Type);
7423 Py_INCREF((PyObject *)(void *)&nbt_browse_reset_state_Type);
7424 PyModule_AddObject(m, "browse_reset_state", (PyObject *)(void *)&nbt_browse_reset_state_Type);
7425 Py_INCREF((PyObject *)(void *)&nbt_browse_local_master_announcement_Type);
7426 PyModule_AddObject(m, "browse_local_master_announcement", (PyObject *)(void *)&nbt_browse_local_master_announcement_Type);
7427 Py_INCREF((PyObject *)(void *)&nbt_browse_packet_Type);
7428 PyModule_AddObject(m, "browse_packet", (PyObject *)(void *)&nbt_browse_packet_Type);
7429 Py_INCREF((PyObject *)(void *)&nbt_InterfaceType);
7430 PyModule_AddObject(m, "nbt", (PyObject *)(void *)&nbt_InterfaceType);
7431 #ifdef PY_MOD_NBT_PATCH
7432 PY_MOD_NBT_PATCH(m);