#ifndef _EXTANT_xt_oset_t_H_ #define _EXTANT_xt_oset_t_H_ #include "oset_t.h" #define xt_oset_t_n_options (1) #ifndef _EXTANT_xt_oset_t_C_ extern char **xt_oset_t_options; #endif // these are technically incorrect, but that's okay for orcus: typedef unsigned long word32; typedef long int32; // I really should add a "nostdtypes" option to mkext. typedef struct xt_oset_t_tag { word32 n, max; oset_t *d; } xt_oset_t; typedef void (*xt_oset_nuker_ft)(oset_t* ); #define xt_oset_n(X) (X->n) int xt_oset_init ( xt_oset_t *x, int32 n_ ); oset_t *xt_oset_fetchb ( xt_oset_t *x, int32 n, oset_t *buf ); oset_t *xt_oset_fetchc ( xt_oset_t *x, int32 n ); oset_t *xt_oset_fetchp ( xt_oset_t *x, int32 n ); int xt_oset_addp ( xt_oset_t *x, oset_t *d ); int xt_oset_add ( xt_oset_t *x, oset_t d ); int xt_oset_wrp ( xt_oset_t *x, int32 ix, oset_t *d ); int xt_oset_wr ( xt_oset_t *x, int32 ix, oset_t d ); int xt_oset_addn ( xt_oset_t *x, oset_t *str, int32 slen ); int xt_oset_del ( xt_oset_t *x, int32 i, xt_oset_nuker_ft f ); int xt_oset_deln ( xt_oset_t *x, int32 i, xt_oset_nuker_ft f, int32 n ); void xt_oset_nuke ( xt_oset_t *x, xt_oset_nuker_ft f ); #endif