diff options
-rw-r--r-- | sys/arch/alpha/include/disklabel.h | 160 | ||||
-rw-r--r-- | sys/arch/hppa/include/disklabel.h | 160 | ||||
-rw-r--r-- | sys/arch/hppa64/include/disklabel.h | 160 | ||||
-rw-r--r-- | sys/arch/mips64/include/disklabel.h | 160 |
4 files changed, 4 insertions, 636 deletions
diff --git a/sys/arch/alpha/include/disklabel.h b/sys/arch/alpha/include/disklabel.h index f05e3477dc4..6caf0f66ce0 100644 --- a/sys/arch/alpha/include/disklabel.h +++ b/sys/arch/alpha/include/disklabel.h @@ -1,4 +1,4 @@ -/* $OpenBSD: disklabel.h,v 1.13 2006/06/11 21:15:35 krw Exp $ */ +/* $OpenBSD: disklabel.h,v 1.14 2006/06/19 01:52:19 krw Exp $ */ /* $NetBSD: disklabel.h,v 1.1 1995/02/13 23:07:34 cgd Exp $ */ /* @@ -95,164 +95,6 @@ struct dos_partition { #define DPSECT(s) ((s) & 0x3f) #define DPCYL(c, s) ((c) + (((s) & 0xc0) << 2)) -/* - * describes ados Rigid Disk Blocks - * which are used to partition a drive - */ -#define RDBNULL ((u_int32_t)0xffffffff) - -/* - * you will find rdblock somewhere in [0, RDBMAXBLOCKS) - */ -#define RDB_MAXBLOCKS 16 - -struct rdblock { - u_int32_t id; /* 'RDSK' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t nbytes; /* size of disk blocks */ - u_int32_t flags; - u_int32_t badbhead; /* linked list of badblocks */ - u_int32_t partbhead; /* linked list of partblocks */ - u_int32_t fsbhead; /* " " of fsblocks */ - u_int32_t driveinit; - u_int32_t resv1[6]; /* RDBNULL */ - u_int32_t ncylinders; /* number of cylinders on drive */ - u_int32_t nsectors; /* number of sectors per track */ - u_int32_t nheads; /* number of tracks per cylinder */ - u_int32_t interleave; - u_int32_t park; /* only used with st506 i.e. not */ - u_int32_t resv2[3]; - u_int32_t wprecomp; /* start cyl for write precomp */ - u_int32_t reducedwrite; /* start cyl for reduced write current */ - u_int32_t steprate; /* driver step rate in ?s */ - u_int32_t resv3[5]; - u_int32_t rdblowb; /* lowblock of range for rdb's */ - u_int32_t rdbhighb; /* high block of range for rdb's */ - u_int32_t lowcyl; /* low cylinder of partition area */ - u_int32_t highcyl; /* upper cylinder of partition area */ - u_int32_t secpercyl; /* number of sectors per cylinder */ - u_int32_t parkseconds; /* zero if no park needed */ - u_int32_t resv4[2]; - char diskvendor[8]; /* inquiry stuff */ - char diskproduct[16]; /* inquiry stuff */ - char diskrevision[4]; /* inquiry stuff */ - char contvendor[8]; /* inquiry stuff */ - char contproduct[16]; /* inquiry stuff */ - char contrevision[4]; /* inquiry stuff */ -#if never_use_secsize - u_int32_t resv5[0]; -#endif -}; - - -#define RDBF_LAST 0x1 /* last drive available */ -#define RDBF_LASTLUN 0x2 /* last LUN available */ -#define RDBF_LASTUNIT 0x4 /* last target available */ -#define RDBF_NORESELECT 0x8 /* do not use reselect */ -#define RDBF_DISKID 0x10 /* disk id is valid ?? */ -#define RDBF_CTRLID 0x20 /* ctrl id is valid ?? */ -#define RDBF_SYNC 0x40 /* drive supports SCSI synchronous mode */ - -struct ados_environ { - u_int32_t tabsize; /* 0: environ table size */ - u_int32_t sizeblock; /* 1: n long words in a block */ - u_int32_t secorg; /* 2: not used must be zero */ - u_int32_t numheads; /* 3: number of surfaces */ - u_int32_t secperblk; /* 4: must be 1 */ - u_int32_t secpertrk; /* 5: blocks per track */ - u_int32_t resvblocks; /* 6: reserved blocks at start */ - u_int32_t prefac; /* 7: must be 0 */ - u_int32_t interleave; /* 8: normally 1 */ - u_int32_t lowcyl; /* 9: low cylinder of partition */ - u_int32_t highcyl; /* 10: upper cylinder of partition */ - u_int32_t numbufs; /* 11: ados: number of buffers */ - u_int32_t membuftype; /* 12: ados: type of bufmem */ - u_int32_t maxtrans; /* 13: maxtrans the ctrlr supports */ - u_int32_t mask; /* 14: mask for valid address */ - u_int32_t bootpri; /* 15: boot priority for autoboot */ - u_int32_t dostype; /* 16: filesystem type */ - u_int32_t baud; /* 17: serial handler baud rate */ - u_int32_t control; /* 18: control word for fs */ - u_int32_t bootblocks; /* 19: blocks containing boot code */ - u_int32_t fsize; /* 20: file system block size */ - u_int32_t frag; /* 21: allowable frags per block */ - u_int32_t cpg; /* 22: cylinders per group */ -}; - -struct partblock { - u_int32_t id; /* 'PART' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t flags; /* see below */ - u_int32_t resv1[3]; - u_char partname[32]; /* (BCPL) part name (may not be unique) */ - u_int32_t resv2[15]; - struct ados_environ e; -#if never_use_secsize - u_int32_t extra[9]; /* 8 for extra added to environ */ -#endif -}; - -#define PBF_BOOTABLE 0x1 /* partition is bootable */ -#define PBF_NOMOUNT 0x2 /* partition should be mounted */ - -struct badblock { - u_int32_t id; /* 'BADB' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t resv; - struct badblockent { - u_int32_t badblock; - u_int32_t goodblock; - } badtab[0]; /* 61 for secsize == 512 */ -}; - -struct fsblock { - u_int32_t id; /* 'FSHD' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t flags; - u_int32_t resv1[2]; - u_int32_t dostype; /* this is a file system for this type */ - u_int32_t version; /* version of this fs */ - u_int32_t patchflags; /* describes which functions to replace */ - u_int32_t type; /* zero */ - u_int32_t task; /* zero */ - u_int32_t lock; /* zero */ - u_int32_t handler; /* zero */ - u_int32_t stacksize; /* to use when loading handler */ - u_int32_t priority; /* to run the fs at. */ - u_int32_t startup; /* zero */ - u_int32_t lsegblocks; /* linked list of lsegblocks of fs code */ - u_int32_t globalvec; /* bcpl vector not used mostly */ -#if never_use_secsize - u_int32_t resv2[44]; -#endif -}; - -struct lsegblock { - u_int32_t id; /* 'LSEG' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t loaddata[0]; /* load segment data, 123 for secsize == 512 */ -}; - -#define RDBLOCK_ID 0x5244534b /* 'RDSK' */ -#define PARTBLOCK_ID 0x50415254 /* 'PART' */ -#define BADBLOCK_ID 0x42414442 /* 'BADB' */ -#define FSBLOCK_ID 0x46534844 /* 'FSHD' */ -#define LSEGBLOCK_ID 0x4c534547 /* 'LSEG' */ - #include <sys/dkbad.h> struct cpu_disklabel { enum disklabel_tag labeltag; diff --git a/sys/arch/hppa/include/disklabel.h b/sys/arch/hppa/include/disklabel.h index d9cdb94b2f8..af3a0663746 100644 --- a/sys/arch/hppa/include/disklabel.h +++ b/sys/arch/hppa/include/disklabel.h @@ -1,4 +1,4 @@ -/* $OpenBSD: disklabel.h,v 1.8 2006/06/11 21:15:35 krw Exp $ */ +/* $OpenBSD: disklabel.h,v 1.9 2006/06/19 01:52:19 krw Exp $ */ /* $NetBSD: disklabel.h,v 1.1 1995/02/13 23:07:34 cgd Exp $ */ /* @@ -97,164 +97,6 @@ struct dos_partition { #define DPCYL(c, s) ((c) + (((s) & 0xc0) << 2)) /* - * describes ados Rigid Disk Blocks - * which are used to partition a drive - */ -#define RDBNULL ((u_int32_t)0xffffffff) - -/* - * you will find rdblock somewhere in [0, RDBMAXBLOCKS) - */ -#define RDB_MAXBLOCKS 16 - -struct rdblock { - u_int32_t id; /* 'RDSK' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t nbytes; /* size of disk blocks */ - u_int32_t flags; - u_int32_t badbhead; /* linked list of badblocks */ - u_int32_t partbhead; /* linked list of partblocks */ - u_int32_t fsbhead; /* " " of fsblocks */ - u_int32_t driveinit; - u_int32_t resv1[6]; /* RDBNULL */ - u_int32_t ncylinders; /* number of cylinders on drive */ - u_int32_t nsectors; /* number of sectors per track */ - u_int32_t nheads; /* number of tracks per cylinder */ - u_int32_t interleave; - u_int32_t park; /* only used with st506 i.e. not */ - u_int32_t resv2[3]; - u_int32_t wprecomp; /* start cyl for write precomp */ - u_int32_t reducedwrite; /* start cyl for reduced write current */ - u_int32_t steprate; /* driver step rate in ?s */ - u_int32_t resv3[5]; - u_int32_t rdblowb; /* lowblock of range for rdb's */ - u_int32_t rdbhighb; /* high block of range for rdb's */ - u_int32_t lowcyl; /* low cylinder of partition area */ - u_int32_t highcyl; /* upper cylinder of partition area */ - u_int32_t secpercyl; /* number of sectors per cylinder */ - u_int32_t parkseconds; /* zero if no park needed */ - u_int32_t resv4[2]; - char diskvendor[8]; /* inquiry stuff */ - char diskproduct[16]; /* inquiry stuff */ - char diskrevision[4]; /* inquiry stuff */ - char contvendor[8]; /* inquiry stuff */ - char contproduct[16]; /* inquiry stuff */ - char contrevision[4]; /* inquiry stuff */ -#if never_use_secsize - u_int32_t resv5[0]; -#endif -}; - - -#define RDBF_LAST 0x1 /* last drive available */ -#define RDBF_LASTLUN 0x2 /* last LUN available */ -#define RDBF_LASTUNIT 0x4 /* last target available */ -#define RDBF_NORESELECT 0x8 /* do not use reselect */ -#define RDBF_DISKID 0x10 /* disk id is valid ?? */ -#define RDBF_CTRLID 0x20 /* ctrl id is valid ?? */ -#define RDBF_SYNC 0x40 /* drive supports SCSI synchronous mode */ - -struct ados_environ { - u_int32_t tabsize; /* 0: environ table size */ - u_int32_t sizeblock; /* 1: n long words in a block */ - u_int32_t secorg; /* 2: not used must be zero */ - u_int32_t numheads; /* 3: number of surfaces */ - u_int32_t secperblk; /* 4: must be 1 */ - u_int32_t secpertrk; /* 5: blocks per track */ - u_int32_t resvblocks; /* 6: reserved blocks at start */ - u_int32_t prefac; /* 7: must be 0 */ - u_int32_t interleave; /* 8: normally 1 */ - u_int32_t lowcyl; /* 9: low cylinder of partition */ - u_int32_t highcyl; /* 10: upper cylinder of partition */ - u_int32_t numbufs; /* 11: ados: number of buffers */ - u_int32_t membuftype; /* 12: ados: type of bufmem */ - u_int32_t maxtrans; /* 13: maxtrans the ctrlr supports */ - u_int32_t mask; /* 14: mask for valid address */ - u_int32_t bootpri; /* 15: boot priority for autoboot */ - u_int32_t dostype; /* 16: filesystem type */ - u_int32_t baud; /* 17: serial handler baud rate */ - u_int32_t control; /* 18: control word for fs */ - u_int32_t bootblocks; /* 19: blocks containing boot code */ - u_int32_t fsize; /* 20: file system block size */ - u_int32_t frag; /* 21: allowable frags per block */ - u_int32_t cpg; /* 22: cylinders per group */ -}; - -struct partblock { - u_int32_t id; /* 'PART' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t flags; /* see below */ - u_int32_t resv1[3]; - u_char partname[32]; /* (BCPL) part name (may not be unique) */ - u_int32_t resv2[15]; - struct ados_environ e; -#if never_use_secsize - u_int32_t extra[9]; /* 8 for extra added to environ */ -#endif -}; - -#define PBF_BOOTABLE 0x1 /* partition is bootable */ -#define PBF_NOMOUNT 0x2 /* partition should be mounted */ - -struct badblock { - u_int32_t id; /* 'BADB' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t resv; - struct badblockent { - u_int32_t badblock; - u_int32_t goodblock; - } badtab[0]; /* 61 for secsize == 512 */ -}; - -struct fsblock { - u_int32_t id; /* 'FSHD' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t flags; - u_int32_t resv1[2]; - u_int32_t dostype; /* this is a file system for this type */ - u_int32_t version; /* version of this fs */ - u_int32_t patchflags; /* describes which functions to replace */ - u_int32_t type; /* zero */ - u_int32_t task; /* zero */ - u_int32_t lock; /* zero */ - u_int32_t handler; /* zero */ - u_int32_t stacksize; /* to use when loading handler */ - u_int32_t priority; /* to run the fs at. */ - u_int32_t startup; /* zero */ - u_int32_t lsegblocks; /* linked list of lsegblocks of fs code */ - u_int32_t globalvec; /* bcpl vector not used mostly */ -#if never_use_secsize - u_int32_t resv2[44]; -#endif -}; - -struct lsegblock { - u_int32_t id; /* 'LSEG' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t loaddata[0]; /* load segment data, 123 for secsize == 512 */ -}; - -#define RDBLOCK_ID 0x5244534b /* 'RDSK' */ -#define PARTBLOCK_ID 0x50415254 /* 'PART' */ -#define BADBLOCK_ID 0x42414442 /* 'BADB' */ -#define FSBLOCK_ID 0x46534844 /* 'FSHD' */ -#define LSEGBLOCK_ID 0x4c534547 /* 'LSEG' */ - -/* * volume header for "LIF" format volumes */ struct lifvol { diff --git a/sys/arch/hppa64/include/disklabel.h b/sys/arch/hppa64/include/disklabel.h index b8d86419f00..06cbb1594f2 100644 --- a/sys/arch/hppa64/include/disklabel.h +++ b/sys/arch/hppa64/include/disklabel.h @@ -1,4 +1,4 @@ -/* $OpenBSD: disklabel.h,v 1.2 2006/06/11 21:15:35 krw Exp $ */ +/* $OpenBSD: disklabel.h,v 1.3 2006/06/19 01:52:19 krw Exp $ */ /* $NetBSD: disklabel.h,v 1.1 1995/02/13 23:07:34 cgd Exp $ */ /* @@ -97,164 +97,6 @@ struct dos_partition { #define DPCYL(c, s) ((c) + (((s) & 0xc0) << 2)) /* - * describes ados Rigid Disk Blocks - * which are used to partition a drive - */ -#define RDBNULL ((u_int32_t)0xffffffff) - -/* - * you will find rdblock somewhere in [0, RDBMAXBLOCKS) - */ -#define RDB_MAXBLOCKS 16 - -struct rdblock { - u_int32_t id; /* 'RDSK' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t nbytes; /* size of disk blocks */ - u_int32_t flags; - u_int32_t badbhead; /* linked list of badblocks */ - u_int32_t partbhead; /* linked list of partblocks */ - u_int32_t fsbhead; /* " " of fsblocks */ - u_int32_t driveinit; - u_int32_t resv1[6]; /* RDBNULL */ - u_int32_t ncylinders; /* number of cylinders on drive */ - u_int32_t nsectors; /* number of sectors per track */ - u_int32_t nheads; /* number of tracks per cylinder */ - u_int32_t interleave; - u_int32_t park; /* only used with st506 i.e. not */ - u_int32_t resv2[3]; - u_int32_t wprecomp; /* start cyl for write precomp */ - u_int32_t reducedwrite; /* start cyl for reduced write current */ - u_int32_t steprate; /* driver step rate in ?s */ - u_int32_t resv3[5]; - u_int32_t rdblowb; /* lowblock of range for rdb's */ - u_int32_t rdbhighb; /* high block of range for rdb's */ - u_int32_t lowcyl; /* low cylinder of partition area */ - u_int32_t highcyl; /* upper cylinder of partition area */ - u_int32_t secpercyl; /* number of sectors per cylinder */ - u_int32_t parkseconds; /* zero if no park needed */ - u_int32_t resv4[2]; - char diskvendor[8]; /* inquiry stuff */ - char diskproduct[16]; /* inquiry stuff */ - char diskrevision[4]; /* inquiry stuff */ - char contvendor[8]; /* inquiry stuff */ - char contproduct[16]; /* inquiry stuff */ - char contrevision[4]; /* inquiry stuff */ -#if never_use_secsize - u_int32_t resv5[0]; -#endif -}; - - -#define RDBF_LAST 0x1 /* last drive available */ -#define RDBF_LASTLUN 0x2 /* last LUN available */ -#define RDBF_LASTUNIT 0x4 /* last target available */ -#define RDBF_NORESELECT 0x8 /* do not use reselect */ -#define RDBF_DISKID 0x10 /* disk id is valid ?? */ -#define RDBF_CTRLID 0x20 /* ctrl id is valid ?? */ -#define RDBF_SYNC 0x40 /* drive supports SCSI synchronous mode */ - -struct ados_environ { - u_int32_t tabsize; /* 0: environ table size */ - u_int32_t sizeblock; /* 1: n long words in a block */ - u_int32_t secorg; /* 2: not used must be zero */ - u_int32_t numheads; /* 3: number of surfaces */ - u_int32_t secperblk; /* 4: must be 1 */ - u_int32_t secpertrk; /* 5: blocks per track */ - u_int32_t resvblocks; /* 6: reserved blocks at start */ - u_int32_t prefac; /* 7: must be 0 */ - u_int32_t interleave; /* 8: normally 1 */ - u_int32_t lowcyl; /* 9: low cylinder of partition */ - u_int32_t highcyl; /* 10: upper cylinder of partition */ - u_int32_t numbufs; /* 11: ados: number of buffers */ - u_int32_t membuftype; /* 12: ados: type of bufmem */ - u_int32_t maxtrans; /* 13: maxtrans the ctrlr supports */ - u_int32_t mask; /* 14: mask for valid address */ - u_int32_t bootpri; /* 15: boot priority for autoboot */ - u_int32_t dostype; /* 16: filesystem type */ - u_int32_t baud; /* 17: serial handler baud rate */ - u_int32_t control; /* 18: control word for fs */ - u_int32_t bootblocks; /* 19: blocks containing boot code */ - u_int32_t fsize; /* 20: file system block size */ - u_int32_t frag; /* 21: allowable frags per block */ - u_int32_t cpg; /* 22: cylinders per group */ -}; - -struct partblock { - u_int32_t id; /* 'PART' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t flags; /* see below */ - u_int32_t resv1[3]; - u_char partname[32]; /* (BCPL) part name (may not be unique) */ - u_int32_t resv2[15]; - struct ados_environ e; -#if never_use_secsize - u_int32_t extra[9]; /* 8 for extra added to environ */ -#endif -}; - -#define PBF_BOOTABLE 0x1 /* partition is bootable */ -#define PBF_NOMOUNT 0x2 /* partition should be mounted */ - -struct badblock { - u_int32_t id; /* 'BADB' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t resv; - struct badblockent { - u_int32_t badblock; - u_int32_t goodblock; - } badtab[0]; /* 61 for secsize == 512 */ -}; - -struct fsblock { - u_int32_t id; /* 'FSHD' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t flags; - u_int32_t resv1[2]; - u_int32_t dostype; /* this is a file system for this type */ - u_int32_t version; /* version of this fs */ - u_int32_t patchflags; /* describes which functions to replace */ - u_int32_t type; /* zero */ - u_int32_t task; /* zero */ - u_int32_t lock; /* zero */ - u_int32_t handler; /* zero */ - u_int32_t stacksize; /* to use when loading handler */ - u_int32_t priority; /* to run the fs at. */ - u_int32_t startup; /* zero */ - u_int32_t lsegblocks; /* linked list of lsegblocks of fs code */ - u_int32_t globalvec; /* bcpl vector not used mostly */ -#if never_use_secsize - u_int32_t resv2[44]; -#endif -}; - -struct lsegblock { - u_int32_t id; /* 'LSEG' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t loaddata[0]; /* load segment data, 123 for secsize == 512 */ -}; - -#define RDBLOCK_ID 0x5244534b /* 'RDSK' */ -#define PARTBLOCK_ID 0x50415254 /* 'PART' */ -#define BADBLOCK_ID 0x42414442 /* 'BADB' */ -#define FSBLOCK_ID 0x46534844 /* 'FSHD' */ -#define LSEGBLOCK_ID 0x4c534547 /* 'LSEG' */ - -/* * volume header for "LIF" format volumes */ struct lifvol { diff --git a/sys/arch/mips64/include/disklabel.h b/sys/arch/mips64/include/disklabel.h index 90c300d9ac6..57e190e0b27 100644 --- a/sys/arch/mips64/include/disklabel.h +++ b/sys/arch/mips64/include/disklabel.h @@ -1,4 +1,4 @@ -/* $OpenBSD: disklabel.h,v 1.4 2006/06/11 21:15:35 krw Exp $ */ +/* $OpenBSD: disklabel.h,v 1.5 2006/06/19 01:52:19 krw Exp $ */ /* $NetBSD: disklabel.h,v 1.1 1995/02/13 23:07:34 cgd Exp $ */ /* @@ -99,164 +99,6 @@ struct dos_partition { #define DPCYL(c, s) ((c) + (((s) & 0xc0) << 2)) /* - * describes ados Rigid Disk Blocks - * which are used to partition a drive - */ -#define RDBNULL ((u_int32_t)0xffffffff) - -/* - * you will find rdblock somewhere in [0, RDBMAXBLOCKS) - */ -#define RDB_MAXBLOCKS 16 - -struct rdblock { - u_int32_t id; /* 'RDSK' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t nbytes; /* size of disk blocks */ - u_int32_t flags; - u_int32_t badbhead; /* linked list of badblocks */ - u_int32_t partbhead; /* linked list of partblocks */ - u_int32_t fsbhead; /* " " of fsblocks */ - u_int32_t driveinit; - u_int32_t resv1[6]; /* RDBNULL */ - u_int32_t ncylinders; /* number of cylinders on drive */ - u_int32_t nsectors; /* number of sectors per track */ - u_int32_t nheads; /* number of tracks per cylinder */ - u_int32_t interleave; - u_int32_t park; /* only used with st506 i.e. not */ - u_int32_t resv2[3]; - u_int32_t wprecomp; /* start cyl for write precomp */ - u_int32_t reducedwrite; /* start cyl for reduced write current */ - u_int32_t steprate; /* driver step rate in ?s */ - u_int32_t resv3[5]; - u_int32_t rdblowb; /* lowblock of range for rdb's */ - u_int32_t rdbhighb; /* high block of range for rdb's */ - u_int32_t lowcyl; /* low cylinder of partition area */ - u_int32_t highcyl; /* upper cylinder of partition area */ - u_int32_t secpercyl; /* number of sectors per cylinder */ - u_int32_t parkseconds; /* zero if no park needed */ - u_int32_t resv4[2]; - char diskvendor[8]; /* inquiry stuff */ - char diskproduct[16]; /* inquiry stuff */ - char diskrevision[4]; /* inquiry stuff */ - char contvendor[8]; /* inquiry stuff */ - char contproduct[16]; /* inquiry stuff */ - char contrevision[4]; /* inquiry stuff */ -#if never_use_secsize - u_int32_t resv5[0]; -#endif -}; - - -#define RDBF_LAST 0x1 /* last drive available */ -#define RDBF_LASTLUN 0x2 /* last LUN available */ -#define RDBF_LASTUNIT 0x4 /* last target available */ -#define RDBF_NORESELECT 0x8 /* do not use reselect */ -#define RDBF_DISKID 0x10 /* disk id is valid ?? */ -#define RDBF_CTRLID 0x20 /* ctrl id is valid ?? */ -#define RDBF_SYNC 0x40 /* drive supports SCSI synchronous mode */ - -struct ados_environ { - u_int32_t tabsize; /* 0: environ table size */ - u_int32_t sizeblock; /* 1: n long words in a block */ - u_int32_t secorg; /* 2: not used must be zero */ - u_int32_t numheads; /* 3: number of surfaces */ - u_int32_t secperblk; /* 4: must be 1 */ - u_int32_t secpertrk; /* 5: blocks per track */ - u_int32_t resvblocks; /* 6: reserved blocks at start */ - u_int32_t prefac; /* 7: must be 0 */ - u_int32_t interleave; /* 8: normally 1 */ - u_int32_t lowcyl; /* 9: low cylinder of partition */ - u_int32_t highcyl; /* 10: upper cylinder of partition */ - u_int32_t numbufs; /* 11: ados: number of buffers */ - u_int32_t membuftype; /* 12: ados: type of bufmem */ - u_int32_t maxtrans; /* 13: maxtrans the ctrlr supports */ - u_int32_t mask; /* 14: mask for valid address */ - u_int32_t bootpri; /* 15: boot priority for autoboot */ - u_int32_t dostype; /* 16: filesystem type */ - u_int32_t baud; /* 17: serial handler baud rate */ - u_int32_t control; /* 18: control word for fs */ - u_int32_t bootblocks; /* 19: blocks containing boot code */ - u_int32_t fsize; /* 20: file system block size */ - u_int32_t frag; /* 21: allowable frags per block */ - u_int32_t cpg; /* 22: cylinders per group */ -}; - -struct partblock { - u_int32_t id; /* 'PART' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t flags; /* see below */ - u_int32_t resv1[3]; - u_char partname[32]; /* (BCPL) part name (may not be unique) */ - u_int32_t resv2[15]; - struct ados_environ e; -#if never_use_secsize - u_int32_t extra[9]; /* 8 for extra added to environ */ -#endif -}; - -#define PBF_BOOTABLE 0x1 /* partition is bootable */ -#define PBF_NOMOUNT 0x2 /* partition should be mounted */ - -struct badblock { - u_int32_t id; /* 'BADB' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t resv; - struct badblockent { - u_int32_t badblock; - u_int32_t goodblock; - } badtab[0]; /* 61 for secsize == 512 */ -}; - -struct fsblock { - u_int32_t id; /* 'FSHD' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t flags; - u_int32_t resv1[2]; - u_int32_t dostype; /* this is a file system for this type */ - u_int32_t version; /* version of this fs */ - u_int32_t patchflags; /* describes which functions to replace */ - u_int32_t type; /* zero */ - u_int32_t task; /* zero */ - u_int32_t lock; /* zero */ - u_int32_t handler; /* zero */ - u_int32_t stacksize; /* to use when loading handler */ - u_int32_t priority; /* to run the fs at. */ - u_int32_t startup; /* zero */ - u_int32_t lsegblocks; /* linked list of lsegblocks of fs code */ - u_int32_t globalvec; /* bcpl vector not used mostly */ -#if never_use_secsize - u_int32_t resv2[44]; -#endif -}; - -struct lsegblock { - u_int32_t id; /* 'LSEG' */ - u_int32_t nsumlong; /* number of longs in check sum */ - u_int32_t chksum; /* simple additive with wrap checksum */ - u_int32_t hostid; /* scsi target of host */ - u_int32_t next; /* next in chain */ - u_int32_t loaddata[0]; /* load segment data, 123 for secsize == 512 */ -}; - -#define RDBLOCK_ID 0x5244534b /* 'RDSK' */ -#define PARTBLOCK_ID 0x50415254 /* 'PART' */ -#define BADBLOCK_ID 0x42414442 /* 'BADB' */ -#define FSBLOCK_ID 0x46534844 /* 'FSHD' */ -#define LSEGBLOCK_ID 0x4c534547 /* 'LSEG' */ - -/* * volume header for "LIF" format volumes */ struct lifvol { |