
  TYPE
    oct$object_file_descriptor = record
      link: ^oct$object_file_descriptor,
      name: ^fst$file_reference,
      id: amt$file_identifier,
      segment: amt$segment_pointer,
      r1: ost$ring,
      r2: ost$ring,
      r3: ost$ring,
      global_key: ost$key_lock_value,
      local_key: ost$key_lock_value,
      execute_privilege: ost$execute_privilege,
      default_sections: ^oct$default_sections,

      case is_a_library: boolean of
      = TRUE =
        module_dictionary: ^llt$module_dictionary,
        entry_point_dictionary: ^llt$entry_point_dictionary,
      = FALSE =
        ,
      casend,
    recend;

  TYPE
    oct$default_sections = array [1 .. * ] of oct$default_section,

    oct$default_section = record
      name: pmt$program_name,
      attributes: llt$section_access_attributes,
    recend;

*copyc amt$file_identifier
*copyc amt$segment_pointer
*copyc fst$file_reference
*copyc llt$entry_point_dictionary
*copyc llt$module_dictionary
*copyc llt$section_access_attributes
*copyc osd$virtual_address
*copyc ost$segment_access_control
