*copyc OSD$DEFAULT_PRAGMATS
MODULE mlm$r3_interfaces;
?? PUSH (LISTEXT := ON) ??
*copyc MLP$SIGN_ON_OS
*copyc MLD$MEMORY_LINK_DECLARATIONS
*copyc OST$STATUS
?? POP ??

  PROCEDURE [XDCL, #GATE] mlp$sign_on ALIAS 'mlpsion' (application_name:
    mlt$application_name;
    max_messages: mlt$max_messages;
    VAR unique_application_name: mlt$application_name;
    VAR status: ost$status);

    mlp$sign_on_os (application_name, max_messages, unique_application_name,
      status);

  PROCEND mlp$sign_on;

  PROCEDURE [XDCL, #GATE] mlp$sign_off ALIAS 'mlpsiof' (application_name:
    mlt$application_name;
    VAR status: ost$status);

    mlp$sign_off_os (application_name, status);

  PROCEND mlp$sign_off;

  PROCEDURE [XDCL, #GATE] mlp$receive_message ALIAS 'mlpreme'
    (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);

    mlp$receive_message_os (application_name, arbitrary_info, signal,
      message_area, message_length, message_area_length, receive_index,
      sender_name, status);

  PROCEND mlp$receive_message;

  PROCEDURE [XDCL, #GATE] mlp$send_message ALIAS 'mlpseme' (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);

    mlp$send_message_os (application_name, arbitrary_info, signal,
      message_area, message_length, destination_name, status);

  PROCEND mlp$send_message;

  PROCEDURE [XDCL, #GATE] mlp$add_sender ALIAS 'mlpadse' (application_name:
    mlt$application_name;
    sender_name: mlt$application_name;
    VAR status: ost$status);

    mlp$add_sender_os (application_name, sender_name, status);

  PROCEND mlp$add_sender;

  PROCEDURE [XDCL, #GATE] mlp$delete_sender ALIAS 'mlpdese' (application_name:
    mlt$application_name;
    sender_name: mlt$application_name;
    VAR status: ost$status);

    mlp$delete_sender_os (application_name, sender_name, status);

  PROCEND mlp$delete_sender;

  PROCEDURE [XDCL, #GATE] mlp$confirm_send ALIAS 'mlpcose' (application_name:
    mlt$application_name;
    destination_name: mlt$application_name;
    VAR status: ost$status);

    mlp$confirm_send_os (application_name, destination_name, status);

  PROCEND mlp$confirm_send;

  PROCEDURE [XDCL, #GATE] mlp$fetch_receive_list ALIAS 'mlpferl'
    (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);

    mlp$fetch_receive_list_os (application_name, sender_name, receive_list,
      receive_count, status);

  PROCEND mlp$fetch_receive_list;

  PROCEDURE [XDCL, #GATE] mlp$register_signal_handler (application_name:
    mlt$application_name;
    handler: mlt$handler;
    VAR status: ost$status);

    mlp$register_signal_handler_os (application_name, handler, status);

  PROCEND mlp$register_signal_handler;

  PROCEDURE [XDCL, #GATE] mlp$fetch_link_partner_info (application_name:
    mlt$application_name;
        partner_name: mlt$application_name;
    VAR last_op: mlt$operation;
    VAR status: ost$status);

    mlp$fetch_link_partner_info_os (application_name, partner_name, last_op,
          status);

  PROCEND mlp$fetch_link_partner_info;

MODEND mlm$r3_interfaces
