/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ #pragma once /*** Copyright 2013 Zbigniew Jędrzejewski-Szmek python-systemd is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. python-systemd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with python-systemd; If not, see . ***/ #ifndef Py_TYPE /* avoid duplication warnings from errors in Python 2.7 headers */ # include #endif void cleanup_Py_DECREFp(PyObject **p); PyObject* absolute_timeout(uint64_t t); int set_error(int r, const char* path, const char* invalid_message); #if PY_MAJOR_VERSION >=3 && PY_MINOR_VERSION >= 1 int Unicode_FSConverter(PyObject* obj, void *_result); #endif #define _cleanup_Py_DECREF_ _cleanup_(cleanup_Py_DECREFp) #if PY_MAJOR_VERSION >=3 # define unicode_FromStringAndSize PyUnicode_FromStringAndSize # define unicode_FromString PyUnicode_FromString # define long_FromLong PyLong_FromLong # define long_FromSize_t PyLong_FromSize_t # define long_Check PyLong_Check # define long_AsLong PyLong_AsLong #else /* Python 3 type naming convention is used */ # define unicode_FromStringAndSize PyString_FromStringAndSize # define unicode_FromString PyString_FromString # define long_FromLong PyInt_FromLong # define long_FromSize_t PyInt_FromSize_t # define long_Check PyInt_Check # define long_AsLong PyInt_AsLong #endif