diff options
author | phk <phk@FreeBSD.org> | 2002-03-16 09:24:19 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-03-16 09:24:19 +0000 |
commit | 688687434f7b4bf689cb76a2bfdbcbc2b34bf03d (patch) | |
tree | dc23039ef707ddc22810bca9a45c7b8e4a21d815 /sys/geom/geom.h | |
parent | 160859d70870af6d64ca201c85b7a15c6a0a0e46 (diff) | |
download | FreeBSD-src-688687434f7b4bf689cb76a2bfdbcbc2b34bf03d.zip FreeBSD-src-688687434f7b4bf689cb76a2bfdbcbc2b34bf03d.tar.gz |
Add a generic and general ioctl pass-through mechanism.
It should now be posible to issue ioctls to SCSI CD drives.
Diffstat (limited to 'sys/geom/geom.h')
-rw-r--r-- | sys/geom/geom.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/geom/geom.h b/sys/geom/geom.h index 0a3f4807..1249776 100644 --- a/sys/geom/geom.h +++ b/sys/geom/geom.h @@ -247,6 +247,12 @@ void * g_read_data(struct g_consumer *cp, off_t offset, off_t length, int *error /* geom_kern.c / geom_kernsim.c */ void g_init(void); +struct g_ioctl { + u_long cmd; + void *data; + int fflag; + struct thread *td; +}; #ifdef _KERNEL @@ -272,7 +278,7 @@ g_free(void *ptr) } extern struct sx topology_lock; -#define g_topology_lock() sx_xlock(&topology_lock) +#define g_topology_lock() do { mtx_assert(&Giant, MA_NOTOWNED); sx_xlock(&topology_lock); } while (0) #define g_topology_unlock() sx_xunlock(&topology_lock) #define g_topology_assert() sx_assert(&topology_lock, SX_XLOCKED) |