2 /* Python wrapper functions auto-generated by pidl */
6 #include "librpc/rpc/pyrpc.h"
7 #include "librpc/rpc/pyrpc_util.h"
8 #include "bin/default/librpc/gen_ndr/ndr_dbgidl.h"
9 #include "bin/default/librpc/gen_ndr/ndr_dbgidl_c.h"
11 staticforward PyTypeObject dbgidl_InterfaceType;
13 void initdbgidl(void);static PyTypeObject *ClientConnection_Type;
15 static bool pack_py_dummy_dbgidl_args_in(PyObject *args, PyObject *kwargs, struct dummy_dbgidl *r)
17 const char *kwnames[] = {
21 if (!PyArg_ParseTupleAndKeywords(args, kwargs, ":dummy_dbgidl", discard_const_p(char *, kwnames))) {
28 static PyObject *unpack_py_dummy_dbgidl_args_out(struct dummy_dbgidl *r)
36 const struct PyNdrRpcMethodDef py_ndr_dbgidl_methods[] = {
37 { "dummy_dbgidl", "S.dummy_dbgidl() -> None", (py_dcerpc_call_fn)dcerpc_dummy_dbgidl_r, (py_data_pack_fn)pack_py_dummy_dbgidl_args_in, (py_data_unpack_fn)unpack_py_dummy_dbgidl_args_out, 0, &ndr_table_dbgidl },
41 static PyObject *interface_dbgidl_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
43 return py_dcerpc_interface_init_helper(type, args, kwargs, &ndr_table_dbgidl);
46 #define PY_DOC_DBGIDL "Remote IDL debugger"
47 static PyTypeObject dbgidl_InterfaceType = {
48 PyObject_HEAD_INIT(NULL) 0,
49 .tp_name = "dbgidl.dbgidl",
50 .tp_basicsize = sizeof(dcerpc_InterfaceObject),
51 .tp_doc = "dbgidl(binding, lp_ctx=None, credentials=None) -> connection\n"
53 "binding should be a DCE/RPC binding string (for example: ncacn_ip_tcp:127.0.0.1)\n"
54 "lp_ctx should be a path to a smb.conf file or a param.LoadParm object\n"
55 "credentials should be a credentials.Credentials object.\n\n"PY_DOC_DBGIDL,
56 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
57 .tp_new = interface_dbgidl_new,
60 static PyMethodDef dbgidl_methods[] = {
61 { NULL, NULL, 0, NULL }
67 PyObject *dep_samba_dcerpc_base;
69 dep_samba_dcerpc_base = PyImport_ImportModule("samba.dcerpc.base");
70 if (dep_samba_dcerpc_base == NULL)
73 ClientConnection_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_base, "ClientConnection");
74 if (ClientConnection_Type == NULL)
77 dbgidl_InterfaceType.tp_base = ClientConnection_Type;
79 if (PyType_Ready(&dbgidl_InterfaceType) < 0)
81 if (!PyInterface_AddNdrRpcMethods(&dbgidl_InterfaceType, py_ndr_dbgidl_methods))
84 #ifdef PY_DBGIDL_PATCH
85 PY_DBGIDL_PATCH(&dbgidl_InterfaceType);
88 m = Py_InitModule3("dbgidl", dbgidl_methods, "dbgidl DCE/RPC");
92 Py_INCREF((PyObject *)(void *)&dbgidl_InterfaceType);
93 PyModule_AddObject(m, "dbgidl", (PyObject *)(void *)&dbgidl_InterfaceType);
94 #ifdef PY_MOD_DBGIDL_PATCH
95 PY_MOD_DBGIDL_PATCH(m);