ul_buffer.h

来自「类似Linux操作系统0.11版文件系统的文件系统设计和Windows下的操作程」· C头文件 代码 · 共 31 行

H
31
字号
/*
 * UNIX Like (UL)文件系统高速缓冲模块
 */
#pragma once

// 缓冲区头数据结构
struct buffer_head
{
	char *b_data;					// 数据指针
	unsigned long b_blocknr;		// 块号
	unsigned short b_dev;			// 数据源的设备号
	unsigned char b_uptodate;		// 更新标志:表示数据是否已更新
	unsigned char b_dirt;			// 修改标志:0 未修改,1 已修改.
	unsigned char b_count;			// 使用的用户数
	unsigned char b_lock;			// 缓冲区是否被锁定 0 - ok, 1 -locked
	/*
	struct task_struct *b_wait;		// 指向等待该缓冲区解锁的任务
	struct buffer_head *b_prev;		// hash 队列上前一块(这四个指针用于缓冲区的管理)
	struct buffer_head *b_next;		// hash 队列上下一块
	struct buffer_head *b_prev_free;// 空闲表上前一块
	struct buffer_head *b_next_free;// 空闲表上下一块
	*/
};

extern struct buffer_head start_buffer[];

extern void buffer_init ();
extern struct buffer_head *bread (int dev, int block);
extern void brelse (struct buffer_head *buf);
extern struct buffer_head * get_hash_table (int dev, int block);
extern struct buffer_head * getblk (int dev, int block);

⌨️ 快捷键说明

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