summaryrefslogtreecommitdiff
path: root/lib/talloc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/talloc')
-rw-r--r--lib/talloc/ABI/pytalloc-util-2.0.6.sigs5
-rw-r--r--lib/talloc/pytalloc.c42
-rw-r--r--lib/talloc/pytalloc.h36
-rw-r--r--lib/talloc/pytalloc_util.c22
-rw-r--r--lib/talloc/wscript3
5 files changed, 57 insertions, 51 deletions
diff --git a/lib/talloc/ABI/pytalloc-util-2.0.6.sigs b/lib/talloc/ABI/pytalloc-util-2.0.6.sigs
new file mode 100644
index 0000000000..5f446ce7ac
--- /dev/null
+++ b/lib/talloc/ABI/pytalloc-util-2.0.6.sigs
@@ -0,0 +1,5 @@
+pytalloc_CObject_FromTallocPtr: PyObject *(void *)
+pytalloc_GetObjectType: PyTypeObject *(void)
+pytalloc_reference_ex: PyObject *(PyTypeObject *, TALLOC_CTX *, void *)
+pytalloc_steal: PyObject *(PyTypeObject *, void *)
+pytalloc_steal_ex: PyObject *(PyTypeObject *, TALLOC_CTX *, void *)
diff --git a/lib/talloc/pytalloc.c b/lib/talloc/pytalloc.c
index 614b81f057..62c6808825 100644
--- a/lib/talloc/pytalloc.c
+++ b/lib/talloc/pytalloc.c
@@ -1,7 +1,7 @@
/*
Unix SMB/CIFS implementation.
Python Talloc Module
- Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2010
+ Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2010-2011
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,7 +24,7 @@
void inittalloc(void);
/* print a talloc tree report for a talloc python object */
-static PyObject *py_talloc_report_full(PyObject *self, PyObject *args)
+static PyObject *pytalloc_report_full(PyObject *self, PyObject *args)
{
PyObject *py_obj = Py_None;
PyTypeObject *type;
@@ -36,20 +36,20 @@ static PyObject *py_talloc_report_full(PyObject *self, PyObject *args)
talloc_report_full(NULL, stdout);
} else {
type = (PyTypeObject*)PyObject_Type(py_obj);
- talloc_report_full(py_talloc_get_mem_ctx(py_obj), stdout);
+ talloc_report_full(pytalloc_get_mem_ctx(py_obj), stdout);
}
return Py_None;
}
/* enable null tracking */
-static PyObject *py_talloc_enable_null_tracking(PyObject *self)
+static PyObject *pytalloc_enable_null_tracking(PyObject *self)
{
talloc_enable_null_tracking();
return Py_None;
}
/* return the number of talloc blocks */
-static PyObject *py_talloc_total_blocks(PyObject *self, PyObject *args)
+static PyObject *pytalloc_total_blocks(PyObject *self, PyObject *args)
{
PyObject *py_obj = Py_None;
PyTypeObject *type;
@@ -63,15 +63,15 @@ static PyObject *py_talloc_total_blocks(PyObject *self, PyObject *args)
type = (PyTypeObject*)PyObject_Type(py_obj);
- return PyLong_FromLong(talloc_total_blocks(py_talloc_get_mem_ctx(py_obj)));
+ return PyLong_FromLong(talloc_total_blocks(pytalloc_get_mem_ctx(py_obj)));
}
static PyMethodDef talloc_methods[] = {
- { "report_full", (PyCFunction)py_talloc_report_full, METH_VARARGS,
+ { "report_full", (PyCFunction)pytalloc_report_full, METH_VARARGS,
"show a talloc tree for an object"},
- { "enable_null_tracking", (PyCFunction)py_talloc_enable_null_tracking, METH_NOARGS,
+ { "enable_null_tracking", (PyCFunction)pytalloc_enable_null_tracking, METH_NOARGS,
"enable tracking of the NULL object"},
- { "total_blocks", (PyCFunction)py_talloc_total_blocks, METH_VARARGS,
+ { "total_blocks", (PyCFunction)pytalloc_total_blocks, METH_VARARGS,
"return talloc block count"},
{ NULL }
};
@@ -79,9 +79,9 @@ static PyMethodDef talloc_methods[] = {
/**
* Default (but only slightly more useful than the default) implementation of Repr().
*/
-static PyObject *py_talloc_default_repr(PyObject *obj)
+static PyObject *pytalloc_default_repr(PyObject *obj)
{
- py_talloc_Object *talloc_obj = (py_talloc_Object *)obj;
+ pytalloc_Object *talloc_obj = (pytalloc_Object *)obj;
PyTypeObject *type = (PyTypeObject*)PyObject_Type(obj);
return PyString_FromFormat("<%s talloc object at 0x%p>",
@@ -91,9 +91,9 @@ static PyObject *py_talloc_default_repr(PyObject *obj)
/**
* Simple dealloc for talloc-wrapping PyObjects
*/
-static void py_talloc_dealloc(PyObject* self)
+static void pytalloc_dealloc(PyObject* self)
{
- py_talloc_Object *obj = (py_talloc_Object *)self;
+ pytalloc_Object *obj = (pytalloc_Object *)self;
assert(talloc_unlink(NULL, obj->talloc_ctx) != -1);
obj->talloc_ctx = NULL;
self->ob_type->tp_free(self);
@@ -102,24 +102,24 @@ static void py_talloc_dealloc(PyObject* self)
/**
* Default (but only slightly more useful than the default) implementation of cmp.
*/
-static int py_talloc_default_cmp(PyObject *_obj1, PyObject *_obj2)
+static int pytalloc_default_cmp(PyObject *_obj1, PyObject *_obj2)
{
- py_talloc_Object *obj1 = (py_talloc_Object *)_obj1,
- *obj2 = (py_talloc_Object *)_obj2;
+ pytalloc_Object *obj1 = (pytalloc_Object *)_obj1,
+ *obj2 = (pytalloc_Object *)_obj2;
if (obj1->ob_type != obj2->ob_type)
return (obj1->ob_type - obj2->ob_type);
- return ((char *)py_talloc_get_ptr(obj1) - (char *)py_talloc_get_ptr(obj2));
+ return ((char *)pytalloc_get_ptr(obj1) - (char *)pytalloc_get_ptr(obj2));
}
static PyTypeObject TallocObject_Type = {
.tp_name = "talloc.Object",
.tp_doc = "Python wrapper for a talloc-maintained object.",
- .tp_basicsize = sizeof(py_talloc_Object),
- .tp_dealloc = (destructor)py_talloc_dealloc,
+ .tp_basicsize = sizeof(pytalloc_Object),
+ .tp_dealloc = (destructor)pytalloc_dealloc,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
- .tp_repr = py_talloc_default_repr,
- .tp_compare = py_talloc_default_cmp,
+ .tp_repr = pytalloc_default_repr,
+ .tp_compare = pytalloc_default_cmp,
};
void inittalloc(void)
diff --git a/lib/talloc/pytalloc.h b/lib/talloc/pytalloc.h
index bfd9c2e017..2d2c57b789 100644
--- a/lib/talloc/pytalloc.h
+++ b/lib/talloc/pytalloc.h
@@ -17,8 +17,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef _PY_TALLOC_H_
-#define _PY_TALLOC_H_
+#ifndef _PYTALLOC_H_
+#define _PYTALLOC_H_
#include <Python.h>
#include <talloc.h>
@@ -27,30 +27,28 @@ typedef struct {
PyObject_HEAD
TALLOC_CTX *talloc_ctx;
void *ptr;
-} py_talloc_Object;
+} pytalloc_Object;
-PyTypeObject *PyTalloc_GetObjectType(void);
-int PyTalloc_Check(PyObject *);
+PyTypeObject *pytalloc_GetObjectType(void);
+int pytalloc_Check(PyObject *);
-/* Retrieve the pointer for a py_talloc_object. Like talloc_get_type()
- * but for py_talloc_Objects. */
+/* Retrieve the pointer for a pytalloc_object. Like talloc_get_type()
+ * but for pytalloc_Objects. */
/* FIXME: Call PyErr_SetString(PyExc_TypeError, "expected " __STR(type) ")
* when talloc_get_type() returns NULL. */
-#define py_talloc_get_type(py_obj, type) (talloc_get_type(py_talloc_get_ptr(py_obj), type))
+#define pytalloc_get_type(py_obj, type) (talloc_get_type(pytalloc_get_ptr(py_obj), type))
-#define py_talloc_get_ptr(py_obj) (((py_talloc_Object *)py_obj)->ptr)
-#define py_talloc_get_mem_ctx(py_obj) ((py_talloc_Object *)py_obj)->talloc_ctx
+#define pytalloc_get_ptr(py_obj) (((pytalloc_Object *)py_obj)->ptr)
+#define pytalloc_get_mem_ctx(py_obj) ((pytalloc_Object *)py_obj)->talloc_ctx
-PyObject *py_talloc_steal_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *ptr);
-PyObject *py_talloc_steal(PyTypeObject *py_type, void *ptr);
-PyObject *py_talloc_reference_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *ptr);
-#define py_talloc_reference(py_type, talloc_ptr) py_talloc_reference_ex(py_type, talloc_ptr, talloc_ptr)
+PyObject *pytalloc_steal_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *ptr);
+PyObject *pytalloc_steal(PyTypeObject *py_type, void *ptr);
+PyObject *pytalloc_reference_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *ptr);
+#define pytalloc_reference(py_type, talloc_ptr) pytalloc_reference_ex(py_type, talloc_ptr, talloc_ptr)
-#define py_talloc_new(type, typeobj) py_talloc_steal(typeobj, talloc_zero(NULL, type))
+#define pytalloc_new(type, typeobj) pytalloc_steal(typeobj, talloc_zero(NULL, type))
-PyObject *PyCObject_FromTallocPtr(void *);
+PyObject *pytalloc_CObject_FromTallocPtr(void *);
-PyObject *PyString_FromString_check_null(const char *ptr);
-
-#endif /* _PY_TALLOC_H_ */
+#endif /* _PYTALLOC_H_ */
diff --git a/lib/talloc/pytalloc_util.c b/lib/talloc/pytalloc_util.c
index c8a7e6ac58..89a093b1ce 100644
--- a/lib/talloc/pytalloc_util.c
+++ b/lib/talloc/pytalloc_util.c
@@ -23,7 +23,7 @@
#include "pytalloc.h"
#include <assert.h>
-_PUBLIC_ PyTypeObject *PyTalloc_GetObjectType(void)
+_PUBLIC_ PyTypeObject *pytalloc_GetObjectType(void)
{
static PyTypeObject *type = NULL;
PyObject *mod;
@@ -46,10 +46,10 @@ _PUBLIC_ PyTypeObject *PyTalloc_GetObjectType(void)
/**
* Import an existing talloc pointer into a Python object.
*/
-_PUBLIC_ PyObject *py_talloc_steal_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx,
+_PUBLIC_ PyObject *pytalloc_steal_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx,
void *ptr)
{
- py_talloc_Object *ret = (py_talloc_Object *)py_type->tp_alloc(py_type, 0);
+ pytalloc_Object *ret = (pytalloc_Object *)py_type->tp_alloc(py_type, 0);
ret->talloc_ctx = talloc_new(NULL);
if (ret->talloc_ctx == NULL) {
return NULL;
@@ -65,9 +65,9 @@ _PUBLIC_ PyObject *py_talloc_steal_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx
/**
* Import an existing talloc pointer into a Python object.
*/
-_PUBLIC_ PyObject *py_talloc_steal(PyTypeObject *py_type, void *ptr)
+_PUBLIC_ PyObject *pytalloc_steal(PyTypeObject *py_type, void *ptr)
{
- return py_talloc_steal_ex(py_type, ptr, ptr);
+ return pytalloc_steal_ex(py_type, ptr, ptr);
}
@@ -76,15 +76,15 @@ _PUBLIC_ PyObject *py_talloc_steal(PyTypeObject *py_type, void *ptr)
* original parent, and creating a reference to the object in the python
* object
*/
-_PUBLIC_ PyObject *py_talloc_reference_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *ptr)
+_PUBLIC_ PyObject *pytalloc_reference_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *ptr)
{
- py_talloc_Object *ret;
+ pytalloc_Object *ret;
if (ptr == NULL) {
Py_RETURN_NONE;
}
- ret = (py_talloc_Object *)py_type->tp_alloc(py_type, 0);
+ ret = (pytalloc_Object *)py_type->tp_alloc(py_type, 0);
ret->talloc_ctx = talloc_new(NULL);
if (ret->talloc_ctx == NULL) {
return NULL;
@@ -102,7 +102,7 @@ static void py_cobject_talloc_free(void *ptr)
talloc_free(ptr);
}
-_PUBLIC_ PyObject *PyCObject_FromTallocPtr(void *ptr)
+_PUBLIC_ PyObject *pytalloc_CObject_FromTallocPtr(void *ptr)
{
if (ptr == NULL) {
Py_RETURN_NONE;
@@ -110,9 +110,9 @@ _PUBLIC_ PyObject *PyCObject_FromTallocPtr(void *ptr)
return PyCObject_FromVoidPtr(ptr, py_cobject_talloc_free);
}
-_PUBLIC_ int PyTalloc_Check(PyObject *obj)
+_PUBLIC_ int pytalloc_Check(PyObject *obj)
{
- PyTypeObject *tp = PyTalloc_GetObjectType();
+ PyTypeObject *tp = pytalloc_GetObjectType();
return PyObject_TypeCheck(obj, tp);
}
diff --git a/lib/talloc/wscript b/lib/talloc/wscript
index 6c0019fd7e..c43c661823 100644
--- a/lib/talloc/wscript
+++ b/lib/talloc/wscript
@@ -110,6 +110,9 @@ def build(bld):
public_deps='talloc',
pyext=True,
vnum=VERSION,
+ hide_symbols=True,
+ abi_directory='ABI',
+ abi_match='pytalloc_*',
private_library=private_library,
public_headers='pytalloc.h'
)