Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
p_io.m
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 
00036 /* USMID:  "\n@(#)5.0_pl/macros/p_io.m  5.1     04/29/99 21:22:31\n" */
00037 
00038 
00039 /*****************\
00040 |* MISCELLANEOUS *|
00041 \*****************/
00042 
00043 # define READ_UNIT_STAR_VALUE           100
00044 # define WRITE_UNIT_STAR_VALUE          101
00045 
00046 /********************************************\
00047 |* STUFF TO INTERACT WITH THE FORMAT PARSER *|
00048 \********************************************/
00049 
00050 /* Format parser call flags  - from format.h in library */
00051 
00052 #define LIB_CALL                        0
00053 #define COMPILER_CALL_ANSI              1       /* Obsolete */
00054 #define COMPILER_CALL_NO_ANSI           2
00055 #define COMPILER_CALL_ANSI_77           3
00056 #define COMPILER_CALL_ANSI_90           4
00057 #define COMPILER_CALL_ANSI_95           5
00058 #define MAX_CALL_FLAG                   5
00059 
00060 #define END_OF_MESSAGES                 0
00061 #define FIRST_WARNING_MESSAGE           1
00062 #define TRAILING_CHARS                  1
00063 
00064 #define FIRST_NON_ANSI_MESSAGE          10
00065 #define ANSI_EMPTY_PAREN_MSG            10
00066 #define ANSI_COMMA_REQ                  11
00067 #define COMMA_NON_ANSI                  12
00068 #define REP_SLASH_NON_ANSI              13
00069 #define NON_ANSI_EDIT_DESCRIPTOR        14
00070 #define MINUS_X_NON_ANSI                15
00071 #define E_WITH_D_NON_ANSI               16
00072 #define H_IS_OBSOLETE_IN_F90            17
00073 #define NON_ANSI_NULL_DESCRIPTOR        18
00074 #define ZERO_WIDTH_NON_ANSI             19
00075 #define MISSING_WIDTH_NON_ANSI          20
00076 #define LAST_NON_ANSI_MESSAGE           20
00077 
00078 #define FIRST_FATAL_MESSAGE             30
00079 #define EXPECTING_LEFT_PAREN            30
00080 #define EXPECTING_RIGHT_PAREN           31
00081 #define EXPECTING_INTEGER               32
00082 #define EXPECTING_PERIOD                33
00083 #define EXPECTING_P_OR_X                34
00084 #define INVALID_REP_COUNT               35
00085 #define ZERO_REP_COUNT                  36
00086 #define FIELD_WIDTH_ZERO                37
00087 #define FIELD_TOO_LARGE                 38
00088 #define ZERO_OR_NO_HOLLERITH_CNT        39
00089 #define UNKNOWN_EDIT_DESCRIPTOR         40
00090 #define NONTERMINATED_LITERAL           41
00091 #define UNABLE_TO_MALLOC_MEMORY         42
00092 
00093 
00094 /********************\
00095 |* SIZES AND LIMITS *|
00096 \********************/
00097 
00098 # define NUM_PDG_CONTROL_LIST_ITEMS     10
00099 
00100 
00101 /******************************\
00102 |* OBJECT REPLACEMENT STRINGS *|
00103 \******************************/
00104 
00105 # define UNIT_IDX               1
00106 # define FMT_IDX                2
00107 # define NML_IDX                2
00108 # define ERR_IDX                3
00109 # define INQ_ERR_IDX            4
00110 # define END_IDX                4
00111 # define IOSTAT_IDX             5
00112 # define REC_IDX                6
00113 # define ADVANCE_IDX            7
00114 # define SIZE_IDX               8
00115 # define EOR_IDX                9
00116 # define FILE_IDX               2
00117 
00118 
00119 # define ERR_IS_PRESENT         1
00120 # define END_IS_PRESENT         2
00121 # define EOR_IS_PRESENT         4
00122 # define IOSTAT_IS_PRESENT      8
00123 
00124 /* flflag values, for split io calls */
00125 
00126 # define FL_IO_SINGLE                   3
00127 # define FL_IO_FIRST                    2
00128 # define FL_IO_LAST                     1
00129 # define FL_IO_MIDDLE                   0
00130 
00131 
00132 /***********************************\
00133 |* NAMELIST TABLE SIZES AND STUFF  *|
00134 \***********************************/
00135 
00136 /* if fcd's are two words, use these */
00137 
00138 # define NML_GRP_HDR_SIZE_FCD2          3
00139 # define NML_GRP_ITEM_SIZE_FCD2         4
00140 # define NML_STRCT_HDR_SIZE_FCD2        2
00141 # define NML_STRCT_ITEM_SIZE_FCD2       4
00142 # define NML_SCALAR_ENTRY_SIZE_FCD2     3
00143 
00144 
00145 # define NML_GRP_HDR_SIZE               2
00146 # define NML_GRP_ITEM_SIZE              3
00147 # define NML_STRCT_HDR_SIZE             2
00148 # define NML_STRCT_ITEM_SIZE            3
00149 # define NML_SCALAR_ENTRY_SIZE          2
00150 
00151 
00152 # define NML_VALTYPE_SCALAR             1
00153 # define NML_VALTYPE_ARRAY              2
00154 # define NML_VALTYPE_STRCT              4
00155 # define NML_VALTYPE_STRCT_ARRAY        5
00156 
00157 /***********************************\
00158 |* CONDITIONAL REPLACEMENT STRINGS *|
00159 \***********************************/
00160 
00161 
00162 /***********************************************\
00163 |* STATEMENT/FUNCTION-LIKE REPLACEMENT STRINGS *|
00164 \***********************************************/
00165 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines