3 * Copyright (C) 2009 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #include <sys/select.h>
24 void _fd_zero (fd_set
*set
)
29 int _fd_isset (int fd
, fd_set
*set
)
33 for (i
= 0; i
< set
->count
; i
++)
40 void _fd_set (int fd
, fd_set
*set
)
42 if (set
->count
< FD_SETSIZE
)
43 set
->fd
[set
->count
++] = fd
;
46 void _fd_clr (int fd
, fd_set
*set
)
50 for (i
= 0; i
< set
->count
; i
++) {
51 if (set
->fd
[i
] == fd
) {
52 while (i
< set
->count
- 1) {
53 set
->fd
[i
] = set
->fd
[i
+ 1];
63 int select (int nfds
, fd_set
*readfds
, fd_set
*writefds
, fd_set
*exceptfds
, const struct timeval
*timeout
)