
 TYPE

{      The PATH field is a container for the maximum-sized file reference
{      in the form of a string.
{
{      The PERMANENT_FILE field is set to TRUE if the file is a permanent
{      file and FALSE for a temporary file.
{
{      The fields CATALOG_PATH_SIZE, COMPLETE_PATH_SIZE, CYCLE_PATH_SIZE,
{      FAMILY_PATH_SIZE, FILE_PATH_SIZE, and MASTER_CATALOG_PATH_SIZE
{      define the lengths of substrings of the field PATH beginning with the
{      first character of the PATH.
{
{      The remaining fields define substrings of the PATH field that start
{      and end in variable locations within the PATH.  Each of these
{      fields is defined by an INDEX and a SIZE.
{
{      A missing field of the PATH is identified by an INDEX of 1 and a
{      SIZE of 0 (zero).  When this type is used in the context of AMP$FETCH,
{      the only field that may be missing is OPEN_POSITION.  The
{      OPEN_POSITION field is only defined when provided in the file
{      reference passed to the corresponding call to FSP$OPEN_FILE.
{
{      The information provided by these fields is best described by the
{      following examples:
{
{      EXAMPLE 1
{      Assume the PATH field contains:   ':NVE.AJL.BAM.SOURCE_LIBRARY.12.$ASIS'
{
{      The substring reference:          Refers to the substring:
{      ---------------------------------------------------------------------
{      path(1, complete_path_size)       ':NVE.AJL.BAM.SOURCE_LIBRARY.12.$ASIS'
{      path(1, cycle_path_size)          ':NVE.AJL.BAM.SOURCE_LIBRARY.12'
{      path(1, file_path_size)           ':NVE.AJL.BAM.SOURCE_LIBRARY'
{      path(1, catalog_path_size)        ':NVE.AJL.BAM'
{      path(1, master_catalog_path_size) ':NVE.AJL'
{      path(1, family_path_size)         ':NVE'
{      path(family_name.index,
{           family_name.size)            'NVE'
{      path(master_catalog_name.index,
{           master_catalog_name.size)    'AJL'
{      path(last_catalog_name.index,
{           last_catalog_name.size)      'BAM'
{      path(file_name.index,
{           file_name.size)              'SOURCE_LIBRARY'
{      path(cycle_number.index,
{           cycle_number.size)           '12'
{      path(open_position.index
{           open_position.size)          '$ASIS'
{
{                                        Also returned:
{      number_of_path_elements           4
{      permanent_file                    TRUE
{
{      EXAMPLE 2
{      Assume the PATH field contains:   '$LOCAL.JUNK.1'
{
{      The substring reference:          Refers to the substring:
{      ---------------------------------------------------------------------
{      path(1, complete_path_size)       ':$LOCAL.JUNK.1'
{      path(1, cycle_path_size)          ':$LOCAL.JUNK.1'
{      path(1, file_path_size)           ':$LOCAL.JUNK'
{      path(1, catalog_path_size)        ':$LOCAL'
{      path(1, master_catalog_path_size) ':$LOCAL'
{      path(1, family_path_size)         ':$LOCAL'
{      path(family_name.index,
{           family_name.size)            '$LOCAL'
{      path(master_catalog_name.index,
{           master_catalog_name.size)    '$LOCAL'
{      path(last_catalog_name.index,
{           last_catalog_name.size)      '$LOCAL'
{      path(file_name.index,
{           file_name.size)              'JUNK'
{      path(cycle_number.index,
{           cycle_number.size)           '1'
{      path(open_position.index
{           open_position.size)          ''
{
{                                        Also returned:
{      number_of_path_elements           2
{      permanent_file                    FALSE

    fst$resolved_file_reference = record
      path: fst$path,
      catalog_path_size: fst$path_size,
      complete_path_size: fst$path_size,
      cycle_number: fst$path_element_substring,
      cycle_path_size: fst$path_size,
      family_name: fst$path_element_substring,
      family_path_size: fst$path_size,
      file_name: fst$path_element_substring,
      file_path_size: fst$path_size,
      last_catalog_name: fst$path_element_substring,
      master_catalog_name: fst$path_element_substring,
      master_catalog_path_size: fst$path_size,
      number_of_path_elements: fst$number_of_path_elements,
      open_position: fst$path_element_substring,
      permanent_file: boolean,
    recend;

*copyc fst$number_of_path_elements
*copyc fst$path
*copyc fst$path_size
*copyc fst$path_element_substring
