1 2 /* Tuple object interface */ 3 4 #ifndef Py_STRUCTSEQ_H 5 #define Py_STRUCTSEQ_H 6 #ifdef __cplusplus 7 extern "C" { 8 #endif 9 10 typedef struct PyStructSequence_Field { 11 char *name; 12 char *doc; 13 } PyStructSequence_Field; 14 15 typedef struct PyStructSequence_Desc { 16 char *name; 17 char *doc; 18 struct PyStructSequence_Field *fields; 19 int n_in_sequence; 20 } PyStructSequence_Desc; 21 22 extern char* PyStructSequence_UnnamedField; 23 24 PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type, 25 PyStructSequence_Desc *desc); 26 27 PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type); 28 29 typedef 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