MESSAGE(5,F) AIX Technical Reference MESSAGE(5,F)
-------------------------------------------------------------------------------
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 a 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 (currently, 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 allocated 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,
Processed November 7, 1990 MESSAGE(5,F) 1
MESSAGE(5,F) AIX Technical Reference MESSAGE(5,F)
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.
Processed November 7, 1990 MESSAGE(5,F) 2
MESSAGE(5,F) AIX Technical Reference MESSAGE(5,F)
RELATED INFORMATION
In this book: "msghelp," "msgimed," "msgqued," and "msgrtrv."
The gettext and puttext commands in AIX Operating System Commands Reference.
Processed November 7, 1990 MESSAGE(5,F) 3