blob: 29da2f1ce6eff6c77bd8e2dacad6f659a417f0cf [file] [log] [blame]
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -04001#ifndef PyOpenSSL_PY3K_H_
2#define PyOpenSSL_PY3K_H_
3
4#if (PY_VERSION_HEX >= 0x03000000)
5
6#define PY3
7
Jean-Paul Calderone7382c832010-08-11 23:54:41 -04008#define PyOpenSSL_MODINIT(name) \
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -04009PyMODINIT_FUNC \
10PyInit_##name(void)
11
Jean-Paul Calderone70dd60f2010-08-11 23:58:18 -040012#define PyText_CheckExact PyUnicode_CheckExact
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040013#define PyText_FromString PyUnicode_FromString
Jean-Paul Calderone2f6c66f2010-08-11 19:53:43 -040014#define PyText_FromStringAndSize PyUnicode_FromStringAndSize
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040015
Jean-Paul Calderone8f57ca92010-10-31 18:22:34 -040016#define PyOpenSSL_HEAD_INIT(type, size) PyVarObject_HEAD_INIT(NULL, size)
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040017
18#define PyOpenSSL_Integer_Check(o) PyLong_Check(o)
19
20#define PyOpenSSL_MODRETURN(module) { return module; }
21
Jean-Paul Calderone40dd0992010-08-22 17:52:07 -040022#define BYTESTRING_FMT "y"
Jean-Paul Calderoneadd7bf02010-08-22 17:38:30 -040023
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040024#else /* (PY_VERSION_HEX >= 0x03000000) */
25
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040026#define PyOpenSSL_MODRETURN(module) { return; }
27
28#define PyOpenSSL_HEAD_INIT(type, size) PyObject_HEAD_INIT(NULL) 0,
Jean-Paul Calderone4d0c3212010-08-10 22:57:42 -040029
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040030#define PyBytes_FromStringAndSize PyString_FromStringAndSize
31
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040032#define PyOpenSSL_Integer_Check(o) (PyInt_Check(o) || PyLong_Check(o))
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040033
34#define PyBytes_Size PyString_Size
35#define PyBytes_Check PyString_Check
Jean-Paul Calderone2f6c66f2010-08-11 19:53:43 -040036#define PyBytes_CheckExact PyString_CheckExact
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040037#define PyBytes_AsString PyString_AsString
Jean-Paul Calderonea5a032f2010-08-12 20:03:32 -040038#define PyBytes_FromString PyString_FromString
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040039#define PyBytes_FromStringAndSize PyString_FromStringAndSize
Jean-Paul Calderonea5a032f2010-08-12 20:03:32 -040040#define _PyBytes_Resize _PyString_Resize
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040041
Jean-Paul Calderone70dd60f2010-08-11 23:58:18 -040042#define PyText_CheckExact PyString_CheckExact
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040043#define PyText_FromString PyString_FromString
Jean-Paul Calderone2f6c66f2010-08-11 19:53:43 -040044#define PyText_FromStringAndSize PyString_FromStringAndSize
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040045
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040046#define PyOpenSSL_MODINIT(name) \
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040047void \
48init##name(void)
49
Jean-Paul Calderone40dd0992010-08-22 17:52:07 -040050#define BYTESTRING_FMT "s"
Jean-Paul Calderoneadd7bf02010-08-22 17:38:30 -040051
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040052#endif /* (PY_VERSION_HEX >= 0x03000000) */
53
54#endif /* PyOpenSSL_PY3K_H_ */
55