driver.h

来自「Jazmyn is a 32-bit, protected mode, mult」· C头文件 代码 · 共 62 行

H
62
字号
#ifndef _DRIVER_H
#define _DRIVER_H

#define FLOPPY_DISK     1
#define HARD_DISK       2
#define CD_ROM		3
#define CD_WRITER       4

#define CMOS_READ(addr) ({ \
outportb(0x70,addr); \
inportb(0x71); \
})

class process;

class driver
{
protected:
	char	*name;
public:
        driver  (char *name);
	~driver	();
	void	enable_irq(int irq);
	void	disable_irq(int irq);
};

struct dreq
{
	int	opcode;
	process	*proc;
	uint	start;
	uint	num;
	void	*buf;
	int *finished;
};

struct fdreq:public dreq
{
	byte	n_cyl;
	byte	n_head;
	byte	s_sec;
	byte	num_sec;
};

struct hdreq:public dreq
{
	byte	dev;
	uint	n_start;
	uint	n_num;
};

class disk_driver: public driver
{
protected:
	int		disk_type;
public:
        disk_driver     (char *name,int type);
	~disk_driver	();
};

#endif

⌨️ 快捷键说明

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