diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 16:47:56 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 16:47:56 +0300 |
commit | c558a99e0be506a9abdf677f0ca4490644e05fc1 (patch) | |
tree | 17aef678ad05a32ef96ce8385703cb3fe089a5c7 /sys/include/ape/select.h | |
parent | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (diff) |
Import sources from 2011-03-30 iso image - sys/include
Diffstat (limited to 'sys/include/ape/select.h')
-rwxr-xr-x | sys/include/ape/select.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/sys/include/ape/select.h b/sys/include/ape/select.h new file mode 100755 index 000000000..1f60632fb --- /dev/null +++ b/sys/include/ape/select.h @@ -0,0 +1,34 @@ +#ifndef __SELECT_H +#define __SELECT_H +#ifndef _BSD_EXTENSION + This header file is an extension to ANSI/POSIX +#endif +#pragma lib "/$M/lib/ape/libap.a" + +#ifndef _FD_SET_T +#define _FD_SET_T +/* BSD select, and adjunct types and macros */ + +/* assume 96 fds is sufficient for fdset size */ + +typedef struct fd_set { + long fds_bits[3]; +} fd_set; + +#define FD_SET(n,p) ((p)->fds_bits[(n)>>5] |= (1 << ((n) &0x1f))) +#define FD_CLR(n,p) ((p)->fds_bits[(n)>>5] &= ~(1 << ((n) &0x1f))) +#define FD_ISSET(n,p) ((p)->fds_bits[(n)>>5] & (1 << ((n) &0x1f))) +#define FD_ZERO(p) ((p)->fds_bits[0] =0, (p)->fds_bits[1] =0, (p)->fds_bits[2] =0) +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +extern int select(int, fd_set*, fd_set*, fd_set*, struct timeval *); + +#ifdef __cplusplus +} +#endif + +#endif |