### 5 Reporting Status, Fortran I/O and Operating System Errors

Three subroutines are provided by the Error Message Service to enable a message token to be built from the error flag value returned from standard Starlink library routines, system routines or Fortran I/O operations. (For C programmers, emsErrno is also provided, see Section 8.) It is important that the correct routine is called, otherwise the wrong message or, at best, only an error number will be obtained.

It should be noted that the messages returned using these subroutines will depend upon the operating system in use. The error messages returned by operating systems vary considerably in their clarity and so should not be relied upon as the sole source of information in error reports.

The subroutines are:

EMS_FACER( TOKEN, STATUS )

where STATUS is a standard Starlink facility status value,

EMS_FIOER( TOKEN, IOSTAT )

where IOSTAT is a Fortran I/O status code, and

EMS_SYSER( TOKEN, SYSTAT )

where SYSTAT is a status value returned from a system routine.

In each case the message associated with the given error code is assigned to the specified message token. On completion, each of these subroutines returns its second argument unchanged.