summaryrefslogtreecommitdiff
path: root/source4/librpc/rpc/pyrpc.h
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc/rpc/pyrpc.h')
-rw-r--r--source4/librpc/rpc/pyrpc.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/source4/librpc/rpc/pyrpc.h b/source4/librpc/rpc/pyrpc.h
index 209d7d3f1f..af9ca728d8 100644
--- a/source4/librpc/rpc/pyrpc.h
+++ b/source4/librpc/rpc/pyrpc.h
@@ -21,6 +21,7 @@
#define _PYRPC_H_
#include "libcli/util/pyerrors.h"
+#include "librpc/rpc/dcerpc.h"
#define PY_CHECK_TYPE(type, var, fail) \
if (!type ## _Check(var)) {\
@@ -28,8 +29,10 @@
fail; \
}
+#define dom_sid0_Type dom_sid_Type
#define dom_sid2_Type dom_sid_Type
#define dom_sid28_Type dom_sid_Type
+#define dom_sid0_Check dom_sid_Check
#define dom_sid2_Check dom_sid_Check
#define dom_sid28_Check dom_sid_Check
@@ -52,4 +55,19 @@ PyAPI_DATA(PyTypeObject) dcerpc_InterfaceType;
void PyErr_SetDCERPCStatus(struct dcerpc_pipe *pipe, NTSTATUS status);
+typedef bool (*py_data_pack_fn) (PyObject *args, PyObject *kwargs, void *r);
+typedef PyObject *(*py_data_unpack_fn) (void *r);
+
+struct PyNdrRpcMethodDef {
+ const char *name;
+ const char *doc;
+ dcerpc_call_fn call;
+ py_data_pack_fn pack_in_data;
+ py_data_unpack_fn unpack_out_data;
+ uint32_t opnum;
+ const struct ndr_interface_table *table;
+};
+
+bool PyInterface_AddNdrRpcMethods(PyTypeObject *object, const struct PyNdrRpcMethodDef *mds);
+
#endif /* _PYRPC_H_ */