### 2 MESSGEN Source Files

The starting point for the Starlink MESSGEN facility is a source file conventionally named facility_err.msg. The format is very similar to that for the VAX/VMS MESSAGE facility. This is most easily described by an example:

.FACILITY       PAR,190/PREFIX=PAR__
.IDENT          ’Version 0.5’

.SEVERITY       INFORMATIONAL
.BASE 100

NOUSR           <No user available for input>
PARNF           <Parameter does not exist>
EOL             <End of parameter list>
NULL            <Null parameter value>
ABORT           <Parameter request aborted>

.END

Notes:
(1)
Lines may be up to 100 characters long but may not be continued to the next line.
(2)
! indicates that the remainder of the line is comment, except on a .TITLE line.
(3)
The .TITLE directive is optional but recommended. The given text is displayed as the file is read by MESSGEN.
(4)
The .FACILITY directive specifies the facility name, the facility number (which is allocated by the Starlink Infrastructure Support Group) and the prefix to be used for symbolic constants for the status values. In the example, the facility name is PAR, the facility number is 190 and the symbolic constant for the first error value will be PAR__NOUSR.
(5)
The .IDENT directive is optional and has no effect.
(6)
The .SEVERITY directive defines the severity of the error. In addition to INFORMATIONAL, any of the values permitted by the VAX/VMS MESSAGE facility are allowed. The severity value has no meaning on UNIX, or in most cases on VAX/VMS, but it does affect the error value generated for subsequent errors in the file. There may be more than one .SEVERITY directive in the file or it may be omitted, in which case WARNING is assumed.
(7)
The .BASE directive specifies a message number to be associated with the next message and is optional. In the absence of any .BASE directives, message numbering is sequential (from 1) within each facility.
(8)
Message lines specify the ident of the message and the text (enclosed in <>).
(9)
SUN/104 gives a formula for calculating unique error numbers. This formula corresponds with .SEVERITY WARNING.
(10)
The .END directive is optional and has no effect.
(11)
If the VAX/VMS MESSAGE facility was used to generate facility INCLUDE files which were subsequently ported to UNIX, the original .MSG source files should be used to generate the error files for UNIX. This will ensure that the same error values are generated.