From 78e5d097e328fdb4c60dd98eac386621006a2044 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Mon, 14 Apr 2003 01:15:11 +0000 Subject: Merge create/delete domain user samr calls from HEAD. (This used to be commit 68075fb97f577a78438b5121202e94cfcb6597b8) --- source3/python/py_samr_conv.c | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) (limited to 'source3/python/py_samr_conv.c') diff --git a/source3/python/py_samr_conv.c b/source3/python/py_samr_conv.c index fdf71641e0..7523ee7dfc 100644 --- a/source3/python/py_samr_conv.c +++ b/source3/python/py_samr_conv.c @@ -21,6 +21,79 @@ #include "python/py_samr.h" #include "python/py_conv.h" +/* + * Convert between SAM_USER_INFO_10 and Python + */ + +struct pyconv py_SAM_USER_INFO_10[] = { + { "acb_info", PY_UINT32, offsetof(SAM_USER_INFO_10, acb_info) }, + { NULL } +}; + +BOOL py_from_SAM_USER_INFO_10(PyObject **dict, SAM_USER_INFO_10 *info) +{ + *dict = from_struct(info, py_SAM_USER_INFO_10); + PyDict_SetItemString(*dict, "level", PyInt_FromLong(0x10)); + return True; +} + +BOOL py_to_SAM_USER_INFO_10(SAM_USER_INFO_10 *info, PyObject *dict) +{ + PyObject *obj, *dict_copy = PyDict_Copy(dict); + BOOL result = False; + + if (!(obj = PyDict_GetItemString(dict_copy, "level")) || + !PyInt_Check(obj)) + goto done; + + PyDict_DelItemString(dict_copy, "level"); + + if (!to_struct(info, dict_copy, py_SAM_USER_INFO_10)) + goto done; + + result = True; + +done: + Py_DECREF(dict_copy); + return result; +} + +/* + * Convert between SAM_USER_INFO_21 and Python + */ + +struct pyconv py_SAM_USER_INFO_21[] = { + { NULL } +}; + +BOOL py_from_SAM_USER_INFO_21(PyObject **dict, SAM_USER_INFO_21 *info) +{ + *dict = from_struct(info, py_SAM_USER_INFO_21); + PyDict_SetItemString(*dict, "level", PyInt_FromLong(21)); + return True; +} + +BOOL py_to_SAM_USER_INFO_21(SAM_USER_INFO_21 *info, PyObject *dict) +{ + PyObject *obj, *dict_copy = PyDict_Copy(dict); + BOOL result = False; + + if (!(obj = PyDict_GetItemString(dict_copy, "level")) || + !PyInt_Check(obj)) + goto done; + + PyDict_DelItemString(dict_copy, "level"); + + if (!to_struct(info, dict_copy, py_SAM_USER_INFO_21)) + goto done; + + result = True; + +done: + Py_DECREF(dict_copy); + return result; +} + /* * Convert between acct_info and Python */ -- cgit