🆕 块设备驱动的一些数据结构

This commit is contained in:
fslongjin 2022-03-25 16:45:52 +08:00
parent f4cd6f8811
commit 2f3f8868ae

View File

@ -0,0 +1,39 @@
#pragma once
#include "../../common/glib.h"
#include "stdint.h"
struct block_device_operation
{
long (*open)();
long (*close)();
long (*ioctl)(long cmd, long arg);
long (*transfer)(long cmd, ul LBA_start, ul count, uchar* buffer);
};
/**
* @brief packet
*
*/
struct block_device_request_packet
{
uchar cmd;
uint32_t LBA_start;
uint32_t count;
uchar *buffer;
void (*end_handler)(ul num, ul arg);
struct List list;
};
/**
* @brief
*
*/
struct block_device_request_queue
{
struct List queue_list;
struct block_device_request_packet * entry;
ul request_count;
};