
*copyc OSD$DEFAULT_PRAGMATS
?? NEWTITLE := '170 NOS/VE REMOTE HOST' ??
MODULE rhm7ml;

{ RHM7ML
{
{        This module contains all CYBIL procedures required
{ by IRHF to gain access to the MLI A170 macros.
{

?? NEWTITLE := 'GLOBAL TYPE DECLARATIONS' ??
?? SET (LIST := OFF) ??
?? EJECT ??

*copyc MLD$MEMORY_LINK_DECLARATIONS
*copyc OST$STATUS

?? TITLE := 'RHP$SIGN_ON_OS' ??
?? SET (LIST := ON) ??
?? EJECT ??

      PROCEDURE [XDCL {TS_gate} ] rhp$sign_on_os ALIAS 'rhpsion' (
        application_name:mlt$application_name;
        max_messages: mlt$max_messages;
        VAR unique_application_name: mlt$application_name;
        VAR status: ost$status);

        VAR condition: ost$status_condition;


          PROCEDURE [XREF {TS_gate} ] mlsinon (
            application_name:mlt$application_name;
            max_messages: mlt$max_messages;
            VAR unique_application_name: mlt$application_name;
            VAR condition: ost$status_condition);


        mlsinon(application_name,max_messages,unique_application_name,condition);
        IF condition=mlc$ok
        THEN status.normal:=TRUE;
        ELSE status.normal:=FALSE;
             status.condition:=condition;
        IFEND;

      PROCEND rhp$sign_on_os;

?? TITLE := 'RHP$SIGN_OFF_OS' ??
?? EJECT ??

      PROCEDURE [XDCL {TS_gate} ] rhp$sign_off_os ALIAS 'rhpsiof' (
        application_name: mlt$application_name;
        VAR status: ost$status);

        VAR condition: ost$status_condition;

          PROCEDURE [XREF {TS_gate}] mlsinof (
            application_name: mlt$application_name;
            VAR condition: ost$status_condition);


        mlsinof(application_name,condition);
        IF condition=mlc$ok
        THEN status.normal:=TRUE;
        ELSE status.normal:=FALSE;
             status.condition:=condition;
        IFEND;

      PROCEND rhp$sign_off_os;


?? TITLE := 'RHP$FETCH_RECEIVE_LIST_OS' ??
?? EJECT ??
  PROCEDURE [XDCL {TS_gate} ] rhp$fetch_receive_list_os ALIAS 'rhpferl'
    (application_name: mlt$application_name;
    sender_name: mlt$application_name;
    VAR receive_list: mlt$receive_list;
    VAR receive_count: mlt$receive_count;
    VAR status: ost$status);

    VAR condition: ost$status_condition;


      PROCEDURE [XREF {TS_gate} ] mlferl (
        application_name: mlt$application_name;
        sender_name: mlt$application_name;
        VAR receive_list: mlt$receive_list;
        VAR receive_count: mlt$receive_count;
        VAR condition: ost$status_condition);

    mlferl(application_name,sender_name,receive_list,receive_count,condition);
    IF condition=mlc$ok
    THEN status.normal:=TRUE;
    ELSE status.normal:=FALSE;
         status.condition:=condition;
    IFEND;

  PROCEND rhp$fetch_receive_list_os;


?? TITLE := 'RHP$RECEIVE_MESSAGE_OS' ??
?? EJECT ??

      PROCEDURE [XDCL {TS_gate} ] rhp$receive_message_os ALIAS 'rhpreme' (
        application_name: mlt$application_name;
        VAR arbitrary_info: mlt$arbitrary_info;
        signal: mlt$signal;
        message_area: mlt$message_ptr;
        VAR message_length: mlt$message_length;
        message_area_length: mlt$message_length;
        receive_index: mlt$receive_index;
        VAR sender_name: mlt$application_name;
        VAR status: ost$status);

        VAR condition: ost$status_condition;


          PROCEDURE [XREF {TS_gate} ] mlrecm (
            application_name: mlt$application_name;
            VAR arbitrary_info: mlt$arbitrary_info;
            signal: mlt$signal;
            message_area: mlt$message_ptr;
            VAR message_length: mlt$message_length;
            message_area_length: mlt$message_length;
            receive_index: mlt$receive_index;
            VAR sender_name: mlt$application_name;
            VAR condition: ost$status_condition);


        mlrecm(application_name,arbitrary_info,signal,message_area,
              message_length,message_area_length,receive_index,sender_name,condition);
        IF condition=mlc$ok
        THEN status.normal:=TRUE;
        ELSE status.normal:=FALSE;
             status.condition:=condition;
        IFEND;

      PROCEND rhp$receive_message_os;


?? TITLE := 'RHP$SEND_MESSAGE_OS' ??
?? EJECT ??

      PROCEDURE [XDCL {TS_gate} ] rhp$send_message_os ALIAS 'rhpseme' (
        application_name: mlt$application_name;
        arbitrary_info: mlt$arbitrary_info;
        signal: mlt$signal;
        message_area: mlt$message_ptr;
        message_length: mlt$message_length;
        destination_name: mlt$application_name;
        VAR status: ost$status);

        VAR condition: ost$status_condition;

          PROCEDURE [XREF {TS_gate} ] mlsendm (
            application_name: mlt$application_name;
            arbitrary_info: mlt$arbitrary_info;
            signal: mlt$signal;
            message_area: mlt$message_ptr;
            message_length: mlt$message_length;
            destination_name: mlt$application_name;
            VAR condition: ost$status_condition);


        mlsendm(application_name,arbitrary_info,signal,message_area,
               message_length,destination_name,condition);
        IF condition=mlc$ok
        THEN status.normal:=TRUE;
        ELSE status.normal:=FALSE;
             status.condition:=condition;
        IFEND;

      PROCEND rhp$send_message_os;

?? TITLE := 'RHP$CONFIRM_SEND_OS' ??
?? EJECT ??

      PROCEDURE [XDCL {TS_gate} ] rhp$confirm_send_os ALIAS 'rhpcose' (
        application_name: mlt$application_name;
        destination_name: mlt$application_name;
        VAR status: ost$status);

        VAR condition: ost$status_condition;

        PROCEDURE [XREF {TS_gate} ] mlconf (
          application_name: mlt$application_name;
          sender_name: mlt$application_name;
          VAR condition: ost$status_condition);

        mlconf(application_name,destination_name,condition);
        IF condition=mlc$ok THEN
          status.normal:=TRUE;
        ELSE
          status.normal:=FALSE;
          status.condition:=condition;
        IFEND;
      PROCEND rhp$confirm_send_os;

?? TITLE := 'RHP$ADD_SENDER_OS' ??
?? EJECT ??

      PROCEDURE [XDCL {TS_gate} ] rhp$add_sender_os ALIAS 'rhpadse' (
        application_name: mlt$application_name;
        sender_name: mlt$application_name;
        VAR status: ost$status);

        VAR condition: ost$status_condition;

          PROCEDURE [XREF {TS_gate} ] mladds (
            application_name: mlt$application_name;
            sender_name: mlt$application_name;
            VAR condition: ost$status_condition);


        mladds(application_name,sender_name,condition);
        IF condition=mlc$ok
        THEN status.normal:=TRUE;
        ELSE status.normal:=FALSE;
             status.condition:=condition;
        IFEND;

      PROCEND rhp$add_sender_os;


  MODEND rhm7ml;
