?? RIGHT := 110 ??
?? TITLE := 'NOS/VE Basic Access Method: Process SET_FILE_ATTRIBUTES command' ??
MODULE bam$r3_command_processor;
?? RIGHT := 110 ??

?? NEWTITLE := 'Global Declarations Referenced by This Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc amt$file_attributes
*copyc fst$retention
*copyc ost$caller_identifier
*copyc ost$status
?? POP ??
*copyc amp$validate_attributes
*copyc fmp$change_default_file_attribs
*copyc fmp$file_command
?? OLDTITLE ??
?? NEWTITLE := '[xdcl, #gate] BAP$CHANGE_DEFAULT_FILE_ATTRIBS', EJECT ??

  PROCEDURE [XDCL, #GATE] bap$change_default_file_attribs
    (    attributes: ^amt$file_attributes;
         new_retention: ^fst$retention;
         reset_system_defaults: boolean;
     VAR status: ost$status);

    fmp$change_default_file_attribs (attributes, new_retention, reset_system_defaults, status);

  PROCEND bap$change_default_file_attribs;
?? OLDTITLE ??
?? NEWTITLE := '[xdcl, #gate] BAP$FILE_COMMAND' ??

  PROCEDURE [XDCL, #GATE] bap$file_command
    (    file: fst$file_reference;
         file_attributes: ^amt$file_attributes;
     VAR status: ost$status);

    VAR
      caller_id: ost$caller_identifier,
      validated_attributes: ^amt$file_attributes;

    status.normal := TRUE;
    #CALLER_ID (caller_id);

    IF file_attributes = NIL THEN
      validated_attributes := NIL;
    ELSE
      PUSH validated_attributes: [1 .. UPPERBOUND (file_attributes^)];
      validated_attributes^ := file_attributes^;
      amp$validate_attributes (file, amc$set_file_attributes_cmd, caller_id.ring, validated_attributes,
            status);
    IFEND;

    IF status.normal THEN
      fmp$file_command (file, validated_attributes, status);
    IFEND;

  PROCEND bap$file_command;
?? OLDTITLE ??
MODEND bam$r3_command_processor;
