diff options
author | Tim Potter <tpot@samba.org> | 2003-04-14 01:15:11 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2003-04-14 01:15:11 +0000 |
commit | 78e5d097e328fdb4c60dd98eac386621006a2044 (patch) | |
tree | 0845127cb9c6bf619f305014fb71f88432963623 /source3/python/py_samr_conv.c | |
parent | fe5b2c15dedc399fa800c14c8f72b9c681bf77ac (diff) | |
download | samba-78e5d097e328fdb4c60dd98eac386621006a2044.tar.gz samba-78e5d097e328fdb4c60dd98eac386621006a2044.tar.xz samba-78e5d097e328fdb4c60dd98eac386621006a2044.zip |
Merge create/delete domain user samr calls from HEAD.
(This used to be commit 68075fb97f577a78438b5121202e94cfcb6597b8)
Diffstat (limited to 'source3/python/py_samr_conv.c')
-rw-r--r-- | source3/python/py_samr_conv.c | 73 |
1 files changed, 73 insertions, 0 deletions
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 @@ -22,6 +22,79 @@ #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 */ |