2020-01-18 09:38:21 +01:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
|
|
|
|
*
|
2021-04-22 01:24:48 -07:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-01-18 09:38:21 +01:00
|
|
|
*/
|
|
|
|
|
|
2019-02-26 13:30:57 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2023-02-26 18:43:26 +02:00
|
|
|
#include <Kernel/API/POSIX/select.h>
|
|
|
|
|
|
2022-03-06 20:50:19 +11:00
|
|
|
#define FD_ZERO(set) \
|
|
|
|
|
do { \
|
|
|
|
|
memset((set), 0, sizeof(fd_set)); \
|
|
|
|
|
} while (0)
|
2021-07-22 23:43:17 -06:00
|
|
|
#define FD_CLR(fd, set) ((set)->fds_bits[(fd / 8)] &= ~(1 << (fd) % 8))
|
|
|
|
|
#define FD_SET(fd, set) ((set)->fds_bits[(fd / 8)] |= (1 << (fd) % 8))
|
|
|
|
|
#define FD_ISSET(fd, set) ((set)->fds_bits[(fd / 8)] & (1 << (fd) % 8))
|
2019-02-26 13:30:57 +01:00
|
|
|
|
|
|
|
|
struct __fd_set {
|
2021-07-22 23:43:17 -06:00
|
|
|
unsigned char fds_bits[FD_SETSIZE / 8];
|
2019-02-26 13:30:57 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
typedef struct __fd_set fd_set;
|