636bfc08ae
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
41 lines
677 B
C
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 */
|