147 |
gives the point at which data should be written out. -1 means that |
gives the point at which data should be written out. -1 means that |
148 |
the data shouldn't be changed since all transformations are |
the data shouldn't be changed since all transformations are |
149 |
temporary. */ |
temporary. */ |
150 |
extern int temp_trns; |
extern size_t temp_trns; |
151 |
|
|
152 |
/* If FILTER is active, whether it was executed before or after |
/* If FILTER is active, whether it was executed before or after |
153 |
TEMPORARY. */ |
TEMPORARY. */ |
160 |
|
|
161 |
/* Transformations. */ |
/* Transformations. */ |
162 |
|
|
163 |
struct trns_header; |
struct transformation; |
164 |
typedef int trns_proc_func (struct trns_header *, struct ccase *, int); |
typedef int trns_proc_func (void *, struct ccase *, int); |
165 |
typedef void trns_free_func (struct trns_header *); |
typedef void trns_free_func (void *); |
166 |
|
|
167 |
/* Header for all transformations. */ |
/* A transformation. */ |
168 |
struct trns_header |
struct transformation |
169 |
{ |
{ |
|
int index; /* Index into t_trns[]. */ |
|
170 |
trns_proc_func *proc; /* Transformation proc. */ |
trns_proc_func *proc; /* Transformation proc. */ |
171 |
trns_free_func *free; /* Garbage collector proc. */ |
trns_free_func *free; /* Garbage collector proc. */ |
172 |
|
void *private; /* Private data. */ |
173 |
}; |
}; |
174 |
|
|
175 |
/* Array of transformations */ |
/* Array of transformations */ |
176 |
extern struct trns_header **t_trns; |
extern struct transformation *t_trns; |
177 |
|
|
178 |
/* Number of transformations, maximum number in array currently. */ |
/* Number of transformations, maximum number in array currently. */ |
179 |
extern int n_trns, m_trns; |
extern size_t n_trns, m_trns; |
180 |
|
|
181 |
/* Index of first transformation that is really a transformation. Any |
/* Index of first transformation that is really a transformation. Any |
182 |
transformations before this belong to INPUT PROGRAM. */ |
transformations before this belong to INPUT PROGRAM. */ |
183 |
extern int f_trns; |
extern size_t f_trns; |
184 |
|
|
185 |
void add_transformation (struct trns_header *trns); |
void add_transformation (trns_proc_func *, trns_free_func *, void *); |
186 |
|
size_t next_transformation (void); |
187 |
void cancel_transformations (void); |
void cancel_transformations (void); |
188 |
|
|
189 |
struct var_set; |
struct var_set; |