a1200   NEWS   APPS   DOCS   ABOUT
a1200
----
a1200
----
Autodocs
 Libraries:
 hdwrench.library
  FindControllerID
  FindDefaults
  FindDiskName
  FindLastSector
  HDWCloseDevice
  HDWOpenDevice
  InMemMountfile
  InMemRDBStructs
  LowlevelFormat
  OutMemMountfile
  OutMemRDBStructs
  QueryCapacity
  QueryFindValid
  QueryInquiry
  QueryModeSense
  QueryReady
  RawRead
  RawWrite
  ReadMountfile
  ReadRDBStructs
  ReadRDBs
  VerifyDrive
  WriteBlock
  WriteMountfile
  WriteRDBStructs
  WriteRDBs
  ZZexample
  description
Include
GuruMeditation
Docs » Autodocs » hdwrench.library » description
   INTENDED USE
hdwrench.library is intended to be used as a low level tool for preparing
and installing RigidDiskBlocks, RDBs. It can also materially assist in
diagnosing many common ailments within RDB structures or determining
details about the devices attached to the SCSI controller.
USAGE
hdwrench.library builds a separate internal database for each opener. This
database can service one unit number at a time. The internal database is
partially created by the OpenLibrary call, partially created by the
HDWOpenDevice call, and mostly created by the ReadMountfile, ReadRDBs,
and ReadRDBStructs commands.
hdwrench.library performs its own OpenDevice actions that last either
until the library is closed or until an HDWCloseDevice is issued. The
HDWCloseDevice call also clears the internal database. It may be issued
even when no device is opened for this purpose.
hdwrench.library makes no big deal over whether or not the data presented
to it is appropriate in any way for the device to which it is written. It
does support the calling process's efforts to determine appropriate
parameters with its various Find and Query functions.
Typical usage would involve a call to open the library. QueryFindValid
will then determine which devices if any are present to be configured on
the device and board given. Then a series of calls to QueryInquiry could
obtain the device names for each of the discovered devices.
The user would then select a device to be partitioned from the presented
list. Upon selection the program would issue a ReadRDBs command to read
data from the device, if any, and a call to ReadCapacity to determine the
device's actual last block as a check for "reasonableness" on the RDBs
read.
If the RDBs read are deemed "good" they are presented to the user for
information or modification. If they are deemed "bad" the user should be
informed and if requested the program should write the bad mountfile
data to a file for diagnosis. If no RDBs are found a call to FindDefaults
will very agressively determine the last block on the drive and then,
according some flags, present the program with a set of suggested disk
parameters for the standard "ST-506" related heads, blocks/track, and
cylinders nonsense. At this time the drive can be partitioned as normal.
Once a set of partitioning data is determined the program can present
this data to hdwrench.library in two different formats from two different
sources. The data may be presented either as a mountfile or as actual
RDBs correctly linked as if for placing on the disk. The mountfile format
is suggested. It contains slightly more check data and is very useful to
have around if some accident requires mounting the drive's partitions
using the standard "C:Mount" command. This data can be presented to
hdwrench.library either through a file or through a block of memory with
the same contents as would appear in the file.
hdwrench.library will read the presented data and then when requested
write that data to the disk RDBs. It can also convert the RDB based data
in its internal structures into a "C:Mount" compatible mountfile or a
file containing the RDB data.
Tester.c is the program used to confirm the functionality of the library
and can be considered as crude examples of the use for each function. It
may be used and modified as long as proper attribution is made to the
copyright holder(s).
The following commands require a device already be opened before they can
proceed:
FindDefaults
FindDiskName
FindLastSector
QueryCapacity
QueryInquiry
QueryModeSense
QueryReady
RawRead
RawWrite
ReadRDBs
WriteBlock
WriteRDBs
The following commands require that no device be already opened:
FindControllerID
HDWOpenDevice
QueryFindValid
The following functions do not care:
HDWCloseDevice
InMemMountfile
InMemRDBStructs
OutMemRDBStructs
ReadMountfile
ReadRDBStructs
WriteMountfile
WriteRDBStructs

Comments

Name:
E-mail: Use this if you want a message if you get a response, will not be shown.
Comment:
Select correct short for:

Future Crew

RZR
FC
RBS
SPB

Comments:

$VER: d0.se 1.14 Copyright © 2011-2024 Tobias Geijersson support at d0 dot se