diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2016-11-13 19:00:27 +0300 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2016-11-20 10:41:07 +0000 |
commit | 1d82c0f8c03fe4ba7a1ec6d40519ad07cd61091b (patch) | |
tree | 590e7687ee87eb9d34bef64d95aa2e4388275e5d /block.c | |
parent | 2c9464c5a39154d7348a0b65c49229b785c5837b (diff) | |
download | strace-1d82c0f8c03fe4ba7a1ec6d40519ad07cd61091b.tar.gz |
block: add some definitions from <linux/blkpg.h>
This is done in order to fix build error on old distributions where
struct blkpg_ioctl_arg declaration is broken:
In file included from block.c:35:
/usr/include/linux/blkpg.h:36: error: expected ':', ',', ';', '}' or '__attribute__' before '*' token
block.c: In function 'print_blkpg_req':
block.c:113: error: 'struct_blkpg_ioctl_arg' has no member named 'data'
(from SLE10)
* block.c: Include <linux/ioctl.h> instead of <linux/blkpg.h>.
(BLKPG, BLKPG_DEVNAMELTH, BLKPG_VOLNAMELTH): New macros.
(struct_blkpg_ioctl_arg, struct_blkpg_partition): New definitions,
copied from blkpg_ioctl_arg and blkpg_partition structures defined
in <linux/blkpg.h>.
Diffstat (limited to 'block.c')
-rw-r--r-- | block.c | 27 |
1 files changed, 23 insertions, 4 deletions
@@ -32,9 +32,27 @@ #include DEF_MPERS_TYPE(struct_blkpg_ioctl_arg) #include DEF_MPERS_TYPE(struct_blkpg_partition) -#include <linux/blkpg.h> +#include <linux/ioctl.h> #include <linux/fs.h> +typedef struct { + int op; + int flags; + int datalen; + void *data; +} struct_blkpg_ioctl_arg; + +#define BLKPG_DEVNAMELTH 64 +#define BLKPG_VOLNAMELTH 64 +typedef struct { + long long start; /* starting offset in bytes */ + long long length; /* length in bytes */ + int pno; /* partition number */ + char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2, + to be used in kernel messages */ + char volname[BLKPG_VOLNAMELTH]; /* volume label */ +} struct_blkpg_partition; + #define BLKTRACE_BDEV_SIZE 32 typedef struct blk_user_trace_setup { char name[BLKTRACE_BDEV_SIZE]; /* output */ @@ -46,11 +64,12 @@ typedef struct blk_user_trace_setup { uint32_t pid; } struct_blk_user_trace_setup; -typedef struct blkpg_ioctl_arg struct_blkpg_ioctl_arg; -typedef struct blkpg_partition struct_blkpg_partition; - #include MPERS_DEFS +#ifndef BLKPG +# define BLKPG _IO(0x12,105) +#endif + /* * ioctl numbers <= 114 are present in Linux 2.4. The following ones have been * added since then and headers containing them may not be available on every |