-/* The data file to be read. */
-static struct file_handle *data_file;
-
-/* Format type. */
-static int fmt; /* LIST or FREE. */
-static int section; /* LOWER or UPPER or FULL. */
-static int diag; /* DIAGONAL or NODIAGONAL. */
-
-/* Arena used for all the MATRIX DATA allocations. */
-static struct pool *container;
-
-/* ROWTYPE_ specified explicitly in data? */
-static int explicit_rowtype;
-
-/* ROWTYPE_, VARNAME_ variables. */
-static struct variable *rowtype_, *varname_;
+/* A MATRIX DATA input program. */
+struct matrix_data_pgm
+ {
+ struct pool *container; /* Arena used for all allocations. */
+ struct file_handle *data_file; /* The data file to be read. */