Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ message(5) — AIX/RT 2.2.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

msghelp

msgimed

msgqued

msgrtrv

gettext

puttext

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.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026