diff -urN fdisk.orig/fdisk.c fdisk/fdisk.c --- fdisk.orig/fdisk.c Sat Nov 13 12:15:06 1999 +++ fdisk/fdisk.c Wed Mar 22 14:46:17 2000 @@ -621,8 +621,11 @@ int get_boot(enum action what) { int i, sec_fac; +#ifdef HDIO_GETGEO_BIG + struct hd_big_geometry geometry; +#else struct hd_geometry geometry; - +#endif partitions = 4; sec_fac = sector_size / 512; @@ -655,7 +658,11 @@ #ifdef HDIO_REQ if (!ioctl(fd, HDIO_REQ, &geometry)) { #else +#ifdef HDIO_GETGEO_BIG + if (!ioctl(fd, HDIO_GETGEO_BIG, &geometry)) { +#else if (!ioctl(fd, HDIO_GETGEO, &geometry)) { +#endif #endif heads = geometry.heads; sectors = geometry.sectors; diff -urN fdisk.orig/sfdisk.c fdisk/sfdisk.c --- fdisk.orig/sfdisk.c Fri Sep 24 12:52:54 1999 +++ fdisk/sfdisk.c Wed Mar 22 14:40:38 2000 @@ -370,6 +370,14 @@ * unsigned short cylinders; * unsigned long start; * }; + * + * defines HDIO_GETGEO_BIG and + * struct hd_big_geometry { + * unsigned char heads; + * unsigned char sectors; + * unsigned int cylinders; + * unsigned long start; + * }; */ /*