aboutsummaryrefslogtreecommitdiff
path: root/toys/pending/blockdev.c
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2014-08-23 23:08:59 -0500
committerRob Landley <rob@landley.net>2014-08-23 23:08:59 -0500
commit8f5ad7ef175851a18b35a10707742ff3b3382c7d (patch)
tree0178d2a5dfa2db9788557a19f1e11df8446ae25c /toys/pending/blockdev.c
parent62d796a75dd2e0f0c63615e937cfd3d7ccb0a27d (diff)
downloadtoybox-8f5ad7ef175851a18b35a10707742ff3b3382c7d.tar.gz
Promote blockdev to other.
Diffstat (limited to 'toys/pending/blockdev.c')
-rw-r--r--toys/pending/blockdev.c70
1 files changed, 0 insertions, 70 deletions
diff --git a/toys/pending/blockdev.c b/toys/pending/blockdev.c
deleted file mode 100644
index 58318f55..00000000
--- a/toys/pending/blockdev.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* blockdev.c -show/set blockdev information.
- *
- * Copyright 2014 Sameer Prakash Pradhan <sameer.p.pradhan@gmail.com>
- *
- * No Standard.
-
-USE_BLOCKDEV(NEWTOY(blockdev, "<1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(flushbufs)(rereadpt)",TOYFLAG_USR|TOYFLAG_BIN))
-
-config BLOCKDEV
- bool "blockdev"
- default n
- help
- usage: blockdev --OPTION... BLOCKDEV...
-
- Call ioctl(s) on each listed block device
-
- OPTIONs:
- --setro Set read only
- --setrw Set read write
- --getro Get read only
- --getss Get sector size
- --getbsz Get block size
- --setbsz BYTES Set block size
- --getsz Get device size in 512-byte sectors
- --getsize Get device size in sectors (deprecated)
- --getsize64 Get device size in bytes
- --flushbufs Flush buffers
- --rereadpt Reread partition table
-*/
-
-#define FOR_blockdev
-#include "toys.h"
-#include <linux/fs.h>
-
-GLOBALS(
- long bsz;
-)
-
-void blockdev_main(void)
-{
- int cmds[] = {BLKRRPART, BLKFLSBUF, BLKGETSIZE64, BLKGETSIZE, BLKGETSIZE64,
- BLKBSZSET, BLKBSZGET, BLKSSZGET, BLKROGET, BLKROSET, BLKROSET};
- char **ss;
- long long val = 0;
-
- if (!toys.optflags) {
- toys.exithelp = 1;
- error_exit("need --option");
- }
-
- for (ss = toys.optargs; *ss; ss++) {
- int fd = xopen(*ss, O_RDONLY), i;
-
- // Command line order discarded so perform multiple operations in flag order
- for (i = 0; i < 32; i++) {
- long flag = toys.optflags & (1<<i);
-
- if (!flag) continue;
-
- if (flag & FLAG_setbsz) val = TT.bsz;
- else val = !!(flag & FLAG_setro);
-
- xioctl(fd, cmds[i], &val);
-
- flag &= FLAG_setbsz|FLAG_setro|FLAG_flushbufs|FLAG_rereadpt|FLAG_setrw;
- if (!flag) printf("%lld\n", (toys.optflags & FLAG_getsz) ? val >> 9: val);
- }
- xclose(fd);
- }
-}