?? NEWTITLE := 'NOS/VE :  ADVANCED ACCESS METHOD, RING 4DD' ??
MODULE amm$alternate_entry_points;
?? RIGHT := 110 ??

{   This module contains alternate entry points for all AM program
{ interface requests.  These entry points allow a BAM developer to
{ run portions of BAM as a user program, and still have available
{ use of the real BAM, albeit under slightly differenet names.
{ These all behave identically to there liked named counterparts.

?? NEWTITLE := 'Global Declarations Referenced By This Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
?? POP ??
*copyc amp$close
*copyc amp$copy_file
*copyc amp$get_file_attributes
*copyc amp$get_partial
*copyc amp$get_segment_pointer
*copyc amp$open
*copyc amp$set_segment_eoi
?? OLDTITLE ??
?? NEWTITLE := '  [XDCL] AMP$#CLOSE', EJECT ??

  PROCEDURE [XDCL, #GATE] amp$#close
    (    file_identifier: amt$file_identifier;
     VAR status: ost$status);

    amp$close (file_identifier, status);

  PROCEND amp$#close;
?? OLDTITLE ??
?? NEWTITLE := '  [XDCL] AMP$#CLOSE_FILE', EJECT ??

  PROCEDURE [XDCL, #GATE] amp$#copy_file
    (    input_file: amt$local_file_name;
         output_file: amt$local_file_name;
     VAR status: ost$status);

    amp$copy_file (input_file, output_file, status);

  PROCEND amp$#copy_file;
?? OLDTITLE ??
?? NEWTITLE := '  [XDCL] AMP$#GET_FILE_ATTRIBUTES', EJECT ??

  PROCEDURE [XDCL, #GATE] amp$#get_file_attributes
    (    local_file_name: amt$local_file_name;
     VAR file_attributes: amt$get_attributes;
     VAR local_file: boolean;
     VAR old_file: boolean;
     VAR contains_data: boolean;
     VAR status: ost$status);

    amp$get_file_attributes (local_file_name, file_attributes, local_file, old_file, contains_data, status);


  PROCEND amp$#get_file_attributes;
?? OLDTITLE ??
?? NEWTITLE := '  [XDCL] AMP$#GET_PARTIAL', EJECT ??

  PROCEDURE [XDCL, #GATE] amp$#get_partial
    (    file_identifier: amt$file_identifier;
         working_storage_area: ^cell;
         working_storage_length: amt$working_storage_length;
     VAR record_length: amt$max_record_length;
     VAR transfer_count: amt$transfer_count;
     VAR byte_address: amt$file_byte_address;
     VAR file_position: amt$file_position;
         skip_option: amt$skip_option;
     VAR status: ost$status);

    amp$get_partial (file_identifier, working_storage_area, working_storage_length, record_length,
          transfer_count, byte_address, file_position, skip_option, status);


  PROCEND amp$#get_partial;
?? OLDTITLE ??
?? NEWTITLE := '  [XDCL] AMP$#GET_SEGMENT_POINTER', EJECT ??

  PROCEDURE [XDCL, #GATE] amp$#get_segment_pointer
    (    file_identifier: amt$file_identifier;
         pointer_kind: amt$pointer_kind;
     VAR segment_pointer: amt$segment_pointer;
     VAR status: ost$status);

    amp$get_segment_pointer (file_identifier, pointer_kind, segment_pointer, status);

  PROCEND amp$#get_segment_pointer;
?? OLDTITLE ??
?? NEWTITLE := '  [XDCL] AMP$#OPEN', EJECT ??

  PROCEDURE [XDCL, #GATE] amp$#open
    (    local_file_name: amt$local_file_name;
         access_level: amt$access_level;
         access_selections: amt$file_access_selections;
     VAR file_identifier: amt$file_identifier;
     VAR status: ost$status);

    amp$open (local_file_name, access_level, access_selections, file_identifier, status);

  PROCEND amp$#open;
?? OLDTITLE ??
?? NEWTITLE := '  [XDCL] AMP$#SET_SEGMENT_EOI', EJECT ??

  PROCEDURE [XDCL, #GATE] amp$#set_segment_eoi
    (    file_identifier: amt$file_identifier;
         segment_pointer: amt$segment_pointer;
     VAR status: ost$status);

    amp$set_segment_eoi (file_identifier, segment_pointer, status);

  PROCEND amp$#set_segment_eoi;
?? OLDTITLE ??
MODEND amm$alternate_entry_points;
