📄 lib.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 + -