X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcpython.h;h=4b8aa72143167864ff575147c5ef19949997ab50;hb=965246d5039b0e6689398752f5c9771a844b491b;hp=b5a1754a912132931df542e7d6081b98dc688bb3;hpb=f7cf0dad2e933ac6066ca5f27645ee577f065710;p=collectd.git diff --git a/src/cpython.h b/src/cpython.h index b5a1754a..4b8aa721 100644 --- a/src/cpython.h +++ b/src/cpython.h @@ -24,6 +24,10 @@ * Sven Trenkel **/ +/* Some python versions don't include this by default. */ + +#include + /* These two macros are basicly Py_BEGIN_ALLOW_THREADS and Py_BEGIN_ALLOW_THREADS * from the other direction. If a Python thread calls a C function * Py_BEGIN_ALLOW_THREADS is used to allow other python threads to run because @@ -178,14 +182,16 @@ typedef struct { char type_instance[DATA_MAX_NAME_LEN]; } PluginData; PyTypeObject PluginDataType; +#define PluginData_New() PyObject_CallFunctionObjArgs((PyObject *) &PluginDataType, (void *) 0) typedef struct { PluginData data; PyObject *values; /* Sequence */ PyObject *meta; /* dict */ - int interval; + double interval; } Values; PyTypeObject ValuesType; +#define Values_New() PyObject_CallFunctionObjArgs((PyObject *) &ValuesType, (void *) 0) typedef struct { PluginData data; @@ -193,9 +199,11 @@ typedef struct { char message[NOTIF_MAX_MSG_LEN]; } Notification; PyTypeObject NotificationType; +#define Notification_New() PyObject_CallFunctionObjArgs((PyObject *) &NotificationType, (void *) 0) typedef PyLongObject Signed; PyTypeObject SignedType; typedef PyLongObject Unsigned; PyTypeObject UnsignedType; +