summaryrefslogtreecommitdiffstats
path: root/sys/sys/conf.h
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>2001-02-15 16:34:11 +0000
committerjlemon <jlemon@FreeBSD.org>2001-02-15 16:34:11 +0000
commit11781a7431fab609cd00058a63ac09ccddb16854 (patch)
treeee46dbf40488c941cf17b05e69bfe21e4f2d7128 /sys/sys/conf.h
parent5655168b87e22a331c5fc3b603901647ff90b2e4 (diff)
downloadFreeBSD-src-11781a7431fab609cd00058a63ac09ccddb16854.zip
FreeBSD-src-11781a7431fab609cd00058a63ac09ccddb16854.tar.gz
Extend kqueue down to the device layer.
Backwards compatible approach suggested by: peter
Diffstat (limited to 'sys/sys/conf.h')
-rw-r--r--sys/sys/conf.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/sys/sys/conf.h b/sys/sys/conf.h
index b277c9a..81ea6af 100644
--- a/sys/sys/conf.h
+++ b/sys/sys/conf.h
@@ -105,6 +105,7 @@ struct bio;
struct buf;
struct proc;
struct uio;
+struct knote;
typedef int d_open_t __P((dev_t dev, int oflags, int devtype, struct proc *p));
typedef int d_close_t __P((dev_t dev, int fflag, int devtype, struct proc *p));
@@ -118,6 +119,7 @@ typedef int d_psize_t __P((dev_t dev));
typedef int d_read_t __P((dev_t dev, struct uio *uio, int ioflag));
typedef int d_write_t __P((dev_t dev, struct uio *uio, int ioflag));
typedef int d_poll_t __P((dev_t dev, int events, struct proc *p));
+typedef int d_kqfilter_t __P((dev_t dev, struct knote *kn));
typedef int d_mmap_t __P((dev_t dev, vm_offset_t offset, int nprot));
typedef int l_open_t __P((dev_t dev, struct tty *tp));
@@ -169,11 +171,12 @@ typedef int l_modem_t __P((struct tty *tp, int flag));
/*
* Flags for d_flags.
*/
-#define D_MEMDISK 0x10000 /* memory type disk */
-#define D_NAGGED 0x20000 /* nagged about missing make_dev() */
-#define D_CANFREE 0x40000 /* can free blocks */
-#define D_TRACKCLOSE 0x80000 /* track all closes */
-#define D_MMAP_ANON 0x100000 /* special treatment in vm_mmap.c */
+#define D_MEMDISK 0x00010000 /* memory type disk */
+#define D_NAGGED 0x00020000 /* nagged about missing make_dev() */
+#define D_CANFREE 0x00040000 /* can free blocks */
+#define D_TRACKCLOSE 0x00080000 /* track all closes */
+#define D_MMAP_ANON 0x00100000 /* special treatment in vm_mmap.c */
+#define D_KQFILTER 0x00200000 /* has kqfilter entry */
/*
* Character device switch table
@@ -194,6 +197,8 @@ struct cdevsw {
u_int d_flags;
/* This following field is deprecated. Please don't initialize */
int d_XXXbmaj;
+ /* additions below are not binary compatible with 4.2 and below */
+ d_kqfilter_t *d_kqfilter;
};
/*
@@ -241,6 +246,7 @@ d_read_t noread;
d_write_t nowrite;
d_ioctl_t noioctl;
d_mmap_t nommap;
+d_kqfilter_t nokqfilter;
#define nostrategy ((d_strategy_t *)NULL)
#define nopoll seltrue
OpenPOWER on IntegriCloud