File: select.h

package info (click to toggle)
dietlibc 0.32-5.1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 9,116 kB
  • ctags: 19,753
  • sloc: ansic: 54,723; asm: 11,274; cpp: 1,835; makefile: 683; sh: 104; perl: 62
file content (34 lines) | stat: -rw-r--r-- 960 bytes parent folder | download | duplicates (16)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef _SYS_SELECT_H
#define _SYS_SELECT_H

#include <string.h>
#include <signal.h>

__BEGIN_DECLS

typedef long int fd_mask;

#define NFDBITS	(8 * sizeof(unsigned long))
#define FD_SETSIZE	1024
#define __FDSET_LONGS	(FD_SETSIZE/NFDBITS)
#define __FDELT(d)	((d) / NFDBITS)
#define __FDMASK(d)	(1UL << ((d) % NFDBITS))

typedef struct {
  unsigned long fds_bits [__FDSET_LONGS];
} fd_set;

#define FD_SET(d, set)	((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
#define FD_CLR(d, set)	((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
#define FD_ISSET(d, set)	(((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0)
#define FD_ZERO(set)	\
  ((void) memset ((void*) (set), 0, sizeof (fd_set)))

int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout) __THROW;

int pselect(int n, fd_set* readfds, fd_set* writefds, fd_set* exceptfds,
            const struct timespec *timeout, const sigset_t *sigmask) __THROW;

__END_DECLS

#endif