1 2/* Tuple object interface */ 3 4#ifndef Py_STRUCTSEQ_H 5#define Py_STRUCTSEQ_H 6#ifdef __cplusplus 7extern "C" { 8#endif 9 10typedef struct PyStructSequence_Field { 11 char *name; 12 char *doc; 13} PyStructSequence_Field; 14 15typedef struct PyStructSequence_Desc { 16 char *name; 17 char *doc; 18 struct PyStructSequence_Field *fields; 19 int n_in_sequence; 20} PyStructSequence_Desc; 21 22extern char* PyStructSequence_UnnamedField; 23 24PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type, 25 PyStructSequence_Desc *desc); 26 27PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type); 28 29typedef struct { 30 PyObject_VAR_HEAD 31 PyObject *ob_item[1]; 32} PyStructSequence; 33 34/* Macro, *only* to be used to fill in brand new objects */ 35#define PyStructSequence_SET_ITEM(op, i, v) \ 36 (((PyStructSequence *)(op))->ob_item[i] = v) 37 38#ifdef __cplusplus 39} 40#endif 41#endif /* !Py_STRUCTSEQ_H */ 42