summaryrefslogtreecommitdiff
path: root/source3/autoconf/librpc/gen_ndr/py_rot.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/autoconf/librpc/gen_ndr/py_rot.c')
-rw-r--r--source3/autoconf/librpc/gen_ndr/py_rot.c339
1 files changed, 339 insertions, 0 deletions
diff --git a/source3/autoconf/librpc/gen_ndr/py_rot.c b/source3/autoconf/librpc/gen_ndr/py_rot.c
new file mode 100644
index 0000000000..d68d488bfd
--- /dev/null
+++ b/source3/autoconf/librpc/gen_ndr/py_rot.c
@@ -0,0 +1,339 @@
+
+/* Python wrapper functions auto-generated by pidl */
+#include <Python.h>
+#include "includes.h"
+#include <pytalloc.h>
+#include "librpc/rpc/pyrpc.h"
+#include "librpc/rpc/pyrpc_util.h"
+#include "autoconf/librpc/gen_ndr/ndr_rot.h"
+#include "autoconf/librpc/gen_ndr/ndr_rot_c.h"
+
+#include "librpc/gen_ndr/orpc.h"
+staticforward PyTypeObject rot_InterfaceType;
+
+void initrot(void);static PyTypeObject *MInterfacePointer_Type;
+static PyTypeObject *ClientConnection_Type;
+
+static bool pack_py_rot_add_args_in(PyObject *args, PyObject *kwargs, struct rot_add *r)
+{
+ PyObject *py_flags;
+ PyObject *py_unk;
+ PyObject *py_moniker;
+ const char *kwnames[] = {
+ "flags", "unk", "moniker", NULL
+ };
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OOO:rot_add", discard_const_p(char *, kwnames), &py_flags, &py_unk, &py_moniker)) {
+ return false;
+ }
+
+ PY_CHECK_TYPE(&PyInt_Type, py_flags, return false;);
+ r->in.flags = PyInt_AsLong(py_flags);
+ r->in.unk = talloc_ptrtype(r, r->in.unk);
+ PY_CHECK_TYPE(MInterfacePointer_Type, py_unk, return false;);
+ if (talloc_reference(r, pytalloc_get_mem_ctx(py_unk)) == NULL) {
+ PyErr_NoMemory();
+ return false;
+ }
+ r->in.unk = (struct MInterfacePointer *)pytalloc_get_ptr(py_unk);
+ r->in.moniker = talloc_ptrtype(r, r->in.moniker);
+ PY_CHECK_TYPE(MInterfacePointer_Type, py_moniker, return false;);
+ if (talloc_reference(r, pytalloc_get_mem_ctx(py_moniker)) == NULL) {
+ PyErr_NoMemory();
+ return false;
+ }
+ r->in.moniker = (struct MInterfacePointer *)pytalloc_get_ptr(py_moniker);
+ return true;
+}
+
+static PyObject *unpack_py_rot_add_args_out(struct rot_add *r)
+{
+ PyObject *result;
+ PyObject *py_rotid;
+ py_rotid = PyInt_FromLong(*r->out.rotid);
+ result = py_rotid;
+ if (!W_ERROR_IS_OK(r->out.result)) {
+ PyErr_SetWERROR(r->out.result);
+ return NULL;
+ }
+
+ return result;
+}
+
+static bool pack_py_rot_remove_args_in(PyObject *args, PyObject *kwargs, struct rot_remove *r)
+{
+ PyObject *py_rotid;
+ const char *kwnames[] = {
+ "rotid", NULL
+ };
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:rot_remove", discard_const_p(char *, kwnames), &py_rotid)) {
+ return false;
+ }
+
+ PY_CHECK_TYPE(&PyInt_Type, py_rotid, return false;);
+ r->in.rotid = PyInt_AsLong(py_rotid);
+ return true;
+}
+
+static PyObject *unpack_py_rot_remove_args_out(struct rot_remove *r)
+{
+ PyObject *result;
+ result = Py_None;
+ Py_INCREF(result);
+ if (!W_ERROR_IS_OK(r->out.result)) {
+ PyErr_SetWERROR(r->out.result);
+ return NULL;
+ }
+
+ return result;
+}
+
+static bool pack_py_rot_is_listed_args_in(PyObject *args, PyObject *kwargs, struct rot_is_listed *r)
+{
+ PyObject *py_moniker;
+ const char *kwnames[] = {
+ "moniker", NULL
+ };
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:rot_is_listed", discard_const_p(char *, kwnames), &py_moniker)) {
+ return false;
+ }
+
+ r->in.moniker = talloc_ptrtype(r, r->in.moniker);
+ PY_CHECK_TYPE(MInterfacePointer_Type, py_moniker, return false;);
+ if (talloc_reference(r, pytalloc_get_mem_ctx(py_moniker)) == NULL) {
+ PyErr_NoMemory();
+ return false;
+ }
+ r->in.moniker = (struct MInterfacePointer *)pytalloc_get_ptr(py_moniker);
+ return true;
+}
+
+static PyObject *unpack_py_rot_is_listed_args_out(struct rot_is_listed *r)
+{
+ PyObject *result;
+ result = Py_None;
+ Py_INCREF(result);
+ if (!W_ERROR_IS_OK(r->out.result)) {
+ PyErr_SetWERROR(r->out.result);
+ return NULL;
+ }
+
+ return result;
+}
+
+static bool pack_py_rot_get_interface_pointer_args_in(PyObject *args, PyObject *kwargs, struct rot_get_interface_pointer *r)
+{
+ PyObject *py_moniker;
+ const char *kwnames[] = {
+ "moniker", NULL
+ };
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:rot_get_interface_pointer", discard_const_p(char *, kwnames), &py_moniker)) {
+ return false;
+ }
+
+ r->in.moniker = talloc_ptrtype(r, r->in.moniker);
+ PY_CHECK_TYPE(MInterfacePointer_Type, py_moniker, return false;);
+ if (talloc_reference(r, pytalloc_get_mem_ctx(py_moniker)) == NULL) {
+ PyErr_NoMemory();
+ return false;
+ }
+ r->in.moniker = (struct MInterfacePointer *)pytalloc_get_ptr(py_moniker);
+ return true;
+}
+
+static PyObject *unpack_py_rot_get_interface_pointer_args_out(struct rot_get_interface_pointer *r)
+{
+ PyObject *result;
+ PyObject *py_ip;
+ py_ip = pytalloc_reference_ex(MInterfacePointer_Type, r->out.ip, r->out.ip);
+ result = py_ip;
+ if (!W_ERROR_IS_OK(r->out.result)) {
+ PyErr_SetWERROR(r->out.result);
+ return NULL;
+ }
+
+ return result;
+}
+
+static bool pack_py_rot_set_modification_time_args_in(PyObject *args, PyObject *kwargs, struct rot_set_modification_time *r)
+{
+ PyObject *py_rotid;
+ PyObject *py_t;
+ const char *kwnames[] = {
+ "rotid", "t", NULL
+ };
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO:rot_set_modification_time", discard_const_p(char *, kwnames), &py_rotid, &py_t)) {
+ return false;
+ }
+
+ PY_CHECK_TYPE(&PyInt_Type, py_rotid, return false;);
+ r->in.rotid = PyInt_AsLong(py_rotid);
+ r->in.t = talloc_ptrtype(r, r->in.t);
+ if (PyLong_Check(py_t)) {
+ *r->in.t = PyLong_AsLongLong(py_t);
+ } else if (PyInt_Check(py_t)) {
+ *r->in.t = PyInt_AsLong(py_t);
+ } else {
+ PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
+ PyInt_Type.tp_name, PyLong_Type.tp_name);
+ return false;
+ }
+ return true;
+}
+
+static PyObject *unpack_py_rot_set_modification_time_args_out(struct rot_set_modification_time *r)
+{
+ PyObject *result;
+ result = Py_None;
+ Py_INCREF(result);
+ if (!W_ERROR_IS_OK(r->out.result)) {
+ PyErr_SetWERROR(r->out.result);
+ return NULL;
+ }
+
+ return result;
+}
+
+static bool pack_py_rot_get_modification_time_args_in(PyObject *args, PyObject *kwargs, struct rot_get_modification_time *r)
+{
+ PyObject *py_moniker;
+ const char *kwnames[] = {
+ "moniker", NULL
+ };
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:rot_get_modification_time", discard_const_p(char *, kwnames), &py_moniker)) {
+ return false;
+ }
+
+ r->in.moniker = talloc_ptrtype(r, r->in.moniker);
+ PY_CHECK_TYPE(MInterfacePointer_Type, py_moniker, return false;);
+ if (talloc_reference(r, pytalloc_get_mem_ctx(py_moniker)) == NULL) {
+ PyErr_NoMemory();
+ return false;
+ }
+ r->in.moniker = (struct MInterfacePointer *)pytalloc_get_ptr(py_moniker);
+ return true;
+}
+
+static PyObject *unpack_py_rot_get_modification_time_args_out(struct rot_get_modification_time *r)
+{
+ PyObject *result;
+ PyObject *py_t;
+ py_t = PyLong_FromLongLong(*r->out.t);
+ result = py_t;
+ if (!W_ERROR_IS_OK(r->out.result)) {
+ PyErr_SetWERROR(r->out.result);
+ return NULL;
+ }
+
+ return result;
+}
+
+static bool pack_py_rot_enum_args_in(PyObject *args, PyObject *kwargs, struct rot_enum *r)
+{
+ const char *kwnames[] = {
+ NULL
+ };
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, ":rot_enum", discard_const_p(char *, kwnames))) {
+ return false;
+ }
+
+ return true;
+}
+
+static PyObject *unpack_py_rot_enum_args_out(struct rot_enum *r)
+{
+ PyObject *result;
+ PyObject *py_EnumMoniker;
+ py_EnumMoniker = pytalloc_reference_ex(MInterfacePointer_Type, r->out.EnumMoniker, r->out.EnumMoniker);
+ result = py_EnumMoniker;
+ if (!W_ERROR_IS_OK(r->out.result)) {
+ PyErr_SetWERROR(r->out.result);
+ return NULL;
+ }
+
+ return result;
+}
+
+const struct PyNdrRpcMethodDef py_ndr_rot_methods[] = {
+ { "add", "S.add(flags, unk, moniker) -> rotid", (py_dcerpc_call_fn)dcerpc_rot_add_r, (py_data_pack_fn)pack_py_rot_add_args_in, (py_data_unpack_fn)unpack_py_rot_add_args_out, 0, &ndr_table_rot },
+ { "remove", "S.remove(rotid) -> None", (py_dcerpc_call_fn)dcerpc_rot_remove_r, (py_data_pack_fn)pack_py_rot_remove_args_in, (py_data_unpack_fn)unpack_py_rot_remove_args_out, 1, &ndr_table_rot },
+ { "is_listed", "S.is_listed(moniker) -> None", (py_dcerpc_call_fn)dcerpc_rot_is_listed_r, (py_data_pack_fn)pack_py_rot_is_listed_args_in, (py_data_unpack_fn)unpack_py_rot_is_listed_args_out, 2, &ndr_table_rot },
+ { "get_interface_pointer", "S.get_interface_pointer(moniker) -> ip", (py_dcerpc_call_fn)dcerpc_rot_get_interface_pointer_r, (py_data_pack_fn)pack_py_rot_get_interface_pointer_args_in, (py_data_unpack_fn)unpack_py_rot_get_interface_pointer_args_out, 3, &ndr_table_rot },
+ { "set_modification_time", "S.set_modification_time(rotid, t) -> None", (py_dcerpc_call_fn)dcerpc_rot_set_modification_time_r, (py_data_pack_fn)pack_py_rot_set_modification_time_args_in, (py_data_unpack_fn)unpack_py_rot_set_modification_time_args_out, 4, &ndr_table_rot },
+ { "get_modification_time", "S.get_modification_time(moniker) -> t", (py_dcerpc_call_fn)dcerpc_rot_get_modification_time_r, (py_data_pack_fn)pack_py_rot_get_modification_time_args_in, (py_data_unpack_fn)unpack_py_rot_get_modification_time_args_out, 5, &ndr_table_rot },
+ { "enum", "S.enum() -> EnumMoniker", (py_dcerpc_call_fn)dcerpc_rot_enum_r, (py_data_pack_fn)pack_py_rot_enum_args_in, (py_data_unpack_fn)unpack_py_rot_enum_args_out, 6, &ndr_table_rot },
+ { NULL }
+};
+
+static PyObject *interface_rot_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
+{
+ return py_dcerpc_interface_init_helper(type, args, kwargs, &ndr_table_rot);
+}
+
+static PyTypeObject rot_InterfaceType = {
+ PyObject_HEAD_INIT(NULL) 0,
+ .tp_name = "rot.rot",
+ .tp_basicsize = sizeof(dcerpc_InterfaceObject),
+ .tp_doc = "rot(binding, lp_ctx=None, credentials=None) -> connection\n"
+"\n"
+"binding should be a DCE/RPC binding string (for example: ncacn_ip_tcp:127.0.0.1)\n"
+"lp_ctx should be a path to a smb.conf file or a param.LoadParm object\n"
+"credentials should be a credentials.Credentials object.\n\n",
+ .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
+ .tp_new = interface_rot_new,
+};
+
+static PyMethodDef rot_methods[] = {
+ { NULL, NULL, 0, NULL }
+};
+
+void initrot(void)
+{
+ PyObject *m;
+ PyObject *dep_samba_dcerpc_base;
+ PyObject *dep_samba_dcerpc_orpc;
+
+ dep_samba_dcerpc_base = PyImport_ImportModule("samba.dcerpc.base");
+ if (dep_samba_dcerpc_base == NULL)
+ return;
+
+ dep_samba_dcerpc_orpc = PyImport_ImportModule("samba.dcerpc.orpc");
+ if (dep_samba_dcerpc_orpc == NULL)
+ return;
+
+ MInterfacePointer_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_orpc, "MInterfacePointer");
+ if (MInterfacePointer_Type == NULL)
+ return;
+
+ ClientConnection_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_base, "ClientConnection");
+ if (ClientConnection_Type == NULL)
+ return;
+
+ rot_InterfaceType.tp_base = ClientConnection_Type;
+
+ if (PyType_Ready(&rot_InterfaceType) < 0)
+ return;
+ if (!PyInterface_AddNdrRpcMethods(&rot_InterfaceType, py_ndr_rot_methods))
+ return;
+
+#ifdef PY_ROT_PATCH
+ PY_ROT_PATCH(&rot_InterfaceType);
+#endif
+
+ m = Py_InitModule3("rot", rot_methods, "rot DCE/RPC");
+ if (m == NULL)
+ return;
+
+ Py_INCREF((PyObject *)(void *)&rot_InterfaceType);
+ PyModule_AddObject(m, "rot", (PyObject *)(void *)&rot_InterfaceType);
+#ifdef PY_MOD_ROT_PATCH
+ PY_MOD_ROT_PATCH(m);
+#endif
+
+}