haiku/headers/os/drivers/Select.h
Ingo Weinhold 636bfc08ae * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of
vfs_select.h, respectively moved most of it into the new kernel
  private header wait_for_objects.h.
* Added new experimental API functions wait_for_objects[_etc](). They
  work pretty much like poll(), but also for semaphores, ports, and
  threads.
* Removed the "ref" parameter from notify_select_events() and the
  select_sync_pool functions as well as from fd_ops::fd_[de]select(). It
  is no longer needed. The FS interface select() hook still has it,
  though -- the VFS will always pass 0.
* de]select_fd() take a select_info* instead of a select_sync* + ref
  pair, now. Added respective functions for semaphores, ports, and
  threads.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 19:47:31 +00:00

41 lines
677 B
C

/* File System and Drivers select support
**
** Distributed under the terms of the Haiku License.
*/
#ifndef _DRIVERS_SELECT_H
#define _DRIVERS_SELECT_H
#include <SupportDefs.h>
struct selectsync;
typedef struct selectsync selectsync;
enum select_events {
B_SELECT_READ = 1, // standard select() support
B_SELECT_WRITE,
B_SELECT_ERROR,
B_SELECT_PRI_READ, // additional poll() support
B_SELECT_PRI_WRITE,
B_SELECT_HIGH_PRI_READ,
B_SELECT_HIGH_PRI_WRITE,
B_SELECT_DISCONNECTED
};
#ifdef __cplusplus
extern "C" {
#endif
extern status_t notify_select_event(struct selectsync *sync, uint8 event);
#ifdef __cplusplus
}
#endif
#endif /* _DRIVERS_SELECT_H */