Make sgivol use the sgilabel struct from machine/disklabel.h, rather than
authorjsing <jsing@openbsd.org>
Fri, 8 Aug 2008 16:07:41 +0000 (16:07 +0000)
committerjsing <jsing@openbsd.org>
Fri, 8 Aug 2008 16:07:41 +0000 (16:07 +0000)
declaring another.

ok miod@

sys/arch/sgi/include/disklabel.h
sys/arch/sgi/stand/sgivol/sgivol.c

index 603263a..dfa5956 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: disklabel.h,v 1.5 2007/06/20 18:15:45 deraadt Exp $   */
+/*     $OpenBSD: disklabel.h,v 1.6 2008/08/08 16:07:41 jsing Exp $     */
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
 #define LABELOFFSET            0
 #define        MAXPARTITIONS           16              /* number of partitions */
 
-/* SGI */
+/*
+ * SGI Volume Header.
+ */
+
+#define SGILABEL_MAGIC  0xbe5a941
+#define SGI_SIZE_VOLDIR 15
+
+/* Partition types. */
+#define SGI_PTYPE_VOLHDR        0
+#define SGI_PTYPE_RAW           3
+#define SGI_PTYPE_BSD           4
+#define SGI_PTYPE_VOLUME        6
+#define SGI_PTYPE_EFS           7
+#define SGI_PTYPE_LVOL          8
+#define SGI_PTYPE_RLVOL         9
+#define SGI_PTYPE_XFS           10
+#define SGI_PTYPE_XFSLOG        11
+#define SGI_PTYPE_XLV           12
+#define SGI_PTYPE_XVM           13
+
+/* Device parameters. */
 struct devparms {
         u_int8_t        dp_skew;
         u_int8_t        dp_gap1;
@@ -64,8 +84,8 @@ struct devparms {
         u_int16_t       dp_xwcont;
 } __packed;
 
+/* SGI volume header. */
 struct sgilabel {
-#define SGILABEL_MAGIC  0xbe5a941
        u_int32_t       magic;
        int16_t         root;
        int16_t         swap;
@@ -75,7 +95,7 @@ struct sgilabel {
                char    name[8];
                int32_t block;
                int32_t bytes;
-       } voldir[15];
+       } voldir[SGI_SIZE_VOLDIR];
        struct {
                int32_t blocks;
                int32_t first;
@@ -85,16 +105,4 @@ struct sgilabel {
        int32_t         _pad;
 } __packed;
 
-#define SGI_PTYPE_VOLHDR        0
-#define SGI_PTYPE_RAW           3
-#define SGI_PTYPE_BSD           4
-#define SGI_PTYPE_VOLUME        6
-#define SGI_PTYPE_EFS           7
-#define SGI_PTYPE_LVOL          8
-#define SGI_PTYPE_RLVOL         9
-#define SGI_PTYPE_XFS           10
-#define SGI_PTYPE_XFSLOG        11
-#define SGI_PTYPE_XLV           12
-#define SGI_PTYPE_XVM           13
-
 #endif /* _MACHINE_DISKLABEL_H_ */
index 6bf32f5..746fd30 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: sgivol.c,v 1.9 2008/06/26 05:42:12 ray Exp $  */
+/*     $OpenBSD: sgivol.c,v 1.10 2008/08/08 16:07:41 jsing Exp $       */
 /*     $NetBSD: sgivol.c,v 1.8 2003/11/08 04:59:00 sekiya Exp $        */
 
 /*-
  * that "whole cylinder" multiples are not required.
  */
 
-#define SGILABEL_MAGIC 0xbe5a941
-
 #define SGI_SIZE_VOLHDR        3135    /* Can be overridden via -h parameter. */
-#define SGI_SIZE_VOLDIR        15
-
-#define SGI_PTYPE_VOLHDR       0
-#define SGI_PTYPE_RAW          3
-#define SGI_PTYPE_BSD          4
-#define SGI_PTYPE_VOLUME       6
-#define SGI_PTYPE_EFS          7
-#define SGI_PTYPE_LVOL         8
-#define SGI_PTYPE_RLVOL                9
-#define SGI_PTYPE_XFS          10
-#define SGI_PTYPE_XFSLOG       11
-#define SGI_PTYPE_XLV          12
-#define SGI_PTYPE_XVM          13
-
-struct local_devparms {
-       u_int8_t        dp_skew;
-       u_int8_t        dp_gap1;
-       u_int8_t        dp_gap2;
-       u_int8_t        dp_spares_cyl;
-       u_int16_t       dp_cyls;
-       u_int16_t       dp_shd0;
-       u_int16_t       dp_trks0;
-       u_int8_t        dp_ctq_depth;
-       u_int8_t        dp_cylshi;
-       u_int16_t       dp_unused;
-       u_int16_t       dp_secs;
-       u_int16_t       dp_secbytes;
-       u_int16_t       dp_interleave;
-       u_int32_t       dp_flags;
-       u_int32_t       dp_datarate;
-       u_int32_t       dp_nretries;
-       u_int32_t       dp_mspw;
-       u_int16_t       dp_xgap1;
-       u_int16_t       dp_xsync;
-       u_int16_t       dp_xrdly;
-       u_int16_t       dp_xgap2;
-       u_int16_t       dp_xrgate;
-       u_int16_t       dp_xwcont;
-} __packed;
-
-struct local_sgilabel {
-       u_int32_t       magic;
-       int16_t         root;
-       int16_t         swap;
-       char            bootfile[16];
-       struct local_devparms dp;
-       struct {
-               char            name[8];
-               int32_t         block;
-               int32_t         bytes;
-       } voldir[SGI_SIZE_VOLDIR];
-       struct {
-               int32_t         blocks;
-               int32_t         first;
-               int32_t         type;
-       } partitions[MAXPARTITIONS];
-       int32_t         checksum;
-       int32_t         _pad;
-} __packed;
 
 /*
  * Mode of operation can be one of:
@@ -130,7 +69,7 @@ char mode;
 int    quiet;
 int    fd;
 int    partno, partfirst, partblocks, parttype;
-struct local_sgilabel *volhdr;
+struct sgilabel *volhdr;
 int32_t        checksum;
 u_int32_t volhdr_size = SGI_SIZE_VOLHDR;
 
@@ -267,7 +206,7 @@ main(int argc, char *argv[])
                err(1, "read volhdr");
        if (ioctl(fd, DIOCGDINFO, &lbl) == -1)
                err(1, "ioctl DIOCGDINFO");
-       volhdr = (struct local_sgilabel *)buf;
+       volhdr = (struct sgilabel *)buf;
 
        if (mode == 'i') {
                init_volhdr();