iotrack.h
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C头文件 代码 · 共 70 行
H
70 行
typedef struct MLock MLock;typedef struct Iosect Iosect;typedef struct Iotrack Iotrack;typedef struct Track Track;typedef struct Xfs Xfs;struct MLock{ char key;};struct Iosect{ Iosect *next; short flags; MLock lock; Iotrack *t; uchar * iobuf;};struct Iotrack{ short flags; Xfs * xf; long addr; Iotrack *next; /* in lru list */ Iotrack *prev; Iotrack *hnext; /* in hash list */ Iotrack *hprev; MLock lock; int ref; Track *tp;};enum{ Sectorsize = 512, Sect2trk = 9, Trksize = Sectorsize*Sect2trk};struct Track{ Iosect *p[Sect2trk]; uchar buf[Sect2trk][Sectorsize];};#define BMOD (1<<0)#define BIMM (1<<1)#define BSTALE (1<<2)Iosect* getiosect(Xfs*, long, int);Iosect* getosect(Xfs*, long);Iosect* getsect(Xfs*, long);Iosect* newsect(void);Iotrack* getiotrack(Xfs*, long);int canmlock(MLock*);int devcheck(Xfs*);int devread(Xfs*, long, void*, long);int devwrite(Xfs*, long, void*, long);int tread(Iotrack*);int twrite(Iotrack*);void freesect(Iosect*);void iotrack_init(void);void mlock(MLock*);void purgebuf(Xfs*);void purgetrack(Iotrack*);void putsect(Iosect*);void sync(void);void unmlock(MLock*);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?