Start working to eliminate VFM dependence on static variables.
[pspp] / src / var.h
index 277bfde8ad3ccd1f3afda2aa01c2077633f85fe6..11add5b0daa99ecc7600c0e1bcb1207b3ee80469 100644 (file)
--- a/src/var.h
+++ b/src/var.h
@@ -151,19 +151,6 @@ struct get_proc
     int fv, nv;                        /* First, # of values. */
   };
 
-/* Sort order. */
-enum
-  {
-    SRT_ASCEND,                        /* A, B, C, ..., X, Y, Z. */
-    SRT_DESCEND                        /* Z, Y, X, ..., C, B, A. */
-  };
-
-/* SORT CASES private data. */
-struct sort_cases_proc
-  {
-    int order;                 /* SRT_ASCEND or SRT_DESCEND. */
-  };
-
 /* MEANS private data. */
 struct means_proc
   {
@@ -263,7 +250,6 @@ struct variable
        struct frequencies_proc frq;
        struct list_proc lst;
        struct means_proc mns;
-       struct sort_cases_proc srt;
        struct matrix_data_proc mxd;
        struct match_files_proc mtf;
        struct t_test_proc t_t;
@@ -302,6 +288,13 @@ struct ccase
   {
     union value data[1];
   };
+
+/* Linked list of cases. */
+struct case_list 
+  {
+    struct case_list *next;
+    struct ccase c;
+  };
 \f
 /* Dictionary. */ 
 
@@ -422,17 +415,16 @@ void copy_missing_values (struct variable *dest, const struct variable *src);
 \f
 /* Transformations. */
 
+struct trns_header;
+typedef int trns_proc_func (struct trns_header *, struct ccase *, int);
+typedef void trns_free_func (struct trns_header *);
+
 /* Header for all transformations. */
 struct trns_header
   {
-    /* Index into t_trns[]. */
-    int index;
-
-    /* Transformation proc. */
-    int (*proc) (struct trns_header *, struct ccase *);
-
-    /* Garbage collector proc. */
-    void (*free) (struct trns_header *);
+    int index;                  /* Index into t_trns[]. */
+    trns_proc_func *proc;       /* Transformation proc. */
+    trns_free_func *free;       /* Garbage collector proc. */
   };
 
 /* Array of transformations */