From cc0dffd12bbf19cc2f7f3480db4987b2dd9039b9 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 28 Jul 2018 18:41:00 +0200 Subject: Fix dev_ops types * device/conf.h: Include . (dev_ops): Make d_getstat and d_setstat fields use dev_flavor_t, dev_status_t, and mach_msg_type_number_t types. * device/tty.h: (t_getstat, t_setstat): Likewise. * device/conf.h (nulldev_getstat, nulldev_setstat): Fix parameter types accordingly. * device/dev_name.c (nulldev_getstat, nulldev_setstat): Likewise. * device/kmsg.c (kmsggetstat): Likewise. * device/kmsg.h (kmsggetstat): Likewise. * device/net_io.c (net_getstat): Likewise. * device/net_io.h (net_getstat): Likewise. * i386/i386at/com.c (comgetstat, comsetstat): Likewise. * i386/i386at/com.h (comgetstat, comsetstat): Likewise. * i386/i386at/kd.c (kdgetstat, kdsetstat): Likewise. * i386/i386at/kd.h (kdgetstat, kdsetstat): Likewise. * i386/i386at/kd_event.c (kbdgetstat, kbdsetstat): Likewise. * i386/i386at/kd_event.h (kbdgetstat, kbdsetstat): Likewise. * i386/i386at/kd_mouse.c (mousegetstat): Likewise. * i386/i386at/kd_mouse.h (mousegetstat): Likewise. * i386/i386at/lpr.c (lprgetstat, lprsetstat): Likewise. * i386/i386at/lpr.h (lprgetstat, lprsetstat): Likewise. * xen/console.c (hypcngetstat, hypcnsetstat): Likewise. * xen/console.h (hypcngetstat, hypcnsetstat): Likewise. * device/dev_hdr.h: Forward-declare struct dev_ops and dev_ops_t type instead of including . * device/dev_pager.c: Include * i386/i386/pcb.h: Include * i386/i386/thread.h: Do not include --- device/conf.h | 9 +++++---- device/dev_hdr.h | 2 +- device/dev_name.c | 4 ++-- device/dev_pager.c | 1 + device/kmsg.c | 2 +- device/kmsg.h | 4 ++-- device/net_io.c | 2 +- device/net_io.h | 2 +- device/tty.h | 4 ++-- 9 files changed, 16 insertions(+), 14 deletions(-) (limited to 'device') diff --git a/device/conf.h b/device/conf.h index fea18223..14a23f97 100644 --- a/device/conf.h +++ b/device/conf.h @@ -35,6 +35,7 @@ #include #include #include +#include struct io_req; typedef struct io_req *io_req_t; @@ -50,8 +51,8 @@ struct dev_ops { void (*d_close)(dev_t, int); /* close device */ int (*d_read)(dev_t, io_req_t); /* read */ int (*d_write)(dev_t, io_req_t); /* write */ - int (*d_getstat)(dev_t, int, int *, natural_t *); /* get status/control */ - int (*d_setstat)(dev_t, int, int *, natural_t); /* set status/control */ + int (*d_getstat)(dev_t, dev_flavor_t, dev_status_t, mach_msg_type_number_t *); /* get status/control */ + int (*d_setstat)(dev_t, dev_flavor_t, dev_status_t, mach_msg_type_number_t); /* set status/control */ int (*d_mmap)(dev_t, vm_offset_t, vm_prot_t); /* map memory */ int (*d_async_in)(); /* asynchronous input setup */ int (*d_reset)(); /* reset device */ @@ -71,8 +72,8 @@ extern int nulldev_open(dev_t dev, int flag, io_req_t ior); extern void nulldev_close(dev_t dev, int flags); extern int nulldev_read(dev_t dev, io_req_t ior); extern int nulldev_write(dev_t dev, io_req_t ior); -extern io_return_t nulldev_getstat(dev_t dev, int flavor, int *data, natural_t *count); -extern io_return_t nulldev_setstat(dev_t dev, int flavor, int *data, natural_t count); +extern io_return_t nulldev_getstat(dev_t dev, dev_flavor_t flavor, dev_status_t data, mach_msg_type_number_t *count); +extern io_return_t nulldev_setstat(dev_t dev, dev_flavor_t flavor, dev_status_t data, mach_msg_type_number_t count); extern io_return_t nulldev_portdeath(dev_t dev, mach_port_t port); extern int nodev(void); /* no operation - error */ extern int nomap(dev_t dev, vm_offset_t off, int prot); /* no operation - error */ diff --git a/device/dev_hdr.h b/device/dev_hdr.h index ff7d2ef5..ad98e0bb 100644 --- a/device/dev_hdr.h +++ b/device/dev_hdr.h @@ -61,7 +61,7 @@ #include #include -#include +typedef struct dev_ops *dev_ops_t; /* This structure is associated with each open device port. The port representing the device points to this structure. */ diff --git a/device/dev_name.c b/device/dev_name.c index 175e3890..6036fb46 100644 --- a/device/dev_name.c +++ b/device/dev_name.c @@ -63,12 +63,12 @@ int nulldev_write(dev_t dev, io_req_t ior) return (D_SUCCESS); } -io_return_t nulldev_getstat(dev_t dev, int flavor, int *data, natural_t *count) +io_return_t nulldev_getstat(dev_t dev, dev_flavor_t flavor, dev_status_t data, mach_msg_type_number_t *count) { return (D_SUCCESS); } -io_return_t nulldev_setstat(dev_t dev, int flavor, int *data, natural_t count) +io_return_t nulldev_setstat(dev_t dev, dev_flavor_t flavor, dev_status_t data, mach_msg_type_number_t count) { return (D_SUCCESS); } diff --git a/device/dev_pager.c b/device/dev_pager.c index 7130229b..0680b5aa 100644 --- a/device/dev_pager.c +++ b/device/dev_pager.c @@ -57,6 +57,7 @@ #include #include #include +#include /* * The device pager routines are called directly from the message diff --git a/device/kmsg.c b/device/kmsg.c index c80775d9..e49eb3d3 100644 --- a/device/kmsg.c +++ b/device/kmsg.c @@ -195,7 +195,7 @@ kmsg_read_done (io_req_t ior) } io_return_t -kmsggetstat (dev_t dev, int flavor, int *data, unsigned int *count) +kmsggetstat (dev_t dev, dev_flavor_t flavor, dev_status_t data, mach_msg_type_number_t *count) { switch (flavor) { diff --git a/device/kmsg.h b/device/kmsg.h index 8d907f1b..00a35050 100644 --- a/device/kmsg.h +++ b/device/kmsg.h @@ -10,8 +10,8 @@ io_return_t kmsgopen (dev_t dev, int flag, io_req_t ior); void kmsgclose (dev_t dev, int flag); io_return_t kmsgread (dev_t dev, io_req_t ior); -io_return_t kmsggetstat (dev_t dev, int flavor, - int *data, unsigned int *count); +io_return_t kmsggetstat (dev_t dev, dev_flavor_t flavor, + dev_status_t data, mach_msg_type_number_t *count); void kmsg_putchar (int c); diff --git a/device/net_io.c b/device/net_io.c index 99af0b29..72b040a0 100644 --- a/device/net_io.c +++ b/device/net_io.c @@ -1374,7 +1374,7 @@ net_getstat( struct ifnet *ifp, dev_flavor_t flavor, dev_status_t status, /* pointer to OUT array */ - natural_t *count) /* OUT */ + mach_msg_type_number_t *count) /* OUT */ { switch (flavor) { case NET_STATUS: diff --git a/device/net_io.h b/device/net_io.h index d4e24d41..5baf0678 100644 --- a/device/net_io.h +++ b/device/net_io.h @@ -78,7 +78,7 @@ extern void net_ast(void); extern void net_packet(struct ifnet *, ipc_kmsg_t, unsigned int, boolean_t); extern void net_filter(ipc_kmsg_t, ipc_kmsg_queue_t); extern io_return_t net_getstat(struct ifnet *, dev_flavor_t, dev_status_t, - natural_t *); + mach_msg_type_number_t *); extern io_return_t net_write(struct ifnet *, int (*)(), io_req_t); /* diff --git a/device/tty.h b/device/tty.h index d7aa2add..ea6f4404 100644 --- a/device/tty.h +++ b/device/tty.h @@ -72,8 +72,8 @@ struct tty { * Items beyond this point should be removed to device-specific * extension structures. */ - io_return_t (*t_getstat)(dev_t, int, int *, natural_t *); /* routine to get status */ - io_return_t (*t_setstat)(dev_t, int, int *, natural_t); /* routine to set status */ + io_return_t (*t_getstat)(dev_t, dev_flavor_t, dev_status_t, mach_msg_type_number_t *); /* routine to get status */ + io_return_t (*t_setstat)(dev_t, dev_flavor_t, dev_status_t, mach_msg_type_number_t); /* routine to set status */ dev_ops_t t_tops; /* another device to possibly push through */ }; -- cgit v1.2.3