diff options
author | Eric Andersen | 2004-02-06 05:26:58 +0000 |
---|---|---|
committer | Eric Andersen | 2004-02-06 05:26:58 +0000 |
commit | 7495b0d4b1959b1391c460f24c285b46417730ea (patch) | |
tree | 5a3aa06b7a2a42a24073643c9aa148e5f7a66922 /util-linux/fdisk.c | |
parent | 68474f3b36902ecd903a2d26c06a3d18f3f4bdc5 (diff) | |
download | busybox-7495b0d4b1959b1391c460f24c285b46417730ea.zip busybox-7495b0d4b1959b1391c460f24c285b46417730ea.tar.gz |
Eliminate use of a kernel scsi header file.
Prevent potentially misaligned accesses while indexing a pointer
to the partition table, which would be a bad thing on i.e. arm.
Diffstat (limited to 'util-linux/fdisk.c')
-rw-r--r-- | util-linux/fdisk.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/util-linux/fdisk.c b/util-linux/fdisk.c index 8913803..2374960 100644 --- a/util-linux/fdisk.c +++ b/util-linux/fdisk.c @@ -26,12 +26,7 @@ #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 */ @@ -93,6 +88,10 @@ #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, |