OSDN Git Service

2006-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / libgfortran / io / io.h
index e16d4b6..fba0ae8 100644 (file)
@@ -156,7 +156,7 @@ namelist_info;
 /* Options for the OPEN statement.  */
 
 typedef enum
-{ ACCESS_SEQUENTIAL, ACCESS_DIRECT, ACCESS_APPEND,
+{ ACCESS_SEQUENTIAL, ACCESS_DIRECT, ACCESS_APPEND, ACCESS_STREAM,
   ACCESS_UNSPECIFIED
 }
 unit_access;
@@ -290,29 +290,31 @@ st_parameter_filepos;
 #define IOPARM_INQUIRE_HAS_NAMED       (1 << 10)
 #define IOPARM_INQUIRE_HAS_NEXTREC     (1 << 11)
 #define IOPARM_INQUIRE_HAS_RECL_OUT    (1 << 12)
-#define IOPARM_INQUIRE_HAS_FILE                (1 << 13)
-#define IOPARM_INQUIRE_HAS_ACCESS      (1 << 14)
-#define IOPARM_INQUIRE_HAS_FORM                (1 << 15)
-#define IOPARM_INQUIRE_HAS_BLANK       (1 << 16)
-#define IOPARM_INQUIRE_HAS_POSITION    (1 << 17)
-#define IOPARM_INQUIRE_HAS_ACTION      (1 << 18)
-#define IOPARM_INQUIRE_HAS_DELIM       (1 << 19)
-#define IOPARM_INQUIRE_HAS_PAD         (1 << 20)
-#define IOPARM_INQUIRE_HAS_NAME                (1 << 21)
-#define IOPARM_INQUIRE_HAS_SEQUENTIAL  (1 << 22)
-#define IOPARM_INQUIRE_HAS_DIRECT      (1 << 23)
-#define IOPARM_INQUIRE_HAS_FORMATTED   (1 << 24)
-#define IOPARM_INQUIRE_HAS_UNFORMATTED (1 << 25)
-#define IOPARM_INQUIRE_HAS_READ                (1 << 26)
-#define IOPARM_INQUIRE_HAS_WRITE       (1 << 27)
-#define IOPARM_INQUIRE_HAS_READWRITE   (1 << 28)
-#define IOPARM_INQUIRE_HAS_CONVERT     (1 << 29)
+#define IOPARM_INQUIRE_HAS_STRM_POS_OUT (1 << 13)
+#define IOPARM_INQUIRE_HAS_FILE                (1 << 14)
+#define IOPARM_INQUIRE_HAS_ACCESS      (1 << 15)
+#define IOPARM_INQUIRE_HAS_FORM                (1 << 16)
+#define IOPARM_INQUIRE_HAS_BLANK       (1 << 17)
+#define IOPARM_INQUIRE_HAS_POSITION    (1 << 18)
+#define IOPARM_INQUIRE_HAS_ACTION      (1 << 19)
+#define IOPARM_INQUIRE_HAS_DELIM       (1 << 20)
+#define IOPARM_INQUIRE_HAS_PAD         (1 << 21)
+#define IOPARM_INQUIRE_HAS_NAME                (1 << 22)
+#define IOPARM_INQUIRE_HAS_SEQUENTIAL  (1 << 23)
+#define IOPARM_INQUIRE_HAS_DIRECT      (1 << 24)
+#define IOPARM_INQUIRE_HAS_FORMATTED   (1 << 25)
+#define IOPARM_INQUIRE_HAS_UNFORMATTED (1 << 26)
+#define IOPARM_INQUIRE_HAS_READ                (1 << 27)
+#define IOPARM_INQUIRE_HAS_WRITE       (1 << 28)
+#define IOPARM_INQUIRE_HAS_READWRITE   (1 << 29)
+#define IOPARM_INQUIRE_HAS_CONVERT     (1 << 30)
 
 typedef struct
 {
   st_parameter_common common;
   GFC_INTEGER_4 *exist, *opened, *number, *named;
   GFC_INTEGER_4 *nextrec, *recl_out;
+  GFC_IO_INT *strm_pos_out;
   CHARACTER1 (file);
   CHARACTER2 (access);
   CHARACTER1 (form);
@@ -351,7 +353,7 @@ struct format_data;
 typedef struct st_parameter_dt
 {
   st_parameter_common common;
-  GFC_LARGE_IO_INT rec;
+  GFC_IO_INT rec;
   GFC_INTEGER_4 *size, *iolength;
   gfc_array_char *internal_unit_desc;
   CHARACTER1 (format);
@@ -709,6 +711,9 @@ internal_proto(is_internal_unit);
 extern int is_array_io (st_parameter_dt *);
 internal_proto(is_array_io);
 
+extern int is_stream_io (st_parameter_dt *);
+internal_proto(is_stream_io);
+
 extern gfc_unit *find_unit (int);
 internal_proto(find_unit);