Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

Previous Book Contents Book Index Next

Inside Macintosh: Devices /
Chapter 3 - SCSI Manager / SCSI Manager Reference
Data Structures


Partition Map Entry Record

The partition map entry record contains information about how data is stored on a block device, usually a SCSI disk drive. The partition map entry record is defined by the Partition data type.

TYPE Partition = 
RECORD
   pmSig:         Integer;       {partition signature}
   pmSigPad:      Integer;       {reserved}
   pmMapBlkCnt:   LongInt;       {number of blocks in partition map}
   pmPyPartStart: LongInt;       {first physical block of partition}
   pmPartBlkCnt:  LongInt;       {number of blocks in partition}
   pmPartName:    PACKED ARRAY [0..31] OF Char; {partition name}
   pmParType:     PACKED ARRAY [0..31] OF Char; {partition type}
   pmLgDataStart: LongInt;       {first logical block of data area}
   pmDataCnt:     LongInt;       {number of blocks in data area}
   pmPartStatus:  LongInt;       {partition status information}
   pmLgBootStart: LongInt;       {first logical block of boot code}
   pmBootSize:    LongInt;       {size of boot code, in bytes}
   pmBootAddr:    LongInt;       {boot code load address}
   pmBootAddr2:   LongInt;       {reserved}
   pmBootEntry:   LongInt;       {boot code entry point}
   pmBootEntry2:  LongInt;       {reserved}
   pmBootCksum:   LongInt;       {boot code checksum}
   pmProcessor:   PACKED ARRAY [0..15] OF Char; {processor type}
   pmPad:         ARRAY [0..187] OF Integer;    {reserved}
END;
Field Description
pmSig
The partition signature. This field should contain the value of the pMapSIG constant ($504D). An earlier but still supported version uses the value $5453.
pmSigPad
Reserved.
pmMapBlkCnt
The size of the partition map, in blocks.
pmPyPartStart
The physical block number of the first block of the partition.
pmPartBlkCnt
The size of the partition, in blocks.
pmPartName
An optional partition name, up to 32 bytes in length. If the string is less than 32 bytes, it must be terminated with the ASCII NUL character (a byte with a value of 0). If the partition name begins with Maci (for Macintosh), the Start Manager will perform checksum verification of the device driver's boot code. Otherwise, this field is ignored.
pmParType
A string that identifies the partition type. Names that begin with Apple_ are reserved for use by Apple Computer, Inc. Names shorter than 32 characters must be terminated with the NUL character. The following standard partition types are defined for the pmParType field:
 StringMeaning
 Apple_partition_mapPartition contains a partition map
 Apple_DriverPartition contains a device driver
 Apple_Driver43Partition contains a SCSI Manager 4.3 device driver
 Apple_MFSPartition uses the original Macintosh File System (64K ROM version)
 Apple_HFSPartition uses the Hierarchical File System implemented in 128K and later ROM versions
 Apple_Unix_SVR2Partition uses the Unix file system
 Apple_PRODOSPartition uses the ProDOS file system
 Apple_FreePartition is unused
 Apple_ScratchPartition is empty

pmLgDataStart
The logical block number of the first block containing file system data. This is for use by operating systems, such as A/UX, in which the file system does not begin at logical block 0 of the partition.
pmDataCnt
The size of the file system data area, in blocks. This is used in conjunction with the pmLgDataStart field, for those operating systems in which the file system does not begin at logical block 0 of the partition.
pmPartStatus
Two words of status information about the partition. The low-order byte of the low-order word contains status information used only by the A/UX operating system:
 BitMeaning
 0Set if a valid partition map entry
 1Set if partition is already allocated; clear if available
 2Set if partition is in use; may be cleared after a system reset
 3Set if partition contains valid boot information
 4Set if partition allows reading
 XSet if partition allows writing
 6Set if boot code is position-independent
 7Unused

The remaining bytes of the pmPartStatus field are reserved.
pmLgBootStart
The logical block number of the first block containing boot code.
pmBootSize
The size of the boot code, in bytes.
pmBootAddr
The memory address where the boot code is to be loaded.
pmBootAddr2
Reserved.
pmBootEntry
The memory address to which the Start Manager will transfer control after loading the boot code into memory.
pmBootEntry2
Reserved.
pmBootCksum
The boot code checksum. The Start Manager can compare this value against the calculated checksum after loading the code.
pmProcessor
An optional string that identifies the type of processor that will execute the boot code. Strings shorter than 16 bytes must be terminated with the ASCII NUL character. The following processor types are defined: 68000, 68020, 68030, and 68040.
pmPad
Reserved.
See "The Structure of Block Devices," beginning on page 3-12, for more information about this data structure.


Previous Book Contents Book Index Next

© Apple Computer, Inc.
3 JUL 1996