]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/sys/ev.h
xnu-3789.31.2.tar.gz
[apple/xnu.git] / bsd / sys / ev.h
index 30ee688f40e5933a50209f7f37a32ae98268e94a..8000e9900aaac41525f054d013c6565efe9038e0 100644 (file)
@@ -1,16 +1,19 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ * 
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
  * 
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * 
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /* Copyright (c) 1998 Apple Computer, Inc. All rights reserved */
 
 #ifndef _SYS_EV_H_
 #define _SYS_EV_H_
 
+
 #include <sys/appleapiopts.h>
 
 #include <sys/queue.h>
+#include <sys/cdefs.h>
 
 struct eventreq {
   int      er_type;
@@ -62,21 +67,53 @@ typedef struct eventreq *er_t;
 #define EV_TIMEOUT 0x20000
 #define EV_DMASK   0xffffff00
 
-#ifdef KERNEL
-#ifdef __APPLE_API_PRIVATE
+
+#ifndef KERNEL
+
+__BEGIN_DECLS
+int    modwatch(er_t, int);
+int    watchevent(er_t, int);
+int    waitevent(er_t, struct timeval *);
+__END_DECLS
+
+#endif
+
+
+#ifdef BSD_KERNEL_PRIVATE
+
+
+
+struct eventreq32 {
+  int      er_type;
+  int      er_handle;
+  uint32_t er_data;
+  int      er_rcnt;
+  int      er_wcnt;
+  int      er_ecnt;
+  int      er_eventbits;
+};
+
+struct eventreq64 {
+  int      er_type;
+  int      er_handle;
+  user_addr_t er_data;
+  int      er_rcnt;
+  int      er_wcnt;
+  int      er_ecnt;
+  int      er_eventbits;
+};
 
 struct eventqelt {
   TAILQ_ENTRY(eventqelt)  ee_slist;
   TAILQ_ENTRY(eventqelt)  ee_plist;
-  struct eventreq  ee_req;
+  struct eventreq64  ee_req;
   struct proc *    ee_proc;
   u_int            ee_flags;
-#define EV_QUEUED 1
+#define EV_QUEUED      0x01
   u_int            ee_eventmask;
-  struct socket   *ee_sp;
 };
 
-#endif /* __APPLE_API_PRIVATE */
-#endif /* KERNEL */
+int waitevent_close(struct proc *p, struct fileproc *);
+#endif /* BSD_KERNEL_PRIVATE */
 
 #endif /* _SYS_EV_H_ */