123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #ifndef Py_STRUCTMEMBER_H
- #define Py_STRUCTMEMBER_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include <stddef.h> /* For offsetof */
- #ifndef offsetof
- #define offsetof(type, member) ( (int) & ((type*)0) -> member )
- #endif
- struct memberlist {
-
- char *name;
- int type;
- int offset;
- int flags;
- };
- typedef struct PyMemberDef {
-
- char *name;
- int type;
- Py_ssize_t offset;
- int flags;
- char *doc;
- } PyMemberDef;
- #define T_SHORT 0
- #define T_INT 1
- #define T_LONG 2
- #define T_FLOAT 3
- #define T_DOUBLE 4
- #define T_STRING 5
- #define T_OBJECT 6
- #define T_CHAR 7
- #define T_BYTE 8
- #define T_UBYTE 9
- #define T_USHORT 10
- #define T_UINT 11
- #define T_ULONG 12
- #define T_STRING_INPLACE 13
- #define T_BOOL 14
- #define T_OBJECT_EX 16
- #ifdef HAVE_LONG_LONG
- #define T_LONGLONG 17
- #define T_ULONGLONG 18
- #endif
- #define T_PYSSIZET 19
- #define READONLY 1
- #define RO READONLY
- #define READ_RESTRICTED 2
- #define PY_WRITE_RESTRICTED 4
- #define RESTRICTED (READ_RESTRICTED | PY_WRITE_RESTRICTED)
- PyAPI_FUNC(PyObject *) PyMember_Get(const char *, struct memberlist *, const char *);
- PyAPI_FUNC(int) PyMember_Set(char *, struct memberlist *, const char *, PyObject *);
- PyAPI_FUNC(PyObject *) PyMember_GetOne(const char *, struct PyMemberDef *);
- PyAPI_FUNC(int) PyMember_SetOne(char *, struct PyMemberDef *, PyObject *);
- #ifdef __cplusplus
- }
- #endif
- #endif
|