| #ifndef Py_STRUCTMEMBER_H | |
| #define Py_STRUCTMEMBER_H | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| /* Interface to map C struct members to Python object attributes | |
| * | |
| * This header is deprecated: new code should not use stuff from here. | |
| * New definitions are in descrobject.h. | |
| * | |
| * However, there's nothing wrong with old code continuing to use it, | |
| * and there's not much maintenance overhead in maintaining a few aliases. | |
| * So, don't be too eager to convert old code. | |
| * | |
| * It uses names not prefixed with Py_. | |
| * It is also *not* included from Python.h and must be included individually. | |
| */ | |
| #include <stddef.h> /* For offsetof (not always provided by Python.h) */ | |
| /* Types */ | |
| #define T_SHORT Py_T_SHORT | |
| #define T_INT Py_T_INT | |
| #define T_LONG Py_T_LONG | |
| #define T_FLOAT Py_T_FLOAT | |
| #define T_DOUBLE Py_T_DOUBLE | |
| #define T_STRING Py_T_STRING | |
| #define T_OBJECT _Py_T_OBJECT | |
| #define T_CHAR Py_T_CHAR | |
| #define T_BYTE Py_T_BYTE | |
| #define T_UBYTE Py_T_UBYTE | |
| #define T_USHORT Py_T_USHORT | |
| #define T_UINT Py_T_UINT | |
| #define T_ULONG Py_T_ULONG | |
| #define T_STRING_INPLACE Py_T_STRING_INPLACE | |
| #define T_BOOL Py_T_BOOL | |
| #define T_OBJECT_EX Py_T_OBJECT_EX | |
| #define T_LONGLONG Py_T_LONGLONG | |
| #define T_ULONGLONG Py_T_ULONGLONG | |
| #define T_PYSSIZET Py_T_PYSSIZET | |
| #define T_NONE _Py_T_NONE | |
| /* Flags */ | |
| #define READONLY Py_READONLY | |
| #define PY_AUDIT_READ Py_AUDIT_READ | |
| #define READ_RESTRICTED Py_AUDIT_READ | |
| #define PY_WRITE_RESTRICTED _Py_WRITE_RESTRICTED | |
| #define RESTRICTED (READ_RESTRICTED | PY_WRITE_RESTRICTED) | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* !Py_STRUCTMEMBER_H */ |