diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-07-28 18:41:00 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-07-28 18:41:00 +0200 |
commit | cc0dffd12bbf19cc2f7f3480db4987b2dd9039b9 (patch) | |
tree | 980b16c974629cf5005a1febc65b91097bb53c9b /device | |
parent | 4962b90a59b550525856a8eaa31104493407dc84 (diff) | |
download | gnumach-cc0dffd12bbf19cc2f7f3480db4987b2dd9039b9.tar.gz gnumach-cc0dffd12bbf19cc2f7f3480db4987b2dd9039b9.tar.bz2 gnumach-cc0dffd12bbf19cc2f7f3480db4987b2dd9039b9.zip |
Fix dev_ops types
* device/conf.h: Include <device/device_types.h>.
(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/conf.h>.
* device/dev_pager.c: Include <device/conf.h>
* i386/i386/pcb.h: Include <machine/io_perm.h>
* i386/i386/thread.h: Do not include <i386/tss.h>
Diffstat (limited to 'device')
-rw-r--r-- | device/conf.h | 9 | ||||
-rw-r--r-- | device/dev_hdr.h | 2 | ||||
-rw-r--r-- | device/dev_name.c | 4 | ||||
-rw-r--r-- | device/dev_pager.c | 1 | ||||
-rw-r--r-- | device/kmsg.c | 2 | ||||
-rw-r--r-- | device/kmsg.h | 4 | ||||
-rw-r--r-- | device/net_io.c | 2 | ||||
-rw-r--r-- | device/net_io.h | 2 | ||||
-rw-r--r-- | device/tty.h | 4 |
9 files changed, 16 insertions, 14 deletions
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 <sys/types.h> #include <mach/port.h> #include <mach/vm_prot.h> +#include <device/device_types.h> 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 <kern/lock.h> #include <kern/queue.h> -#include <device/conf.h> +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 <device/memory_object_reply.user.h> #include <device/dev_pager.h> #include <device/blkio.h> +#include <device/conf.h> /* * 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 */ }; |