sys-file-reader: Refactor to clean up character encoding support.
[pspp-builds.git] / src / data / sys-file-reader.h
index 5bd87fc326f49ffbcc6b6effaee7dda97ab72be4..24c3f8467f642575d9bd0b854e65570f91b45b5d 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997-9, 2000, 2009, 2011 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,8 +20,9 @@
 #include <stdbool.h>
 #include <stdio.h>
 
-#include <libpspp/float-format.h>
-#include <libpspp/integer-format.h>
+#include "data/case.h"
+#include "libpspp/float-format.h"
+#include "libpspp/integer-format.h"
 
 /* Reading system files. */
 
@@ -33,13 +34,19 @@ struct sfm_read_info
     enum integer_format integer_format;
     enum float_format float_format;
     bool compressed;           /* 0=no, 1=yes. */
-    int case_cnt;               /* -1 if unknown. */
-    char product[61];          /* Product name plus a null. */
+    casenumber case_cnt;        /* -1 if unknown. */
+    char product[61];          /* Product name, as ASCII string. */
+
+    /* Writer's version number in X.Y.Z format.
+       The version number is not always present; if not, then
+       all of these are set to 0. */
+    int version_major;          /* X. */
+    int version_minor;          /* Y. */
+    int version_revision;       /* Z. */
   };
 
 struct dictionary;
 struct file_handle;
-struct ccase;
 struct casereader *sfm_open_reader (struct file_handle *,
                                     struct dictionary **,
                                     struct sfm_read_info *);