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

📄 buf.h

📁 早期freebsd实现
💻 H
字号:
#define FLAG(bp)	(bp)->b_data[0]#define ISEMPTY(bp)	((bp)->b_top == (bp)->b_bot)#define RESET(bp)	(bp)->b_top = (bp)->b_bot = (bp)->b_data#define QEMPTY(qp)	((qp)->b_next == (struct buf *)qp)#define SIZE(bp)	((bp)->b_top - (bp)->b_bot)#define GETCHAR(bp)	(*(bp)->b_bot++ & 0377)#define PUTCHAR(c, bp)	*(bp)->b_top++ = c#define UNGETC(c, bp)	*--(bp)->b_bot = c#define BUFCOPY(f, t)	bcopy((f)->b_bot, (t)->b_top, SIZE(f)); (t)->b_top+=SIZE(f);#define STRTOBUF(s, bp)	{ register char *sp=s; register int l=strlen(s); \			bcopy(s, (bp)->b_top, l); (bp)->b_top += l;}struct	bufhd {		/* buffer header; b_prev and b_next must be first */	struct	buf *b_prev, *b_next;	short	b_count;	/* total number of bytes of data queued */};struct	buf {	struct	buf *b_prev, *b_next;	/* previous and next buffers */	char	*b_bot;		/* start of useful data */	char	*b_top;		/* current position in data */	char	b_data[1];	/* usually more than 1 byte */} ;struct	buf *getbuf(), *FillBuf();

⌨️ 快捷键说明

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