
  PROCEDURE [INLINE] nlp$al_deliver_data
    (VAR message {INPUT, OUTPUT} : nlt$bm_message_id;
     VAR buffer_description {INPUT, OUTPUT} : nlt$al_data_description;
     VAR remaining_buffer_capacity: nat$data_length;
     VAR namve_buffers_released: nat$data_length);

?? PUSH (LISTEXT := ON) ??
*copy nlh$al_deliver_data

    VAR
      delivered_length: integer;

    nlp$bm_deliver_message (buffer_description.fragment, message,
          delivered_length, namve_buffers_released);
    buffer_description.data_length := buffer_description.data_length -
          delivered_length;
    remaining_buffer_capacity := buffer_description.data_length;

  PROCEND nlp$al_deliver_data;

*copyc nat$data_fragments
*copyc nlt$al_data_description
*copyc nlt$bm_message_id
*copyc nlp$bm_deliver_message
?? POP ??
