?? RIGHT := 110 ??
?? NEWTITLE := 'NOS/VE Message Module Pointers' ??
MODULE osm$message_module_pointers;

{
{ PURPOSE:
{   This module initializes the pointers to message modules used internally by
{   the system.  It also contains a table of these pointers and their
{   corresponding seed names.  OSP$FIND_HELP_MODULE searches this table when it
{   is unable to find a module name in the job's command list entries.
{
{ DESIGN:
{   To add another system-defined HELP message module, you must do the following:
{
{     1. Create an XDCL variable below that is initialized by the linker
{     2. Define a string constant identifier containing the name of the HELP message
{        module.  OSP$FIND_HELP_MODULE searches by this name to find the address of
{        HELP module whose address is initialized by the linker in the
{        osv$system_message_modules array below
{     3. Add an entry to the osv$system_message_modules array below that relates
{        HELP module name to address
{     4. Add one to the value of the constant osc$max_system_message_modules in the
{        deck by the same name
{     5. Add a linker command to deck RAF$JOB_TEMPLATE_LINKER_COMNDS to cause the
{        linker to initialize the address in the osv$system_message_modules array
{     6. Create a HELP message module; for an example refer to
{        RMM$RESOURCE_HELP_MESSAGES.  The name of the module is composed of a seed
{        name followed by $US_ENGLISH.  The seed name is the value of the constant
{        identifier defined in (2) above.
{     7. Recompile deck CLM$HELP_MESSAGE_INTERFACES
{
?? PUSH (LISTEXT := ON) ??
*copyc clc$system_messages_module
*copyc cmc$action_messages
*copyc fsc$wait_msg_module_name
*copyc osc$max_system_message_modules
*copyc osc$system_attribute_message
*copyc oss$job_paged_literal
*copyc ost$help_module
*copyc ost$name
*copyc pfc$chacc_help_module_name
*copyc pfc$movc_insuf_space
*copyc pfc$movc_no_space
*copyc puc$delete_all_files_message
*copyc rmc$action_messages
*copyc rmc$dedicated_maintenance
*copyc rmc$extend_labeled_vol_list
*copyc rmc$extend_unlabeled_vol_list
*copyc rmc$generic_error_recovery
*copyc rmc$incorrect_recorded_vsn
*copyc rmc$initv_menu_names
*copyc rmc$job_status_messages
*copyc rmc$loadpoint_error_recovery
*copyc rmc$manual_tape_maintenance
*copyc rmc$reserve_tape
*copyc rmc$robotic_element_monopoly
*copyc rmc$robotic_tape_maintenance
*copyc rmc$robotic_write_disabled
*copyc rmc$vol_classification_module
*copyc rmc$write_error_recovery
*copyc rmc$wrong_label_type
*copyc rsc$extend_labeled_message
*copyc rsc$extend_unlabeled_message
?? POP ??

  VAR

{ The following variables are initialized at system link time to point to the
{ help modules containing the default parameter prompts in US_English.

{ The following variable defines the pointer to message module containing
{ the automatic reconfiguration operator action messages.

    cmv$action_messages: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

    clv$system_messages_module: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

    fsv$wait_messages: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

    pfv$chacc_output: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    pfv$movc_insuf_space: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    pfv$movc_no_space: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

{ The following variable defines the menu module pointer used by
{ the BACPF subcommand DELETE_ALL_FILES.

    puv$delete_all_files_message: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

{ The following variables define the menu module pointer used by
{ INITIALIZE_TAPE_VOLUME.

    rmv$crebuv_buv_menu: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$crebuv_le_menu: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$crebuv_lu_menu: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$crebuv_urv_menu: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$crebuv_uv_menu: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$initv_ul_menu: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$initv_exp_menu: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$initv_unexp_menu: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$initv_re_menu: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

{ The following variables define the pointers to the message modules containing
{ system operator menus.

    rmv$dedicated_maintenance: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$extend_labeled_vol_list: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$extend_unlabeled_vol_list: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$generic_error_recovery: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$incorrect_recorded_vsn: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$loadpoint_error_recovery: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$manual_tape_maintenance: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$reserve_tape: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$robotic_element_monopoly: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$robotic_tape_maintenance: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$robotic_write_disabled: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$write_error_recovery: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rmv$wrong_label_type: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

{ The following variable defines the pointer to the message module containing
{ operator action messages.

    rmv$action_messages: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

{ The following variable defines the pointer to the message module containing
{ job status messages.

    rmv$job_status_messages: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

{ The following variable defines the pointer to the message module containing
{ the template for the output of the DISPLAY_VOLUME_CLASSIFICATION command.

    rmv$volume_classification: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

{ The following variables are used for tape menus for RMS.

    rsv$extend_labeled_message: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,
    rsv$extend_unlabeled_message: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL,

{ The following variables are used for SYSTEM_ATTRIBUTE processing.

    osv$system_attribute_message: [XDCL, READ, oss$job_paged_literal] ^ost$help_module := NIL;

?? FMT (FORMAT := OFF) ??

?? NEWTITLE := 'osv$system_message_modules', EJECT ??

{ The following table of message modules is searched by osp$find_help_module
{ if it is unable to find the supplied module name in the job's command list.

  VAR
    osv$system_message_modules: [XDCL, READ, oss$job_paged_literal] array
          [1 .. osc$max_system_message_modules] of record
      module_name: ost$name,
      module_pointer_p: ^^ost$help_module,
    recend := [
          [clc$system_messages_module,     ^clv$system_messages_module],
          [cmc$action_messages,            ^cmv$action_messages],
          [fsc$wait_msg_module_name,       ^fsv$wait_messages],
          [pfc$chacc_help_module_name,     ^pfv$chacc_output],
          [pfc$movc_insuf_space,           ^pfv$movc_insuf_space],
          [pfc$movc_no_space,              ^pfv$movc_no_space],
          [puc$delete_all_files_message,   ^puv$delete_all_files_message],
          [rmc$action_messages,            ^rmv$action_messages],
          [rmc$crebuv_buv_menu,            ^rmv$crebuv_buv_menu],
          [rmc$crebuv_le_menu,             ^rmv$crebuv_le_menu],
          [rmc$crebuv_lu_menu,             ^rmv$crebuv_lu_menu],
          [rmc$crebuv_urv_menu,            ^rmv$crebuv_urv_menu],
          [rmc$crebuv_uv_menu,             ^rmv$crebuv_uv_menu],
          [rmc$dedicated_maintenance,      ^rmv$dedicated_maintenance],
          [rmc$extend_labeled_vol_list,    ^rmv$extend_labeled_vol_list],
          [rmc$extend_unlabeled_vol_list,  ^rmv$extend_unlabeled_vol_list],
          [rmc$generic_error_recovery,     ^rmv$generic_error_recovery],
          [rmc$incorrect_recorded_vsn,     ^rmv$incorrect_recorded_vsn],
          [rmc$initv_exp_menu,             ^rmv$initv_exp_menu],
          [rmc$initv_re_menu,              ^rmv$initv_re_menu],
          [rmc$initv_ul_menu,              ^rmv$initv_ul_menu],
          [rmc$initv_unexp_menu,           ^rmv$initv_unexp_menu],
          [rmc$job_status_messages,        ^rmv$job_status_messages],
          [rmc$loadpoint_error_recovery,   ^rmv$loadpoint_error_recovery],
          [rmc$manual_tape_maintenance,    ^rmv$manual_tape_maintenance],
          [rmc$reserve_tape,               ^rmv$reserve_tape],
          [rmc$robotic_element_monopoly,   ^rmv$robotic_element_monopoly],
          [rmc$robotic_tape_maintenance,   ^rmv$robotic_tape_maintenance],
          [rmc$robotic_write_disabled,     ^rmv$robotic_write_disabled],
          [rmc$vol_classification_module,  ^rmv$volume_classification],
          [rmc$write_error_recovery,       ^rmv$write_error_recovery],
          [rmc$wrong_label_type,           ^rmv$wrong_label_type],
          [rsc$extend_labeled_message,     ^rsv$extend_labeled_message],
          [rsc$extend_unlabeled_message,   ^rsv$extend_unlabeled_message],
          [osc$system_attribute_message,   ^osv$system_attribute_message]
          ];

MODEND osm$message_module_pointers;
