perror(3F)
perror, gerror, ierrno, strerror - get system error messages
Showing IRIX 6.5.30 (default release). Last changed in IRIX 6.5.19.
NAME perror, gerror, ierrno, strerror - get system error messages SYNOPSIS subroutine perror (string) character*(*) string subroutine gerror (string) character*(*) string character*(*) function gerror() function ierrno() subroutine strerror (ierror_num, string) integer ierror_num character*(*) string DESCRIPTION perror writes a message to Fortran logical unit 0 appropriate to the last detected system error. string is written preceding the standard error message. gerror returns the system error message in character variable string. gerror may be called either as a subroutine or as a function. ierrno returns the error number of the last detected system error. This number is updated only when an error actually occurs. Most routines and I/O statements that might generate such errors return an error code after the call; that value is a more reliable indicator of what caused the error condition. strerror is the same as gerror except you pass in an explicit error number. BUGS String in the call to perror can be no longer than 127 characters. The length of the string returned by gerror and strerror is determined by the calling program. Error numbers > 100 are mapped to Fortran errors. Thus you may not be able to retrieve the UNIX errors > 100 using these functions. NOTES UNIX system error codes are described in intro(2). The F77 I/O error codes and their meanings are the following: 100 error in format 101 out of space for i/o unit table 102 formatted i/o not allowed 103 unformatted i/o not allowed 104 direct i/o not allowed 105 sequential i/o not allowed 106 can't backspace file 107 null file name 108 can't stat file 109 file already connected 110 off end of record 111 truncation failed in end file 112 incomprehensible list input 113 out of free space 114 unit not connected 115 read unexpected character 116 blank logical input field 117 bad variable type 118 bad namelist name 119 variable not in namelist 120 no end record 121 namelist subscript out of range 122 negative repeat count 123 illegal operation for unit 124 off beginning of record 125 no * after repeat count 126 127 can't find 'old' file 128 unknown system error 129 requires seek ability 130 illegal argument 131 duplicate key value on write 132 indexed file not open 133 bad isam argument 134 bad key description 135 too many open indexed files 136 corrupted isam file 137 isam file not opened for exclusive access 138 record locked 139 key already exists 140 cannot delete primary key 141 beginning or end of file reached 142 cannot find requested record 143 current record not defined 144 isam file is exclusively locked 145 filename too long 146 cannot create lock file 147 record too long 148 key structure does not match file structure 149 direct access on an indexed file not allowed 150 keyed access on a sequential file not allowed 151 keyed access on a relative file not allowed 152 append access on an indexed file not allowed 153 must specify record length 154 key field value type does not match key type 155 character key field value length too long 156 fixed record on sequential file not allowed 157 variable records allowed only on unformatted sequential file 158 stream records allowed only on formatted sequential file 159 maximum number of records in direct access file exceeded 160 attempt to create or write to a readonly file 161 must specify key descriptions 162 carriage control not allowed for unformatted units 163 indexed files only 164 cannot use on indexed file 165 cannot use on indexed or append file 166 error in closing file 167 invalid code in format specification 168 invalid record number in direct access file 169 cannot have endfile record on non-sequential file 170 cannot position within current file 171 cannot have sequential records on direct access file 172 cannot find namelist in input file 173 cannot read from stdout 174 cannot write to stdin 175 stat call failed in f77inode 181 Direct unformatted I/O not allowed. 182 cannot open a directory 183 subscript out of bounds 184 function not declared as varargs 185 internal error -- may be due to illegal vararg usage. FILES /usr/ucb/lib/libU77.a /usr/lib/libI77.a SEE ALSO intro(2), perror(3F)