Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
wio.h
Go to the documentation of this file.
00001 /*
00002 
00003   Copyright (C) 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
00004 
00005   This program is free software; you can redistribute it and/or modify it
00006   under the terms of version 2 of the GNU General Public License as
00007   published by the Free Software Foundation.
00008 
00009   This program is distributed in the hope that it would be useful, but
00010   WITHOUT ANY WARRANTY; without even the implied warranty of
00011   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
00012 
00013   Further, this software is distributed without any warranty that it is
00014   free of the rightful claim of any third person regarding infringement 
00015   or the like.  Any license provided herein, whether implied or 
00016   otherwise, applies only to this software file.  Patent licenses, if 
00017   any, provided herein do not apply to combinations of this program with 
00018   other software, or any other product whatsoever.  
00019 
00020   You should have received a copy of the GNU General Public License along
00021   with this program; if not, write the Free Software Foundation, Inc., 59
00022   Temple Place - Suite 330, Boston MA 02111-1307, USA.
00023 
00024   Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pky,
00025   Mountain View, CA 94043, or:
00026 
00027   http://www.sgi.com
00028 
00029   For further information regarding this notice, see:
00030 
00031   http://oss.sgi.com/projects/GenInfo/NoticeExplan
00032 
00033 */
00034 
00035 
00081 #ifndef wio_INCLUDED
00082 #define wio_INCLUDED "wio.h"
00083 
00084 #ifdef __cplusplus
00085 extern "C" {
00086 #endif
00087 
00088 
00089 typedef enum {
00090 
00091   IOSTATEMENT_FIRST = 1,
00092 
00093     /* F77 I/O statements which manipulate external files.  None of these
00094        statements can contain an I/O list. */
00095 
00096     IOS_BACKSPACE = 1,
00097     IOS_CLOSE = 2,
00098     IOS_DEFINEFILE = 3,
00099     IOS_DELETE = 4,
00100     IOS_ENDFILE = 5,
00101     IOS_FIND = 6,
00102     IOS_INQUIRE = 7,
00103     IOS_NAMELIST = 8,
00104     IOS_OPEN = 9,
00105     IOS_REWIND = 10,
00106     IOS_UNLOCK = 11,
00107 
00108     /* F77 I/O statements which transfer data to & from external files.  All
00109        of these statements can contain an I/O list. */
00110 
00111     IOS_ACCEPT = 12,
00112     IOS_DECODE = 13,
00113     IOS_ENCODE = 14,
00114     IOS_PRINT = 15,
00115     IOS_READ = 16,
00116     IOS_REWRITE = 17,
00117     IOS_TYPE = 18,
00118     IOS_WRITE = 19,
00119 
00120     /* IOS coming out of the CRAY FE are already classified as formatted vs.
00121        unformatted and we need separate entries for those */
00122     IOS_CR_FWU = 20,    /* Write Unformatted */
00123     IOS_CR_FRU = 21,    /* Read Unformatted */
00124     IOS_CR_FWF = 22,    /* Write Formatted */
00125     IOS_CR_FRF = 23,    /* Read Formatted */
00126     IOS_CR_FWN = 24,    /* Write Namelist */
00127     IOS_CR_FRN = 25,    /* Read Namelist */
00128     IOS_INQLENGTH = 26, /* Inquire IOlength */
00129     IOS_CR_OPEN = 27,   /* Cray Open */
00130     IOS_CR_CLOSE = 28,  /* Cray Close */
00131     IOS_CR_ENDFILE = 29,/* Cray endfile */
00132     IOS_CR_REWIND = 30, /* Cray Rewind */
00133     IOS_CR_INQUIRE = 31,/* Cray Inquire */
00134     IOS_CR_BACKSPACE = 32, /* Cray Backspace */
00135     IOS_CR_BUFFERIN = 33, /* Cray Buffer In */
00136     IOS_CR_BUFFEROUT = 34, /*Cray Buffer Out */
00137 
00138 
00139 
00140     /* End of IOSTATEMENT list */
00141 
00142   IOSTATEMENT_LAST = 34
00143 
00144 } IOSTATEMENT;
00145 
00146 
00147 typedef enum {
00148 
00149   IOITEM_ERROR = 0,
00150 
00151   IOITEM_FIRST = 1,
00152 
00153     /* F77 I/O unit information items. */
00154 
00155     IOU_ERROR = IOITEM_ERROR,
00156     IOU_NONE = 1,
00157     IOU_DEFAULT = 2,
00158     IOU_EXTERNAL = 3,
00159     IOU_INTERNAL = 4,
00160     IOU_DOPE = 5,
00161 
00162     /* F77 I/O format information items. */
00163 
00164     IOF_ERROR = IOITEM_ERROR,
00165     IOF_NONE = 10,
00166     IOF_ASSIGNED_VAR = 11,
00167     IOF_CHAR_EXPR = 12,
00168     IOF_LABEL = 13,
00169     IOF_LIST_DIRECTED = 14,
00170     IOF_NAMELIST_DIRECTED = 15,
00171     IOF_UNFORMATTED = 16,
00172     IOF_CR_PARSFMT = 17,
00173     IOF_CR_FMTSRC = 18,
00174     IOF_CR_FMTSRC_DOPE = 19,
00175 
00176 
00177 
00178     /* F77 I/O control information items. */
00179 
00180     IOC_ERROR = IOITEM_ERROR,
00181     IOC_ACCESS = 25,
00182     IOC_ASSOCIATEVARIABLE = 26,
00183     IOC_BLANK = 27,
00184     IOC_CARRIAGECONTROL = 28,
00185     IOC_DEFAULTFILE = 29,
00186     IOC_DIRECT = 30,
00187     IOC_DISPOSE = 31,
00188     IOC_END = 32,
00189     IOC_ERR = 33,
00190     IOC_EXIST = 34,
00191     IOC_FILE = 35,
00192     IOC_FORM = 36,
00193     IOC_FORMATTED = 37,
00194     IOC_IOSTAT = 38,
00195     IOC_KEY = 39,
00196     IOC_KEYEQ = 40,
00197     IOC_KEYGE = 41,
00198     IOC_KEYGT = 42,
00199     IOC_KEY_START = 43,
00200     IOC_KEY_END = 44,
00201     IOC_KEY_CHARACTER = 45,
00202     IOC_KEY_INTEGER = 46,
00203     IOC_KEYED = 47,
00204     IOC_KEYID = 48,
00205     IOC_MAXREC = 49,
00206     IOC_NAME = 50,
00207     IOC_NAMED = 51,
00208     IOC_NEXTREC = 52,
00209     IOC_NML = 53,
00210     IOC_NUMBER = 54,
00211     IOC_OPENED = 55,
00212     IOC_ORGANIZATION = 56,
00213     IOC_READONLY = 57,
00214     IOC_REC = 58,
00215     IOC_RECCOUNT = 59,
00216     IOC_RECL = 60,
00217     IOC_RECORDTYPE = 61,
00218     IOC_SEQUENTIAL = 62,
00219     IOC_SHARED = 63,
00220     IOC_STATUS = 64,
00221     IOC_TYPE = 65,
00222     IOC_U = 66,
00223     IOC_UNFORMATTED = 67,
00224     IOC_VARFMT = 68,
00225     IOC_VARFMT_ORIGFMT = 69,
00226     IOC_CR_EEEFLAG = 70,
00227     IOC_ADVANCE = 71,
00228     IOC_SIZE = 72,
00229     IOC_CR_FLFLAG = 73,   /* Contains info on first and last flags */
00230     IOC_EOR = 74,
00231     IOC_INQLENGTH_VAR = 75,
00232     IOC_CR_EDFLAG = 76,
00233     IOC_PAD = 77,
00234     IOC_DELIM = 78,
00235     IOC_ACTION = 79,
00236     IOC_POSITION = 80,
00237     IOC_READWRITE = 81,
00238     IOC_WRITE = 82,
00239     IOC_READ = 83,
00240     IOC_ERRFLAG = 84,
00241     
00242     
00243 
00244     /* F77 I/O list items. */
00245 
00246     IOL_ARRAY = 95,
00247     IOL_CHAR = 96,
00248     IOL_CHAR_ARRAY = 97,
00249     IOL_EXPR = 98,
00250     IOL_IMPLIED_DO = 99,
00251     IOL_IMPLIED_DO_1TRIP = 100,
00252     IOL_LOGICAL = 101,
00253     IOL_RECORD = 102,
00254     IOL_VAR = 103,
00255     IOL_DOPE = 104,
00256 
00257     /* End of IOITEM list */
00258 
00259   IOITEM_LAST = 114
00260 
00261 } IOITEM;
00262 
00263 typedef enum {
00264   IOLIB_UNSPECIFIED = 0,
00265   IOLIB_MIPS = 1,
00266   IOLIB_CRAY = 2,
00267 
00268   IOLIB_LAST = 2
00269 } IOLIB;
00270 
00271 #ifdef __cplusplus
00272 }
00273 #endif
00274 
00275 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines