Input Message File Format

The input message file is a standard ASCII file containing three types of lines:

Comment lines

Component identifier line

Component message lines

Comment Lines

Comments may appear anywhere in the file except between the component identifier line and the first message line. A comment line must begin with a semicolon (;) in the first column.

Example:

; This is a sample of an input
; message file for component DOS
; starting with three comment lines.

Component Identifier Line

A single line holding the three‑character component identifier. This identifier is prefixed to all message numbers.

In the example, the identifier is DOS.

Component Message Lines

Each message line consists of a message header followed by the ASCII text of the message.

Message Header

The header is composed of the following fields, written contiguously:

Three‑character component identifier (e.g., DOS).

Four‑digit message number (e.g., 0100).

A single character indicating the message type (see table below).

A colon (':').

A single blank space separating the header from the message text.

Format: COMPNNNNT: message text

Message Types

Code	Type	Meaning
E	Error	Error message
H	Help	Help text
I	Information	Informational message
P	Prompt	Prompt (user input expected)
W	Warning	Warning message
?	(unused)	Placeholder for a number with no message text

Numbering and Placeholder Entries

Message numbers may start at any value, but must appear in strictly ascending sequential order in the file.

When a particular number is not used, a placeholder entry is required. A placeholder consists of the full header with the type ? and no message text after the colon and blank.

Example: MAB0101?:

Special Characters in the Message Text

The percent sign (%) has special meaning when used inside message text.

Suppressing the Trailing Newline (''%0'')

If the sequence %0 appears as the very last characters of a message text, the DosGetMessage API will not append a carriage return and line feed (CR+LF). This is typically used for prompts so that user input can follow on the same line.

Inserting Variable Strings (''%1'' – ''%9'')

Sequences %1 through %9 mark positions where variable strings are inserted at runtime. The actual values are provided via the Itable and IvCount parameters of the DosGetMessage call.

Example: the message %1 files copied will have %1 replaced by an appropriate string (e.g., a number of files).

Complete Input File Example

; This is a sample of an input
; message file for component MAB
; starting with three comment lines.
MAB
MAB0100E: File not found
MAB0101?:
MAB0102H: Usage: del [drive:][path] filename
MAB0103?:
MAB0104I: %1 files copied
MAB0105W: Warning! All data will be destroyed!
MAB0106?:
MAB0107?:
MAB0108P: Do you wish to apply these patches (Y or N)? %0
MAB0109E: Divide overflow

MAB – component identifier.

MAB0100E – error message.

MAB0101? – placeholder for an unused number.

MAB0104I – informational message with variable insertion (%1).

MAB0108P – prompt with %0 to suppress the trailing newline.