perror(3F)

perror, gerror, ierrno, strerror - get system error messages

As shipped in IRIX 6.5.30. 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)