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

📄 req.h

📁 南京航空航天大学开发的一个类Unix和Linux的操作系统,好不好看看就知道了,
💻 H
字号:
#ifndef	_DEVBLKREQ_H#define _DEVBLKREQ_H#include <kern/sched.h>#include <lib/queue.h>#include <fs/buf.h>#include <mm/allockm.h>struct req_t {	CHAIN(,req_t);	int cmd;	dev_t dev;	int bsize;	/* all buf in this req must have same blk size */	int sectperblk;	bno_t startsect, nsect;	Q(req,buf_t) bufq;	buf_t * curbuf, * endbuf;	char * cursect, * endsect;	static int lt(req_t * a, req_t * b)	{		return a->startsect < b->startsect;	}	req_t(int rw, buf_t * b);	~req_t();	void setcur();	int merge(int rw, buf_t * b);	void error(int nsect_);	void error() { error(nsect); }	void advance(int nsect_);	int more() { return cursect != NULL; };	private: void nextsect(int state);};QUEUE(,req_t);typedef Q(,req_t) reqq_t;extern req_t * newreq(int rw, buf_t * b);extern void zapreq(req_t * r);struct scanreq_t {	int nsect;	buf_t * curbuf, * endbuf;	char * cursect, * endsect;	scanreq_t(req_t * req, int nsect_);	int more() { return (nsect > 0) && cursect; };	void next();};#define foreachsect(sect, req, nsect) \for (scanreq_t __scanreq(req, nsect); \     sect = __scanreq.cursect, __scanreq.more(); \     __scanreq.next())#endif

⌨️ 快捷键说明

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