/* Python wrapper functions auto-generated by pidl */
+#define PY_SSIZE_T_CLEAN 1 /* We use Py_ssize_t for PyArg_ParseTupleAndKeywords */
#include <Python.h>
#include "includes.h"
#include <pytalloc.h>
#include "bin/default/librpc/gen_ndr/ndr_dcerpc_c.h"
/*
- * These functions are here to ensure they can be optomised out by
+ * These functions are here to ensure they can be optimized out by
* the compiler based on the constant input values
*/
static PyTypeObject dcerpc_sec_verification_trailer_Type;
void initdcerpc(void);static PyTypeObject *ndr_syntax_id_Type;
-static PyTypeObject *Object_Type;
+static PyTypeObject *BaseObject_Type;
static PyTypeObject *GUID_Type;
static PyObject *py_dcerpc_ctx_list_get_context_id(PyObject *obj, void *closure)
static int py_dcerpc_ctx_list_set_context_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_ctx_list *object = (struct dcerpc_ctx_list *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->context_id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->context_id));
if (PyLong_Check(value)) {
static int py_dcerpc_ctx_list_set_num_transfer_syntaxes(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_ctx_list *object = (struct dcerpc_ctx_list *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->num_transfer_syntaxes");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->num_transfer_syntaxes));
if (PyLong_Check(value)) {
static int py_dcerpc_ctx_list_set_abstract_syntax(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_ctx_list *object = (struct dcerpc_ctx_list *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->abstract_syntax");
+ return -1;
+ }
PY_CHECK_TYPE(ndr_syntax_id_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
static int py_dcerpc_ctx_list_set_transfer_syntaxes(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_ctx_list *object = (struct dcerpc_ctx_list *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->transfer_syntaxes");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int transfer_syntaxes_cntr_0;
if (!object->transfer_syntaxes) { return -1;; }
talloc_set_name_const(object->transfer_syntaxes, "ARRAY: object->transfer_syntaxes");
for (transfer_syntaxes_cntr_0 = 0; transfer_syntaxes_cntr_0 < PyList_GET_SIZE(value); transfer_syntaxes_cntr_0++) {
+ if (PyList_GET_ITEM(value, transfer_syntaxes_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->transfer_syntaxes[transfer_syntaxes_cntr_0]");
+ return -1;
+ }
PY_CHECK_TYPE(ndr_syntax_id_Type, PyList_GET_ITEM(value, transfer_syntaxes_cntr_0), return -1;);
if (talloc_reference(object->transfer_syntaxes, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, transfer_syntaxes_cntr_0))) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_dcerpc_ctx_list_getsetters[] = {
- { discard_const_p(char, "context_id"), py_dcerpc_ctx_list_get_context_id, py_dcerpc_ctx_list_set_context_id },
- { discard_const_p(char, "num_transfer_syntaxes"), py_dcerpc_ctx_list_get_num_transfer_syntaxes, py_dcerpc_ctx_list_set_num_transfer_syntaxes },
- { discard_const_p(char, "abstract_syntax"), py_dcerpc_ctx_list_get_abstract_syntax, py_dcerpc_ctx_list_set_abstract_syntax },
- { discard_const_p(char, "transfer_syntaxes"), py_dcerpc_ctx_list_get_transfer_syntaxes, py_dcerpc_ctx_list_set_transfer_syntaxes },
- { NULL }
+ {
+ .name = discard_const_p(char, "context_id"),
+ .get = py_dcerpc_ctx_list_get_context_id,
+ .set = py_dcerpc_ctx_list_set_context_id,
+ .doc = discard_const_p(char, "PIDL-generated element context_id")
+ },
+ {
+ .name = discard_const_p(char, "num_transfer_syntaxes"),
+ .get = py_dcerpc_ctx_list_get_num_transfer_syntaxes,
+ .set = py_dcerpc_ctx_list_set_num_transfer_syntaxes,
+ .doc = discard_const_p(char, "PIDL-generated element num_transfer_syntaxes")
+ },
+ {
+ .name = discard_const_p(char, "abstract_syntax"),
+ .get = py_dcerpc_ctx_list_get_abstract_syntax,
+ .set = py_dcerpc_ctx_list_set_abstract_syntax,
+ .doc = discard_const_p(char, "PIDL-generated element abstract_syntax")
+ },
+ {
+ .name = discard_const_p(char, "transfer_syntaxes"),
+ .get = py_dcerpc_ctx_list_get_transfer_syntaxes,
+ .set = py_dcerpc_ctx_list_set_transfer_syntaxes,
+ .doc = discard_const_p(char, "PIDL-generated element transfer_syntaxes")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_ctx_list_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
.tp_getset = py_dcerpc_ctx_list_getsetters,
.tp_methods = NULL,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_ctx_list_new,
};
static int py_dcerpc_bind_set_max_xmit_frag(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind *object = (struct dcerpc_bind *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->max_xmit_frag");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->max_xmit_frag));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_set_max_recv_frag(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind *object = (struct dcerpc_bind *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->max_recv_frag");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->max_recv_frag));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_set_assoc_group_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind *object = (struct dcerpc_bind *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->assoc_group_id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->assoc_group_id));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_set_num_contexts(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind *object = (struct dcerpc_bind *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->num_contexts");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->num_contexts));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_set_ctx_list(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind *object = (struct dcerpc_bind *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ctx_list");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int ctx_list_cntr_0;
if (!object->ctx_list) { return -1;; }
talloc_set_name_const(object->ctx_list, "ARRAY: object->ctx_list");
for (ctx_list_cntr_0 = 0; ctx_list_cntr_0 < PyList_GET_SIZE(value); ctx_list_cntr_0++) {
+ if (PyList_GET_ITEM(value, ctx_list_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ctx_list[ctx_list_cntr_0]");
+ return -1;
+ }
PY_CHECK_TYPE(&dcerpc_ctx_list_Type, PyList_GET_ITEM(value, ctx_list_cntr_0), return -1;);
if (talloc_reference(object->ctx_list, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, ctx_list_cntr_0))) == NULL) {
PyErr_NoMemory();
static int py_dcerpc_bind_set_auth_info(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind *object = (struct dcerpc_bind *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_info");
+ return -1;
+ }
object->auth_info = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static PyGetSetDef py_dcerpc_bind_getsetters[] = {
- { discard_const_p(char, "max_xmit_frag"), py_dcerpc_bind_get_max_xmit_frag, py_dcerpc_bind_set_max_xmit_frag },
- { discard_const_p(char, "max_recv_frag"), py_dcerpc_bind_get_max_recv_frag, py_dcerpc_bind_set_max_recv_frag },
- { discard_const_p(char, "assoc_group_id"), py_dcerpc_bind_get_assoc_group_id, py_dcerpc_bind_set_assoc_group_id },
- { discard_const_p(char, "num_contexts"), py_dcerpc_bind_get_num_contexts, py_dcerpc_bind_set_num_contexts },
- { discard_const_p(char, "ctx_list"), py_dcerpc_bind_get_ctx_list, py_dcerpc_bind_set_ctx_list },
- { discard_const_p(char, "auth_info"), py_dcerpc_bind_get_auth_info, py_dcerpc_bind_set_auth_info },
- { NULL }
+ {
+ .name = discard_const_p(char, "max_xmit_frag"),
+ .get = py_dcerpc_bind_get_max_xmit_frag,
+ .set = py_dcerpc_bind_set_max_xmit_frag,
+ .doc = discard_const_p(char, "PIDL-generated element max_xmit_frag")
+ },
+ {
+ .name = discard_const_p(char, "max_recv_frag"),
+ .get = py_dcerpc_bind_get_max_recv_frag,
+ .set = py_dcerpc_bind_set_max_recv_frag,
+ .doc = discard_const_p(char, "PIDL-generated element max_recv_frag")
+ },
+ {
+ .name = discard_const_p(char, "assoc_group_id"),
+ .get = py_dcerpc_bind_get_assoc_group_id,
+ .set = py_dcerpc_bind_set_assoc_group_id,
+ .doc = discard_const_p(char, "PIDL-generated element assoc_group_id")
+ },
+ {
+ .name = discard_const_p(char, "num_contexts"),
+ .get = py_dcerpc_bind_get_num_contexts,
+ .set = py_dcerpc_bind_set_num_contexts,
+ .doc = discard_const_p(char, "PIDL-generated element num_contexts")
+ },
+ {
+ .name = discard_const_p(char, "ctx_list"),
+ .get = py_dcerpc_bind_get_ctx_list,
+ .set = py_dcerpc_bind_set_ctx_list,
+ .doc = discard_const_p(char, "PIDL-generated element ctx_list")
+ },
+ {
+ .name = discard_const_p(char, "auth_info"),
+ .get = py_dcerpc_bind_get_auth_info,
+ .set = py_dcerpc_bind_set_auth_info,
+ .doc = discard_const_p(char, "PIDL-generated element auth_info")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_bind_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_bind_ndr_pack(PyObject *py_obj)
{
struct dcerpc_bind *object = (struct dcerpc_bind *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_bind);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_bind);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_bind_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_bind *object = (struct dcerpc_bind *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_bind_getsetters,
.tp_methods = py_dcerpc_bind_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_bind_new,
};
.tp_getset = NULL,
.tp_methods = NULL,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_empty_new,
};
union dcerpc_object *ret = talloc_zero(mem_ctx, union dcerpc_object);
switch (level) {
case LIBNDR_FLAG_OBJECT_PRESENT:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->object");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(GUID_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
default:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->empty");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_empty_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
static int py_dcerpc_request_set_alloc_hint(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_request *object = (struct dcerpc_request *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->alloc_hint");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->alloc_hint));
if (PyLong_Check(value)) {
static int py_dcerpc_request_set_context_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_request *object = (struct dcerpc_request *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->context_id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->context_id));
if (PyLong_Check(value)) {
static int py_dcerpc_request_set_opnum(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_request *object = (struct dcerpc_request *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->opnum");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->opnum));
if (PyLong_Check(value)) {
static int py_dcerpc_request_set_object(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_request *object = (struct dcerpc_request *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->object");
+ return -1;
+ }
{
union dcerpc_object *object_switch_0;
object_switch_0 = py_export_dcerpc_object(pytalloc_get_mem_ctx(py_obj), NDR_DCERPC_REQUEST_OBJECT_PRESENT, value);
return 0;
}
-static PyObject *py_dcerpc_request_get__pad(PyObject *obj, void *closure)
-{
- struct dcerpc_request *object = (struct dcerpc_request *)pytalloc_get_ptr(obj);
- PyObject *py__pad;
- py__pad = PyString_FromStringAndSize((char *)(object->_pad).data, (object->_pad).length);
- return py__pad;
-}
-
-static int py_dcerpc_request_set__pad(PyObject *py_obj, PyObject *value, void *closure)
-{
- struct dcerpc_request *object = (struct dcerpc_request *)pytalloc_get_ptr(py_obj);
- object->_pad = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
- return 0;
-}
-
static PyObject *py_dcerpc_request_get_stub_and_verifier(PyObject *obj, void *closure)
{
struct dcerpc_request *object = (struct dcerpc_request *)pytalloc_get_ptr(obj);
static int py_dcerpc_request_set_stub_and_verifier(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_request *object = (struct dcerpc_request *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->stub_and_verifier");
+ return -1;
+ }
object->stub_and_verifier = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static PyGetSetDef py_dcerpc_request_getsetters[] = {
- { discard_const_p(char, "alloc_hint"), py_dcerpc_request_get_alloc_hint, py_dcerpc_request_set_alloc_hint },
- { discard_const_p(char, "context_id"), py_dcerpc_request_get_context_id, py_dcerpc_request_set_context_id },
- { discard_const_p(char, "opnum"), py_dcerpc_request_get_opnum, py_dcerpc_request_set_opnum },
- { discard_const_p(char, "object"), py_dcerpc_request_get_object, py_dcerpc_request_set_object },
- { discard_const_p(char, "_pad"), py_dcerpc_request_get__pad, py_dcerpc_request_set__pad },
- { discard_const_p(char, "stub_and_verifier"), py_dcerpc_request_get_stub_and_verifier, py_dcerpc_request_set_stub_and_verifier },
- { NULL }
+ {
+ .name = discard_const_p(char, "alloc_hint"),
+ .get = py_dcerpc_request_get_alloc_hint,
+ .set = py_dcerpc_request_set_alloc_hint,
+ .doc = discard_const_p(char, "PIDL-generated element alloc_hint")
+ },
+ {
+ .name = discard_const_p(char, "context_id"),
+ .get = py_dcerpc_request_get_context_id,
+ .set = py_dcerpc_request_set_context_id,
+ .doc = discard_const_p(char, "PIDL-generated element context_id")
+ },
+ {
+ .name = discard_const_p(char, "opnum"),
+ .get = py_dcerpc_request_get_opnum,
+ .set = py_dcerpc_request_set_opnum,
+ .doc = discard_const_p(char, "PIDL-generated element opnum")
+ },
+ {
+ .name = discard_const_p(char, "object"),
+ .get = py_dcerpc_request_get_object,
+ .set = py_dcerpc_request_set_object,
+ .doc = discard_const_p(char, "PIDL-generated element object")
+ },
+ {
+ .name = discard_const_p(char, "stub_and_verifier"),
+ .get = py_dcerpc_request_get_stub_and_verifier,
+ .set = py_dcerpc_request_set_stub_and_verifier,
+ .doc = discard_const_p(char, "PIDL-generated element stub_and_verifier")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_request_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
.tp_getset = py_dcerpc_request_getsetters,
.tp_methods = NULL,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_request_new,
};
union dcerpc_bind_ack_reason *ret = talloc_zero(mem_ctx, union dcerpc_bind_ack_reason);
switch (level) {
case DCERPC_BIND_ACK_RESULT_NEGOTIATE_ACK:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->negotiate");
+ talloc_free(ret); return NULL;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(ret->negotiate));
if (PyLong_Check(in)) {
break;
default:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->value");
+ talloc_free(ret); return NULL;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(ret->value));
if (PyLong_Check(in)) {
static int py_dcerpc_ack_ctx_set_result(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_ack_ctx *object = (struct dcerpc_ack_ctx *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->result");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->result));
if (PyLong_Check(value)) {
static int py_dcerpc_ack_ctx_set_reason(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_ack_ctx *object = (struct dcerpc_ack_ctx *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->reason");
+ return -1;
+ }
{
union dcerpc_bind_ack_reason *reason_switch_0;
reason_switch_0 = py_export_dcerpc_bind_ack_reason(pytalloc_get_mem_ctx(py_obj), object->result, value);
static int py_dcerpc_ack_ctx_set_syntax(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_ack_ctx *object = (struct dcerpc_ack_ctx *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->syntax");
+ return -1;
+ }
PY_CHECK_TYPE(ndr_syntax_id_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_dcerpc_ack_ctx_getsetters[] = {
- { discard_const_p(char, "result"), py_dcerpc_ack_ctx_get_result, py_dcerpc_ack_ctx_set_result },
- { discard_const_p(char, "reason"), py_dcerpc_ack_ctx_get_reason, py_dcerpc_ack_ctx_set_reason },
- { discard_const_p(char, "syntax"), py_dcerpc_ack_ctx_get_syntax, py_dcerpc_ack_ctx_set_syntax },
- { NULL }
+ {
+ .name = discard_const_p(char, "result"),
+ .get = py_dcerpc_ack_ctx_get_result,
+ .set = py_dcerpc_ack_ctx_set_result,
+ .doc = discard_const_p(char, "PIDL-generated element result")
+ },
+ {
+ .name = discard_const_p(char, "reason"),
+ .get = py_dcerpc_ack_ctx_get_reason,
+ .set = py_dcerpc_ack_ctx_set_reason,
+ .doc = discard_const_p(char, "PIDL-generated element reason")
+ },
+ {
+ .name = discard_const_p(char, "syntax"),
+ .get = py_dcerpc_ack_ctx_get_syntax,
+ .set = py_dcerpc_ack_ctx_set_syntax,
+ .doc = discard_const_p(char, "PIDL-generated element syntax")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_ack_ctx_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
.tp_getset = py_dcerpc_ack_ctx_getsetters,
.tp_methods = NULL,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_ack_ctx_new,
};
static int py_dcerpc_bind_ack_set_max_xmit_frag(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_ack *object = (struct dcerpc_bind_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->max_xmit_frag");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->max_xmit_frag));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_ack_set_max_recv_frag(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_ack *object = (struct dcerpc_bind_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->max_recv_frag");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->max_recv_frag));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_ack_set_assoc_group_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_ack *object = (struct dcerpc_bind_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->assoc_group_id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->assoc_group_id));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_ack_set_secondary_address_size(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_ack *object = (struct dcerpc_bind_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->secondary_address_size");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->secondary_address_size));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_ack_set_secondary_address(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_ack *object = (struct dcerpc_bind_ack *)pytalloc_get_ptr(py_obj);
- if (PyUnicode_Check(value)) {
- object->secondary_address = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
- } else if (PyString_Check(value)) {
- object->secondary_address = PyString_AS_STRING(value);
- } else {
- PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->secondary_address");
return -1;
}
+ {
+ const char *test_str;
+ const char *talloc_str;
+ PyObject *unicode = NULL;
+ if (PyUnicode_Check(value)) {
+ unicode = PyUnicode_AsEncodedString(value, "utf-8", "ignore");
+ if (unicode == NULL) {
+ PyErr_NoMemory();
+ return -1;
+ }
+ test_str = PyString_AS_STRING(unicode);
+ } else if (PyString_Check(value)) {
+ test_str = PyString_AS_STRING(value);
+ } else {
+ PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
+ return -1;
+ }
+ talloc_str = talloc_strdup(pytalloc_get_mem_ctx(py_obj), test_str);
+ if (unicode != NULL) {
+ Py_DECREF(unicode);
+ }
+ if (talloc_str == NULL) {
+ PyErr_NoMemory();
+ return -1;
+ }
+ object->secondary_address = talloc_str;
+ }
return 0;
}
static int py_dcerpc_bind_ack_set__pad1(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_ack *object = (struct dcerpc_bind_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->_pad1");
+ return -1;
+ }
object->_pad1 = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static int py_dcerpc_bind_ack_set_num_results(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_ack *object = (struct dcerpc_bind_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->num_results");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->num_results));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_ack_set_ctx_list(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_ack *object = (struct dcerpc_bind_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ctx_list");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int ctx_list_cntr_0;
if (!object->ctx_list) { return -1;; }
talloc_set_name_const(object->ctx_list, "ARRAY: object->ctx_list");
for (ctx_list_cntr_0 = 0; ctx_list_cntr_0 < PyList_GET_SIZE(value); ctx_list_cntr_0++) {
+ if (PyList_GET_ITEM(value, ctx_list_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ctx_list[ctx_list_cntr_0]");
+ return -1;
+ }
PY_CHECK_TYPE(&dcerpc_ack_ctx_Type, PyList_GET_ITEM(value, ctx_list_cntr_0), return -1;);
if (talloc_reference(object->ctx_list, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, ctx_list_cntr_0))) == NULL) {
PyErr_NoMemory();
static int py_dcerpc_bind_ack_set_auth_info(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_ack *object = (struct dcerpc_bind_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_info");
+ return -1;
+ }
object->auth_info = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static PyGetSetDef py_dcerpc_bind_ack_getsetters[] = {
- { discard_const_p(char, "max_xmit_frag"), py_dcerpc_bind_ack_get_max_xmit_frag, py_dcerpc_bind_ack_set_max_xmit_frag },
- { discard_const_p(char, "max_recv_frag"), py_dcerpc_bind_ack_get_max_recv_frag, py_dcerpc_bind_ack_set_max_recv_frag },
- { discard_const_p(char, "assoc_group_id"), py_dcerpc_bind_ack_get_assoc_group_id, py_dcerpc_bind_ack_set_assoc_group_id },
- { discard_const_p(char, "secondary_address_size"), py_dcerpc_bind_ack_get_secondary_address_size, py_dcerpc_bind_ack_set_secondary_address_size },
- { discard_const_p(char, "secondary_address"), py_dcerpc_bind_ack_get_secondary_address, py_dcerpc_bind_ack_set_secondary_address },
- { discard_const_p(char, "_pad1"), py_dcerpc_bind_ack_get__pad1, py_dcerpc_bind_ack_set__pad1 },
- { discard_const_p(char, "num_results"), py_dcerpc_bind_ack_get_num_results, py_dcerpc_bind_ack_set_num_results },
- { discard_const_p(char, "ctx_list"), py_dcerpc_bind_ack_get_ctx_list, py_dcerpc_bind_ack_set_ctx_list },
- { discard_const_p(char, "auth_info"), py_dcerpc_bind_ack_get_auth_info, py_dcerpc_bind_ack_set_auth_info },
- { NULL }
+ {
+ .name = discard_const_p(char, "max_xmit_frag"),
+ .get = py_dcerpc_bind_ack_get_max_xmit_frag,
+ .set = py_dcerpc_bind_ack_set_max_xmit_frag,
+ .doc = discard_const_p(char, "PIDL-generated element max_xmit_frag")
+ },
+ {
+ .name = discard_const_p(char, "max_recv_frag"),
+ .get = py_dcerpc_bind_ack_get_max_recv_frag,
+ .set = py_dcerpc_bind_ack_set_max_recv_frag,
+ .doc = discard_const_p(char, "PIDL-generated element max_recv_frag")
+ },
+ {
+ .name = discard_const_p(char, "assoc_group_id"),
+ .get = py_dcerpc_bind_ack_get_assoc_group_id,
+ .set = py_dcerpc_bind_ack_set_assoc_group_id,
+ .doc = discard_const_p(char, "PIDL-generated element assoc_group_id")
+ },
+ {
+ .name = discard_const_p(char, "secondary_address_size"),
+ .get = py_dcerpc_bind_ack_get_secondary_address_size,
+ .set = py_dcerpc_bind_ack_set_secondary_address_size,
+ .doc = discard_const_p(char, "PIDL-generated element secondary_address_size")
+ },
+ {
+ .name = discard_const_p(char, "secondary_address"),
+ .get = py_dcerpc_bind_ack_get_secondary_address,
+ .set = py_dcerpc_bind_ack_set_secondary_address,
+ .doc = discard_const_p(char, "PIDL-generated element secondary_address")
+ },
+ {
+ .name = discard_const_p(char, "_pad1"),
+ .get = py_dcerpc_bind_ack_get__pad1,
+ .set = py_dcerpc_bind_ack_set__pad1,
+ .doc = discard_const_p(char, "PIDL-generated element _pad1")
+ },
+ {
+ .name = discard_const_p(char, "num_results"),
+ .get = py_dcerpc_bind_ack_get_num_results,
+ .set = py_dcerpc_bind_ack_set_num_results,
+ .doc = discard_const_p(char, "PIDL-generated element num_results")
+ },
+ {
+ .name = discard_const_p(char, "ctx_list"),
+ .get = py_dcerpc_bind_ack_get_ctx_list,
+ .set = py_dcerpc_bind_ack_set_ctx_list,
+ .doc = discard_const_p(char, "PIDL-generated element ctx_list")
+ },
+ {
+ .name = discard_const_p(char, "auth_info"),
+ .get = py_dcerpc_bind_ack_get_auth_info,
+ .set = py_dcerpc_bind_ack_set_auth_info,
+ .doc = discard_const_p(char, "PIDL-generated element auth_info")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_bind_ack_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
.tp_getset = py_dcerpc_bind_ack_getsetters,
.tp_methods = NULL,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_bind_ack_new,
};
static int py_dcerpc_bind_nak_version_set_rpc_vers(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_nak_version *object = (struct dcerpc_bind_nak_version *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->rpc_vers");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->rpc_vers));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_nak_version_set_rpc_vers_minor(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_nak_version *object = (struct dcerpc_bind_nak_version *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->rpc_vers_minor");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->rpc_vers_minor));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_bind_nak_version_getsetters[] = {
- { discard_const_p(char, "rpc_vers"), py_dcerpc_bind_nak_version_get_rpc_vers, py_dcerpc_bind_nak_version_set_rpc_vers },
- { discard_const_p(char, "rpc_vers_minor"), py_dcerpc_bind_nak_version_get_rpc_vers_minor, py_dcerpc_bind_nak_version_set_rpc_vers_minor },
- { NULL }
+ {
+ .name = discard_const_p(char, "rpc_vers"),
+ .get = py_dcerpc_bind_nak_version_get_rpc_vers,
+ .set = py_dcerpc_bind_nak_version_set_rpc_vers,
+ .doc = discard_const_p(char, "PIDL-generated element rpc_vers")
+ },
+ {
+ .name = discard_const_p(char, "rpc_vers_minor"),
+ .get = py_dcerpc_bind_nak_version_get_rpc_vers_minor,
+ .set = py_dcerpc_bind_nak_version_set_rpc_vers_minor,
+ .doc = discard_const_p(char, "PIDL-generated element rpc_vers_minor")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_bind_nak_version_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
return pytalloc_new(struct dcerpc_bind_nak_version, type);
}
+static PyObject *py_dcerpc_bind_nak_version_ndr_pack(PyObject *py_obj)
+{
+ struct dcerpc_bind_nak_version *object = (struct dcerpc_bind_nak_version *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
+ DATA_BLOB blob;
+ enum ndr_err_code err;
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_bind_nak_version);
+ if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
+ PyErr_SetNdrError(err);
+ return NULL;
+ }
+
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
+}
+
+static PyObject *py_dcerpc_bind_nak_version_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
+{
+ struct dcerpc_bind_nak_version *object = (struct dcerpc_bind_nak_version *)pytalloc_get_ptr(py_obj);
+ DATA_BLOB blob;
+ Py_ssize_t blob_length = 0;
+ enum ndr_err_code err;
+ const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
+ PyObject *allow_remaining_obj = NULL;
+ bool allow_remaining = false;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
+ discard_const_p(char *, kwnames),
+ &blob.data, &blob_length,
+ &allow_remaining_obj)) {
+ return NULL;
+ }
+ blob.length = blob_length;
+
+ if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
+ allow_remaining = true;
+ }
+
+ if (allow_remaining) {
+ err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_dcerpc_bind_nak_version);
+ } else {
+ err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_dcerpc_bind_nak_version);
+ }
+ if (err != NDR_ERR_SUCCESS) {
+ PyErr_SetNdrError(err);
+ return NULL;
+ }
+
+ Py_RETURN_NONE;
+}
+
+static PyObject *py_dcerpc_bind_nak_version_ndr_print(PyObject *py_obj)
+{
+ struct dcerpc_bind_nak_version *object = (struct dcerpc_bind_nak_version *)pytalloc_get_ptr(py_obj);
+ PyObject *ret;
+ char *retstr;
+
+ retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_dcerpc_bind_nak_version, "dcerpc_bind_nak_version", object);
+ ret = PyString_FromString(retstr);
+ talloc_free(retstr);
+
+ return ret;
+}
+
+static PyMethodDef py_dcerpc_bind_nak_version_methods[] = {
+ { "__ndr_pack__", (PyCFunction)py_dcerpc_bind_nak_version_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
+ { "__ndr_unpack__", (PyCFunction)py_dcerpc_bind_nak_version_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
+ { "__ndr_print__", (PyCFunction)py_dcerpc_bind_nak_version_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
+ { NULL, NULL, 0, NULL }
+};
+
static PyTypeObject dcerpc_bind_nak_version_Type = {
PyObject_HEAD_INIT(NULL) 0,
.tp_name = "dcerpc.bind_nak_version",
.tp_getset = py_dcerpc_bind_nak_version_getsetters,
- .tp_methods = NULL,
+ .tp_methods = py_dcerpc_bind_nak_version_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_bind_nak_version_new,
};
static int py_dcerpc_bind_nak_set_reject_reason(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_nak *object = (struct dcerpc_bind_nak *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->reject_reason");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->reject_reason));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_nak_set_num_versions(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_nak *object = (struct dcerpc_bind_nak *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->num_versions");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->num_versions));
if (PyLong_Check(value)) {
static int py_dcerpc_bind_nak_set_versions(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_nak *object = (struct dcerpc_bind_nak *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->versions");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int versions_cntr_0;
if (!object->versions) { return -1;; }
talloc_set_name_const(object->versions, "ARRAY: object->versions");
for (versions_cntr_0 = 0; versions_cntr_0 < PyList_GET_SIZE(value); versions_cntr_0++) {
+ if (PyList_GET_ITEM(value, versions_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->versions[versions_cntr_0]");
+ return -1;
+ }
PY_CHECK_TYPE(&dcerpc_bind_nak_version_Type, PyList_GET_ITEM(value, versions_cntr_0), return -1;);
if (talloc_reference(object->versions, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, versions_cntr_0))) == NULL) {
PyErr_NoMemory();
static int py_dcerpc_bind_nak_set__pad(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_bind_nak *object = (struct dcerpc_bind_nak *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->_pad");
+ return -1;
+ }
object->_pad = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static PyGetSetDef py_dcerpc_bind_nak_getsetters[] = {
- { discard_const_p(char, "reject_reason"), py_dcerpc_bind_nak_get_reject_reason, py_dcerpc_bind_nak_set_reject_reason },
- { discard_const_p(char, "num_versions"), py_dcerpc_bind_nak_get_num_versions, py_dcerpc_bind_nak_set_num_versions },
- { discard_const_p(char, "versions"), py_dcerpc_bind_nak_get_versions, py_dcerpc_bind_nak_set_versions },
- { discard_const_p(char, "_pad"), py_dcerpc_bind_nak_get__pad, py_dcerpc_bind_nak_set__pad },
- { NULL }
+ {
+ .name = discard_const_p(char, "reject_reason"),
+ .get = py_dcerpc_bind_nak_get_reject_reason,
+ .set = py_dcerpc_bind_nak_set_reject_reason,
+ .doc = discard_const_p(char, "PIDL-generated element reject_reason")
+ },
+ {
+ .name = discard_const_p(char, "num_versions"),
+ .get = py_dcerpc_bind_nak_get_num_versions,
+ .set = py_dcerpc_bind_nak_set_num_versions,
+ .doc = discard_const_p(char, "PIDL-generated element num_versions")
+ },
+ {
+ .name = discard_const_p(char, "versions"),
+ .get = py_dcerpc_bind_nak_get_versions,
+ .set = py_dcerpc_bind_nak_set_versions,
+ .doc = discard_const_p(char, "PIDL-generated element versions")
+ },
+ {
+ .name = discard_const_p(char, "_pad"),
+ .get = py_dcerpc_bind_nak_get__pad,
+ .set = py_dcerpc_bind_nak_set__pad,
+ .doc = discard_const_p(char, "PIDL-generated element _pad")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_bind_nak_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
return pytalloc_new(struct dcerpc_bind_nak, type);
}
+static PyObject *py_dcerpc_bind_nak_ndr_pack(PyObject *py_obj)
+{
+ struct dcerpc_bind_nak *object = (struct dcerpc_bind_nak *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
+ DATA_BLOB blob;
+ enum ndr_err_code err;
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_bind_nak);
+ if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
+ PyErr_SetNdrError(err);
+ return NULL;
+ }
+
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
+}
+
+static PyObject *py_dcerpc_bind_nak_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
+{
+ struct dcerpc_bind_nak *object = (struct dcerpc_bind_nak *)pytalloc_get_ptr(py_obj);
+ DATA_BLOB blob;
+ Py_ssize_t blob_length = 0;
+ enum ndr_err_code err;
+ const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
+ PyObject *allow_remaining_obj = NULL;
+ bool allow_remaining = false;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|O:__ndr_unpack__",
+ discard_const_p(char *, kwnames),
+ &blob.data, &blob_length,
+ &allow_remaining_obj)) {
+ return NULL;
+ }
+ blob.length = blob_length;
+
+ if (allow_remaining_obj && PyObject_IsTrue(allow_remaining_obj)) {
+ allow_remaining = true;
+ }
+
+ if (allow_remaining) {
+ err = ndr_pull_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_dcerpc_bind_nak);
+ } else {
+ err = ndr_pull_struct_blob_all(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_dcerpc_bind_nak);
+ }
+ if (err != NDR_ERR_SUCCESS) {
+ PyErr_SetNdrError(err);
+ return NULL;
+ }
+
+ Py_RETURN_NONE;
+}
+
+static PyObject *py_dcerpc_bind_nak_ndr_print(PyObject *py_obj)
+{
+ struct dcerpc_bind_nak *object = (struct dcerpc_bind_nak *)pytalloc_get_ptr(py_obj);
+ PyObject *ret;
+ char *retstr;
+
+ retstr = ndr_print_struct_string(pytalloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_dcerpc_bind_nak, "dcerpc_bind_nak", object);
+ ret = PyString_FromString(retstr);
+ talloc_free(retstr);
+
+ return ret;
+}
+
+static PyMethodDef py_dcerpc_bind_nak_methods[] = {
+ { "__ndr_pack__", (PyCFunction)py_dcerpc_bind_nak_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
+ { "__ndr_unpack__", (PyCFunction)py_dcerpc_bind_nak_ndr_unpack, METH_VARARGS|METH_KEYWORDS, "S.ndr_unpack(class, blob, allow_remaining=False) -> None\nNDR unpack" },
+ { "__ndr_print__", (PyCFunction)py_dcerpc_bind_nak_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
+ { NULL, NULL, 0, NULL }
+};
+
static PyTypeObject dcerpc_bind_nak_Type = {
PyObject_HEAD_INIT(NULL) 0,
.tp_name = "dcerpc.bind_nak",
.tp_getset = py_dcerpc_bind_nak_getsetters,
- .tp_methods = NULL,
+ .tp_methods = py_dcerpc_bind_nak_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_bind_nak_new,
};
static int py_dcerpc_response_set_alloc_hint(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_response *object = (struct dcerpc_response *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->alloc_hint");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->alloc_hint));
if (PyLong_Check(value)) {
static int py_dcerpc_response_set_context_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_response *object = (struct dcerpc_response *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->context_id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->context_id));
if (PyLong_Check(value)) {
static int py_dcerpc_response_set_cancel_count(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_response *object = (struct dcerpc_response *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->cancel_count");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->cancel_count));
if (PyLong_Check(value)) {
return 0;
}
-static PyObject *py_dcerpc_response_get__pad(PyObject *obj, void *closure)
+static PyObject *py_dcerpc_response_get_reserved(PyObject *obj, void *closure)
{
struct dcerpc_response *object = (struct dcerpc_response *)pytalloc_get_ptr(obj);
- PyObject *py__pad;
- py__pad = PyString_FromStringAndSize((char *)(object->_pad).data, (object->_pad).length);
- return py__pad;
+ PyObject *py_reserved;
+ py_reserved = PyInt_FromLong((uint16_t)object->reserved);
+ return py_reserved;
}
-static int py_dcerpc_response_set__pad(PyObject *py_obj, PyObject *value, void *closure)
+static int py_dcerpc_response_set_reserved(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_response *object = (struct dcerpc_response *)pytalloc_get_ptr(py_obj);
- object->_pad = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->reserved");
+ return -1;
+ }
+ {
+ const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->reserved));
+ if (PyLong_Check(value)) {
+ unsigned long long test_var;
+ test_var = PyLong_AsUnsignedLongLong(value);
+ if (PyErr_Occurred() != NULL) {
+ return -1;
+ }
+ if (test_var > uint_max) {
+ PyErr_Format(PyExc_OverflowError, "Expected type %s or %s within range 0 - %llu, got %llu",\
+ PyInt_Type.tp_name, PyLong_Type.tp_name, uint_max, test_var);
+ return -1;
+ }
+ object->reserved = test_var;
+ } else if (PyInt_Check(value)) {
+ long test_var;
+ test_var = PyInt_AsLong(value);
+ if (test_var < 0 || test_var > uint_max) {
+ PyErr_Format(PyExc_OverflowError, "Expected type %s or %s within range 0 - %llu, got %ld",\
+ PyInt_Type.tp_name, PyLong_Type.tp_name, uint_max, test_var);
+ return -1;
+ }
+ object->reserved = test_var;
+ } else {
+ PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
+ PyInt_Type.tp_name, PyLong_Type.tp_name);
+ return -1;
+ }
+ }
return 0;
}
static int py_dcerpc_response_set_stub_and_verifier(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_response *object = (struct dcerpc_response *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->stub_and_verifier");
+ return -1;
+ }
object->stub_and_verifier = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static PyGetSetDef py_dcerpc_response_getsetters[] = {
- { discard_const_p(char, "alloc_hint"), py_dcerpc_response_get_alloc_hint, py_dcerpc_response_set_alloc_hint },
- { discard_const_p(char, "context_id"), py_dcerpc_response_get_context_id, py_dcerpc_response_set_context_id },
- { discard_const_p(char, "cancel_count"), py_dcerpc_response_get_cancel_count, py_dcerpc_response_set_cancel_count },
- { discard_const_p(char, "_pad"), py_dcerpc_response_get__pad, py_dcerpc_response_set__pad },
- { discard_const_p(char, "stub_and_verifier"), py_dcerpc_response_get_stub_and_verifier, py_dcerpc_response_set_stub_and_verifier },
- { NULL }
+ {
+ .name = discard_const_p(char, "alloc_hint"),
+ .get = py_dcerpc_response_get_alloc_hint,
+ .set = py_dcerpc_response_set_alloc_hint,
+ .doc = discard_const_p(char, "PIDL-generated element alloc_hint")
+ },
+ {
+ .name = discard_const_p(char, "context_id"),
+ .get = py_dcerpc_response_get_context_id,
+ .set = py_dcerpc_response_set_context_id,
+ .doc = discard_const_p(char, "PIDL-generated element context_id")
+ },
+ {
+ .name = discard_const_p(char, "cancel_count"),
+ .get = py_dcerpc_response_get_cancel_count,
+ .set = py_dcerpc_response_set_cancel_count,
+ .doc = discard_const_p(char, "PIDL-generated element cancel_count")
+ },
+ {
+ .name = discard_const_p(char, "reserved"),
+ .get = py_dcerpc_response_get_reserved,
+ .set = py_dcerpc_response_set_reserved,
+ .doc = discard_const_p(char, "PIDL-generated element reserved")
+ },
+ {
+ .name = discard_const_p(char, "stub_and_verifier"),
+ .get = py_dcerpc_response_get_stub_and_verifier,
+ .set = py_dcerpc_response_set_stub_and_verifier,
+ .doc = discard_const_p(char, "PIDL-generated element stub_and_verifier")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_response_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
.tp_getset = py_dcerpc_response_getsetters,
.tp_methods = NULL,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_response_new,
};
static int py_dcerpc_fault_set_alloc_hint(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->alloc_hint");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->alloc_hint));
if (PyLong_Check(value)) {
static int py_dcerpc_fault_set_context_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->context_id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->context_id));
if (PyLong_Check(value)) {
static int py_dcerpc_fault_set_cancel_count(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->cancel_count");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->cancel_count));
if (PyLong_Check(value)) {
return 0;
}
+static PyObject *py_dcerpc_fault_get_flags(PyObject *obj, void *closure)
+{
+ struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(obj);
+ PyObject *py_flags;
+ py_flags = PyInt_FromLong((uint16_t)object->flags);
+ return py_flags;
+}
+
+static int py_dcerpc_fault_set_flags(PyObject *py_obj, PyObject *value, void *closure)
+{
+ struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->flags");
+ return -1;
+ }
+ {
+ const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->flags));
+ if (PyLong_Check(value)) {
+ unsigned long long test_var;
+ test_var = PyLong_AsUnsignedLongLong(value);
+ if (PyErr_Occurred() != NULL) {
+ return -1;
+ }
+ if (test_var > uint_max) {
+ PyErr_Format(PyExc_OverflowError, "Expected type %s or %s within range 0 - %llu, got %llu",\
+ PyInt_Type.tp_name, PyLong_Type.tp_name, uint_max, test_var);
+ return -1;
+ }
+ object->flags = test_var;
+ } else if (PyInt_Check(value)) {
+ long test_var;
+ test_var = PyInt_AsLong(value);
+ if (test_var < 0 || test_var > uint_max) {
+ PyErr_Format(PyExc_OverflowError, "Expected type %s or %s within range 0 - %llu, got %ld",\
+ PyInt_Type.tp_name, PyLong_Type.tp_name, uint_max, test_var);
+ return -1;
+ }
+ object->flags = test_var;
+ } else {
+ PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
+ PyInt_Type.tp_name, PyLong_Type.tp_name);
+ return -1;
+ }
+ }
+ return 0;
+}
+
static PyObject *py_dcerpc_fault_get_status(PyObject *obj, void *closure)
{
struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(obj);
static int py_dcerpc_fault_set_status(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->status");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->status));
if (PyLong_Check(value)) {
{
struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(obj);
PyObject *py__pad;
- py__pad = PyString_FromStringAndSize((char *)(object->_pad).data, (object->_pad).length);
+ py__pad = ndr_PyLong_FromUnsignedLongLong((uint32_t)object->_pad);
return py__pad;
}
static int py_dcerpc_fault_set__pad(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(py_obj);
- object->_pad = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->_pad");
+ return -1;
+ }
+ {
+ const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->_pad));
+ if (PyLong_Check(value)) {
+ unsigned long long test_var;
+ test_var = PyLong_AsUnsignedLongLong(value);
+ if (PyErr_Occurred() != NULL) {
+ return -1;
+ }
+ if (test_var > uint_max) {
+ PyErr_Format(PyExc_OverflowError, "Expected type %s or %s within range 0 - %llu, got %llu",\
+ PyInt_Type.tp_name, PyLong_Type.tp_name, uint_max, test_var);
+ return -1;
+ }
+ object->_pad = test_var;
+ } else if (PyInt_Check(value)) {
+ long test_var;
+ test_var = PyInt_AsLong(value);
+ if (test_var < 0 || test_var > uint_max) {
+ PyErr_Format(PyExc_OverflowError, "Expected type %s or %s within range 0 - %llu, got %ld",\
+ PyInt_Type.tp_name, PyLong_Type.tp_name, uint_max, test_var);
+ return -1;
+ }
+ object->_pad = test_var;
+ } else {
+ PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
+ PyInt_Type.tp_name, PyLong_Type.tp_name);
+ return -1;
+ }
+ }
+ return 0;
+}
+
+static PyObject *py_dcerpc_fault_get_error_and_verifier(PyObject *obj, void *closure)
+{
+ struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(obj);
+ PyObject *py_error_and_verifier;
+ py_error_and_verifier = PyString_FromStringAndSize((char *)(object->error_and_verifier).data, (object->error_and_verifier).length);
+ return py_error_and_verifier;
+}
+
+static int py_dcerpc_fault_set_error_and_verifier(PyObject *py_obj, PyObject *value, void *closure)
+{
+ struct dcerpc_fault *object = (struct dcerpc_fault *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->error_and_verifier");
+ return -1;
+ }
+ object->error_and_verifier = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static PyGetSetDef py_dcerpc_fault_getsetters[] = {
- { discard_const_p(char, "alloc_hint"), py_dcerpc_fault_get_alloc_hint, py_dcerpc_fault_set_alloc_hint },
- { discard_const_p(char, "context_id"), py_dcerpc_fault_get_context_id, py_dcerpc_fault_set_context_id },
- { discard_const_p(char, "cancel_count"), py_dcerpc_fault_get_cancel_count, py_dcerpc_fault_set_cancel_count },
- { discard_const_p(char, "status"), py_dcerpc_fault_get_status, py_dcerpc_fault_set_status },
- { discard_const_p(char, "_pad"), py_dcerpc_fault_get__pad, py_dcerpc_fault_set__pad },
- { NULL }
+ {
+ .name = discard_const_p(char, "alloc_hint"),
+ .get = py_dcerpc_fault_get_alloc_hint,
+ .set = py_dcerpc_fault_set_alloc_hint,
+ .doc = discard_const_p(char, "PIDL-generated element alloc_hint")
+ },
+ {
+ .name = discard_const_p(char, "context_id"),
+ .get = py_dcerpc_fault_get_context_id,
+ .set = py_dcerpc_fault_set_context_id,
+ .doc = discard_const_p(char, "PIDL-generated element context_id")
+ },
+ {
+ .name = discard_const_p(char, "cancel_count"),
+ .get = py_dcerpc_fault_get_cancel_count,
+ .set = py_dcerpc_fault_set_cancel_count,
+ .doc = discard_const_p(char, "PIDL-generated element cancel_count")
+ },
+ {
+ .name = discard_const_p(char, "flags"),
+ .get = py_dcerpc_fault_get_flags,
+ .set = py_dcerpc_fault_set_flags,
+ .doc = discard_const_p(char, "PIDL-generated element flags")
+ },
+ {
+ .name = discard_const_p(char, "status"),
+ .get = py_dcerpc_fault_get_status,
+ .set = py_dcerpc_fault_set_status,
+ .doc = discard_const_p(char, "PIDL-generated element status")
+ },
+ {
+ .name = discard_const_p(char, "_pad"),
+ .get = py_dcerpc_fault_get__pad,
+ .set = py_dcerpc_fault_set__pad,
+ .doc = discard_const_p(char, "PIDL-generated element _pad")
+ },
+ {
+ .name = discard_const_p(char, "error_and_verifier"),
+ .get = py_dcerpc_fault_get_error_and_verifier,
+ .set = py_dcerpc_fault_set_error_and_verifier,
+ .doc = discard_const_p(char, "PIDL-generated element error_and_verifier")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_fault_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
.tp_getset = py_dcerpc_fault_getsetters,
.tp_methods = NULL,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_fault_new,
};
static int py_dcerpc_auth_set_auth_type(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_auth *object = (struct dcerpc_auth *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_type");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->auth_type));
if (PyLong_Check(value)) {
static int py_dcerpc_auth_set_auth_level(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_auth *object = (struct dcerpc_auth *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_level");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->auth_level));
if (PyLong_Check(value)) {
static int py_dcerpc_auth_set_auth_pad_length(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_auth *object = (struct dcerpc_auth *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_pad_length");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->auth_pad_length));
if (PyLong_Check(value)) {
static int py_dcerpc_auth_set_auth_reserved(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_auth *object = (struct dcerpc_auth *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_reserved");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->auth_reserved));
if (PyLong_Check(value)) {
static int py_dcerpc_auth_set_auth_context_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_auth *object = (struct dcerpc_auth *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_context_id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->auth_context_id));
if (PyLong_Check(value)) {
static int py_dcerpc_auth_set_credentials(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_auth *object = (struct dcerpc_auth *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->credentials");
+ return -1;
+ }
object->credentials = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static PyGetSetDef py_dcerpc_auth_getsetters[] = {
- { discard_const_p(char, "auth_type"), py_dcerpc_auth_get_auth_type, py_dcerpc_auth_set_auth_type },
- { discard_const_p(char, "auth_level"), py_dcerpc_auth_get_auth_level, py_dcerpc_auth_set_auth_level },
- { discard_const_p(char, "auth_pad_length"), py_dcerpc_auth_get_auth_pad_length, py_dcerpc_auth_set_auth_pad_length },
- { discard_const_p(char, "auth_reserved"), py_dcerpc_auth_get_auth_reserved, py_dcerpc_auth_set_auth_reserved },
- { discard_const_p(char, "auth_context_id"), py_dcerpc_auth_get_auth_context_id, py_dcerpc_auth_set_auth_context_id },
- { discard_const_p(char, "credentials"), py_dcerpc_auth_get_credentials, py_dcerpc_auth_set_credentials },
- { NULL }
+ {
+ .name = discard_const_p(char, "auth_type"),
+ .get = py_dcerpc_auth_get_auth_type,
+ .set = py_dcerpc_auth_set_auth_type,
+ .doc = discard_const_p(char, "PIDL-generated element auth_type")
+ },
+ {
+ .name = discard_const_p(char, "auth_level"),
+ .get = py_dcerpc_auth_get_auth_level,
+ .set = py_dcerpc_auth_set_auth_level,
+ .doc = discard_const_p(char, "PIDL-generated element auth_level")
+ },
+ {
+ .name = discard_const_p(char, "auth_pad_length"),
+ .get = py_dcerpc_auth_get_auth_pad_length,
+ .set = py_dcerpc_auth_set_auth_pad_length,
+ .doc = discard_const_p(char, "PIDL-generated element auth_pad_length")
+ },
+ {
+ .name = discard_const_p(char, "auth_reserved"),
+ .get = py_dcerpc_auth_get_auth_reserved,
+ .set = py_dcerpc_auth_set_auth_reserved,
+ .doc = discard_const_p(char, "PIDL-generated element auth_reserved")
+ },
+ {
+ .name = discard_const_p(char, "auth_context_id"),
+ .get = py_dcerpc_auth_get_auth_context_id,
+ .set = py_dcerpc_auth_set_auth_context_id,
+ .doc = discard_const_p(char, "PIDL-generated element auth_context_id")
+ },
+ {
+ .name = discard_const_p(char, "credentials"),
+ .get = py_dcerpc_auth_get_credentials,
+ .set = py_dcerpc_auth_set_credentials,
+ .doc = discard_const_p(char, "PIDL-generated element credentials")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_auth_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_auth_ndr_pack(PyObject *py_obj)
{
struct dcerpc_auth *object = (struct dcerpc_auth *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_auth);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_auth);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_auth_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_auth *object = (struct dcerpc_auth *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_auth_getsetters,
.tp_methods = py_dcerpc_auth_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_auth_new,
};
static int py_dcerpc_auth3_set__pad(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_auth3 *object = (struct dcerpc_auth3 *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->_pad");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->_pad));
if (PyLong_Check(value)) {
static int py_dcerpc_auth3_set_auth_info(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_auth3 *object = (struct dcerpc_auth3 *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_info");
+ return -1;
+ }
object->auth_info = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static PyGetSetDef py_dcerpc_auth3_getsetters[] = {
- { discard_const_p(char, "_pad"), py_dcerpc_auth3_get__pad, py_dcerpc_auth3_set__pad },
- { discard_const_p(char, "auth_info"), py_dcerpc_auth3_get_auth_info, py_dcerpc_auth3_set_auth_info },
- { NULL }
+ {
+ .name = discard_const_p(char, "_pad"),
+ .get = py_dcerpc_auth3_get__pad,
+ .set = py_dcerpc_auth3_set__pad,
+ .doc = discard_const_p(char, "PIDL-generated element _pad")
+ },
+ {
+ .name = discard_const_p(char, "auth_info"),
+ .get = py_dcerpc_auth3_get_auth_info,
+ .set = py_dcerpc_auth3_set_auth_info,
+ .doc = discard_const_p(char, "PIDL-generated element auth_info")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_auth3_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_auth3_ndr_pack(PyObject *py_obj)
{
struct dcerpc_auth3 *object = (struct dcerpc_auth3 *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_auth3);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_auth3);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_auth3_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_auth3 *object = (struct dcerpc_auth3 *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_auth3_getsetters,
.tp_methods = py_dcerpc_auth3_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_auth3_new,
};
static int py_dcerpc_orphaned_set__pad(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_orphaned *object = (struct dcerpc_orphaned *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->_pad");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->_pad));
if (PyLong_Check(value)) {
static int py_dcerpc_orphaned_set_auth_info(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_orphaned *object = (struct dcerpc_orphaned *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_info");
+ return -1;
+ }
object->auth_info = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static PyGetSetDef py_dcerpc_orphaned_getsetters[] = {
- { discard_const_p(char, "_pad"), py_dcerpc_orphaned_get__pad, py_dcerpc_orphaned_set__pad },
- { discard_const_p(char, "auth_info"), py_dcerpc_orphaned_get_auth_info, py_dcerpc_orphaned_set_auth_info },
- { NULL }
+ {
+ .name = discard_const_p(char, "_pad"),
+ .get = py_dcerpc_orphaned_get__pad,
+ .set = py_dcerpc_orphaned_set__pad,
+ .doc = discard_const_p(char, "PIDL-generated element _pad")
+ },
+ {
+ .name = discard_const_p(char, "auth_info"),
+ .get = py_dcerpc_orphaned_get_auth_info,
+ .set = py_dcerpc_orphaned_set_auth_info,
+ .doc = discard_const_p(char, "PIDL-generated element auth_info")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_orphaned_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_orphaned_ndr_pack(PyObject *py_obj)
{
struct dcerpc_orphaned *object = (struct dcerpc_orphaned *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_orphaned);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_orphaned);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_orphaned_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_orphaned *object = (struct dcerpc_orphaned *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_orphaned_getsetters,
.tp_methods = py_dcerpc_orphaned_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_orphaned_new,
};
static int py_dcerpc_co_cancel_set__pad(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_co_cancel *object = (struct dcerpc_co_cancel *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->_pad");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->_pad));
if (PyLong_Check(value)) {
static int py_dcerpc_co_cancel_set_auth_info(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_co_cancel *object = (struct dcerpc_co_cancel *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_info");
+ return -1;
+ }
object->auth_info = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static PyGetSetDef py_dcerpc_co_cancel_getsetters[] = {
- { discard_const_p(char, "_pad"), py_dcerpc_co_cancel_get__pad, py_dcerpc_co_cancel_set__pad },
- { discard_const_p(char, "auth_info"), py_dcerpc_co_cancel_get_auth_info, py_dcerpc_co_cancel_set_auth_info },
- { NULL }
+ {
+ .name = discard_const_p(char, "_pad"),
+ .get = py_dcerpc_co_cancel_get__pad,
+ .set = py_dcerpc_co_cancel_set__pad,
+ .doc = discard_const_p(char, "PIDL-generated element _pad")
+ },
+ {
+ .name = discard_const_p(char, "auth_info"),
+ .get = py_dcerpc_co_cancel_get_auth_info,
+ .set = py_dcerpc_co_cancel_set_auth_info,
+ .doc = discard_const_p(char, "PIDL-generated element auth_info")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_co_cancel_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_co_cancel_ndr_pack(PyObject *py_obj)
{
struct dcerpc_co_cancel *object = (struct dcerpc_co_cancel *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_co_cancel);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_co_cancel);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_co_cancel_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_co_cancel *object = (struct dcerpc_co_cancel *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_co_cancel_getsetters,
.tp_methods = py_dcerpc_co_cancel_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_co_cancel_new,
};
static int py_dcerpc_cl_cancel_set_version(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_cl_cancel *object = (struct dcerpc_cl_cancel *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->version");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->version));
if (PyLong_Check(value)) {
static int py_dcerpc_cl_cancel_set_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_cl_cancel *object = (struct dcerpc_cl_cancel *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->id));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_cl_cancel_getsetters[] = {
- { discard_const_p(char, "version"), py_dcerpc_cl_cancel_get_version, py_dcerpc_cl_cancel_set_version },
- { discard_const_p(char, "id"), py_dcerpc_cl_cancel_get_id, py_dcerpc_cl_cancel_set_id },
- { NULL }
+ {
+ .name = discard_const_p(char, "version"),
+ .get = py_dcerpc_cl_cancel_get_version,
+ .set = py_dcerpc_cl_cancel_set_version,
+ .doc = discard_const_p(char, "PIDL-generated element version")
+ },
+ {
+ .name = discard_const_p(char, "id"),
+ .get = py_dcerpc_cl_cancel_get_id,
+ .set = py_dcerpc_cl_cancel_set_id,
+ .doc = discard_const_p(char, "PIDL-generated element id")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_cl_cancel_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_cl_cancel_ndr_pack(PyObject *py_obj)
{
struct dcerpc_cl_cancel *object = (struct dcerpc_cl_cancel *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_cl_cancel);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_cl_cancel);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_cl_cancel_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_cl_cancel *object = (struct dcerpc_cl_cancel *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_cl_cancel_getsetters,
.tp_methods = py_dcerpc_cl_cancel_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_cl_cancel_new,
};
static int py_dcerpc_cancel_ack_set_version(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_cancel_ack *object = (struct dcerpc_cancel_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->version");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->version));
if (PyLong_Check(value)) {
static int py_dcerpc_cancel_ack_set_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_cancel_ack *object = (struct dcerpc_cancel_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->id));
if (PyLong_Check(value)) {
static int py_dcerpc_cancel_ack_set_server_is_accepting(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_cancel_ack *object = (struct dcerpc_cancel_ack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->server_is_accepting");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->server_is_accepting));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_cancel_ack_getsetters[] = {
- { discard_const_p(char, "version"), py_dcerpc_cancel_ack_get_version, py_dcerpc_cancel_ack_set_version },
- { discard_const_p(char, "id"), py_dcerpc_cancel_ack_get_id, py_dcerpc_cancel_ack_set_id },
- { discard_const_p(char, "server_is_accepting"), py_dcerpc_cancel_ack_get_server_is_accepting, py_dcerpc_cancel_ack_set_server_is_accepting },
- { NULL }
+ {
+ .name = discard_const_p(char, "version"),
+ .get = py_dcerpc_cancel_ack_get_version,
+ .set = py_dcerpc_cancel_ack_set_version,
+ .doc = discard_const_p(char, "PIDL-generated element version")
+ },
+ {
+ .name = discard_const_p(char, "id"),
+ .get = py_dcerpc_cancel_ack_get_id,
+ .set = py_dcerpc_cancel_ack_set_id,
+ .doc = discard_const_p(char, "PIDL-generated element id")
+ },
+ {
+ .name = discard_const_p(char, "server_is_accepting"),
+ .get = py_dcerpc_cancel_ack_get_server_is_accepting,
+ .set = py_dcerpc_cancel_ack_set_server_is_accepting,
+ .doc = discard_const_p(char, "PIDL-generated element server_is_accepting")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_cancel_ack_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_cancel_ack_ndr_pack(PyObject *py_obj)
{
struct dcerpc_cancel_ack *object = (struct dcerpc_cancel_ack *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_cancel_ack);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_cancel_ack);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_cancel_ack_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_cancel_ack *object = (struct dcerpc_cancel_ack *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_cancel_ack_getsetters,
.tp_methods = py_dcerpc_cancel_ack_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_cancel_ack_new,
};
static int py_dcerpc_fack_set_version(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fack *object = (struct dcerpc_fack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->version");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->version));
if (PyLong_Check(value)) {
static int py_dcerpc_fack_set__pad1(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fack *object = (struct dcerpc_fack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->_pad1");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->_pad1));
if (PyLong_Check(value)) {
static int py_dcerpc_fack_set_window_size(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fack *object = (struct dcerpc_fack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->window_size");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->window_size));
if (PyLong_Check(value)) {
static int py_dcerpc_fack_set_max_tdsu(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fack *object = (struct dcerpc_fack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->max_tdsu");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->max_tdsu));
if (PyLong_Check(value)) {
static int py_dcerpc_fack_set_max_frag_size(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fack *object = (struct dcerpc_fack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->max_frag_size");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->max_frag_size));
if (PyLong_Check(value)) {
static int py_dcerpc_fack_set_serial_no(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fack *object = (struct dcerpc_fack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->serial_no");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->serial_no));
if (PyLong_Check(value)) {
static int py_dcerpc_fack_set_selack_size(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fack *object = (struct dcerpc_fack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->selack_size");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->selack_size));
if (PyLong_Check(value)) {
static int py_dcerpc_fack_set_selack(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_fack *object = (struct dcerpc_fack *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->selack");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int selack_cntr_0;
if (!object->selack) { return -1;; }
talloc_set_name_const(object->selack, "ARRAY: object->selack");
for (selack_cntr_0 = 0; selack_cntr_0 < PyList_GET_SIZE(value); selack_cntr_0++) {
+ if (PyList_GET_ITEM(value, selack_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->selack[selack_cntr_0]");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->selack[selack_cntr_0]));
if (PyLong_Check(PyList_GET_ITEM(value, selack_cntr_0))) {
}
static PyGetSetDef py_dcerpc_fack_getsetters[] = {
- { discard_const_p(char, "version"), py_dcerpc_fack_get_version, py_dcerpc_fack_set_version },
- { discard_const_p(char, "_pad1"), py_dcerpc_fack_get__pad1, py_dcerpc_fack_set__pad1 },
- { discard_const_p(char, "window_size"), py_dcerpc_fack_get_window_size, py_dcerpc_fack_set_window_size },
- { discard_const_p(char, "max_tdsu"), py_dcerpc_fack_get_max_tdsu, py_dcerpc_fack_set_max_tdsu },
- { discard_const_p(char, "max_frag_size"), py_dcerpc_fack_get_max_frag_size, py_dcerpc_fack_set_max_frag_size },
- { discard_const_p(char, "serial_no"), py_dcerpc_fack_get_serial_no, py_dcerpc_fack_set_serial_no },
- { discard_const_p(char, "selack_size"), py_dcerpc_fack_get_selack_size, py_dcerpc_fack_set_selack_size },
- { discard_const_p(char, "selack"), py_dcerpc_fack_get_selack, py_dcerpc_fack_set_selack },
- { NULL }
+ {
+ .name = discard_const_p(char, "version"),
+ .get = py_dcerpc_fack_get_version,
+ .set = py_dcerpc_fack_set_version,
+ .doc = discard_const_p(char, "PIDL-generated element version")
+ },
+ {
+ .name = discard_const_p(char, "_pad1"),
+ .get = py_dcerpc_fack_get__pad1,
+ .set = py_dcerpc_fack_set__pad1,
+ .doc = discard_const_p(char, "PIDL-generated element _pad1")
+ },
+ {
+ .name = discard_const_p(char, "window_size"),
+ .get = py_dcerpc_fack_get_window_size,
+ .set = py_dcerpc_fack_set_window_size,
+ .doc = discard_const_p(char, "PIDL-generated element window_size")
+ },
+ {
+ .name = discard_const_p(char, "max_tdsu"),
+ .get = py_dcerpc_fack_get_max_tdsu,
+ .set = py_dcerpc_fack_set_max_tdsu,
+ .doc = discard_const_p(char, "PIDL-generated element max_tdsu")
+ },
+ {
+ .name = discard_const_p(char, "max_frag_size"),
+ .get = py_dcerpc_fack_get_max_frag_size,
+ .set = py_dcerpc_fack_set_max_frag_size,
+ .doc = discard_const_p(char, "PIDL-generated element max_frag_size")
+ },
+ {
+ .name = discard_const_p(char, "serial_no"),
+ .get = py_dcerpc_fack_get_serial_no,
+ .set = py_dcerpc_fack_set_serial_no,
+ .doc = discard_const_p(char, "PIDL-generated element serial_no")
+ },
+ {
+ .name = discard_const_p(char, "selack_size"),
+ .get = py_dcerpc_fack_get_selack_size,
+ .set = py_dcerpc_fack_set_selack_size,
+ .doc = discard_const_p(char, "PIDL-generated element selack_size")
+ },
+ {
+ .name = discard_const_p(char, "selack"),
+ .get = py_dcerpc_fack_get_selack,
+ .set = py_dcerpc_fack_set_selack,
+ .doc = discard_const_p(char, "PIDL-generated element selack")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_fack_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_fack_ndr_pack(PyObject *py_obj)
{
struct dcerpc_fack *object = (struct dcerpc_fack *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_fack);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_fack);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_fack_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_fack *object = (struct dcerpc_fack *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_fack_getsetters,
.tp_methods = py_dcerpc_fack_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_fack_new,
};
static PyObject *py_dcerpc_ack_ndr_pack(PyObject *py_obj)
{
struct dcerpc_ack *object = (struct dcerpc_ack *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_ack);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_ack);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_ack_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_ack *object = (struct dcerpc_ack *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = NULL,
.tp_methods = py_dcerpc_ack_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_ack_new,
};
static PyObject *py_dcerpc_ping_ndr_pack(PyObject *py_obj)
{
struct dcerpc_ping *object = (struct dcerpc_ping *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_ping);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_ping);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_ping_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_ping *object = (struct dcerpc_ping *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = NULL,
.tp_methods = py_dcerpc_ping_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_ping_new,
};
static PyObject *py_dcerpc_shutdown_ndr_pack(PyObject *py_obj)
{
struct dcerpc_shutdown *object = (struct dcerpc_shutdown *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_shutdown);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_shutdown);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_shutdown_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_shutdown *object = (struct dcerpc_shutdown *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = NULL,
.tp_methods = py_dcerpc_shutdown_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_shutdown_new,
};
static PyObject *py_dcerpc_working_ndr_pack(PyObject *py_obj)
{
struct dcerpc_working *object = (struct dcerpc_working *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_working);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_working);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_working_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_working *object = (struct dcerpc_working *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = NULL,
.tp_methods = py_dcerpc_working_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_working_new,
};
static int py_RTSCookie_set_Cookie(PyObject *py_obj, PyObject *value, void *closure)
{
struct RTSCookie *object = (struct RTSCookie *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Cookie");
+ return -1;
+ }
PY_CHECK_TYPE(GUID_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_RTSCookie_getsetters[] = {
- { discard_const_p(char, "Cookie"), py_RTSCookie_get_Cookie, py_RTSCookie_set_Cookie },
- { NULL }
+ {
+ .name = discard_const_p(char, "Cookie"),
+ .get = py_RTSCookie_get_Cookie,
+ .set = py_RTSCookie_set_Cookie,
+ .doc = discard_const_p(char, "PIDL-generated element Cookie")
+ },
+ { .name = NULL }
};
static PyObject *py_RTSCookie_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_RTSCookie_ndr_pack(PyObject *py_obj)
{
struct RTSCookie *object = (struct RTSCookie *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_RTSCookie);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_RTSCookie);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_RTSCookie_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct RTSCookie *object = (struct RTSCookie *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_RTSCookie_getsetters,
.tp_methods = py_RTSCookie_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_RTSCookie_new,
};
union ClientAddressType *ret = talloc_zero(mem_ctx, union ClientAddressType);
switch (level) {
case RTS_IPV4:
- ret->ClientAddressIPV4 = PyString_AS_STRING(in);
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->ClientAddressIPV4");
+ talloc_free(ret); return NULL;
+ }
+ {
+ const char *test_str;
+ const char *talloc_str;
+ PyObject *unicode = NULL;
+ if (PyUnicode_Check(in)) {
+ unicode = PyUnicode_AsEncodedString(in, "utf-8", "ignore");
+ if (unicode == NULL) {
+ PyErr_NoMemory();
+ talloc_free(ret); return NULL;
+ }
+ test_str = PyString_AS_STRING(unicode);
+ } else if (PyString_Check(in)) {
+ test_str = PyString_AS_STRING(in);
+ } else {
+ PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(in)->tp_name);
+ talloc_free(ret); return NULL;
+ }
+ talloc_str = talloc_strdup(mem_ctx, test_str);
+ if (unicode != NULL) {
+ Py_DECREF(unicode);
+ }
+ if (talloc_str == NULL) {
+ PyErr_NoMemory();
+ talloc_free(ret); return NULL;
+ }
+ ret->ClientAddressIPV4 = talloc_str;
+ }
break;
case RTS_IPV6:
- ret->ClientAddressIPV6 = PyString_AsString(in);
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->ClientAddressIPV6");
+ talloc_free(ret); return NULL;
+ }
+ {
+ const char *test_str;
+ const char *talloc_str;
+ PyObject *unicode = NULL;
+ if (PyUnicode_Check(in)) {
+ unicode = PyUnicode_AsEncodedString(in, "utf-8", "ignore");
+ if (unicode == NULL) {
+ PyErr_NoMemory();
+ talloc_free(ret); return NULL;
+ }
+ test_str = PyString_AS_STRING(unicode);
+ } else if (PyString_Check(in)) {
+ test_str = PyString_AS_STRING(in);
+ } else {
+ PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(in)->tp_name);
+ talloc_free(ret); return NULL;
+ }
+ talloc_str = talloc_strdup(mem_ctx, test_str);
+ if (unicode != NULL) {
+ Py_DECREF(unicode);
+ }
+ if (talloc_str == NULL) {
+ PyErr_NoMemory();
+ talloc_free(ret); return NULL;
+ }
+ ret->ClientAddressIPV6 = talloc_str;
+ }
break;
default:
static int py_ClientAddress_set_AddressType(PyObject *py_obj, PyObject *value, void *closure)
{
struct ClientAddress *object = (struct ClientAddress *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->AddressType");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->AddressType));
if (PyLong_Check(value)) {
static int py_ClientAddress_set_ClientAddress(PyObject *py_obj, PyObject *value, void *closure)
{
struct ClientAddress *object = (struct ClientAddress *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ClientAddress");
+ return -1;
+ }
{
union ClientAddressType *ClientAddress_switch_0;
ClientAddress_switch_0 = py_export_ClientAddressType(pytalloc_get_mem_ctx(py_obj), object->AddressType, value);
static int py_ClientAddress_set_Padding(PyObject *py_obj, PyObject *value, void *closure)
{
struct ClientAddress *object = (struct ClientAddress *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Padding");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int Padding_cntr_0;
return -1;
}
for (Padding_cntr_0 = 0; Padding_cntr_0 < PyList_GET_SIZE(value); Padding_cntr_0++) {
+ if (PyList_GET_ITEM(value, Padding_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Padding[Padding_cntr_0]");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->Padding[Padding_cntr_0]));
if (PyLong_Check(PyList_GET_ITEM(value, Padding_cntr_0))) {
}
static PyGetSetDef py_ClientAddress_getsetters[] = {
- { discard_const_p(char, "AddressType"), py_ClientAddress_get_AddressType, py_ClientAddress_set_AddressType },
- { discard_const_p(char, "ClientAddress"), py_ClientAddress_get_ClientAddress, py_ClientAddress_set_ClientAddress },
- { discard_const_p(char, "Padding"), py_ClientAddress_get_Padding, py_ClientAddress_set_Padding },
- { NULL }
+ {
+ .name = discard_const_p(char, "AddressType"),
+ .get = py_ClientAddress_get_AddressType,
+ .set = py_ClientAddress_set_AddressType,
+ .doc = discard_const_p(char, "PIDL-generated element AddressType")
+ },
+ {
+ .name = discard_const_p(char, "ClientAddress"),
+ .get = py_ClientAddress_get_ClientAddress,
+ .set = py_ClientAddress_set_ClientAddress,
+ .doc = discard_const_p(char, "PIDL-generated element ClientAddress")
+ },
+ {
+ .name = discard_const_p(char, "Padding"),
+ .get = py_ClientAddress_get_Padding,
+ .set = py_ClientAddress_set_Padding,
+ .doc = discard_const_p(char, "PIDL-generated element Padding")
+ },
+ { .name = NULL }
};
static PyObject *py_ClientAddress_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_ClientAddress_ndr_pack(PyObject *py_obj)
{
struct ClientAddress *object = (struct ClientAddress *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_ClientAddress);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_ClientAddress);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_ClientAddress_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct ClientAddress *object = (struct ClientAddress *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_ClientAddress_getsetters,
.tp_methods = py_ClientAddress_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_ClientAddress_new,
};
static int py_FlowControlAcknowledgment_set_BytesReceived(PyObject *py_obj, PyObject *value, void *closure)
{
struct FlowControlAcknowledgment *object = (struct FlowControlAcknowledgment *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->BytesReceived");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->BytesReceived));
if (PyLong_Check(value)) {
static int py_FlowControlAcknowledgment_set_AvailableWindow(PyObject *py_obj, PyObject *value, void *closure)
{
struct FlowControlAcknowledgment *object = (struct FlowControlAcknowledgment *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->AvailableWindow");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->AvailableWindow));
if (PyLong_Check(value)) {
static int py_FlowControlAcknowledgment_set_ChannelCookie(PyObject *py_obj, PyObject *value, void *closure)
{
struct FlowControlAcknowledgment *object = (struct FlowControlAcknowledgment *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ChannelCookie");
+ return -1;
+ }
PY_CHECK_TYPE(&RTSCookie_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_FlowControlAcknowledgment_getsetters[] = {
- { discard_const_p(char, "BytesReceived"), py_FlowControlAcknowledgment_get_BytesReceived, py_FlowControlAcknowledgment_set_BytesReceived },
- { discard_const_p(char, "AvailableWindow"), py_FlowControlAcknowledgment_get_AvailableWindow, py_FlowControlAcknowledgment_set_AvailableWindow },
- { discard_const_p(char, "ChannelCookie"), py_FlowControlAcknowledgment_get_ChannelCookie, py_FlowControlAcknowledgment_set_ChannelCookie },
- { NULL }
+ {
+ .name = discard_const_p(char, "BytesReceived"),
+ .get = py_FlowControlAcknowledgment_get_BytesReceived,
+ .set = py_FlowControlAcknowledgment_set_BytesReceived,
+ .doc = discard_const_p(char, "PIDL-generated element BytesReceived")
+ },
+ {
+ .name = discard_const_p(char, "AvailableWindow"),
+ .get = py_FlowControlAcknowledgment_get_AvailableWindow,
+ .set = py_FlowControlAcknowledgment_set_AvailableWindow,
+ .doc = discard_const_p(char, "PIDL-generated element AvailableWindow")
+ },
+ {
+ .name = discard_const_p(char, "ChannelCookie"),
+ .get = py_FlowControlAcknowledgment_get_ChannelCookie,
+ .set = py_FlowControlAcknowledgment_set_ChannelCookie,
+ .doc = discard_const_p(char, "PIDL-generated element ChannelCookie")
+ },
+ { .name = NULL }
};
static PyObject *py_FlowControlAcknowledgment_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_FlowControlAcknowledgment_ndr_pack(PyObject *py_obj)
{
struct FlowControlAcknowledgment *object = (struct FlowControlAcknowledgment *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_FlowControlAcknowledgment);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_FlowControlAcknowledgment);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_FlowControlAcknowledgment_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct FlowControlAcknowledgment *object = (struct FlowControlAcknowledgment *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_FlowControlAcknowledgment_getsetters,
.tp_methods = py_FlowControlAcknowledgment_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_FlowControlAcknowledgment_new,
};
static int py_dcerpc_rts_cmd_ReceiveWindowSize_set_ReceiveWindowSize(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_ReceiveWindowSize *object = (struct dcerpc_rts_cmd_ReceiveWindowSize *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ReceiveWindowSize");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ReceiveWindowSize));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_rts_cmd_ReceiveWindowSize_getsetters[] = {
- { discard_const_p(char, "ReceiveWindowSize"), py_dcerpc_rts_cmd_ReceiveWindowSize_get_ReceiveWindowSize, py_dcerpc_rts_cmd_ReceiveWindowSize_set_ReceiveWindowSize },
- { NULL }
+ {
+ .name = discard_const_p(char, "ReceiveWindowSize"),
+ .get = py_dcerpc_rts_cmd_ReceiveWindowSize_get_ReceiveWindowSize,
+ .set = py_dcerpc_rts_cmd_ReceiveWindowSize_set_ReceiveWindowSize,
+ .doc = discard_const_p(char, "PIDL-generated element ReceiveWindowSize")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_ReceiveWindowSize_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_ReceiveWindowSize_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_ReceiveWindowSize *object = (struct dcerpc_rts_cmd_ReceiveWindowSize *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ReceiveWindowSize);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ReceiveWindowSize);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_ReceiveWindowSize_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_ReceiveWindowSize *object = (struct dcerpc_rts_cmd_ReceiveWindowSize *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_ReceiveWindowSize_getsetters,
.tp_methods = py_dcerpc_rts_cmd_ReceiveWindowSize_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_ReceiveWindowSize_new,
};
static int py_dcerpc_rts_cmd_FlowControlAck_set_Ack(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_FlowControlAck *object = (struct dcerpc_rts_cmd_FlowControlAck *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Ack");
+ return -1;
+ }
PY_CHECK_TYPE(&FlowControlAcknowledgment_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_dcerpc_rts_cmd_FlowControlAck_getsetters[] = {
- { discard_const_p(char, "Ack"), py_dcerpc_rts_cmd_FlowControlAck_get_Ack, py_dcerpc_rts_cmd_FlowControlAck_set_Ack },
- { NULL }
+ {
+ .name = discard_const_p(char, "Ack"),
+ .get = py_dcerpc_rts_cmd_FlowControlAck_get_Ack,
+ .set = py_dcerpc_rts_cmd_FlowControlAck_set_Ack,
+ .doc = discard_const_p(char, "PIDL-generated element Ack")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_FlowControlAck_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_FlowControlAck_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_FlowControlAck *object = (struct dcerpc_rts_cmd_FlowControlAck *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_FlowControlAck);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_FlowControlAck);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_FlowControlAck_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_FlowControlAck *object = (struct dcerpc_rts_cmd_FlowControlAck *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_FlowControlAck_getsetters,
.tp_methods = py_dcerpc_rts_cmd_FlowControlAck_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_FlowControlAck_new,
};
static int py_dcerpc_rts_cmd_ConnectionTimeout_set_ConnectionTimeout(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_ConnectionTimeout *object = (struct dcerpc_rts_cmd_ConnectionTimeout *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ConnectionTimeout");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ConnectionTimeout));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_rts_cmd_ConnectionTimeout_getsetters[] = {
- { discard_const_p(char, "ConnectionTimeout"), py_dcerpc_rts_cmd_ConnectionTimeout_get_ConnectionTimeout, py_dcerpc_rts_cmd_ConnectionTimeout_set_ConnectionTimeout },
- { NULL }
+ {
+ .name = discard_const_p(char, "ConnectionTimeout"),
+ .get = py_dcerpc_rts_cmd_ConnectionTimeout_get_ConnectionTimeout,
+ .set = py_dcerpc_rts_cmd_ConnectionTimeout_set_ConnectionTimeout,
+ .doc = discard_const_p(char, "PIDL-generated element ConnectionTimeout")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_ConnectionTimeout_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_ConnectionTimeout_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_ConnectionTimeout *object = (struct dcerpc_rts_cmd_ConnectionTimeout *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ConnectionTimeout);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ConnectionTimeout);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_ConnectionTimeout_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_ConnectionTimeout *object = (struct dcerpc_rts_cmd_ConnectionTimeout *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_ConnectionTimeout_getsetters,
.tp_methods = py_dcerpc_rts_cmd_ConnectionTimeout_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_ConnectionTimeout_new,
};
static int py_dcerpc_rts_cmd_Cookie_set_Cookie(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_Cookie *object = (struct dcerpc_rts_cmd_Cookie *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Cookie");
+ return -1;
+ }
PY_CHECK_TYPE(&RTSCookie_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_dcerpc_rts_cmd_Cookie_getsetters[] = {
- { discard_const_p(char, "Cookie"), py_dcerpc_rts_cmd_Cookie_get_Cookie, py_dcerpc_rts_cmd_Cookie_set_Cookie },
- { NULL }
+ {
+ .name = discard_const_p(char, "Cookie"),
+ .get = py_dcerpc_rts_cmd_Cookie_get_Cookie,
+ .set = py_dcerpc_rts_cmd_Cookie_set_Cookie,
+ .doc = discard_const_p(char, "PIDL-generated element Cookie")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_Cookie_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_Cookie_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_Cookie *object = (struct dcerpc_rts_cmd_Cookie *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_Cookie);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_Cookie);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_Cookie_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_Cookie *object = (struct dcerpc_rts_cmd_Cookie *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_Cookie_getsetters,
.tp_methods = py_dcerpc_rts_cmd_Cookie_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_Cookie_new,
};
static int py_dcerpc_rts_cmd_ChannelLifetime_set_ChannelLifetime(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_ChannelLifetime *object = (struct dcerpc_rts_cmd_ChannelLifetime *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ChannelLifetime");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ChannelLifetime));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_rts_cmd_ChannelLifetime_getsetters[] = {
- { discard_const_p(char, "ChannelLifetime"), py_dcerpc_rts_cmd_ChannelLifetime_get_ChannelLifetime, py_dcerpc_rts_cmd_ChannelLifetime_set_ChannelLifetime },
- { NULL }
+ {
+ .name = discard_const_p(char, "ChannelLifetime"),
+ .get = py_dcerpc_rts_cmd_ChannelLifetime_get_ChannelLifetime,
+ .set = py_dcerpc_rts_cmd_ChannelLifetime_set_ChannelLifetime,
+ .doc = discard_const_p(char, "PIDL-generated element ChannelLifetime")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_ChannelLifetime_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_ChannelLifetime_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_ChannelLifetime *object = (struct dcerpc_rts_cmd_ChannelLifetime *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ChannelLifetime);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ChannelLifetime);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_ChannelLifetime_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_ChannelLifetime *object = (struct dcerpc_rts_cmd_ChannelLifetime *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_ChannelLifetime_getsetters,
.tp_methods = py_dcerpc_rts_cmd_ChannelLifetime_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_ChannelLifetime_new,
};
static int py_dcerpc_rts_cmd_ClientKeepalive_set_ClientKeepalive(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_ClientKeepalive *object = (struct dcerpc_rts_cmd_ClientKeepalive *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ClientKeepalive");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ClientKeepalive));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_rts_cmd_ClientKeepalive_getsetters[] = {
- { discard_const_p(char, "ClientKeepalive"), py_dcerpc_rts_cmd_ClientKeepalive_get_ClientKeepalive, py_dcerpc_rts_cmd_ClientKeepalive_set_ClientKeepalive },
- { NULL }
+ {
+ .name = discard_const_p(char, "ClientKeepalive"),
+ .get = py_dcerpc_rts_cmd_ClientKeepalive_get_ClientKeepalive,
+ .set = py_dcerpc_rts_cmd_ClientKeepalive_set_ClientKeepalive,
+ .doc = discard_const_p(char, "PIDL-generated element ClientKeepalive")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_ClientKeepalive_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_ClientKeepalive_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_ClientKeepalive *object = (struct dcerpc_rts_cmd_ClientKeepalive *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ClientKeepalive);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ClientKeepalive);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_ClientKeepalive_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_ClientKeepalive *object = (struct dcerpc_rts_cmd_ClientKeepalive *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_ClientKeepalive_getsetters,
.tp_methods = py_dcerpc_rts_cmd_ClientKeepalive_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_ClientKeepalive_new,
};
static int py_dcerpc_rts_cmd_Version_set_Version(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_Version *object = (struct dcerpc_rts_cmd_Version *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Version");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->Version));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_rts_cmd_Version_getsetters[] = {
- { discard_const_p(char, "Version"), py_dcerpc_rts_cmd_Version_get_Version, py_dcerpc_rts_cmd_Version_set_Version },
- { NULL }
+ {
+ .name = discard_const_p(char, "Version"),
+ .get = py_dcerpc_rts_cmd_Version_get_Version,
+ .set = py_dcerpc_rts_cmd_Version_set_Version,
+ .doc = discard_const_p(char, "PIDL-generated element Version")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_Version_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_Version_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_Version *object = (struct dcerpc_rts_cmd_Version *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_Version);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_Version);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_Version_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_Version *object = (struct dcerpc_rts_cmd_Version *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_Version_getsetters,
.tp_methods = py_dcerpc_rts_cmd_Version_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_Version_new,
};
static PyObject *py_dcerpc_rts_cmd_Empty_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_Empty *object = (struct dcerpc_rts_cmd_Empty *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_Empty);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_Empty);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_Empty_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_Empty *object = (struct dcerpc_rts_cmd_Empty *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = NULL,
.tp_methods = py_dcerpc_rts_cmd_Empty_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_Empty_new,
};
static int py_dcerpc_rts_cmd_Padding_set_ConformanceCount(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_Padding *object = (struct dcerpc_rts_cmd_Padding *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ConformanceCount");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ConformanceCount));
if (PyLong_Check(value)) {
static int py_dcerpc_rts_cmd_Padding_set_Padding(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_Padding *object = (struct dcerpc_rts_cmd_Padding *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Padding");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int Padding_cntr_0;
if (!object->Padding) { return -1;; }
talloc_set_name_const(object->Padding, "ARRAY: object->Padding");
for (Padding_cntr_0 = 0; Padding_cntr_0 < PyList_GET_SIZE(value); Padding_cntr_0++) {
+ if (PyList_GET_ITEM(value, Padding_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Padding[Padding_cntr_0]");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->Padding[Padding_cntr_0]));
if (PyLong_Check(PyList_GET_ITEM(value, Padding_cntr_0))) {
}
static PyGetSetDef py_dcerpc_rts_cmd_Padding_getsetters[] = {
- { discard_const_p(char, "ConformanceCount"), py_dcerpc_rts_cmd_Padding_get_ConformanceCount, py_dcerpc_rts_cmd_Padding_set_ConformanceCount },
- { discard_const_p(char, "Padding"), py_dcerpc_rts_cmd_Padding_get_Padding, py_dcerpc_rts_cmd_Padding_set_Padding },
- { NULL }
+ {
+ .name = discard_const_p(char, "ConformanceCount"),
+ .get = py_dcerpc_rts_cmd_Padding_get_ConformanceCount,
+ .set = py_dcerpc_rts_cmd_Padding_set_ConformanceCount,
+ .doc = discard_const_p(char, "PIDL-generated element ConformanceCount")
+ },
+ {
+ .name = discard_const_p(char, "Padding"),
+ .get = py_dcerpc_rts_cmd_Padding_get_Padding,
+ .set = py_dcerpc_rts_cmd_Padding_set_Padding,
+ .doc = discard_const_p(char, "PIDL-generated element Padding")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_Padding_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_Padding_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_Padding *object = (struct dcerpc_rts_cmd_Padding *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_Padding);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_Padding);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_Padding_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_Padding *object = (struct dcerpc_rts_cmd_Padding *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_Padding_getsetters,
.tp_methods = py_dcerpc_rts_cmd_Padding_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_Padding_new,
};
static PyObject *py_dcerpc_rts_cmd_NegativeANCE_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_NegativeANCE *object = (struct dcerpc_rts_cmd_NegativeANCE *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_NegativeANCE);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_NegativeANCE);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_NegativeANCE_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_NegativeANCE *object = (struct dcerpc_rts_cmd_NegativeANCE *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = NULL,
.tp_methods = py_dcerpc_rts_cmd_NegativeANCE_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_NegativeANCE_new,
};
static PyObject *py_dcerpc_rts_cmd_ANCE_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_ANCE *object = (struct dcerpc_rts_cmd_ANCE *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ANCE);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ANCE);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_ANCE_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_ANCE *object = (struct dcerpc_rts_cmd_ANCE *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = NULL,
.tp_methods = py_dcerpc_rts_cmd_ANCE_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_ANCE_new,
};
static int py_dcerpc_rts_cmd_ClientAddress_set_ClientAddress(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_ClientAddress *object = (struct dcerpc_rts_cmd_ClientAddress *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ClientAddress");
+ return -1;
+ }
PY_CHECK_TYPE(&ClientAddress_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_dcerpc_rts_cmd_ClientAddress_getsetters[] = {
- { discard_const_p(char, "ClientAddress"), py_dcerpc_rts_cmd_ClientAddress_get_ClientAddress, py_dcerpc_rts_cmd_ClientAddress_set_ClientAddress },
- { NULL }
+ {
+ .name = discard_const_p(char, "ClientAddress"),
+ .get = py_dcerpc_rts_cmd_ClientAddress_get_ClientAddress,
+ .set = py_dcerpc_rts_cmd_ClientAddress_set_ClientAddress,
+ .doc = discard_const_p(char, "PIDL-generated element ClientAddress")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_ClientAddress_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_ClientAddress_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_ClientAddress *object = (struct dcerpc_rts_cmd_ClientAddress *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ClientAddress);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_ClientAddress);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_ClientAddress_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_ClientAddress *object = (struct dcerpc_rts_cmd_ClientAddress *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_ClientAddress_getsetters,
.tp_methods = py_dcerpc_rts_cmd_ClientAddress_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_ClientAddress_new,
};
static int py_dcerpc_rts_cmd_AssociationGroupId_set_AssociationGroupId(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_AssociationGroupId *object = (struct dcerpc_rts_cmd_AssociationGroupId *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->AssociationGroupId");
+ return -1;
+ }
PY_CHECK_TYPE(&RTSCookie_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_dcerpc_rts_cmd_AssociationGroupId_getsetters[] = {
- { discard_const_p(char, "AssociationGroupId"), py_dcerpc_rts_cmd_AssociationGroupId_get_AssociationGroupId, py_dcerpc_rts_cmd_AssociationGroupId_set_AssociationGroupId },
- { NULL }
+ {
+ .name = discard_const_p(char, "AssociationGroupId"),
+ .get = py_dcerpc_rts_cmd_AssociationGroupId_get_AssociationGroupId,
+ .set = py_dcerpc_rts_cmd_AssociationGroupId_set_AssociationGroupId,
+ .doc = discard_const_p(char, "PIDL-generated element AssociationGroupId")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_AssociationGroupId_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_AssociationGroupId_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_AssociationGroupId *object = (struct dcerpc_rts_cmd_AssociationGroupId *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_AssociationGroupId);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_AssociationGroupId);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_AssociationGroupId_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_AssociationGroupId *object = (struct dcerpc_rts_cmd_AssociationGroupId *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_AssociationGroupId_getsetters,
.tp_methods = py_dcerpc_rts_cmd_AssociationGroupId_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_AssociationGroupId_new,
};
static int py_dcerpc_rts_cmd_Destination_set_ForwardDestination(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_Destination *object = (struct dcerpc_rts_cmd_Destination *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ForwardDestination");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ForwardDestination));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_rts_cmd_Destination_getsetters[] = {
- { discard_const_p(char, "ForwardDestination"), py_dcerpc_rts_cmd_Destination_get_ForwardDestination, py_dcerpc_rts_cmd_Destination_set_ForwardDestination },
- { NULL }
+ {
+ .name = discard_const_p(char, "ForwardDestination"),
+ .get = py_dcerpc_rts_cmd_Destination_get_ForwardDestination,
+ .set = py_dcerpc_rts_cmd_Destination_set_ForwardDestination,
+ .doc = discard_const_p(char, "PIDL-generated element ForwardDestination")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_Destination_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_Destination_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_Destination *object = (struct dcerpc_rts_cmd_Destination *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_Destination);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_Destination);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_Destination_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_Destination *object = (struct dcerpc_rts_cmd_Destination *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_Destination_getsetters,
.tp_methods = py_dcerpc_rts_cmd_Destination_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_Destination_new,
};
static int py_dcerpc_rts_cmd_PingTrafficSentNotify_set_PingTrafficSent(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd_PingTrafficSentNotify *object = (struct dcerpc_rts_cmd_PingTrafficSentNotify *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->PingTrafficSent");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->PingTrafficSent));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_rts_cmd_PingTrafficSentNotify_getsetters[] = {
- { discard_const_p(char, "PingTrafficSent"), py_dcerpc_rts_cmd_PingTrafficSentNotify_get_PingTrafficSent, py_dcerpc_rts_cmd_PingTrafficSentNotify_set_PingTrafficSent },
- { NULL }
+ {
+ .name = discard_const_p(char, "PingTrafficSent"),
+ .get = py_dcerpc_rts_cmd_PingTrafficSentNotify_get_PingTrafficSent,
+ .set = py_dcerpc_rts_cmd_PingTrafficSentNotify_set_PingTrafficSent,
+ .doc = discard_const_p(char, "PIDL-generated element PingTrafficSent")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_PingTrafficSentNotify_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_PingTrafficSentNotify_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd_PingTrafficSentNotify *object = (struct dcerpc_rts_cmd_PingTrafficSentNotify *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_PingTrafficSentNotify);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd_PingTrafficSentNotify);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_PingTrafficSentNotify_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd_PingTrafficSentNotify *object = (struct dcerpc_rts_cmd_PingTrafficSentNotify *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_PingTrafficSentNotify_getsetters,
.tp_methods = py_dcerpc_rts_cmd_PingTrafficSentNotify_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_PingTrafficSentNotify_new,
};
union dcerpc_rts_cmds *ret = talloc_zero(mem_ctx, union dcerpc_rts_cmds);
switch (level) {
case 0x0:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->ReceiveWindowSize");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_ReceiveWindowSize_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0x1:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->FlowControlAck");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_FlowControlAck_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0x2:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->ConnectionTimeout");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_ConnectionTimeout_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0x3:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->Cookie");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_Cookie_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0x4:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->ChannelLifetime");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_ChannelLifetime_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0x5:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->ClientKeepalive");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_ClientKeepalive_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0x6:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->Version");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_Version_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0x7:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->Empty");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_Empty_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0x8:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->Padding");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_Padding_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0x9:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->NegativeANCE");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_NegativeANCE_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0xA:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->ANCE");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_ANCE_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0xB:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->ClientAddress");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_ClientAddress_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0xC:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->AssociationGroupId");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_AssociationGroupId_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0xD:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->Destination");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_Destination_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case 0xE:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->PingTrafficSentNotify");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_PingTrafficSentNotify_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
static int py_dcerpc_rts_cmd_set_CommandType(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd *object = (struct dcerpc_rts_cmd *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->CommandType");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->CommandType));
if (PyLong_Check(value)) {
static int py_dcerpc_rts_cmd_set_Command(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts_cmd *object = (struct dcerpc_rts_cmd *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Command");
+ return -1;
+ }
{
union dcerpc_rts_cmds *Command_switch_0;
Command_switch_0 = py_export_dcerpc_rts_cmds(pytalloc_get_mem_ctx(py_obj), object->CommandType, value);
}
static PyGetSetDef py_dcerpc_rts_cmd_getsetters[] = {
- { discard_const_p(char, "CommandType"), py_dcerpc_rts_cmd_get_CommandType, py_dcerpc_rts_cmd_set_CommandType },
- { discard_const_p(char, "Command"), py_dcerpc_rts_cmd_get_Command, py_dcerpc_rts_cmd_set_Command },
- { NULL }
+ {
+ .name = discard_const_p(char, "CommandType"),
+ .get = py_dcerpc_rts_cmd_get_CommandType,
+ .set = py_dcerpc_rts_cmd_set_CommandType,
+ .doc = discard_const_p(char, "PIDL-generated element CommandType")
+ },
+ {
+ .name = discard_const_p(char, "Command"),
+ .get = py_dcerpc_rts_cmd_get_Command,
+ .set = py_dcerpc_rts_cmd_set_Command,
+ .doc = discard_const_p(char, "PIDL-generated element Command")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_cmd_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_cmd_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts_cmd *object = (struct dcerpc_rts_cmd *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts_cmd);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_cmd_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts_cmd *object = (struct dcerpc_rts_cmd *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_cmd_getsetters,
.tp_methods = py_dcerpc_rts_cmd_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_cmd_new,
};
static int py_dcerpc_rts_set_Flags(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts *object = (struct dcerpc_rts *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Flags");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->Flags));
if (PyLong_Check(value)) {
static int py_dcerpc_rts_set_NumberOfCommands(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts *object = (struct dcerpc_rts *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->NumberOfCommands");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->NumberOfCommands));
if (PyLong_Check(value)) {
static int py_dcerpc_rts_set_Commands(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_rts *object = (struct dcerpc_rts *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Commands");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int Commands_cntr_0;
if (!object->Commands) { return -1;; }
talloc_set_name_const(object->Commands, "ARRAY: object->Commands");
for (Commands_cntr_0 = 0; Commands_cntr_0 < PyList_GET_SIZE(value); Commands_cntr_0++) {
+ if (PyList_GET_ITEM(value, Commands_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->Commands[Commands_cntr_0]");
+ return -1;
+ }
PY_CHECK_TYPE(&dcerpc_rts_cmd_Type, PyList_GET_ITEM(value, Commands_cntr_0), return -1;);
if (talloc_reference(object->Commands, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, Commands_cntr_0))) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_dcerpc_rts_getsetters[] = {
- { discard_const_p(char, "Flags"), py_dcerpc_rts_get_Flags, py_dcerpc_rts_set_Flags },
- { discard_const_p(char, "NumberOfCommands"), py_dcerpc_rts_get_NumberOfCommands, py_dcerpc_rts_set_NumberOfCommands },
- { discard_const_p(char, "Commands"), py_dcerpc_rts_get_Commands, py_dcerpc_rts_set_Commands },
- { NULL }
+ {
+ .name = discard_const_p(char, "Flags"),
+ .get = py_dcerpc_rts_get_Flags,
+ .set = py_dcerpc_rts_set_Flags,
+ .doc = discard_const_p(char, "PIDL-generated element Flags")
+ },
+ {
+ .name = discard_const_p(char, "NumberOfCommands"),
+ .get = py_dcerpc_rts_get_NumberOfCommands,
+ .set = py_dcerpc_rts_set_NumberOfCommands,
+ .doc = discard_const_p(char, "PIDL-generated element NumberOfCommands")
+ },
+ {
+ .name = discard_const_p(char, "Commands"),
+ .get = py_dcerpc_rts_get_Commands,
+ .set = py_dcerpc_rts_set_Commands,
+ .doc = discard_const_p(char, "PIDL-generated element Commands")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_rts_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_rts_ndr_pack(PyObject *py_obj)
{
struct dcerpc_rts *object = (struct dcerpc_rts *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_rts);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_rts_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_rts *object = (struct dcerpc_rts *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_rts_getsetters,
.tp_methods = py_dcerpc_rts_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_rts_new,
};
union dcerpc_payload *ret = talloc_zero(mem_ctx, union dcerpc_payload);
switch (level) {
case DCERPC_PKT_REQUEST:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->request");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_request_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_PING:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->ping");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_ping_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_RESPONSE:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->response");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_response_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_FAULT:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->fault");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_fault_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_WORKING:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->working");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_working_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_NOCALL:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->nocall");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_fack_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_REJECT:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->reject");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_fault_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_ACK:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->ack");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_ack_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_CL_CANCEL:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->cl_cancel");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_cl_cancel_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_FACK:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->fack");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_fack_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_CANCEL_ACK:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->cancel_ack");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_cancel_ack_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_BIND:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->bind");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_bind_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_BIND_ACK:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->bind_ack");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_bind_ack_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_BIND_NAK:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->bind_nak");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_bind_nak_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_ALTER:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->alter");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_bind_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_ALTER_RESP:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->alter_resp");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_bind_ack_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_SHUTDOWN:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->shutdown");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_shutdown_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_CO_CANCEL:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->co_cancel");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_co_cancel_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_ORPHANED:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->orphaned");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_orphaned_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_AUTH3:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->auth3");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_auth3_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_PKT_RTS:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->rts");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_rts_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
static int py_ncacn_packet_set_rpc_vers(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->rpc_vers");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->rpc_vers));
if (PyLong_Check(value)) {
static int py_ncacn_packet_set_rpc_vers_minor(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->rpc_vers_minor");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->rpc_vers_minor));
if (PyLong_Check(value)) {
static int py_ncacn_packet_set_ptype(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ptype");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ptype));
if (PyLong_Check(value)) {
static int py_ncacn_packet_set_pfc_flags(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->pfc_flags");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->pfc_flags));
if (PyLong_Check(value)) {
static int py_ncacn_packet_set_drep(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->drep");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int drep_cntr_0;
return -1;
}
for (drep_cntr_0 = 0; drep_cntr_0 < PyList_GET_SIZE(value); drep_cntr_0++) {
+ if (PyList_GET_ITEM(value, drep_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->drep[drep_cntr_0]");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->drep[drep_cntr_0]));
if (PyLong_Check(PyList_GET_ITEM(value, drep_cntr_0))) {
static int py_ncacn_packet_set_frag_length(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->frag_length");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->frag_length));
if (PyLong_Check(value)) {
static int py_ncacn_packet_set_auth_length(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_length");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->auth_length));
if (PyLong_Check(value)) {
static int py_ncacn_packet_set_call_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->call_id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->call_id));
if (PyLong_Check(value)) {
static int py_ncacn_packet_set_u(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->u");
+ return -1;
+ }
{
union dcerpc_payload *u_switch_0;
u_switch_0 = py_export_dcerpc_payload(pytalloc_get_mem_ctx(py_obj), object->ptype, value);
}
static PyGetSetDef py_ncacn_packet_getsetters[] = {
- { discard_const_p(char, "rpc_vers"), py_ncacn_packet_get_rpc_vers, py_ncacn_packet_set_rpc_vers },
- { discard_const_p(char, "rpc_vers_minor"), py_ncacn_packet_get_rpc_vers_minor, py_ncacn_packet_set_rpc_vers_minor },
- { discard_const_p(char, "ptype"), py_ncacn_packet_get_ptype, py_ncacn_packet_set_ptype },
- { discard_const_p(char, "pfc_flags"), py_ncacn_packet_get_pfc_flags, py_ncacn_packet_set_pfc_flags },
- { discard_const_p(char, "drep"), py_ncacn_packet_get_drep, py_ncacn_packet_set_drep },
- { discard_const_p(char, "frag_length"), py_ncacn_packet_get_frag_length, py_ncacn_packet_set_frag_length },
- { discard_const_p(char, "auth_length"), py_ncacn_packet_get_auth_length, py_ncacn_packet_set_auth_length },
- { discard_const_p(char, "call_id"), py_ncacn_packet_get_call_id, py_ncacn_packet_set_call_id },
- { discard_const_p(char, "u"), py_ncacn_packet_get_u, py_ncacn_packet_set_u },
- { NULL }
+ {
+ .name = discard_const_p(char, "rpc_vers"),
+ .get = py_ncacn_packet_get_rpc_vers,
+ .set = py_ncacn_packet_set_rpc_vers,
+ .doc = discard_const_p(char, "PIDL-generated element rpc_vers")
+ },
+ {
+ .name = discard_const_p(char, "rpc_vers_minor"),
+ .get = py_ncacn_packet_get_rpc_vers_minor,
+ .set = py_ncacn_packet_set_rpc_vers_minor,
+ .doc = discard_const_p(char, "PIDL-generated element rpc_vers_minor")
+ },
+ {
+ .name = discard_const_p(char, "ptype"),
+ .get = py_ncacn_packet_get_ptype,
+ .set = py_ncacn_packet_set_ptype,
+ .doc = discard_const_p(char, "PIDL-generated element ptype")
+ },
+ {
+ .name = discard_const_p(char, "pfc_flags"),
+ .get = py_ncacn_packet_get_pfc_flags,
+ .set = py_ncacn_packet_set_pfc_flags,
+ .doc = discard_const_p(char, "PIDL-generated element pfc_flags")
+ },
+ {
+ .name = discard_const_p(char, "drep"),
+ .get = py_ncacn_packet_get_drep,
+ .set = py_ncacn_packet_set_drep,
+ .doc = discard_const_p(char, "PIDL-generated element drep")
+ },
+ {
+ .name = discard_const_p(char, "frag_length"),
+ .get = py_ncacn_packet_get_frag_length,
+ .set = py_ncacn_packet_set_frag_length,
+ .doc = discard_const_p(char, "PIDL-generated element frag_length")
+ },
+ {
+ .name = discard_const_p(char, "auth_length"),
+ .get = py_ncacn_packet_get_auth_length,
+ .set = py_ncacn_packet_set_auth_length,
+ .doc = discard_const_p(char, "PIDL-generated element auth_length")
+ },
+ {
+ .name = discard_const_p(char, "call_id"),
+ .get = py_ncacn_packet_get_call_id,
+ .set = py_ncacn_packet_set_call_id,
+ .doc = discard_const_p(char, "PIDL-generated element call_id")
+ },
+ {
+ .name = discard_const_p(char, "u"),
+ .get = py_ncacn_packet_get_u,
+ .set = py_ncacn_packet_set_u,
+ .doc = discard_const_p(char, "PIDL-generated element u")
+ },
+ { .name = NULL }
};
static PyObject *py_ncacn_packet_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_ncacn_packet_ndr_pack(PyObject *py_obj)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_ncacn_packet);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_ncacn_packet);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_ncacn_packet_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct ncacn_packet *object = (struct ncacn_packet *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_ncacn_packet_getsetters,
.tp_methods = py_ncacn_packet_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_ncacn_packet_new,
};
static int py_ncadg_packet_set_rpc_vers(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->rpc_vers");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->rpc_vers));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_ptype(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ptype");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ptype));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_pfc_flags(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->pfc_flags");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->pfc_flags));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_ncadg_flags(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ncadg_flags");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ncadg_flags));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_drep(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->drep");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int drep_cntr_0;
return -1;
}
for (drep_cntr_0 = 0; drep_cntr_0 < PyList_GET_SIZE(value); drep_cntr_0++) {
+ if (PyList_GET_ITEM(value, drep_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->drep[drep_cntr_0]");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->drep[drep_cntr_0]));
if (PyLong_Check(PyList_GET_ITEM(value, drep_cntr_0))) {
static int py_ncadg_packet_set_serial_high(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->serial_high");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->serial_high));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_object(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->object");
+ return -1;
+ }
PY_CHECK_TYPE(GUID_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
static int py_ncadg_packet_set_iface(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->iface");
+ return -1;
+ }
PY_CHECK_TYPE(GUID_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
static int py_ncadg_packet_set_activity(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->activity");
+ return -1;
+ }
PY_CHECK_TYPE(GUID_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
static int py_ncadg_packet_set_server_boot(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->server_boot");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->server_boot));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_iface_version(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->iface_version");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->iface_version));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_seq_num(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->seq_num");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->seq_num));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_opnum(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->opnum");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->opnum));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_ihint(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ihint");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ihint));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_ahint(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ahint");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ahint));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_len(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->len");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->len));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_fragnum(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->fragnum");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->fragnum));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_auth_proto(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->auth_proto");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->auth_proto));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_serial_low(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->serial_low");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->serial_low));
if (PyLong_Check(value)) {
static int py_ncadg_packet_set_u(PyObject *py_obj, PyObject *value, void *closure)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->u");
+ return -1;
+ }
{
union dcerpc_payload *u_switch_0;
u_switch_0 = py_export_dcerpc_payload(pytalloc_get_mem_ctx(py_obj), object->ptype, value);
}
static PyGetSetDef py_ncadg_packet_getsetters[] = {
- { discard_const_p(char, "rpc_vers"), py_ncadg_packet_get_rpc_vers, py_ncadg_packet_set_rpc_vers },
- { discard_const_p(char, "ptype"), py_ncadg_packet_get_ptype, py_ncadg_packet_set_ptype },
- { discard_const_p(char, "pfc_flags"), py_ncadg_packet_get_pfc_flags, py_ncadg_packet_set_pfc_flags },
- { discard_const_p(char, "ncadg_flags"), py_ncadg_packet_get_ncadg_flags, py_ncadg_packet_set_ncadg_flags },
- { discard_const_p(char, "drep"), py_ncadg_packet_get_drep, py_ncadg_packet_set_drep },
- { discard_const_p(char, "serial_high"), py_ncadg_packet_get_serial_high, py_ncadg_packet_set_serial_high },
- { discard_const_p(char, "object"), py_ncadg_packet_get_object, py_ncadg_packet_set_object },
- { discard_const_p(char, "iface"), py_ncadg_packet_get_iface, py_ncadg_packet_set_iface },
- { discard_const_p(char, "activity"), py_ncadg_packet_get_activity, py_ncadg_packet_set_activity },
- { discard_const_p(char, "server_boot"), py_ncadg_packet_get_server_boot, py_ncadg_packet_set_server_boot },
- { discard_const_p(char, "iface_version"), py_ncadg_packet_get_iface_version, py_ncadg_packet_set_iface_version },
- { discard_const_p(char, "seq_num"), py_ncadg_packet_get_seq_num, py_ncadg_packet_set_seq_num },
- { discard_const_p(char, "opnum"), py_ncadg_packet_get_opnum, py_ncadg_packet_set_opnum },
- { discard_const_p(char, "ihint"), py_ncadg_packet_get_ihint, py_ncadg_packet_set_ihint },
- { discard_const_p(char, "ahint"), py_ncadg_packet_get_ahint, py_ncadg_packet_set_ahint },
- { discard_const_p(char, "len"), py_ncadg_packet_get_len, py_ncadg_packet_set_len },
- { discard_const_p(char, "fragnum"), py_ncadg_packet_get_fragnum, py_ncadg_packet_set_fragnum },
- { discard_const_p(char, "auth_proto"), py_ncadg_packet_get_auth_proto, py_ncadg_packet_set_auth_proto },
- { discard_const_p(char, "serial_low"), py_ncadg_packet_get_serial_low, py_ncadg_packet_set_serial_low },
- { discard_const_p(char, "u"), py_ncadg_packet_get_u, py_ncadg_packet_set_u },
- { NULL }
+ {
+ .name = discard_const_p(char, "rpc_vers"),
+ .get = py_ncadg_packet_get_rpc_vers,
+ .set = py_ncadg_packet_set_rpc_vers,
+ .doc = discard_const_p(char, "PIDL-generated element rpc_vers")
+ },
+ {
+ .name = discard_const_p(char, "ptype"),
+ .get = py_ncadg_packet_get_ptype,
+ .set = py_ncadg_packet_set_ptype,
+ .doc = discard_const_p(char, "PIDL-generated element ptype")
+ },
+ {
+ .name = discard_const_p(char, "pfc_flags"),
+ .get = py_ncadg_packet_get_pfc_flags,
+ .set = py_ncadg_packet_set_pfc_flags,
+ .doc = discard_const_p(char, "PIDL-generated element pfc_flags")
+ },
+ {
+ .name = discard_const_p(char, "ncadg_flags"),
+ .get = py_ncadg_packet_get_ncadg_flags,
+ .set = py_ncadg_packet_set_ncadg_flags,
+ .doc = discard_const_p(char, "PIDL-generated element ncadg_flags")
+ },
+ {
+ .name = discard_const_p(char, "drep"),
+ .get = py_ncadg_packet_get_drep,
+ .set = py_ncadg_packet_set_drep,
+ .doc = discard_const_p(char, "PIDL-generated element drep")
+ },
+ {
+ .name = discard_const_p(char, "serial_high"),
+ .get = py_ncadg_packet_get_serial_high,
+ .set = py_ncadg_packet_set_serial_high,
+ .doc = discard_const_p(char, "PIDL-generated element serial_high")
+ },
+ {
+ .name = discard_const_p(char, "object"),
+ .get = py_ncadg_packet_get_object,
+ .set = py_ncadg_packet_set_object,
+ .doc = discard_const_p(char, "PIDL-generated element object")
+ },
+ {
+ .name = discard_const_p(char, "iface"),
+ .get = py_ncadg_packet_get_iface,
+ .set = py_ncadg_packet_set_iface,
+ .doc = discard_const_p(char, "PIDL-generated element iface")
+ },
+ {
+ .name = discard_const_p(char, "activity"),
+ .get = py_ncadg_packet_get_activity,
+ .set = py_ncadg_packet_set_activity,
+ .doc = discard_const_p(char, "PIDL-generated element activity")
+ },
+ {
+ .name = discard_const_p(char, "server_boot"),
+ .get = py_ncadg_packet_get_server_boot,
+ .set = py_ncadg_packet_set_server_boot,
+ .doc = discard_const_p(char, "PIDL-generated element server_boot")
+ },
+ {
+ .name = discard_const_p(char, "iface_version"),
+ .get = py_ncadg_packet_get_iface_version,
+ .set = py_ncadg_packet_set_iface_version,
+ .doc = discard_const_p(char, "PIDL-generated element iface_version")
+ },
+ {
+ .name = discard_const_p(char, "seq_num"),
+ .get = py_ncadg_packet_get_seq_num,
+ .set = py_ncadg_packet_set_seq_num,
+ .doc = discard_const_p(char, "PIDL-generated element seq_num")
+ },
+ {
+ .name = discard_const_p(char, "opnum"),
+ .get = py_ncadg_packet_get_opnum,
+ .set = py_ncadg_packet_set_opnum,
+ .doc = discard_const_p(char, "PIDL-generated element opnum")
+ },
+ {
+ .name = discard_const_p(char, "ihint"),
+ .get = py_ncadg_packet_get_ihint,
+ .set = py_ncadg_packet_set_ihint,
+ .doc = discard_const_p(char, "PIDL-generated element ihint")
+ },
+ {
+ .name = discard_const_p(char, "ahint"),
+ .get = py_ncadg_packet_get_ahint,
+ .set = py_ncadg_packet_set_ahint,
+ .doc = discard_const_p(char, "PIDL-generated element ahint")
+ },
+ {
+ .name = discard_const_p(char, "len"),
+ .get = py_ncadg_packet_get_len,
+ .set = py_ncadg_packet_set_len,
+ .doc = discard_const_p(char, "PIDL-generated element len")
+ },
+ {
+ .name = discard_const_p(char, "fragnum"),
+ .get = py_ncadg_packet_get_fragnum,
+ .set = py_ncadg_packet_set_fragnum,
+ .doc = discard_const_p(char, "PIDL-generated element fragnum")
+ },
+ {
+ .name = discard_const_p(char, "auth_proto"),
+ .get = py_ncadg_packet_get_auth_proto,
+ .set = py_ncadg_packet_set_auth_proto,
+ .doc = discard_const_p(char, "PIDL-generated element auth_proto")
+ },
+ {
+ .name = discard_const_p(char, "serial_low"),
+ .get = py_ncadg_packet_get_serial_low,
+ .set = py_ncadg_packet_set_serial_low,
+ .doc = discard_const_p(char, "PIDL-generated element serial_low")
+ },
+ {
+ .name = discard_const_p(char, "u"),
+ .get = py_ncadg_packet_get_u,
+ .set = py_ncadg_packet_set_u,
+ .doc = discard_const_p(char, "PIDL-generated element u")
+ },
+ { .name = NULL }
};
static PyObject *py_ncadg_packet_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_ncadg_packet_ndr_pack(PyObject *py_obj)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_ncadg_packet);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_ncadg_packet);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_ncadg_packet_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct ncadg_packet *object = (struct ncadg_packet *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_ncadg_packet_getsetters,
.tp_methods = py_ncadg_packet_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_ncadg_packet_new,
};
static int py_dcerpc_sec_vt_pcontext_set_abstract_syntax(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt_pcontext *object = (struct dcerpc_sec_vt_pcontext *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->abstract_syntax");
+ return -1;
+ }
PY_CHECK_TYPE(ndr_syntax_id_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
static int py_dcerpc_sec_vt_pcontext_set_transfer_syntax(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt_pcontext *object = (struct dcerpc_sec_vt_pcontext *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->transfer_syntax");
+ return -1;
+ }
PY_CHECK_TYPE(ndr_syntax_id_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_dcerpc_sec_vt_pcontext_getsetters[] = {
- { discard_const_p(char, "abstract_syntax"), py_dcerpc_sec_vt_pcontext_get_abstract_syntax, py_dcerpc_sec_vt_pcontext_set_abstract_syntax },
- { discard_const_p(char, "transfer_syntax"), py_dcerpc_sec_vt_pcontext_get_transfer_syntax, py_dcerpc_sec_vt_pcontext_set_transfer_syntax },
- { NULL }
+ {
+ .name = discard_const_p(char, "abstract_syntax"),
+ .get = py_dcerpc_sec_vt_pcontext_get_abstract_syntax,
+ .set = py_dcerpc_sec_vt_pcontext_set_abstract_syntax,
+ .doc = discard_const_p(char, "PIDL-generated element abstract_syntax")
+ },
+ {
+ .name = discard_const_p(char, "transfer_syntax"),
+ .get = py_dcerpc_sec_vt_pcontext_get_transfer_syntax,
+ .set = py_dcerpc_sec_vt_pcontext_set_transfer_syntax,
+ .doc = discard_const_p(char, "PIDL-generated element transfer_syntax")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_sec_vt_pcontext_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
.tp_getset = py_dcerpc_sec_vt_pcontext_getsetters,
.tp_methods = NULL,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_sec_vt_pcontext_new,
};
static int py_dcerpc_sec_vt_header2_set_ptype(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt_header2 *object = (struct dcerpc_sec_vt_header2 *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->ptype");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->ptype));
if (PyLong_Check(value)) {
static int py_dcerpc_sec_vt_header2_set_reserved1(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt_header2 *object = (struct dcerpc_sec_vt_header2 *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->reserved1");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->reserved1));
if (PyLong_Check(value)) {
static int py_dcerpc_sec_vt_header2_set_reserved2(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt_header2 *object = (struct dcerpc_sec_vt_header2 *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->reserved2");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->reserved2));
if (PyLong_Check(value)) {
static int py_dcerpc_sec_vt_header2_set_drep(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt_header2 *object = (struct dcerpc_sec_vt_header2 *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->drep");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int drep_cntr_0;
return -1;
}
for (drep_cntr_0 = 0; drep_cntr_0 < PyList_GET_SIZE(value); drep_cntr_0++) {
+ if (PyList_GET_ITEM(value, drep_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->drep[drep_cntr_0]");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->drep[drep_cntr_0]));
if (PyLong_Check(PyList_GET_ITEM(value, drep_cntr_0))) {
static int py_dcerpc_sec_vt_header2_set_call_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt_header2 *object = (struct dcerpc_sec_vt_header2 *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->call_id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->call_id));
if (PyLong_Check(value)) {
static int py_dcerpc_sec_vt_header2_set_context_id(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt_header2 *object = (struct dcerpc_sec_vt_header2 *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->context_id");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->context_id));
if (PyLong_Check(value)) {
static int py_dcerpc_sec_vt_header2_set_opnum(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt_header2 *object = (struct dcerpc_sec_vt_header2 *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->opnum");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->opnum));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_sec_vt_header2_getsetters[] = {
- { discard_const_p(char, "ptype"), py_dcerpc_sec_vt_header2_get_ptype, py_dcerpc_sec_vt_header2_set_ptype },
- { discard_const_p(char, "reserved1"), py_dcerpc_sec_vt_header2_get_reserved1, py_dcerpc_sec_vt_header2_set_reserved1 },
- { discard_const_p(char, "reserved2"), py_dcerpc_sec_vt_header2_get_reserved2, py_dcerpc_sec_vt_header2_set_reserved2 },
- { discard_const_p(char, "drep"), py_dcerpc_sec_vt_header2_get_drep, py_dcerpc_sec_vt_header2_set_drep },
- { discard_const_p(char, "call_id"), py_dcerpc_sec_vt_header2_get_call_id, py_dcerpc_sec_vt_header2_set_call_id },
- { discard_const_p(char, "context_id"), py_dcerpc_sec_vt_header2_get_context_id, py_dcerpc_sec_vt_header2_set_context_id },
- { discard_const_p(char, "opnum"), py_dcerpc_sec_vt_header2_get_opnum, py_dcerpc_sec_vt_header2_set_opnum },
- { NULL }
+ {
+ .name = discard_const_p(char, "ptype"),
+ .get = py_dcerpc_sec_vt_header2_get_ptype,
+ .set = py_dcerpc_sec_vt_header2_set_ptype,
+ .doc = discard_const_p(char, "PIDL-generated element ptype")
+ },
+ {
+ .name = discard_const_p(char, "reserved1"),
+ .get = py_dcerpc_sec_vt_header2_get_reserved1,
+ .set = py_dcerpc_sec_vt_header2_set_reserved1,
+ .doc = discard_const_p(char, "PIDL-generated element reserved1")
+ },
+ {
+ .name = discard_const_p(char, "reserved2"),
+ .get = py_dcerpc_sec_vt_header2_get_reserved2,
+ .set = py_dcerpc_sec_vt_header2_set_reserved2,
+ .doc = discard_const_p(char, "PIDL-generated element reserved2")
+ },
+ {
+ .name = discard_const_p(char, "drep"),
+ .get = py_dcerpc_sec_vt_header2_get_drep,
+ .set = py_dcerpc_sec_vt_header2_set_drep,
+ .doc = discard_const_p(char, "PIDL-generated element drep")
+ },
+ {
+ .name = discard_const_p(char, "call_id"),
+ .get = py_dcerpc_sec_vt_header2_get_call_id,
+ .set = py_dcerpc_sec_vt_header2_set_call_id,
+ .doc = discard_const_p(char, "PIDL-generated element call_id")
+ },
+ {
+ .name = discard_const_p(char, "context_id"),
+ .get = py_dcerpc_sec_vt_header2_get_context_id,
+ .set = py_dcerpc_sec_vt_header2_set_context_id,
+ .doc = discard_const_p(char, "PIDL-generated element context_id")
+ },
+ {
+ .name = discard_const_p(char, "opnum"),
+ .get = py_dcerpc_sec_vt_header2_get_opnum,
+ .set = py_dcerpc_sec_vt_header2_set_opnum,
+ .doc = discard_const_p(char, "PIDL-generated element opnum")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_sec_vt_header2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
.tp_getset = py_dcerpc_sec_vt_header2_getsetters,
.tp_methods = NULL,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_sec_vt_header2_new,
};
union dcerpc_sec_vt_union *ret = talloc_zero(mem_ctx, union dcerpc_sec_vt_union);
switch (level) {
case DCERPC_SEC_VT_COMMAND_BITMASK1:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->bitmask1");
+ talloc_free(ret); return NULL;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(ret->bitmask1));
if (PyLong_Check(in)) {
break;
case DCERPC_SEC_VT_COMMAND_PCONTEXT:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->pcontext");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_sec_vt_pcontext_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
case DCERPC_SEC_VT_COMMAND_HEADER2:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->header2");
+ talloc_free(ret); return NULL;
+ }
PY_CHECK_TYPE(&dcerpc_sec_vt_header2_Type, in, talloc_free(ret); return NULL;);
if (talloc_reference(mem_ctx, pytalloc_get_mem_ctx(in)) == NULL) {
PyErr_NoMemory();
break;
default:
+ if (in == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct ret->_unknown");
+ talloc_free(ret); return NULL;
+ }
ret->_unknown = data_blob_talloc(mem_ctx, PyString_AS_STRING(in), PyString_GET_SIZE(in));
break;
static int py_dcerpc_sec_vt_set_command(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt *object = (struct dcerpc_sec_vt *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->command");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->command));
if (PyLong_Check(value)) {
static int py_dcerpc_sec_vt_set_u(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt *object = (struct dcerpc_sec_vt *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->u");
+ return -1;
+ }
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->u");
+ return -1;
+ }
{
union dcerpc_sec_vt_union *u_switch_1;
u_switch_1 = py_export_dcerpc_sec_vt_union(pytalloc_get_mem_ctx(py_obj), object->command & DCERPC_SEC_VT_COMMAND_ENUM, value);
}
static PyGetSetDef py_dcerpc_sec_vt_getsetters[] = {
- { discard_const_p(char, "command"), py_dcerpc_sec_vt_get_command, py_dcerpc_sec_vt_set_command },
- { discard_const_p(char, "u"), py_dcerpc_sec_vt_get_u, py_dcerpc_sec_vt_set_u },
- { NULL }
+ {
+ .name = discard_const_p(char, "command"),
+ .get = py_dcerpc_sec_vt_get_command,
+ .set = py_dcerpc_sec_vt_set_command,
+ .doc = discard_const_p(char, "PIDL-generated element command")
+ },
+ {
+ .name = discard_const_p(char, "u"),
+ .get = py_dcerpc_sec_vt_get_u,
+ .set = py_dcerpc_sec_vt_set_u,
+ .doc = discard_const_p(char, "PIDL-generated element u")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_sec_vt_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
.tp_getset = py_dcerpc_sec_vt_getsetters,
.tp_methods = NULL,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_sec_vt_new,
};
static int py_dcerpc_sec_vt_count_set_count(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_vt_count *object = (struct dcerpc_sec_vt_count *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->count");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->count));
if (PyLong_Check(value)) {
}
static PyGetSetDef py_dcerpc_sec_vt_count_getsetters[] = {
- { discard_const_p(char, "count"), py_dcerpc_sec_vt_count_get_count, py_dcerpc_sec_vt_count_set_count },
- { NULL }
+ {
+ .name = discard_const_p(char, "count"),
+ .get = py_dcerpc_sec_vt_count_get_count,
+ .set = py_dcerpc_sec_vt_count_set_count,
+ .doc = discard_const_p(char, "PIDL-generated element count")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_sec_vt_count_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_sec_vt_count_ndr_pack(PyObject *py_obj)
{
struct dcerpc_sec_vt_count *object = (struct dcerpc_sec_vt_count *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_sec_vt_count);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_sec_vt_count);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_sec_vt_count_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_sec_vt_count *object = (struct dcerpc_sec_vt_count *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_sec_vt_count_getsetters,
.tp_methods = py_dcerpc_sec_vt_count_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_sec_vt_count_new,
};
static int py_dcerpc_sec_verification_trailer_set__pad(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_verification_trailer *object = (struct dcerpc_sec_verification_trailer *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->_pad");
+ return -1;
+ }
object->_pad = data_blob_talloc(pytalloc_get_mem_ctx(py_obj), PyString_AS_STRING(value), PyString_GET_SIZE(value));
return 0;
}
static int py_dcerpc_sec_verification_trailer_set_magic(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_verification_trailer *object = (struct dcerpc_sec_verification_trailer *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->magic");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int magic_cntr_0;
return -1;
}
for (magic_cntr_0 = 0; magic_cntr_0 < PyList_GET_SIZE(value); magic_cntr_0++) {
+ if (PyList_GET_ITEM(value, magic_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->magic[magic_cntr_0]");
+ return -1;
+ }
{
const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof(object->magic[magic_cntr_0]));
if (PyLong_Check(PyList_GET_ITEM(value, magic_cntr_0))) {
static int py_dcerpc_sec_verification_trailer_set_count(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_verification_trailer *object = (struct dcerpc_sec_verification_trailer *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->count");
+ return -1;
+ }
PY_CHECK_TYPE(&dcerpc_sec_vt_count_Type, value, return -1;);
if (talloc_reference(pytalloc_get_mem_ctx(py_obj), pytalloc_get_mem_ctx(value)) == NULL) {
PyErr_NoMemory();
static int py_dcerpc_sec_verification_trailer_set_commands(PyObject *py_obj, PyObject *value, void *closure)
{
struct dcerpc_sec_verification_trailer *object = (struct dcerpc_sec_verification_trailer *)pytalloc_get_ptr(py_obj);
+ if (value == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->commands");
+ return -1;
+ }
PY_CHECK_TYPE(&PyList_Type, value, return -1;);
{
int commands_cntr_0;
if (!object->commands) { return -1;; }
talloc_set_name_const(object->commands, "ARRAY: object->commands");
for (commands_cntr_0 = 0; commands_cntr_0 < PyList_GET_SIZE(value); commands_cntr_0++) {
+ if (PyList_GET_ITEM(value, commands_cntr_0) == NULL) {
+ PyErr_Format(PyExc_AttributeError, "Cannot delete NDR object: struct object->commands[commands_cntr_0]");
+ return -1;
+ }
PY_CHECK_TYPE(&dcerpc_sec_vt_Type, PyList_GET_ITEM(value, commands_cntr_0), return -1;);
if (talloc_reference(object->commands, pytalloc_get_mem_ctx(PyList_GET_ITEM(value, commands_cntr_0))) == NULL) {
PyErr_NoMemory();
}
static PyGetSetDef py_dcerpc_sec_verification_trailer_getsetters[] = {
- { discard_const_p(char, "_pad"), py_dcerpc_sec_verification_trailer_get__pad, py_dcerpc_sec_verification_trailer_set__pad },
- { discard_const_p(char, "magic"), py_dcerpc_sec_verification_trailer_get_magic, py_dcerpc_sec_verification_trailer_set_magic },
- { discard_const_p(char, "count"), py_dcerpc_sec_verification_trailer_get_count, py_dcerpc_sec_verification_trailer_set_count },
- { discard_const_p(char, "commands"), py_dcerpc_sec_verification_trailer_get_commands, py_dcerpc_sec_verification_trailer_set_commands },
- { NULL }
+ {
+ .name = discard_const_p(char, "_pad"),
+ .get = py_dcerpc_sec_verification_trailer_get__pad,
+ .set = py_dcerpc_sec_verification_trailer_set__pad,
+ .doc = discard_const_p(char, "PIDL-generated element _pad")
+ },
+ {
+ .name = discard_const_p(char, "magic"),
+ .get = py_dcerpc_sec_verification_trailer_get_magic,
+ .set = py_dcerpc_sec_verification_trailer_set_magic,
+ .doc = discard_const_p(char, "PIDL-generated element magic")
+ },
+ {
+ .name = discard_const_p(char, "count"),
+ .get = py_dcerpc_sec_verification_trailer_get_count,
+ .set = py_dcerpc_sec_verification_trailer_set_count,
+ .doc = discard_const_p(char, "PIDL-generated element count")
+ },
+ {
+ .name = discard_const_p(char, "commands"),
+ .get = py_dcerpc_sec_verification_trailer_get_commands,
+ .set = py_dcerpc_sec_verification_trailer_set_commands,
+ .doc = discard_const_p(char, "PIDL-generated element commands")
+ },
+ { .name = NULL }
};
static PyObject *py_dcerpc_sec_verification_trailer_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
static PyObject *py_dcerpc_sec_verification_trailer_ndr_pack(PyObject *py_obj)
{
struct dcerpc_sec_verification_trailer *object = (struct dcerpc_sec_verification_trailer *)pytalloc_get_ptr(py_obj);
+ PyObject *ret = NULL;
DATA_BLOB blob;
enum ndr_err_code err;
- err = ndr_push_struct_blob(&blob, pytalloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_dcerpc_sec_verification_trailer);
+ TALLOC_CTX *tmp_ctx = talloc_new(pytalloc_get_mem_ctx(py_obj));
+ if (tmp_ctx == NULL) {
+ PyErr_SetNdrError(NDR_ERR_ALLOC);
+ return NULL;
+ }
+ err = ndr_push_struct_blob(&blob, tmp_ctx, object, (ndr_push_flags_fn_t)ndr_push_dcerpc_sec_verification_trailer);
if (err != NDR_ERR_SUCCESS) {
+ TALLOC_FREE(tmp_ctx);
PyErr_SetNdrError(err);
return NULL;
}
- return PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ TALLOC_FREE(tmp_ctx);
+ return ret;
}
static PyObject *py_dcerpc_sec_verification_trailer_ndr_unpack(PyObject *py_obj, PyObject *args, PyObject *kwargs)
{
struct dcerpc_sec_verification_trailer *object = (struct dcerpc_sec_verification_trailer *)pytalloc_get_ptr(py_obj);
DATA_BLOB blob;
- int blob_length = 0;
+ Py_ssize_t blob_length = 0;
enum ndr_err_code err;
const char * const kwnames[] = { "data_blob", "allow_remaining", NULL };
PyObject *allow_remaining_obj = NULL;
.tp_getset = py_dcerpc_sec_verification_trailer_getsetters,
.tp_methods = py_dcerpc_sec_verification_trailer_methods,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_basicsize = sizeof(pytalloc_Object),
.tp_new = py_dcerpc_sec_verification_trailer_new,
};
if (ndr_syntax_id_Type == NULL)
return;
- Object_Type = (PyTypeObject *)PyObject_GetAttrString(dep_talloc, "Object");
- if (Object_Type == NULL)
+ BaseObject_Type = (PyTypeObject *)PyObject_GetAttrString(dep_talloc, "BaseObject");
+ if (BaseObject_Type == NULL)
return;
GUID_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_misc, "GUID");
if (GUID_Type == NULL)
return;
- dcerpc_ctx_list_Type.tp_base = Object_Type;
+ dcerpc_ctx_list_Type.tp_base = BaseObject_Type;
+ dcerpc_ctx_list_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_bind_Type.tp_base = Object_Type;
+ dcerpc_bind_Type.tp_base = BaseObject_Type;
+ dcerpc_bind_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_empty_Type.tp_base = Object_Type;
+ dcerpc_empty_Type.tp_base = BaseObject_Type;
+ dcerpc_empty_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_request_Type.tp_base = Object_Type;
+ dcerpc_request_Type.tp_base = BaseObject_Type;
+ dcerpc_request_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_ack_ctx_Type.tp_base = Object_Type;
+ dcerpc_ack_ctx_Type.tp_base = BaseObject_Type;
+ dcerpc_ack_ctx_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_bind_ack_Type.tp_base = Object_Type;
+ dcerpc_bind_ack_Type.tp_base = BaseObject_Type;
+ dcerpc_bind_ack_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_bind_nak_version_Type.tp_base = Object_Type;
+ dcerpc_bind_nak_version_Type.tp_base = BaseObject_Type;
+ dcerpc_bind_nak_version_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_bind_nak_Type.tp_base = Object_Type;
+ dcerpc_bind_nak_Type.tp_base = BaseObject_Type;
+ dcerpc_bind_nak_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_response_Type.tp_base = Object_Type;
+ dcerpc_response_Type.tp_base = BaseObject_Type;
+ dcerpc_response_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_fault_Type.tp_base = Object_Type;
+ dcerpc_fault_Type.tp_base = BaseObject_Type;
+ dcerpc_fault_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_auth_Type.tp_base = Object_Type;
+ dcerpc_auth_Type.tp_base = BaseObject_Type;
+ dcerpc_auth_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_auth3_Type.tp_base = Object_Type;
+ dcerpc_auth3_Type.tp_base = BaseObject_Type;
+ dcerpc_auth3_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_orphaned_Type.tp_base = Object_Type;
+ dcerpc_orphaned_Type.tp_base = BaseObject_Type;
+ dcerpc_orphaned_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_co_cancel_Type.tp_base = Object_Type;
+ dcerpc_co_cancel_Type.tp_base = BaseObject_Type;
+ dcerpc_co_cancel_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_cl_cancel_Type.tp_base = Object_Type;
+ dcerpc_cl_cancel_Type.tp_base = BaseObject_Type;
+ dcerpc_cl_cancel_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_cancel_ack_Type.tp_base = Object_Type;
+ dcerpc_cancel_ack_Type.tp_base = BaseObject_Type;
+ dcerpc_cancel_ack_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_fack_Type.tp_base = Object_Type;
+ dcerpc_fack_Type.tp_base = BaseObject_Type;
+ dcerpc_fack_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_ack_Type.tp_base = Object_Type;
+ dcerpc_ack_Type.tp_base = BaseObject_Type;
+ dcerpc_ack_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_ping_Type.tp_base = Object_Type;
+ dcerpc_ping_Type.tp_base = BaseObject_Type;
+ dcerpc_ping_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_shutdown_Type.tp_base = Object_Type;
+ dcerpc_shutdown_Type.tp_base = BaseObject_Type;
+ dcerpc_shutdown_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_working_Type.tp_base = Object_Type;
+ dcerpc_working_Type.tp_base = BaseObject_Type;
+ dcerpc_working_Type.tp_basicsize = pytalloc_BaseObject_size();
- RTSCookie_Type.tp_base = Object_Type;
+ RTSCookie_Type.tp_base = BaseObject_Type;
+ RTSCookie_Type.tp_basicsize = pytalloc_BaseObject_size();
- ClientAddress_Type.tp_base = Object_Type;
+ ClientAddress_Type.tp_base = BaseObject_Type;
+ ClientAddress_Type.tp_basicsize = pytalloc_BaseObject_size();
- FlowControlAcknowledgment_Type.tp_base = Object_Type;
+ FlowControlAcknowledgment_Type.tp_base = BaseObject_Type;
+ FlowControlAcknowledgment_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_ReceiveWindowSize_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_ReceiveWindowSize_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_ReceiveWindowSize_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_FlowControlAck_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_FlowControlAck_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_FlowControlAck_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_ConnectionTimeout_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_ConnectionTimeout_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_ConnectionTimeout_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_Cookie_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_Cookie_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_Cookie_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_ChannelLifetime_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_ChannelLifetime_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_ChannelLifetime_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_ClientKeepalive_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_ClientKeepalive_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_ClientKeepalive_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_Version_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_Version_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_Version_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_Empty_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_Empty_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_Empty_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_Padding_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_Padding_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_Padding_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_NegativeANCE_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_NegativeANCE_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_NegativeANCE_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_ANCE_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_ANCE_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_ANCE_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_ClientAddress_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_ClientAddress_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_ClientAddress_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_AssociationGroupId_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_AssociationGroupId_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_AssociationGroupId_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_Destination_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_Destination_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_Destination_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_PingTrafficSentNotify_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_PingTrafficSentNotify_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_PingTrafficSentNotify_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_cmd_Type.tp_base = Object_Type;
+ dcerpc_rts_cmd_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_cmd_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_rts_Type.tp_base = Object_Type;
+ dcerpc_rts_Type.tp_base = BaseObject_Type;
+ dcerpc_rts_Type.tp_basicsize = pytalloc_BaseObject_size();
- ncacn_packet_Type.tp_base = Object_Type;
+ ncacn_packet_Type.tp_base = BaseObject_Type;
+ ncacn_packet_Type.tp_basicsize = pytalloc_BaseObject_size();
- ncadg_packet_Type.tp_base = Object_Type;
+ ncadg_packet_Type.tp_base = BaseObject_Type;
+ ncadg_packet_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_sec_vt_pcontext_Type.tp_base = Object_Type;
+ dcerpc_sec_vt_pcontext_Type.tp_base = BaseObject_Type;
+ dcerpc_sec_vt_pcontext_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_sec_vt_header2_Type.tp_base = Object_Type;
+ dcerpc_sec_vt_header2_Type.tp_base = BaseObject_Type;
+ dcerpc_sec_vt_header2_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_sec_vt_Type.tp_base = Object_Type;
+ dcerpc_sec_vt_Type.tp_base = BaseObject_Type;
+ dcerpc_sec_vt_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_sec_vt_count_Type.tp_base = Object_Type;
+ dcerpc_sec_vt_count_Type.tp_base = BaseObject_Type;
+ dcerpc_sec_vt_count_Type.tp_basicsize = pytalloc_BaseObject_size();
- dcerpc_sec_verification_trailer_Type.tp_base = Object_Type;
+ dcerpc_sec_verification_trailer_Type.tp_base = BaseObject_Type;
+ dcerpc_sec_verification_trailer_Type.tp_basicsize = pytalloc_BaseObject_size();
if (PyType_Ready(&dcerpc_ctx_list_Type) < 0)
return;
PyModule_AddObject(m, "DCERPC_RESPONSE_LENGTH", ndr_PyLong_FromUnsignedLongLong(24));
PyModule_AddObject(m, "DCERPC_FAULT_OP_RNG_ERROR", PyInt_FromLong(DCERPC_NCA_S_OP_RNG_ERROR));
PyModule_AddObject(m, "DCERPC_FAULT_UNK_IF", PyInt_FromLong(DCERPC_NCA_S_UNKNOWN_IF));
- PyModule_AddObject(m, "DCERPC_FAULT_NDR", ndr_PyLong_FromUnsignedLongLong(0x000006f7));
+ PyModule_AddObject(m, "DCERPC_FAULT_NDR", PyInt_FromLong(DCERPC_FAULT_BAD_STUB_DATA));
PyModule_AddObject(m, "DCERPC_FAULT_INVALID_TAG", PyInt_FromLong(DCERPC_NCA_S_FAULT_INVALID_TAG));
PyModule_AddObject(m, "DCERPC_FAULT_CONTEXT_MISMATCH", PyInt_FromLong(DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH));
PyModule_AddObject(m, "DCERPC_FAULT_OTHER", ndr_PyLong_FromUnsignedLongLong(0x00000001));
- PyModule_AddObject(m, "DCERPC_FAULT_ACCESS_DENIED", ndr_PyLong_FromUnsignedLongLong(0x00000005));
- PyModule_AddObject(m, "DCERPC_FAULT_CANT_PERFORM", ndr_PyLong_FromUnsignedLongLong(0x000006d8));
- PyModule_AddObject(m, "DCERPC_FAULT_SEC_PKG_ERROR", ndr_PyLong_FromUnsignedLongLong(0x00000721));
PyModule_AddObject(m, "DCERPC_FAULT_TODO", ndr_PyLong_FromUnsignedLongLong(0x00000042));
- PyModule_AddObject(m, "DCERPC_AUTH_LEVEL_DEFAULT", PyInt_FromLong((uint16_t)DCERPC_AUTH_LEVEL_CONNECT));
+ PyModule_AddObject(m, "DCERPC_FAULT_LENGTH", ndr_PyLong_FromUnsignedLongLong(32));
PyModule_AddObject(m, "DCERPC_AUTH_TRAILER_LENGTH", ndr_PyLong_FromUnsignedLongLong(8));
PyModule_AddObject(m, "DCERPC_AUTH_PAD_ALIGNMENT", ndr_PyLong_FromUnsignedLongLong(16));
PyModule_AddObject(m, "DCERPC_PFC_FLAG_PENDING_CANCEL", PyInt_FromLong(DCERPC_PFC_FLAG_PENDING_CANCEL_OR_HDR_SIGNING));
PyModule_AddObject(m, "DCERPC_PFC_OFFSET", ndr_PyLong_FromUnsignedLongLong(3));
PyModule_AddObject(m, "DCERPC_DREP_OFFSET", ndr_PyLong_FromUnsignedLongLong(4));
PyModule_AddObject(m, "DCERPC_FRAG_LEN_OFFSET", ndr_PyLong_FromUnsignedLongLong(8));
+ PyModule_AddObject(m, "DCERPC_FRAG_MAX_SIZE", ndr_PyLong_FromUnsignedLongLong(5840));
PyModule_AddObject(m, "DCERPC_AUTH_LEN_OFFSET", ndr_PyLong_FromUnsignedLongLong(10));
PyModule_AddObject(m, "DCERPC_NCACN_PAYLOAD_OFFSET", ndr_PyLong_FromUnsignedLongLong(16));
+ PyModule_AddObject(m, "DCERPC_NCACN_REQUEST_DEFAULT_MAX_SIZE", ndr_PyLong_FromUnsignedLongLong(0x400000));
+ PyModule_AddObject(m, "DCERPC_NCACN_RESPONSE_DEFAULT_MAX_SIZE", ndr_PyLong_FromUnsignedLongLong(0xf000000));
PyModule_AddObject(m, "DCERPC_DREP_LE", ndr_PyLong_FromUnsignedLongLong(0x10));
PyModule_AddObject(m, "DCERPC_SEC_VT_MAX_SIZE", ndr_PyLong_FromUnsignedLongLong(1024));
PyModule_AddObject(m, "DCERPC_BIND_ACK_RESULT_ACCEPTANCE", PyInt_FromLong((uint16_t)DCERPC_BIND_ACK_RESULT_ACCEPTANCE));
PyModule_AddObject(m, "DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR", ndr_PyLong_FromUnsignedLongLong((uint32_t)DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR));
PyModule_AddObject(m, "DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND", ndr_PyLong_FromUnsignedLongLong((uint32_t)DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND));
PyModule_AddObject(m, "DCERPC_NCA_S_FAULT_NO_CLIENT_STUB", ndr_PyLong_FromUnsignedLongLong((uint32_t)DCERPC_NCA_S_FAULT_NO_CLIENT_STUB));
+ PyModule_AddObject(m, "DCERPC_FAULT_ACCESS_DENIED", ndr_PyLong_FromUnsignedLongLong((uint32_t)DCERPC_FAULT_ACCESS_DENIED));
+ PyModule_AddObject(m, "DCERPC_FAULT_NO_CALL_ACTIVE", ndr_PyLong_FromUnsignedLongLong((uint32_t)DCERPC_FAULT_NO_CALL_ACTIVE));
+ PyModule_AddObject(m, "DCERPC_FAULT_CANT_PERFORM", ndr_PyLong_FromUnsignedLongLong((uint32_t)DCERPC_FAULT_CANT_PERFORM));
+ PyModule_AddObject(m, "DCERPC_FAULT_OUT_OF_RESOURCES", ndr_PyLong_FromUnsignedLongLong((uint32_t)DCERPC_FAULT_OUT_OF_RESOURCES));
+ PyModule_AddObject(m, "DCERPC_FAULT_BAD_STUB_DATA", ndr_PyLong_FromUnsignedLongLong((uint32_t)DCERPC_FAULT_BAD_STUB_DATA));
+ PyModule_AddObject(m, "DCERPC_FAULT_SEC_PKG_ERROR", ndr_PyLong_FromUnsignedLongLong((uint32_t)DCERPC_FAULT_SEC_PKG_ERROR));
+ PyModule_AddObject(m, "DCERPC_FAULT_FLAG_EXTENDED_ERROR_INFORMATION", PyInt_FromLong((uint16_t)DCERPC_FAULT_FLAG_EXTENDED_ERROR_INFORMATION));
PyModule_AddObject(m, "DCERPC_AUTH_TYPE_NONE", PyInt_FromLong((uint16_t)DCERPC_AUTH_TYPE_NONE));
PyModule_AddObject(m, "DCERPC_AUTH_TYPE_KRB5_1", PyInt_FromLong((uint16_t)DCERPC_AUTH_TYPE_KRB5_1));
PyModule_AddObject(m, "DCERPC_AUTH_TYPE_SPNEGO", PyInt_FromLong((uint16_t)DCERPC_AUTH_TYPE_SPNEGO));