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

📄 lib.h

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 H
字号:
#include <sys/types.h>#include <sys/limits.h>#include <fcntl.h>#include <ureg.h>typedef struct Ureg Ureg;/* mux buf for selecting (see _buf.c) */enum {	READMAX = 8192,			/* read at most this much with _READ */	PERFDMAX = 2*READMAX,		/* stop _READing an fd when it has this much */	INITBUFS = 4,			/* allow enough room for this many PERFDMAX */};typedef struct Muxbuf {	int n;				/* # unprocessed chars in buf */	unsigned char*	putnext;	/* place for copy process to put next data */	unsigned char*	getnext;	/* place for parent process to get next data */	char		fd;		/* fd for which this is a buffer */	unsigned char	eof;		/* true if eof after current data exhausted */	unsigned char	roomwait;	/* true if copy process is waiting for room */	unsigned char	datawait;	/* true if parent process is waiting for data */	int		copypid;	/* pid of copyproc */	unsigned char	data[PERFDMAX];} Muxbuf;/* be sure to change _fdinfo[] init in _fdinfo if you change this */typedef struct Fdinfo{	unsigned long	flags;	unsigned long	oflags;	uid_t	uid;	gid_t	gid;		char		*name;	/*	 * the following is used if flags&FD_BUFFERED	 */	Muxbuf	*buf;	/* holds buffered data and state */} Fdinfo;/* #define FD_CLOEXEC 1 is in fcntl.h */#define FD_ISOPEN	0x2#define FD_BUFFERED	0x4#define FD_BUFFEREDX	0x8#define FD_ISTTY	0x20#define MAXSIG SIGUSR2extern Fdinfo	_fdinfo[];extern int	_finishing;extern int	_sessleader;extern void	(*_sighdlr[])(int, char*, Ureg*);extern char	*_sigstring(int);extern int	_stringsig(char *);extern long	_psigblocked;extern int	_startbuf(int);extern int	_selbuf(int);extern void	_closebuf(int);extern int _readbuf(int, void*, int, int);extern void	_detachbuf(void);extern void	_finish(int, char *);extern char	*_ultoa(char *, unsigned long);extern int	_notehandler(void *, char *);extern void	_notetramp(int, void (*)(int, char*, Ureg*), Ureg*);extern void	_syserrno(void);extern int	_getpw(int *, char **, char **);extern int _isatty(int);extern void _fdinit(char*, char*);void checkbug(char *, int);

⌨️ 快捷键说明

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