
{    DECK:  RFT$RHFAM_EVENT_TABLE
{
{    This common deck defines the table for tasks waiting for
{    RHFAM events to occur.

  TYPE
    rft$rhfam_event_table = record
      lock: ost$signature_lock,
      first_entry: ^rft$rhfam_event_table_entry,
    recend;

  TYPE
    rft$rhfam_event_table_entry = record
      next_entry: ^rft$rhfam_event_table_entry,
      task_id: ost$global_task_id,
      event_occurred_type: rft$event_occurred_type,
      case event_kind: rft$await_network_activity of
      = rfc$ana_await_server_response =
        asr_connection_descriptor: rft$connection_descriptor,
      = rfc$ana_await_incoming_connect =
        aic_job_name: jmt$system_supplied_name,
        aic_server_name: rft$application_name,
      = rfc$ana_await_connection_event =
        ace_connection_descriptor: rft$connection_descriptor,
        ace_input_available: BOOLEAN,
        ace_output_buffer_available: BOOLEAN,
        ace_data_transfer_in_progress: BOOLEAN,
        ace_asynchronous_wait: BOOLEAN,
        ace_asynchronous_timeout: INTEGER,
      = rfc$ana_await_switch_offer =
        aso_application_name: rft$application_name,
      = rfc$ana_await_switch_accept =
        asa_source_job: jmt$system_supplied_name,
      casend,
    recend;

  TYPE
    rft$event_occurred_type = (rfc$eot_no_event, rfc$eot_server_response,
      rfc$eot_incoming_connect, rfc$eot_input_available,
      rfc$eot_output_below_threshold, rfc$eot_timeout, rfc$eot_switch_offer,
      rfc$eot_switch_accept, rfc$eot_connection_terminated,
      rfc$eot_system_task_shutdown, rfc$eot_async_terminated);

  TYPE
    rft$await_network_activity = (rfc$ana_await_server_response, rfc$ana_await_incoming_connect,
      rfc$ana_await_connection_event, rfc$ana_await_switch_offer, rfc$ana_await_switch_accept);


?? PUSH (LISTEXT := ON) ??
*copyc ost$global_task_id
*copyc jmt$system_supplied_name
*copyc rft$external_interface
*copyc ost$signature_lock
?? POP ??
