accessing DISK_SPECIFIC structure

From: Dave Simmonds <dave.simmonds_at_pawis.com>
Date: Wed, 24 May 2006 09:31:08 +0100

I am trying to access the kernel structure DISK_SPECIFIC for each disk in my
V5.1 system.

I can get the SCSI_DIDARR structures via calls to nlist for
_camdb_didarr_ptr and _camdb_did_high.
I then look for dev_type == ALL_DTYPE_DIRECT to find the hard disks.
Under V4.0X, I used cam_ptr to find a PDRV_DEVICE3 structure which contained
an element pd_spec_list, but under V5.1 pd_spec_list is actually contained
in the SCSI_DIDARR structure.
I search down this list.
Under V4.0X I looked for spec_reg_no == 1 and spec_ptr pointed at a
DISK_SPECIFIC structure.
Under V5.1 I don't get any records with spec_reg_no == 1, I get a record
with spec_reg_no == 2, which has a spec_size of 1440. I don't know what type
of structure this is, and I get stuck at this point.

Does anyone know what this record with spec_reg_no == 2 is, or have any
other ideas about finding DISK_SPECIFIC structures.
I can't find any documentation on this anywhere - I feel I've done quite
well to work out as much as I have on my own!

Thanks,
Dave Simmonds
Received on Wed May 24 2006 - 08:31:52 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:45 NZDT