?? dev.h
字號:
#ifndef _DEVBLKDEV_H#define _DEVBLKDEV_H#include <dev/lib/root.h>#include <kern/sched.h>#include "req.h"#define SECTSIZE 512#define SECTBITS 9#define MAXBUFPERIO 32struct buf_t;struct blkdev_t { sema_t reqsema; reqq_t reqq; /* requeset queue */ req_t * curreq; /* current request */ blkdev_t() : reqsema(MAXBUFPERIO * 2) { curreq = NULL; } virtual ~blkdev_t(); void addreq(int rw, buf_t * b); void doreq(req_t * r); void doreq(); void endcurreq(); virtual void docurreq() = 0; virtual int open(int flags, inode_t * inode, fdes_t ** fdes); virtual int ioctl(dev_t dev, int cmd, ulong arg) = 0; virtual ulong getsize(dev_t dev) = 0;}; extern blkdev_t * blkdevvec[MAXBLKDEV];extern inline blkdev_t * getblkdev(dev_t dev){ return (major(dev) < MAXBLKDEV) ? blkdevvec[major(dev)] : NULL;}struct inode_t;struct fdes_t;extern int openblkfd(int flags, inode_t * inode, fdes_t ** fdes);#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -