?? NEWTITLE := 'NOS/VE : Basic Access Methods : mark FAP Layer Status' ??
MODULE bam$mark_fap_layer_status;
?? RIGHT := 110 ??

?? NEWTITLE := 'Global Declarations Referenced by this Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc ame$fap_validation_errors
*copyc ame$improper_file_id
*copyc amt$call_block
*copyc amt$fap_layer_number
*copyc amt$fap_pointer
*copyc amt$file_identifier
*copyc ost$status
?? POP ??
*copyc baf$task_file_entry_p
*copyc osp$set_status_abnormal
?? OLDTITLE ??
?? NEWTITLE := '[xdcl, #gate] BAP$MARK_FAP_LAYER_CLOSED' ??

  PROCEDURE [XDCL, #GATE] bap$mark_fap_layer_closed
    (    file_identifier: amt$file_identifier;
         layer_number: amt$fap_layer_number;
     VAR status: ost$status);

    CONST
      interface_name = 'BAP$MARK_FAP_LAYER_CLOSED';

    VAR
      file_instance_p: ^bat$task_file_entry;

    status.normal := TRUE;
    file_instance_p := baf$task_file_entry_p (file_identifier);
    IF file_instance_p = NIL THEN
      osp$set_status_abnormal (amc$access_method_id, ame$improper_file_id, interface_name, status);
      RETURN; {----->
    IFEND;

    IF layer_number = 0 THEN
      file_instance_p^.fap_control_information.first_fap.layer_closed := TRUE;
      IF file_instance_p^.fap_control_information.fap_array <> NIL THEN
        file_instance_p^.fap_control_information.fap_array^ [layer_number].layer_closed := TRUE;
      IFEND;
    ELSEIF (file_instance_p^.fap_control_information.fap_array <> NIL) AND
          (layer_number <= UPPERBOUND (file_instance_p^.fap_control_information.fap_array^)) THEN
      file_instance_p^.fap_control_information.fap_array^ [layer_number].layer_closed := TRUE;
    ELSE
      osp$set_status_abnormal (amc$access_method_id, ame$improper_layer_number, interface_name, status);
    IFEND;

  PROCEND bap$mark_fap_layer_closed;
?? OLDTITLE ??
?? TITLE := '  [XDCL] BAP$MARK_FAP_LAYER_OPEN' ??
?? NEWTITLE := '  RING BRACKETS 23D' ??
?? EJECT ??

  PROCEDURE [XDCL, #GATE] bap$mark_fap_layer_open
    (    file_identifier: amt$file_identifier;
         layer_number: amt$fap_layer_number;
     VAR status: ost$status);

    CONST
      interface_name = 'BAP$MARK_FAP_LAYER_OPEN';

    VAR
      file_instance_p: ^bat$task_file_entry;

    status.normal := TRUE;
    file_instance_p := baf$task_file_entry_p (file_identifier);
    IF file_instance_p = NIL THEN
      osp$set_status_abnormal (amc$access_method_id, ame$improper_file_id, interface_name, status);
      RETURN; {----->
    IFEND;

    IF layer_number = 0 THEN
      file_instance_p^.fap_control_information.first_fap.layer_closed := FALSE;
      IF file_instance_p^.fap_control_information.fap_array <> NIL THEN
        file_instance_p^.fap_control_information.fap_array^ [layer_number].layer_closed := FALSE;
      IFEND;
    ELSEIF (file_instance_p^.fap_control_information.fap_array <> NIL) AND
          (layer_number <= UPPERBOUND (file_instance_p^.fap_control_information.fap_array^)) THEN
      file_instance_p^.fap_control_information.fap_array^ [layer_number].layer_closed := FALSE;
    ELSE
      osp$set_status_abnormal (amc$access_method_id, ame$improper_layer_number, interface_name, status);
    IFEND;

  PROCEND bap$mark_fap_layer_open;
?? OLDTITLE ??
MODEND bam$mark_fap_layer_status;
