Eliminate use of a kernel scsi header file.
authorEric Andersen <andersen@codepoet.org>
Fri, 6 Feb 2004 05:26:58 +0000 (05:26 -0000)
committerEric Andersen <andersen@codepoet.org>
Fri, 6 Feb 2004 05:26:58 +0000 (05:26 -0000)
Prevent potentially misaligned accesses while indexing a pointer
to the partition table, which would be a bad thing on i.e. arm.

util-linux/fdisk.c

index 8913803957eed9648f8308a74aeec550c36e4faf..2374960df6233160fc4a25aa28add555e9f2d6b0 100644 (file)
 #include <setjmp.h>
 #include <assert.h>             /* assert */
 #include <getopt.h>
-
 #include <endian.h>
-#define u_char  unsigned char
-#include <scsi/scsi.h>          /* SCSI_IOCTL_GET_IDLUN */
-#undef u_char
-
 #include <sys/ioctl.h>
 #include <sys/param.h>
 #include <sys/sysmacros.h>     /* major */
 #define cround(n)       (display_in_cyl_units ? ((n)/units_per_sector)+1 : (n))
 #define scround(x)      (((x)+units_per_sector-1)/units_per_sector)
 
+#ifdef CONFIG_FEATURE_SUN_LABEL
+#define SCSI_IOCTL_GET_IDLUN 0x5382
+#endif
+
 
 #if defined(CONFIG_LFS) || defined(FDISK_SUPPORT_LARGE_DISKS) || defined(__alpha__) || defined(__ia64__) || defined(__s390x__)
 typedef long long fdisk_loff_t;
@@ -203,7 +202,7 @@ struct partition {
        unsigned char end_cyl;          /* end cylinder */
        unsigned char start4[4];        /* starting sector counting from 0 */
        unsigned char size4[4];         /* nr of sectors in partition */
-};
+} __attribute__((__packed__));
 
 enum failure {
        ioctl_error, unable_to_open, unable_to_read, unable_to_seek,