1/* Copyright (C) 2005-2022 Free Software Foundation, Inc.
2
3This file is part of GCC.
4
5GCC is free software; you can redistribute it and/or modify it under
6the terms of the GNU General Public License as published by the Free
7Software Foundation; either version 3, or (at your option) any later
8version.
9
10GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11WARRANTY; without even the implied warranty of MERCHANTABILITY or
12FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13for more details.
14
15You should have received a copy of the GNU General Public License
16along with GCC; see the file COPYING3.  If not see
17<http://www.gnu.org/licenses/>.  */
18
19/* Make sure to keep in sync with libgfortran/io/io.h (st_parameter_*).  */
20#ifndef IOPARM_common_libreturn_mask
21#define IOPARM_common_libreturn_mask	3
22#define IOPARM_common_libreturn_ok	0
23#define IOPARM_common_libreturn_error	1
24#define IOPARM_common_libreturn_end	2
25#define IOPARM_common_libreturn_eor	3
26#define IOPARM_common_err		(1 << 2)
27#define IOPARM_common_end		(1 << 3)
28#define IOPARM_common_eor		(1 << 4)
29#endif
30IOPARM (common,  flags,		0,	 int4)
31IOPARM (common,  unit,		0,	 int4)
32IOPARM (common,  filename,	0,	 pchar)
33IOPARM (common,  line,		0,	 int4)
34IOPARM (common,  iomsg,		1 << 6,  char2)
35IOPARM (common,  iostat,	1 << 5,  pint4)
36IOPARM (open,    common,	0,	 common)
37IOPARM (open,    recl_in,	1 << 7,  intio)
38IOPARM (open,    file,		1 << 8,  char2)
39IOPARM (open,    status,	1 << 9,  char1)
40IOPARM (open,    access,	1 << 10, char2)
41IOPARM (open,    form,		1 << 11, char1)
42IOPARM (open,    blank,		1 << 12, char2)
43IOPARM (open,    position,	1 << 13, char1)
44IOPARM (open,    action,	1 << 14, char2)
45IOPARM (open,    delim,		1 << 15, char1)
46IOPARM (open,    pad,		1 << 16, char2)
47IOPARM (open,    convert,	1 << 17, char1)
48IOPARM (open,    decimal,	1 << 18, char2)
49IOPARM (open,    encoding,	1 << 19, char1)
50IOPARM (open,    round,		1 << 20, char2)
51IOPARM (open,    sign,		1 << 21, char1)
52IOPARM (open,    asynchronous,	1 << 22, char2)
53IOPARM (open,    newunit,	1 << 23, pint4)
54IOPARM (open,    readonly,	1 << 24, int4)
55IOPARM (open,    cc,		1 << 25, char2)
56IOPARM (open,    share,		1 << 26, char1)
57IOPARM (close,   common,	0,	 common)
58IOPARM (close,   status,	1 << 7,  char1)
59IOPARM (filepos, common,	0,	 common)
60IOPARM (inquire, common,	0,	 common)
61IOPARM (inquire, exist,		1 << 7,  pint4)
62IOPARM (inquire, opened,	1 << 8,  pint4)
63IOPARM (inquire, number,	1 << 9,  pint4)
64IOPARM (inquire, named,		1 << 10, pint4)
65IOPARM (inquire, nextrec,	1 << 11, pintio)
66IOPARM (inquire, recl_out,	1 << 12, pintio)
67IOPARM (inquire, strm_pos_out,	1 << 13, pintio)
68IOPARM (inquire, file,		1 << 14, char1)
69IOPARM (inquire, access,	1 << 15, char2)
70IOPARM (inquire, form,		1 << 16, char1)
71IOPARM (inquire, blank,		1 << 17, char2)
72IOPARM (inquire, position,	1 << 18, char1)
73IOPARM (inquire, action,	1 << 19, char2)
74IOPARM (inquire, delim,		1 << 20, char1)
75IOPARM (inquire, pad,		1 << 21, char2)
76IOPARM (inquire, name,		1 << 22, char1)
77IOPARM (inquire, sequential,	1 << 23, char2)
78IOPARM (inquire, direct,	1 << 24, char1)
79IOPARM (inquire, formatted,	1 << 25, char2)
80IOPARM (inquire, unformatted,	1 << 26, char1)
81IOPARM (inquire, read,		1 << 27, char2)
82IOPARM (inquire, write,		1 << 28, char1)
83IOPARM (inquire, readwrite,	1 << 29, char2)
84IOPARM (inquire, convert,	1 << 30, char1)
85IOPARM (inquire, flags2,	1U << 31, int4)
86IOPARM (inquire, asynchronous,	1 << 0,  char1)
87IOPARM (inquire, decimal,	1 << 1,  char2)
88IOPARM (inquire, encoding,	1 << 2,  char1)
89IOPARM (inquire, round,		1 << 3,  char2)
90IOPARM (inquire, sign,		1 << 4,  char1)
91IOPARM (inquire, pending,	1 << 5,  pint4)
92IOPARM (inquire, size,		1 << 6,  pintio)
93IOPARM (inquire, id,		1 << 7,  pint4)
94IOPARM (inquire, iqstream,	1 << 8,  char1)
95IOPARM (inquire, share,		1 << 9,  char2)
96IOPARM (inquire, cc,		1 << 10, char1)
97IOPARM (wait,    common,	0,	 common)
98IOPARM (wait,    id,		1 << 7,  pint4)
99IOPARM (dt,      common,	0,	 common)
100#define IOPARM_dt_list_format		(1 << 7)
101#define IOPARM_dt_namelist_read_mode	(1 << 8)
102IOPARM (dt,      rec,		1 << 9,  intio)
103IOPARM (dt,      size,		1 << 10, pintio)
104IOPARM (dt,      iolength,	1 << 11, pintio)
105IOPARM (dt,      internal_unit_desc, 0,  parray)
106IOPARM (dt,      format,	1 << 12, char1)
107IOPARM (dt,      advance,	1 << 13, char2)
108IOPARM (dt,      internal_unit,	1 << 14, char1)
109IOPARM (dt,      namelist_name,	1 << 15, char2)
110IOPARM (dt,      id,		1 << 16, pint4)
111IOPARM (dt,      pos,		1 << 17, intio)
112IOPARM (dt,      asynchronous, 	1 << 18, char1)
113IOPARM (dt,      blank,		1 << 19, char2)
114IOPARM (dt,      decimal,	1 << 20, char1)
115IOPARM (dt,      delim,		1 << 21, char2)
116IOPARM (dt,      pad,		1 << 22, char1)
117IOPARM (dt,      round,		1 << 23, char2)
118IOPARM (dt,      sign,		1 << 24, char1)
119#define IOPARM_dt_f2003		      (1 << 25)
120#define IOPARM_dt_dtio		      (1 << 26)
121#define IOPARM_dt_dec_ext	      (1 << 27)
122IOPARM (dt,      u,		0,	 pad)
123