blob: 443ad8d5de7ae4ddf4a1fdc283210f6dfa385da3 [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
8#define PyOpenSSL_MODINIT(name) \
9PyMODINIT_FUNC \
10PyInit_##name(void)
11
12#define PyText_FromString PyUnicode_FromString
Jean-Paul Calderone2f6c66f2010-08-11 19:53:43 -040013#define PyText_FromStringAndSize PyUnicode_FromStringAndSize
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040014
15#else /* (PY_VERSION_HEX >= 0x03000000) */
16
Jean-Paul Calderone4d0c3212010-08-10 22:57:42 -040017#define PyVarObject_HEAD_INIT(type, size) PyObject_HEAD_INIT(NULL) 0
18
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040019#define PyBytes_FromStringAndSize PyString_FromStringAndSize
20
21#define PyLong_FromLong PyInt_FromLong
Jean-Paul Calderoneae479ad2010-08-10 20:04:28 -040022#define PyLong_Check(o) (PyInt_Check(o) || PyLong_Check(o))
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040023
24#define PyBytes_Size PyString_Size
25#define PyBytes_Check PyString_Check
Jean-Paul Calderone2f6c66f2010-08-11 19:53:43 -040026#define PyBytes_CheckExact PyString_CheckExact
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040027#define PyBytes_AsString PyString_AsString
28#define PyBytes_FromStringAndSize PyString_FromStringAndSize
29
30#define PyText_FromString PyString_FromString
Jean-Paul Calderone2f6c66f2010-08-11 19:53:43 -040031#define PyText_FromStringAndSize PyString_FromStringAndSize
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040032
33#define PyOpenSSL_MODINIT(name)
34void \
35init##name(void)
36
37#endif /* (PY_VERSION_HEX >= 0x03000000) */
38
39#endif /* PyOpenSSL_PY3K_H_ */
40