summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom.h
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-03-16 09:24:19 +0000
committerphk <phk@FreeBSD.org>2002-03-16 09:24:19 +0000
commit688687434f7b4bf689cb76a2bfdbcbc2b34bf03d (patch)
treedc23039ef707ddc22810bca9a45c7b8e4a21d815 /sys/geom/geom.h
parent160859d70870af6d64ca201c85b7a15c6a0a0e46 (diff)
downloadFreeBSD-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.h8
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)
OpenPOWER on IntegriCloud