1/* 2 Unix SMB/CIFS implementation. 3 Samba utility functions 4 Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. 18*/ 19 20#include "includes.h" 21#include <Python.h> 22#include "librpc/ndr/libndr.h" 23 24static PyObject *uuid_random(PyObject *self, PyObject *args) 25{ 26 struct GUID guid; 27 PyObject *pyobj; 28 char *str; 29 30 if (!PyArg_ParseTuple(args, "")) 31 return NULL; 32 33 guid = GUID_random(); 34 35 str = GUID_string(NULL, &guid); 36 if (str == NULL) { 37 PyErr_SetString(PyExc_TypeError, "can't convert uuid to string"); 38 return NULL; 39 } 40 41 pyobj = PyString_FromString(str); 42 43 talloc_free(str); 44 45 return pyobj; 46} 47 48static PyMethodDef methods[] = { 49 { "uuid4", (PyCFunction)uuid_random, METH_VARARGS, NULL}, 50 { NULL, NULL } 51}; 52 53void inituuid(void) 54{ 55 PyObject *mod = Py_InitModule3("uuid", methods, "UUID helper routines"); 56 if (mod == NULL) 57 return; 58} 59