blob: 4e7cff448b04bb98246a617044fde1f610d4455e [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
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
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040015#define PyOpenSSL_HEAD_INIT(type, size) PyVarObject_HEAD_INIT(type, size)
16
17#define PyOpenSSL_Integer_Check(o) PyLong_Check(o)
18
19#define PyOpenSSL_MODRETURN(module) { return module; }
20
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040021#else /* (PY_VERSION_HEX >= 0x03000000) */
22
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040023#define PyOpenSSL_MODRETURN(module) { return; }
24
25#define PyOpenSSL_HEAD_INIT(type, size) PyObject_HEAD_INIT(NULL) 0,
Jean-Paul Calderone4d0c3212010-08-10 22:57:42 -040026
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040027#define PyBytes_FromStringAndSize PyString_FromStringAndSize
28
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040029#define PyOpenSSL_Integer_Check(o) (PyInt_Check(o) || PyLong_Check(o))
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040030
31#define PyBytes_Size PyString_Size
32#define PyBytes_Check PyString_Check
Jean-Paul Calderone2f6c66f2010-08-11 19:53:43 -040033#define PyBytes_CheckExact PyString_CheckExact
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040034#define PyBytes_AsString PyString_AsString
35#define PyBytes_FromStringAndSize PyString_FromStringAndSize
36
37#define PyText_FromString PyString_FromString
Jean-Paul Calderone2f6c66f2010-08-11 19:53:43 -040038#define PyText_FromStringAndSize PyString_FromStringAndSize
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040039
Jean-Paul Calderone7382c832010-08-11 23:54:41 -040040#define PyOpenSSL_MODINIT(name) \
Jean-Paul Calderoneef853eb2010-08-10 19:47:06 -040041void \
42init##name(void)
43
44#endif /* (PY_VERSION_HEX >= 0x03000000) */
45
46#endif /* PyOpenSSL_PY3K_H_ */
47