The header section contains zero or more of the following keywords:
MessageIdTypedef={NAME}
SeverityNames=({NAME}={NUMBER}:{NAME})
FacilityNames=({NAME}={NUMBER}:{NAME})
LanguageNames=({NAME}={NUMBER}:{FILENAME})
These keywords have the following meaning:
| Keyword | Description |
|---|---|
| MessageIdTypedef | Gives a symbolic name that is output as the typedef name for each numeric MessageId value. The default value is NULL, meaning that there will be no type case output when defining symbolic names for a MessageId. |
| SeverityNames | Defines the set of names that are
allowed as the value of the Severity keyword in the
message definition. The set is delimited by left and
right parentheses. Associated with each severity name is
a number that, when shifted left by 30, gives the bit
pattern to logically OR with the Facility value and
MessageId to come up with the full 32-bit message code.
The default value is: Severity Names=(
Success=0x0
Informational=0x1
Warning=0x2
Error=0x3
)
|
| FacilityNames | Defines the set of names that are
allowed as the value of the Facility keyword in the
message definition. The set is delimited by left and
right parentheses. Associated with each facility name is
a number that , when shifted left by 16 bits, gives the
bit pattern to logically OR with the Severity value and
MessageId to come up with the full 32-bit message code.
The default value of this keyword is: FacilityNames=( System=0x0FF Application=0xFFF ) Facility codes occupy the low order 12 bits of the high order 16 bits of a 32-bit message code. Any facility code that does not fit in 12 bits is an error. This allows for the 4096 facility codes. The first 256 are reserved for use by the system software. The facility codes can be given symbolic names by following each value with :{NAME} |
| LanguageNames | Defines the set of names that are
allowed as the value of the Language keyword in the
message definition. The set is delimited by left and
right parentheses. Associated with each language name is
a number and a file name that will be used to name the
binary output file that will contain all of the message
text for that language. The number corresponds to the
Language ID tag to use in the resource table. The number
is separated from the file name with a colon. The initial
value of this keyword is:LanguageNames=(English=1:MSG00001) Any new names that an application defines in its .mc file which don't override any of the built-in names will be added to the list of valid languages. This allows an application to support private languages with descriptive names. |
![]()
Message Compiler - An Overview
Message Compiler - Syntax
MKMSGF - Make Message File
Utility
![]()
MKCATDEF - Preprocess Message
Source File Utility