/* 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;
#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);
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);
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);