blob: 5811a6dd7da0f4395fbb1b9c9e812449431fe6d1 [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 Calderone7382c832010-08-11 23:54:41 -040016#define PyOpenSSL_HEAD_INIT(type, size) PyVarObject_HEAD_INIT(type, size)
17
18#define PyOpenSSL_Integer_Check(o) PyLong_Check(o)
19
20#define PyOpenSSL_MODRETURN(module) { return module; }
21
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040022#else /* (PY_VERSION_HEX >= 0x03000000) */
23
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040024#define PyOpenSSL_MODRETURN(module) { return; }
25
26#define PyOpenSSL_HEAD_INIT(type, size) PyObject_HEAD_INIT(NULL) 0,
Jean-Paul Calderone4d0c3212010-08-10 22:57:42 -040027
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040028#define PyBytes_FromStringAndSize PyString_FromStringAndSize
29
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040030#define PyOpenSSL_Integer_Check(o) (PyInt_Check(o) || PyLong_Check(o))
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040031
32#define PyBytes_Size PyString_Size
33#define PyBytes_Check PyString_Check
Jean-Paul Calderone2f6c66f2010-08-11 19:53:43 -040034#define PyBytes_CheckExact PyString_CheckExact
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040035#define PyBytes_AsString PyString_AsString
36#define PyBytes_FromStringAndSize PyString_FromStringAndSize
37
Jean-Paul Calderone70dd60f2010-08-11 23:58:18 -040038#define PyText_CheckExact PyString_CheckExact
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040039#define PyText_FromString PyString_FromString
Jean-Paul Calderone2f6c66f2010-08-11 19:53:43 -040040#define PyText_FromStringAndSize PyString_FromStringAndSize
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040041
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040042#define PyOpenSSL_MODINIT(name) \
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040043void \
44init##name(void)
45
46#endif /* (PY_VERSION_HEX >= 0x03000000) */
47
48#endif /* PyOpenSSL_PY3K_H_ */
49