message
Purpose
Describes message, insert, and help formats.
Synopsis
# include <msg10.h>
Description
The puttext command is used to convert message, text
insert, and help descriptions from an format that can be
edited into a format that can be accessed at run time.
The descriptions in the file can be accessed by using the
msgimed, msgqued, msghelp, and msgrtrv subroutines. The
gettext command converts the descriptions back into a
format that can be edited.
The file header contains a unique identifier indicating
the type of file, a file format version number (currently
0), and the number of component entries in the file (cur-
rently, only one component entry per file is supported).
The header file has the following form:
struct filehdr { /* FILE HEADER */
char unique[8]; /* unique file identifier "MSGSFILE" */
unsigned short version; /* file format version number */
unsigned short numcomp; /* number of component entries in file */
};
Following the file header is the component index table.
Each entry (currently, there is only one) in the table
identifies the component, the national language (EN for
English), the maximum index numbers that have been allo-
cated and the offsets to the message index table, insert
index table and help index table.
struct cmp_indx { /* Component index table entry */
char compid[6]; /* component ID */
char langid[2]; /* language ID */
unsigned short flags; /* reserved for flags (zero) */
unsigned short maxnum[3]; /* max index numbers used for */
/* messages, inserts, and helps */
unsigned long offset[3]; /* offsets to msg, insert, and help */
/* index tables from start of file */
unsigned long reserved; /* reserved */
};
The component index table is followed by the message
index table and message text, the insert index table and
insert text, and help index table and help text. The
header for each entry in the message, insert, and help
index tables identifies the component ID and index number
where the text actually resides, the offset to the text
(and its length) if the text actually resides in this
entry, the version number (used with a common file), and
an indicator of whether the entry is current (can be
accessed) or null.
/* Format of header for entries in the */
/* message, insert, and help index tables */
/* (Note that each index table must be */
/* aligned on a long integer boundary.) */
#define MSGHEADR
char compid[6]; /* component ID for text source */
/* file ('======' or 'common') */
unsigned short index; /* index # for text source (zero */
/* indicates same index # */
unsigned long offset; /* offset to text from start of */
/* index table */
unsigned short textlen; /* text length (not incl null term) */
unsigned short version; /* version */
unsigned short flags; /* flag definition */
/* 01 off: status = null */
/* on: status = current */
/* (other flags reserved (zero)) */
unsigned short reserve1; /* reserved (zero) */
/* flag definitions for MSGHEADR */
#define mih_status 0x0001 /* off (0): status = null */
/* on (1): status = current */
Each entry in the insert index table contains only the
header information.
struct ins_indx { /* Insert table entry */
/* (contains header info. only) */
MSGHEADR /* header information */
};
Each entry in the message index table and help index
table contains the header information plus the title
length (used for helps), a message/help manual reference,
and the index number for the help associated with a
message.
struct mih_indx { /* Entry in message or help index tables. May */
/* also be used as entry in insert index table */
/* if only header information is referenced. */
MSGHEADER /* header information */
unsigned short titlelen; /* title length (not incl null term ) */
char dcompid[3]; /* displayed component ID */
char dmsgid[3]; /* displayed message help ID */
short helpindx; /* help index number (zero if no help, */
/* negative if help in common file) */
unsigned short reserved; /* reserved (zero) */
};
Each index table must be aligned on a long integer
boundary.
Related Information
In this book: "msghelp," "msgimed," "msgqued," and
"msgrtrv."
The gettext and puttext commands in AIX Operating System
Commands Reference.