s4:pyrpc: add base.bind_time_features_syntax(features)
authorStefan Metzmacher <metze@samba.org>
Wed, 2 Apr 2014 17:53:18 +0000 (19:53 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 3 Jul 2015 00:00:28 +0000 (02:00 +0200)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
source4/librpc/rpc/pyrpc.c

index 09f663213b680ebb1fb63ac5f8d8c5e769f8f666..12199d4fc115257439d84ae4d489250302b70c31 100644 (file)
@@ -398,6 +398,45 @@ static PyTypeObject py_transfer_syntax_ndr64_SyntaxType = {
        .tp_new = py_transfer_syntax_ndr64_new,
 };
 
+static PyObject *py_bind_time_features_syntax_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
+{
+       const char *kwnames[] = {
+               "features", NULL
+       };
+       unsigned long long features = 0;
+       struct ndr_syntax_id syntax;
+       PyObject *args2 = Py_None;
+       PyObject *kwargs2 = Py_None;
+
+       if (!PyArg_ParseTupleAndKeywords(args, kwargs, "K:features", discard_const_p(char *, kwnames), &features)) {
+               return NULL;
+       }
+
+       args2 = Py_BuildValue("()");
+       if (args2 == NULL) {
+               return NULL;
+       }
+
+       kwargs2 = Py_BuildValue("{}");
+       if (kwargs2 == NULL) {
+               Py_DECREF(args2);
+               return NULL;
+       }
+
+       syntax = dcerpc_construct_bind_time_features(features);
+
+       return py_dcerpc_syntax_init_helper(type, args2, kwargs2, &syntax);
+}
+
+static PyTypeObject py_bind_time_features_syntax_SyntaxType = {
+       PyObject_HEAD_INIT(NULL) 0,
+       .tp_name = "base.bind_time_features_syntax",
+       .tp_basicsize = sizeof(pytalloc_Object),
+       .tp_doc = "bind_time_features_syntax(features)\n",
+       .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
+       .tp_new = py_bind_time_features_syntax_new,
+};
+
 void initbase(void)
 {
        PyObject *m;
@@ -413,6 +452,7 @@ void initbase(void)
 
        py_transfer_syntax_ndr_SyntaxType.tp_base = ndr_syntax_id_Type;
        py_transfer_syntax_ndr64_SyntaxType.tp_base = ndr_syntax_id_Type;
+       py_bind_time_features_syntax_SyntaxType.tp_base = ndr_syntax_id_Type;
 
        if (PyType_Ready(&dcerpc_InterfaceType) < 0)
                return;
@@ -421,6 +461,8 @@ void initbase(void)
                return;
        if (PyType_Ready(&py_transfer_syntax_ndr64_SyntaxType) < 0)
                return;
+       if (PyType_Ready(&py_bind_time_features_syntax_SyntaxType) < 0)
+               return;
 
        m = Py_InitModule3("base", NULL, "DCE/RPC protocol implementation");
        if (m == NULL)
@@ -433,4 +475,6 @@ void initbase(void)
        PyModule_AddObject(m, "transfer_syntax_ndr", (PyObject *)(void *)&py_transfer_syntax_ndr_SyntaxType);
        Py_INCREF((PyObject *)(void *)&py_transfer_syntax_ndr64_SyntaxType);
        PyModule_AddObject(m, "transfer_syntax_ndr64", (PyObject *)(void *)&py_transfer_syntax_ndr64_SyntaxType);
+       Py_INCREF((PyObject *)(void *)&py_bind_time_features_syntax_SyntaxType);
+       PyModule_AddObject(m, "bind_time_features_syntax", (PyObject *)(void *)&py_bind_time_features_syntax_SyntaxType);
 }