{ The OBJECT_CONDITION field may be set to one of the following conditions:

{   - fsc$null_file_access_condition:  Indicates that there is no exception
{     condition in effect for the object.

{   - fsc$data_retrieval_required:  Indicates that the cycle is in a
{     PFE$DATA_RETRIEVAL_REQUIRED condition because the file was released
{     from mass storage.

{   - fsc$data_restoration_required: Indicates that the cycle is in an
{     PFE$UNDEFINED_DATA condition.  This is usually the result of the
{     restoration of catalogs without subsequent restoration of the data.

{   - fsc$catalog_media_missing, fsc$catalog_volume_unavailable:  Indicates
{     that access to a catalog object is blocked by a missing volume or a
{     failed volume, respectively.  Refer to the discussion below about the
{     VOLUME_CONDITION_LIST.

{   - fsc$media_missing, fsc$volume_unavailable:  Indicates that access to a
{     cycle object is blocked by a missing volume or a failed volume,
{     respectively.  Refer to the discussion below about the
{     VOLUME_CONDITION_LIST.

{ The VOLUME_CONDITION_LIST and the related OBJECT_CONDITION field are
{ initialized as follows:

{   - If any of the volumes are not in the active configuration (i.e.  were
{     not activated at the last deadstart or ACTIVATE_SET), the
{     OBJECT_CONDITION field is set to FSC$MEDIA_MISSING for a cycle object
{     and FSC$CATALOG_MEDIA_MISSING for a catalog object.

{   - If none of the volumes are inactive but at least one active volume has
{     failed or is not accessible, the OBJECT_CONDITION field is set to
{     FSC$VOLUME_UNAVAILABLE for a cycle object and
{     FSC$CATALOG_VOUME_UNAVAILABLE for a catalog object.

{   - Each volume in the VOLUME_LIST below has a corresponding entry in the
{     VOLUME_CONDITION_LIST array.  An array entry is set to one of three
{     possible conditions:

{         fsc$null_file_access_condition - The volume is online and active.

{         fsc$media_missing - The volume is not in the active configuration.

{         fsc$volume_unavailable - The volume is inaccessible due to hardware
{         failure.


  TYPE
    fst$mass_storage_device_info = record
      bytes_allocated: amt$file_byte_address,
      object_condition: fst$file_access_condition,
      shared_queue: ost$name,
      case resides_online: boolean of
      = FALSE =
        ,
      = TRUE =
        allocation_unit_size: amt$file_byte_address,
        initial_volume: rmt$recorded_vsn,
        mass_storage_class: rmt$mass_storage_class,
        transfer_size: fst$transfer_size,
        volume_condition_list: ^fst$volume_condition_list,
        volume_list: ^rmt$volume_list,
        volume_overflow_allowed: boolean,
      casend,
    recend;

*copyc amt$file_byte_address
*copyc fst$volume_condition_list
*copyc fst$transfer_size
*copyc ost$name
*copyc rmt$mass_storage_class
*copyc rmt$recorded_vsn
*copyc rmt$volume_list
