move away from syscall counts towards operation counts
[trinity.git] / ioctls / loop.c
blobb6fd43ff60cdb678687c4989ab66f7d25978313e
1 #include <linux/ioctl.h>
2 #include <linux/loop.h>
4 #include "utils.h"
5 #include "ioctls.h"
7 /* Intentionally mix the loop and loop-control ioctls. */
8 static const struct ioctl loop_ioctls[] = {
9 IOCTL(LOOP_SET_FD),
10 IOCTL(LOOP_CLR_FD),
11 IOCTL(LOOP_SET_STATUS),
12 IOCTL(LOOP_GET_STATUS),
13 IOCTL(LOOP_SET_STATUS64),
14 IOCTL(LOOP_GET_STATUS64),
15 IOCTL(LOOP_CHANGE_FD),
16 IOCTL(LOOP_SET_CAPACITY),
18 #ifdef LOOP_CTL_ADD
19 IOCTL(LOOP_CTL_ADD),
20 #endif
21 #ifdef LOOP_CTL_REMOVE
22 IOCTL(LOOP_CTL_REMOVE),
23 #endif
24 #ifdef LOOP_CTL_GET_FREE
25 IOCTL(LOOP_CTL_GET_FREE),
26 #endif
29 static const char *const loop_ctrl_devs[] = {
30 "loop-control",
31 //FIXME: Need to glob /dev/loop*
34 static const struct ioctl_group loop_ctrl_grp = {
35 .devtype = DEV_MISC,
36 .devs = loop_ctrl_devs,
37 .devs_cnt = ARRAY_SIZE(loop_ctrl_devs),
38 .sanitise = pick_random_ioctl,
39 .ioctls = loop_ioctls,
40 .ioctls_cnt = ARRAY_SIZE(loop_ioctls),
43 REG_IOCTL_GROUP(loop_ctrl_grp)
45 static const char *const loop_devs[] = {
46 "loop",
49 static const struct ioctl_group loop_grp = {
50 .devtype = DEV_BLOCK,
51 .devs = loop_devs,
52 .devs_cnt = ARRAY_SIZE(loop_devs),
53 .sanitise = pick_random_ioctl,
54 .ioctls = loop_ioctls,
55 .ioctls_cnt = ARRAY_SIZE(loop_ioctls),
58 REG_IOCTL_GROUP(loop_grp)