⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 select.h

📁 Minix3.11的源码。[MINIX 3是一个为高可靠性应用而设计的自由且简洁的类UNIX系统。]
💻 H
字号:
#ifndef _SYS_SELECT_H#define _SYS_SELECT_H 1#ifndef _POSIX_SOURCE#define _POSIX_SOURCE 1#endif#include <sys/time.h>#include <sys/types.h>#include <limits.h>#include <string.h>/* Use this datatype as basic storage unit in fd_set */typedef u32_t fd_mask;	/* This many bits fit in an fd_set word. */#define _FDSETBITSPERWORD	(sizeof(fd_mask)*8)/* Bit manipulation macros */#define _FD_BITMASK(b)	(1L << ((b) % _FDSETBITSPERWORD))#define _FD_BITWORD(b)	((b)/_FDSETBITSPERWORD)/* Default FD_SETSIZE is OPEN_MAX. */#ifndef FD_SETSIZE#define FD_SETSIZE		OPEN_MAX#endif/* We want to store FD_SETSIZE bits. */#define _FDSETWORDS	((FD_SETSIZE+_FDSETBITSPERWORD-1)/_FDSETBITSPERWORD)typedef struct {	fd_mask	fds_bits[_FDSETWORDS];} fd_set;_PROTOTYPE( int select, (int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout) );#define FD_ZERO(s) do { int _i; for(_i = 0; _i < _FDSETWORDS; _i++) { (s)->fds_bits[_i] = 0; } } while(0)#define FD_SET(f, s) do { (s)->fds_bits[_FD_BITWORD(f)] |= _FD_BITMASK(f); } while(0)#define FD_CLR(f, s) do { (s)->fds_bits[_FD_BITWORD(f)] &= ~(_FD_BITMASK(f)); } while(0)#define FD_ISSET(f, s) ((s)->fds_bits[_FD_BITWORD(f)] & _FD_BITMASK(f))/* possible select() operation types; read, write, errors *//* (FS/driver internal use only) */#define SEL_RD		(1 << 0)#define SEL_WR		(1 << 1)#define SEL_ERR		(1 << 2)#define SEL_NOTIFY	(1 << 3) /* not a real select operation */#endif /* _SYS_SELECT_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -