hush: initial stab at brace expansion support
[oweals/busybox.git] / miscutils / hdparm.c
index 0d374ca4ae7ff8e550000dd00f3ea23ef0905d73..399b77a4a6db56820cc039a09794d7a65ff4cedd 100644 (file)
  *          - by Mark Lord (C) 1994-2002 -- freely distributable
  */
 #include "libbb.h"
+/* must be _after_ libbb.h: */
 #include <linux/hdreg.h>
+#include <sys/mount.h>
+#if !defined(BLKGETSIZE64)
+# define BLKGETSIZE64 _IOR(0x12,114,size_t)
+#endif
 
 /* device types */
 /* ------------ */
@@ -675,7 +680,7 @@ static void identify(uint16_t *val)
        swab(val, buf, sizeof(buf));
        val = buf;
 #endif
-       /* check if we recognise the device type */
+       /* check if we recognize the device type */
        bb_putchar('\n');
        if (!(val[GEN_CONFIG] & NOT_ATA)) {
                dev = ATA_DEV;
@@ -1180,7 +1185,7 @@ static const char BuffType[] ALIGN1 =
        "unknown""\0"     "1Sect""\0"      "DualPort""\0"  "DualPortCache"
 ;
 
-static void dump_identity(const struct hd_driveid *id)
+static NOINLINE void dump_identity(const struct hd_driveid *id)
 {
        int i;
        const unsigned short *id_regs = (const void*) id;
@@ -1401,7 +1406,7 @@ static void do_time(int cache /*,int fd*/)
        } else { /* Time device */
                printf("Timing buffered disk reads:");
        }
-       fflush(stdout);
+       fflush_all();
 
        /* Now do the timing */
        iterations = 0;
@@ -1547,8 +1552,8 @@ static void process_dev(char *devname)
        unsigned char args[4] = { WIN_SETFEATURES, 0, 0, 0 };
        const char *fmt = " %s\t= %2ld";
 
-       /*fd = xopen(devname, O_RDONLY | O_NONBLOCK);*/
-       xmove_fd(xopen(devname, O_RDONLY | O_NONBLOCK), fd);
+       /*fd = xopen_nonblocking(devname);*/
+       xmove_fd(xopen_nonblocking(devname), fd);
        printf("\n%s:\n", devname);
 
        if (getset_readahead == IS_SET) {