From 2cccd0ff2b26c782dbd05d589b7695cab5e17458 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 7 Dec 2006 00:26:18 +0100 Subject: Imported from util-linux-2.12d tarball. --- fdisk/disksize.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 fdisk/disksize.c (limited to 'fdisk/disksize.c') diff --git a/fdisk/disksize.c b/fdisk/disksize.c new file mode 100644 index 00000000..a0a210e9 --- /dev/null +++ b/fdisk/disksize.c @@ -0,0 +1,17 @@ +#include "common.h" + +int disksize(int fd, unsigned long long *sectors) { + int err; + long sz; + long long b; + + err = ioctl (fd, BLKGETSIZE, &sz); + if (err) + return err; + err = ioctl(fd, BLKGETSIZE64, &b); + if (err || b == 0 || b == sz) + *sectors = sz; + else + *sectors = (b >> 9); + return 0; +} -- cgit v1.2.3