pyke/, ...: Extract utilities into a sort-of reusable library.
[pyke] / pyke-mLib.h
CommitLineData
c1756f78
MW
1/* -*-c-*-
2 *
3 * Pyke: the Python Kit for Extensions, mLib integration
4 *
5 * (c) 2019 Straylight/Edgeware
6 */
7
8/*----- Licensing notice --------------------------------------------------*
9 *
10 * This file is part of Pyke: the Python Kit for Extensions.
11 *
12 * Pyke is free software: you can redistribute it and/or modify it under
13 * the terms of the GNU General Public License as published by the Free
14 * Software Foundation; either version 2 of the License, or (at your
15 * option) any later version.
16 *
17 * Pyke is distributed in the hope that it will be useful, but WITHOUT
18 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
20 * for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with Pyke. If not, write to the Free Software Foundation, Inc.,
24 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 */
26
27#ifndef PYKE_MLIB_H
28#define PYKE_MLIB_H
29
30#ifdef __cplusplus
31 extern "C" {
32#endif
33
34/*----- Header files ------------------------------------------------------*/
35
36#ifndef PYKE_H
37# include "pyke.h"
38#endif
39
40PUBLIC_SYMBOLS;
41#include <mLib/bits.h>
42PRIVATE_SYMBOLS;
43
44/*----- Conversions -------------------------------------------------------*/
45
46#define DECL_CONVU_(n) extern int convu##n(PyObject *, void *);
47DOUINTSZ(DECL_CONVU_)
48 /* Define an `O&' input conversion `convuN' for each mLib type `uintN'. */
49
50extern int convk64(PyObject *, void *);
51 /* Input conversion for `kludge64'. */
52
53extern PyObject *getk64(kludge64);
54 /* Output conversion for `kludge64'. */
55
56/*----- That's all, folks -------------------------------------------------*/
57
58#ifdef __cplusplus
59 }
60#endif
61
62#endif