[Contents] [index] [Help] [Retrace] [browse <] [Browse >]

This is the current specification for the PartitionBlock. Note that while
reading these blocks you may encounter partitions that are not to be
mounted because the pb_HostID does not match, or because the pb_DriveName
is in use and no fallback strategy exists, or because PBF._NOMOUNT is set,
or because the proper filesystem cannot be found.  Some partitions may be
mounted but not be bootable because PBF._BOOTABLE is not set.


   pb_ID                   == 'PART'
   pb_SummedLongs          == 64
   pb_ChkSum               block checksum (longword sum to zero)

   pb_HostID               SCSI Target ID of host
                           This describes the initiator ID for the owner
                           of this partition.  (see rdb_hostid discussion)

   pb_Next                 block number of the next PartitionBlock

   pb_Flags                see below for defines

       PBF._BOOTABLE       this partition is intended to be bootable
                           (e.g. expected directories and files exist)

       PBF._NOMOUNT        this partition description is to reserve
                           space on the disk without mounting it.
                           It may be manually mounted later.
   pb_Reserved1[2]         set to zeros

   pb_DevFlags             preferred flags for OpenDevice
   pb_DriveName            preferred DOS device name: BSTR form
                           This name is not to be used if it is already
                           in use.


Note that pb_Reserved2 will always be at least 4 longwords so that the RAM
image of this record may be converted to the parameter packet to the
expansion.library function makedosnode().


   pb_Reserved2[15]        filler to make 32 longwords so far


The specification of the location of the partition is one of the
components of the environment, below.  If possible, describe the partition
in a manner that tells the DOS about the physical layout of the partition:
specifically, where the cylinder boundaries are.  This allows the
filesystem's smart block allocation strategy to work.


   pb_Environment[17]      environment vector for this partition
                           containing:

       de_TableSize        size of Environment vector
       de_SizeBlock        == 128 (for 512 bytes/logical block)
       de_SecOrg           == 0
       de_Surfaces         number of heads (see layout discussion)
       de_SectorPerBlock   == 1
       de_BlocksPerTrack   blocks per track (see layout discussion)

       de_Reserved         DOS reserved blocks at start of partition.
                           Must be >= 1.  2 is recommended.

       de_PreAlloc         DOS reserved blocks at end of partition
                           Valid only for filesystem type DOS^A (the
                           fast file system).  Zero otherwise.

       de_Interleave       DOS interleave
                           Valid only for filesystem type DOS^@ (the
                           old file system).  Zero otherwise.

       de_LowCyl           starting cylinder
       de_HighCyl          max cylinder
       de_NumBuffers       initial # DOS of buffers.

       de_BufMemType       type of mem to allocate for buffers
                           The second argument to AllocMem().

       de_MaxTransfer      max number of bytes to transfer at a time.
                           Drivers should be written to handle requests
                           of any length.

       de_Mask             address mask to block out certain memory
                           Normally $00ffffff  for DMA devices.

       de_BootPri          Boot priority for autoboot
                           Suggested value: zero.  Keep less than
                           five, so it won't override a boot floppy.

       de_DosType          ASCII string showing filesystem type;
                           DOS^@ ($444F5300) is old filesystem,
                           DOS^A ($444F5301) is fast file system.
                           UNI<anything> is a Unix partition.

   pb_EReserved[15]        reserved for future environment vector