?? TITLE := 'NOS/VE : Basic Access Methods : Path Access Manager' ??
MODULE bam$path_access_manager;
?? RIGHT := 110 ??

?? NEWTITLE := 'Global Declarations Referenced by This Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc amt$local_file_name
*copyc fmt$path_description_entry
*copyc fmt$path_handle
*copyc fst$cycle_reference
*copyc fst$evaluated_file_reference
*copyc fst$number_of_path_elements
*copyc fst$path
*copyc fst$path_element
*copyc ost$status
?? POP ??
*copyc fmp$get_list_of_$local_files
*copyc fmp$get_path_elements
*copyc fmp$get_path_string
*copyc fmp$get_resolved_file_reference
*copyc fmp$is_file_registered
*copyc fmp$process_pt_request
?? OLDTITLE ??
?? NEWTITLE := '[xdcl, #gate] CLP$GET_LIST_OF_$LOCAL_FILES', EJECT ??

*copy clh$get_list_of_$local_files

  PROCEDURE [XDCL, #GATE] clp$get_list_of_$local_files
    (VAR info: pft$p_info;
     VAR status: ost$status);

    fmp$get_list_of_$local_files (info, status);

  PROCEND clp$get_list_of_$local_files;
?? OLDTITLE ??
?? NEWTITLE := '[XDCL, #GATE] bap$get_path_elements', EJECT ??

{*copy bah$get_path_elements}

  PROCEDURE [XDCL, #GATE] bap$get_path_elements
    (    path_handle: fmt$path_handle;
     VAR evaluated_file_reference: fst$evaluated_file_reference;
     VAR status: ost$status);

    fmp$get_path_elements (path_handle, evaluated_file_reference, status);

  PROCEND bap$get_path_elements;
?? OLDTITLE ??
?? NEWTITLE := '[XDCL, #GATE] bap$get_path_string', EJECT ??

{*copy bah$get_path_string}

  PROCEDURE [XDCL, #GATE] bap$get_path_string
    (    path_handle: fmt$path_handle;
     VAR path: fst$path;
     VAR path_size: fst$path_size;
     VAR status: ost$status);

    fmp$get_path_string (path_handle, { Lock_path_table} TRUE, path, path_size, status);

  PROCEND bap$get_path_string;
?? OLDTITLE ??
?? NEWTITLE := '[XDCL, #GATE] bap$get_resolved_file_reference', EJECT ??

{*copy bah$get_resolved_file_reference}

  PROCEDURE [XDCL, #GATE] bap$get_resolved_file_reference
    (VAR evaluated_file_reference: {i/o} fst$evaluated_file_reference;
     VAR resolved_file_reference: fst$resolved_file_reference;
     VAR status: ost$status);

    fmp$get_resolved_file_reference (evaluated_file_reference, resolved_file_reference, status);

  PROCEND bap$get_resolved_file_reference;
?? OLDTITLE ??
?? NEWTITLE := '[XDCL, #GATE] bap$is_file_registered', EJECT ??

*copy bah$is_file_registered

  PROCEDURE [XDCL, #GATE] bap$is_file_registered
    (    path_handle: fmt$path_handle;
     VAR registered: boolean;
     VAR status: ost$status);

    fmp$is_file_registered (path_handle, registered, status);

  PROCEND bap$is_file_registered;
?? OLDTITLE ??
?? NEWTITLE := '[XDCL, #GATE] bap$process_pt_request', EJECT ??

{ PURPOSE:
{   This procedure takes a path and records it in the path_table creating a node for each path_element
{   that does not already exist. If the path has an alias, then the local_file_name passed into the
{   procedure in the local_file_name parameter will be used to record the local_file_name as
{   $local.local_file_name, will remember the path_description_entry assigned and will then record
{   the path_elements, associate the same cycle_object with that path, update the first_cycle_alias_entry
{   pointer in the cycle_object to point to the aliased named_object.

  PROCEDURE [XDCL, #GATE] bap$process_pt_request
    (    process_pt_work_list: bat$process_pt_work_list;
         local_file_name: amt$local_file_name;
     VAR evaluated_file_reference: {i/o} fst$evaluated_file_reference;
    { path_structure and/or path_handle must be passed in }
     VAR process_pt_results: bat$process_pt_results;
     VAR status: ost$status);

    VAR
      ignore_cycle_description: ^fmt$cycle_description;

    fmp$process_pt_request (process_pt_work_list, local_file_name, evaluated_file_reference,
          ignore_cycle_description, process_pt_results, status);

  PROCEND bap$process_pt_request;
?? OLDTITLE ??
MODEND bam$path_access_manager;

