Mpersify hdio.c

* defs.h (hdio_ioctl): Remove.
* hdio.c: Mpersify struct hd_geometry.
(hdio_ioctl): Mpersify.
This commit is contained in:
Дмитрий Левин 2016-05-30 00:25:03 +00:00
parent 4b9fa902d2
commit bb9d6835a6
2 changed files with 15 additions and 9 deletions

1
defs.h
View File

@ -662,7 +662,6 @@ extern void print_struct_statfs64(struct tcb *tcp, long, unsigned long);
extern int file_ioctl(struct tcb *, const unsigned int, long);
extern int fs_x_ioctl(struct tcb *, const unsigned int, long);
extern int hdio_ioctl(struct tcb *, const unsigned int, long);
extern int loop_ioctl(struct tcb *, const unsigned int, long);
extern int ptp_ioctl(struct tcb *, const unsigned int, long);
extern int scsi_ioctl(struct tcb *, const unsigned int, long);

23
hdio.c
View File

@ -27,26 +27,33 @@
*/
#include "defs.h"
#include DEF_MPERS_TYPE(struct_hd_geometry)
#include <linux/hdreg.h>
int
hdio_ioctl(struct tcb *tcp, const unsigned int code, const long arg)
typedef struct hd_geometry struct_hd_geometry;
#include MPERS_DEFS
MPERS_PRINTER_DECL(int, hdio_ioctl, struct tcb *tcp,
const unsigned int code, const long arg)
{
switch (code) {
case HDIO_GETGEO:
if (entering(tcp))
return 0;
else {
struct hd_geometry geo;
struct_hd_geometry geo;
tprints(", ");
if (!umove_or_printaddr(tcp, arg, &geo))
tprintf("{heads=%u, sectors=%u, "
"cylinders=%u, start=%lu}",
(unsigned)geo.heads,
(unsigned)geo.sectors,
(unsigned)geo.cylinders,
geo.start);
"cylinders=%hu, start=%lu}",
(unsigned) geo.heads,
(unsigned) geo.sectors,
geo.cylinders,
(unsigned long) geo.start);
}
break;
default: