Move selinfo stuff to the separate header sys/selinfo.h. Make sys/select.h
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 10 Jun 2006 20:00:17 +0000 (20:00 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 10 Jun 2006 20:00:17 +0000 (20:00 +0000)
POSIX compatible.

Note: Modifications from the original patch.  For the moment maintain
compatibility with BSD manual pages by ensuring that the prototype for
the select() function is declared in both sys/select.h and unistd.h.

Submitted-by: Alexey Slynko <slynko@tronet.ru>
26 files changed:
include/unistd.h
sys/bus/firewire/firewirereg.h
sys/bus/pccard/slot.h
sys/dev/misc/mse/mse.c
sys/dev/misc/psm/psm.c
sys/dev/misc/syscons/apm/apm_saver.c
sys/dev/misc/tw/tw.c
sys/dev/raid/aac/aacvar.h
sys/dev/video/bktr/bktr_i2c.c
sys/i386/acpica5/acpi_machdep.c
sys/i386/apm/apm.c
sys/i386/isa/asc.c
sys/kern/kern_random.c
sys/net/bpfdesc.h
sys/net/i4b/layer4/i4b_i4bdrv.c
sys/platform/pc32/acpica5/acpi_machdep.c
sys/platform/pc32/apm/apm.c
sys/platform/pc32/isa/asc.c
sys/sys/eventvar.h
sys/sys/pipe.h
sys/sys/select.h
sys/sys/selinfo.h [copied from sys/sys/select.h with 86% similarity]
sys/sys/socketvar.h
sys/sys/tty.h
sys/sys/types.h
sys/sys/vnode.h

index 376ea19..e249306 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)unistd.h    8.12 (Berkeley) 4/27/95
  * $FreeBSD: src/include/unistd.h,v 1.35.2.10 2002/04/15 12:52:28 nectar Exp $
- * $DragonFly: src/include/unistd.h,v 1.14 2005/11/19 22:26:54 swildner Exp $
+ * $DragonFly: src/include/unistd.h,v 1.15 2006/06/10 20:00:09 dillon Exp $
  */
 
 #ifndef _UNISTD_H_
@@ -184,7 +184,10 @@ int         rresvport(int *);
 int     rresvport_af(int *, int);
 int     ruserok(const char *, int, const char *, const char *);
 void   *sbrk(intptr_t);
-int     select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
+#ifndef _SYS_SELECT_H_ /* bleh BSD compatibility */
+int     select(int, fd_set * __restrict, fd_set * __restrict,
+               fd_set * __restrict, struct timeval * __restrict);
+#endif
 int     setdomainname(const char *, int);
 int     setegid(gid_t);
 int     seteuid(uid_t);
index 3d64bdc..cf52474 100644 (file)
@@ -32,7 +32,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  * 
  * $FreeBSD: src/sys/dev/firewire/firewirereg.h,v 1.33 2004/01/06 14:30:46 simokawa Exp $
- * $DragonFly: src/sys/bus/firewire/firewirereg.h,v 1.9 2006/02/17 19:17:44 dillon Exp $
+ * $DragonFly: src/sys/bus/firewire/firewirereg.h,v 1.10 2006/06/10 20:00:12 dillon Exp $
  *
  */
 
@@ -44,7 +44,7 @@ typedef       struct thread fw_proc;
 typedef        struct proc fw_proc;
 #endif
 
-#include <sys/select.h>
+#include <sys/selinfo.h>
 #include <sys/uio.h>
 
 struct fw_device{
index 8d90d68..f29ac2f 100644 (file)
@@ -33,7 +33,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/pccard/slot.h,v 1.25.2.5 2002/09/22 20:26:58 imp Exp $
- * $DragonFly: src/sys/bus/pccard/Attic/slot.h,v 1.4 2004/09/18 19:42:12 dillon Exp $
+ * $DragonFly: src/sys/bus/pccard/Attic/slot.h,v 1.5 2006/06/10 20:00:14 dillon Exp $
  */
 
 #ifndef _PCCARD_SLOT_H
@@ -48,7 +48,7 @@
 #include <machine/bus.h>
 #include <sys/rman.h>
 #include <machine/resource.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 
 /*
  *     Controller data - Specific to each slot controller.
index 32fccef..4273b62 100644 (file)
@@ -12,7 +12,7 @@
  * without express or implied warranty.
  *
  * $FreeBSD: src/sys/i386/isa/mse.c,v 1.49.2.1 2000/03/20 13:58:47 yokota Exp $
- * $DragonFly: src/sys/dev/misc/mse/mse.c,v 1.15 2005/12/11 01:54:08 swildner Exp $
+ * $DragonFly: src/sys/dev/misc/mse/mse.c,v 1.16 2006/06/10 20:00:15 dillon Exp $
  */
 /*
  * Driver for the Logitech and ATI Inport Bus mice for use with 386bsd and
@@ -51,7 +51,7 @@
 #include <sys/kernel.h>
 #include <sys/bus.h>
 #include <sys/poll.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 #include <sys/thread2.h>
 #include <sys/uio.h>
 
index e14feee..dd0b7c5 100644 (file)
@@ -21,7 +21,7 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/isa/psm.c,v 1.23.2.7 2003/11/12 04:26:26 mikeh Exp $
- * $DragonFly: src/sys/dev/misc/psm/psm.c,v 1.16 2005/10/12 17:35:51 dillon Exp $
+ * $DragonFly: src/sys/dev/misc/psm/psm.c,v 1.17 2006/06/10 20:00:16 dillon Exp $
  */
 
 /*
@@ -75,7 +75,7 @@
 #include <sys/malloc.h>
 #include <machine/bus.h>
 #include <sys/rman.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 #include <sys/thread2.h>
 #include <sys/time.h>
 #include <sys/uio.h>
index ec6b740..3027011 100644 (file)
@@ -26,7 +26,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/modules/syscons/apm/apm_saver.c,v 1.1.4.2 2001/03/07 21:47:24 nsayer Exp $
- * $DragonFly: src/sys/dev/misc/syscons/apm/apm_saver.c,v 1.5 2005/02/13 03:02:25 swildner Exp $
+ * $DragonFly: src/sys/dev/misc/syscons/apm/apm_saver.c,v 1.6 2006/06/10 20:00:16 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -40,7 +40,7 @@
 #include <dev/video/fb/splashreg.h>
 #include "../syscons.h"
 
-#include <sys/select.h>
+#include <sys/selinfo.h>
 #include <machine/apm_bios.h>
 #include <machine/pc/bios.h>
 #include <i386/apm/apm.h>
index e3e5dcb..4f8648c 100644 (file)
@@ -29,7 +29,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/i386/isa/tw.c,v 1.38 2000/01/29 16:00:32 peter Exp $
- * $DragonFly: src/sys/dev/misc/tw/tw.c,v 1.15 2005/12/11 01:54:08 swildner Exp $
+ * $DragonFly: src/sys/dev/misc/tw/tw.c,v 1.16 2006/06/10 20:00:16 dillon Exp $
  *
  */
 
 #include <sys/kernel.h>
 #include <sys/uio.h>
 #include <sys/syslog.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 #include <sys/poll.h>
 #include <sys/thread2.h>
 
index 81a368d..7d50d16 100644 (file)
@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *     $FreeBSD: src/sys/dev/aac/aacvar.h,v 1.4.2.7 2003/04/08 13:22:08 scottl Exp $
- *     $DragonFly: src/sys/dev/raid/aac/aacvar.h,v 1.12 2006/06/04 21:09:49 dillon Exp $
+ *     $DragonFly: src/sys/dev/raid/aac/aacvar.h,v 1.13 2006/06/10 20:00:16 dillon Exp $
  */
 
 #include <sys/thread2.h>
@@ -267,11 +267,7 @@ typedef struct lock aac_lock_t;
 #define AAC_LOCK_RELEASE(l)    lockmgr(l, LK_RELEASE)
 #endif
 
-#if defined(__FreeBSD__) && __FreeBSD_version >= 500005
 #include <sys/selinfo.h>
-#else
-#include <sys/select.h>
-#endif
 
 /*
  * Per-controller structure.
index a117aa6..d8e064b 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/bktr/bktr_i2c.c,v 1.25 2003/12/08 07:59:18 obrien Exp $
- * $DragonFly: src/sys/dev/video/bktr/bktr_i2c.c,v 1.5 2004/05/15 17:54:12 joerg Exp $
+ * $DragonFly: src/sys/dev/video/bktr/bktr_i2c.c,v 1.6 2006/06/10 20:00:16 dillon Exp $
  */
 
 /*
@@ -43,7 +43,7 @@
 #include <sys/bus.h>
 #include <sys/uio.h>
 
-#include <sys/select.h>
+#include <sys/selinfo.h>
 
 #include <bus/pci/pcivar.h>
 #include <bus/pci/pcireg.h>
index 7f4e7c1..116cb41 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/i386/acpica/acpi_machdep.c,v 1.20 2004/05/05 19:51:15 njl Exp $
- * $DragonFly: src/sys/i386/acpica5/Attic/acpi_machdep.c,v 1.7 2005/04/11 06:05:54 dillon Exp $
+ * $DragonFly: src/sys/i386/acpica5/Attic/acpi_machdep.c,v 1.8 2006/06/10 20:00:17 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -45,7 +45,7 @@ static device_t       acpi_dev;
  * APM driver emulation 
  */
 
-#include <sys/select.h>
+#include <sys/selinfo.h>
 
 #include <machine/apm_bios.h>
 #include <machine/pc/bios.h>
index 213cfce..53f2d73 100644 (file)
@@ -16,7 +16,7 @@
  * Sep, 1994   Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD)
  *
  * $FreeBSD: src/sys/i386/apm/apm.c,v 1.114.2.5 2002/11/02 04:41:50 iwasaki Exp $
- * $DragonFly: src/sys/i386/apm/Attic/apm.c,v 1.13 2005/12/24 20:34:04 swildner Exp $
+ * $DragonFly: src/sys/i386/apm/Attic/apm.c,v 1.14 2006/06/10 20:00:17 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -27,7 +27,7 @@
 #include <sys/time.h>
 #include <sys/reboot.h>
 #include <sys/bus.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 #include <sys/poll.h>
 #include <sys/fcntl.h>
 #include <sys/uio.h>
index 6118d8f..bfe6e0e 100644 (file)
@@ -35,7 +35,7 @@
  */
 /*
  * $FreeBSD: src/sys/i386/isa/asc.c,v 1.42.2.2 2001/03/01 03:22:39 jlemon Exp $
- * $DragonFly: src/sys/i386/isa/Attic/asc.c,v 1.12 2006/04/30 17:22:17 dillon Exp $
+ * $DragonFly: src/sys/i386/isa/Attic/asc.c,v 1.13 2006/06/10 20:00:17 dillon Exp $
  */
 
 #include "use_asc.h"
@@ -47,7 +47,7 @@
 #include <sys/malloc.h>
 #include <sys/kernel.h>
 #include <sys/poll.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 #include <sys/uio.h>
 #include <sys/thread2.h>
 
index ab63938..1dac839 100644 (file)
@@ -2,7 +2,7 @@
  * kern_random.c -- A strong random number generator
  *
  * $FreeBSD: src/sys/kern/kern_random.c,v 1.36.2.4 2002/09/17 17:11:57 sam Exp $
- * $DragonFly: src/sys/kern/Attic/kern_random.c,v 1.14 2006/04/12 18:28:30 dillon Exp $
+ * $DragonFly: src/sys/kern/Attic/kern_random.c,v 1.15 2006/06/10 20:00:17 dillon Exp $
  *
  * Version 0.95, last modified 18-Oct-95
  * 
@@ -45,7 +45,7 @@
 #include <sys/md5.h>
 #include <sys/poll.h>
 #include <sys/random.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 #include <sys/systm.h>
 #include <sys/systimer.h>
 #include <sys/thread2.h>
index 2870ea7..16b701e 100644 (file)
  *      @(#)bpfdesc.h  8.1 (Berkeley) 6/10/93
  *
  * $FreeBSD: src/sys/net/bpfdesc.h,v 1.14.2.2 2001/12/17 19:32:33 jdp Exp $
- * $DragonFly: src/sys/net/bpfdesc.h,v 1.4 2005/01/26 00:37:39 joerg Exp $
+ * $DragonFly: src/sys/net/bpfdesc.h,v 1.5 2006/06/10 20:00:17 dillon Exp $
  */
 
 #ifndef _NET_BPFDESC_H_
 #define _NET_BPFDESC_H_
 
 #include <sys/callout.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 
 /*
  * Descriptor associated with each open bpf file.
index 0af0d9f..4b76117 100644 (file)
@@ -28,7 +28,7 @@
  *     --------------------------------------------
  *
  * $FreeBSD: src/sys/i4b/layer4/i4b_i4bdrv.c,v 1.11.2.5 2001/12/16 15:12:59 hm Exp $
- * $DragonFly: src/sys/net/i4b/layer4/i4b_i4bdrv.c,v 1.13 2005/06/14 21:19:19 joerg Exp $
+ * $DragonFly: src/sys/net/i4b/layer4/i4b_i4bdrv.c,v 1.14 2006/06/10 20:00:17 dillon Exp $
  *
  *      last edit-date: [Sat Aug 11 18:08:10 2001]
  *
@@ -55,7 +55,7 @@
 #include <sys/mbuf.h>
 #include <sys/socket.h>
 #include <sys/thread2.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 
 #include <net/if.h>
 
index 353e57a..7179719 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/i386/acpica/acpi_machdep.c,v 1.20 2004/05/05 19:51:15 njl Exp $
- * $DragonFly: src/sys/platform/pc32/acpica5/acpi_machdep.c,v 1.7 2005/04/11 06:05:54 dillon Exp $
+ * $DragonFly: src/sys/platform/pc32/acpica5/acpi_machdep.c,v 1.8 2006/06/10 20:00:17 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -45,7 +45,7 @@ static device_t       acpi_dev;
  * APM driver emulation 
  */
 
-#include <sys/select.h>
+#include <sys/selinfo.h>
 
 #include <machine/apm_bios.h>
 #include <machine/pc/bios.h>
index d8e0704..0d89c01 100644 (file)
@@ -16,7 +16,7 @@
  * Sep, 1994   Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD)
  *
  * $FreeBSD: src/sys/i386/apm/apm.c,v 1.114.2.5 2002/11/02 04:41:50 iwasaki Exp $
- * $DragonFly: src/sys/platform/pc32/apm/apm.c,v 1.13 2005/12/24 20:34:04 swildner Exp $
+ * $DragonFly: src/sys/platform/pc32/apm/apm.c,v 1.14 2006/06/10 20:00:17 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -27,7 +27,7 @@
 #include <sys/time.h>
 #include <sys/reboot.h>
 #include <sys/bus.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 #include <sys/poll.h>
 #include <sys/fcntl.h>
 #include <sys/uio.h>
index 71c1cf8..b498f17 100644 (file)
@@ -35,7 +35,7 @@
  */
 /*
  * $FreeBSD: src/sys/i386/isa/asc.c,v 1.42.2.2 2001/03/01 03:22:39 jlemon Exp $
- * $DragonFly: src/sys/platform/pc32/isa/asc.c,v 1.12 2006/04/30 17:22:17 dillon Exp $
+ * $DragonFly: src/sys/platform/pc32/isa/asc.c,v 1.13 2006/06/10 20:00:17 dillon Exp $
  */
 
 #include "use_asc.h"
@@ -47,7 +47,7 @@
 #include <sys/malloc.h>
 #include <sys/kernel.h>
 #include <sys/poll.h>
-#include <sys/select.h>
+#include <sys/selinfo.h>
 #include <sys/uio.h>
 #include <sys/thread2.h>
 
index 85cc751..73e52c7 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  *     $FreeBSD: src/sys/sys/eventvar.h,v 1.1.2.2 2000/07/18 21:49:12 jlemon Exp $
- *     $DragonFly: src/sys/sys/eventvar.h,v 1.5 2006/05/21 03:43:47 dillon Exp $
+ *     $DragonFly: src/sys/sys/eventvar.h,v 1.6 2006/06/10 20:00:17 dillon Exp $
  */
 
 #ifndef _SYS_EVENTVAR_H_
@@ -42,8 +42,8 @@
 #ifndef _SYS_EVENT_H_
 #include <sys/event.h>
 #endif
-#ifndef _SYS_SELECT_H_
-#include <sys/select.h>
+#ifndef _SYS_SELINFO_H_
+#include <sys/selinfo.h>
 #endif
 
 
index c78257d..4239aa4 100644 (file)
@@ -19,7 +19,7 @@
  *    are met.
  *
  * $FreeBSD: src/sys/sys/pipe.h,v 1.16 1999/12/29 04:24:45 peter Exp $
- * $DragonFly: src/sys/sys/pipe.h,v 1.9 2006/05/21 03:43:47 dillon Exp $
+ * $DragonFly: src/sys/sys/pipe.h,v 1.10 2006/06/10 20:00:17 dillon Exp $
  */
 
 #ifndef _SYS_PIPE_H_
@@ -33,8 +33,8 @@
 #ifndef _SYS_TIME_H_
 #include <sys/time.h>                  /* for struct timespec */
 #endif
-#ifndef _SYS_SELECT_H_
-#include <sys/select.h>                        /* for struct selinfo */
+#ifndef _SYS_SELINFO_H_
+#include <sys/selinfo.h>               /* for struct selinfo */
 #endif
 #ifndef _SYS_XIO_H_
 #include <sys/xio.h>                   /* for struct xio */
index 1707769..856fdc4 100644 (file)
  *
  *     @(#)select.h    8.2 (Berkeley) 1/4/94
  * $FreeBSD: src/sys/sys/select.h,v 1.6.2.1 2000/05/05 03:50:02 jlemon Exp $
- * $DragonFly: src/sys/sys/select.h,v 1.6 2006/05/21 03:43:47 dillon Exp $
+ * $DragonFly: src/sys/sys/select.h,v 1.7 2006/06/10 20:00:17 dillon Exp $
  */
 
 #ifndef _SYS_SELECT_H_
 #define        _SYS_SELECT_H_
 
-#if defined(_KERNEL) || defined(_KERNEL_STRUCTURES)
-
-#ifndef _SYS_EVENT_H_
-#include <sys/event.h>                 /* for struct klist */
+#ifndef _SYS_SIGNAL_H_
+#include <sys/signal.h>
 #endif
-#ifndef _SYS_NETISR_H_
-#include <net/netisr.h>                        /* for struct notifymsglist */
+#ifndef _SYS_TIME_H_
+#include <sys/time.h>
 #endif
 
 /*
- * Used to maintain information about processes that wish to be
- * notified when I/O becomes possible.
+ * Select uses bit masks of file descriptors in longs.  These macros
+ * manipulate such bit fields (the filesystem macros use chars).
+ * FD_SETSIZE may be defined by the user, but the default here should
+ * be enough for most uses.
  */
-struct selinfo {
-       pid_t   si_pid;                 /* process to be notified */
-       struct  klist si_note;          /* kernel note list */
-       struct  notifymsglist si_mlist; /* list of pending predicate messages */
-       short   si_flags;               /* see below */
-};
-#define        SI_COLL 0x0001          /* collision occurred */
+#ifndef FD_SETSIZE
+#define FD_SETSIZE     1024
+#endif
+
+#ifndef NBBY
+#define NBBY           8
+#endif
+
+typedef unsigned long   fd_mask;
+#define NFDBITS (sizeof(fd_mask) * NBBY)       /* bits per mask */
+
+#ifndef howmany
+#define howmany(x, y)  (((x) + ((y) - 1)) / (y))
+#endif
+
+typedef struct fd_set {
+       fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
+} fd_set;
 
-#ifdef _KERNEL
-struct thread;
+#define _fdset_mask(n) ((fd_mask)1 << ((n) % NFDBITS))
+#define FD_SET(n, p)   ((p)->fds_bits[(n)/NFDBITS] |= _fdset_mask(n))
+#define FD_CLR(n, p)   ((p)->fds_bits[(n)/NFDBITS] &= ~_fdset_mask(n))
+#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & _fdset_mask(n))
+#define FD_COPY(f, t)  bcopy(f, t, sizeof(*(f)))
+#define FD_ZERO(p)     bzero(p, sizeof(*(p)))
 
-void   selrecord (struct thread *selector, struct selinfo *);
-void   selwakeup (struct selinfo *);
+#ifndef _UNISTD_H_
+int    select(int, fd_set * __restrict, fd_set * __restrict,
+              fd_set * __restrict, struct timeval * __restrict);
 #endif
 
-#endif /* _KERNEL || _KERNEL_STRUCTURES */
 #endif /* !_SYS_SELECT_H_ */
similarity index 86%
copy from sys/sys/select.h
copy to sys/sys/selinfo.h
index 1707769..432b823 100644 (file)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *     @(#)select.h    8.2 (Berkeley) 1/4/94
- * $FreeBSD: src/sys/sys/select.h,v 1.6.2.1 2000/05/05 03:50:02 jlemon Exp $
- * $DragonFly: src/sys/sys/select.h,v 1.6 2006/05/21 03:43:47 dillon Exp $
+ * @(#)selinfo.h       8.2 (Berkeley) 1/4/94
+ * $DragonFly: src/sys/sys/selinfo.h,v 1.1 2006/06/10 20:00:17 dillon Exp $
  */
 
-#ifndef _SYS_SELECT_H_
-#define        _SYS_SELECT_H_
+#ifndef _SYS_SELINFO_H_
+#define        _SYS_SELINFO_H_
 
 #if defined(_KERNEL) || defined(_KERNEL_STRUCTURES)
 
-#ifndef _SYS_EVENT_H_
+#include <sys/signal.h>
+
 #include <sys/event.h>                 /* for struct klist */
-#endif
-#ifndef _SYS_NETISR_H_
 #include <net/netisr.h>                        /* for struct notifymsglist */
-#endif
 
 /*
  * Used to maintain information about processes that wish to be
@@ -59,12 +56,11 @@ struct selinfo {
 };
 #define        SI_COLL 0x0001          /* collision occurred */
 
-#ifdef _KERNEL
 struct thread;
 
 void   selrecord (struct thread *selector, struct selinfo *);
 void   selwakeup (struct selinfo *);
+
 #endif
 
-#endif /* _KERNEL || _KERNEL_STRUCTURES */
-#endif /* !_SYS_SELECT_H_ */
+#endif /* !_SYS_SELINFO_H_ */
index 98c3b34..7b0a9fd 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)socketvar.h 8.3 (Berkeley) 2/19/95
  * $FreeBSD: src/sys/sys/socketvar.h,v 1.46.2.10 2003/08/24 08:24:39 hsu Exp $
- * $DragonFly: src/sys/sys/socketvar.h,v 1.24 2006/05/21 03:43:47 dillon Exp $
+ * $DragonFly: src/sys/sys/socketvar.h,v 1.25 2006/06/10 20:00:17 dillon Exp $
  */
 
 #ifndef _SYS_SOCKETVAR_H_
@@ -44,8 +44,8 @@
 #ifndef _SYS_QUEUE_H_
 #include <sys/queue.h>                 /* for TAILQ macros */
 #endif
-#ifndef _SYS_SELECT_H_
-#include <sys/select.h>                        /* for struct selinfo */
+#ifndef _SYS_SELINFO_H_
+#include <sys/selinfo.h>               /* for struct selinfo */
 #endif
 
 #if defined(_KERNEL) || defined(_KERNEL_STRUCTURES)
index d7c9ca1..16cdc44 100644 (file)
@@ -37,7 +37,7 @@
  *
  *     @(#)tty.h       8.6 (Berkeley) 1/21/94
  * $FreeBSD: src/sys/sys/tty.h,v 1.53.2.1 2001/02/26 04:23:21 jlemon Exp $
- * $DragonFly: src/sys/sys/tty.h,v 1.8 2006/05/21 03:43:47 dillon Exp $
+ * $DragonFly: src/sys/sys/tty.h,v 1.9 2006/06/10 20:00:17 dillon Exp $
  */
 
 #ifndef _SYS_TTY_H_
@@ -46,8 +46,8 @@
 #ifndef _SYS_TERMIOS_H_
 #include <sys/termios.h>
 #endif
-#ifndef _SYS_SELECT_H_
-#include <sys/select.h>                /* For struct selinfo. */
+#ifndef _SYS_SELINFO_H_
+#include <sys/selinfo.h>
 #endif
 
 /*
index 7855977..5d97d99 100644 (file)
@@ -37,7 +37,7 @@
  *
  *     @(#)types.h     8.6 (Berkeley) 2/19/95
  * $FreeBSD: src/sys/sys/types.h,v 1.40.2.2 2001/04/21 14:53:06 ume Exp $
- * $DragonFly: src/sys/sys/types.h,v 1.13 2006/05/21 03:43:47 dillon Exp $
+ * $DragonFly: src/sys/sys/types.h,v 1.14 2006/06/10 20:00:17 dillon Exp $
  */
 
 #ifndef _SYS_TYPES_H_
@@ -181,37 +181,13 @@ typedef __time_t  time_t;
 typedef __timer_t      timer_t;
 #endif
 
-#ifndef _POSIX_SOURCE
-#define        NBBY    8               /* number of bits in a byte */
-
-/*
- * Select uses bit masks of file descriptors in longs.  These macros
- * manipulate such bit fields (the filesystem macros use chars).
- * FD_SETSIZE may be defined by the user, but the default here should
- * be enough for most uses.
- */
-#ifndef        FD_SETSIZE
-#define        FD_SETSIZE      1024
+#ifndef _SYS_SELECT_H_
+#include <sys/select.h>
 #endif
 
-typedef        unsigned long   fd_mask;
-#define        NFDBITS (sizeof(fd_mask) * NBBY)        /* bits per mask */
-
-#ifndef howmany
-#define        howmany(x, y)   (((x) + ((y) - 1)) / (y))
-#endif
-
-typedef        struct fd_set {
-       fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
-} fd_set;
-
-#define        _fdset_mask(n)  ((fd_mask)1 << ((n) % NFDBITS))
-#define        FD_SET(n, p)    ((p)->fds_bits[(n)/NFDBITS] |= _fdset_mask(n))
-#define        FD_CLR(n, p)    ((p)->fds_bits[(n)/NFDBITS] &= ~_fdset_mask(n))
-#define        FD_ISSET(n, p)  ((p)->fds_bits[(n)/NFDBITS] & _fdset_mask(n))
-#define        FD_COPY(f, t)   bcopy(f, t, sizeof(*(f)))
-#define        FD_ZERO(p)      bzero(p, sizeof(*(p)))
+#ifndef _POSIX_SOURCE
 
+#define NBBY 8         /* number of bits in a byte */
 /*
  * These declarations belong elsewhere, but are repeated here and in
  * <stdio.h> to give broken programs a better chance of working with
index 21c5e03..52cebce 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)vnode.h     8.7 (Berkeley) 2/4/94
  * $FreeBSD: src/sys/sys/vnode.h,v 1.111.2.19 2002/12/29 18:19:53 dillon Exp $
- * $DragonFly: src/sys/sys/vnode.h,v 1.59 2006/06/02 04:59:53 dillon Exp $
+ * $DragonFly: src/sys/sys/vnode.h,v 1.60 2006/06/10 20:00:17 dillon Exp $
  */
 
 #ifndef _SYS_VNODE_H_
@@ -46,8 +46,8 @@
 #ifndef _SYS_LOCK_H_
 #include <sys/lock.h>
 #endif
-#ifndef _SYS_SELECT_H_
-#include <sys/select.h>
+#ifndef _SYS_SELINFO_H_
+#include <sys/selinfo.h>
 #endif
 #ifndef _SYS_BIOTRACK_H_
 #include <sys/biotrack.h>