Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
ioforge_block.h File Reference
#include "string.h"
#include <type.h>
#include <ioforge/ioforge.h>

Go to the source code of this file.

Data Structures

struct  ioforge_block_request
 
struct  ioforge_block_op
 
struct  ioforge_block_device
 

Macros

#define EINVAL   22
 
#define EROFS   20
 

Typedefs

typedef void(* ioforge_block_visitor_fn) (struct ioforge_block_device *dev, void *ctx)
 

Enumerations

enum  ioforge_block_op_type : uint16_t {
  IOFORGE_BLOCK_OP_READ = 0 , IOFORGE_BLOCK_OP_WRITE = 1 , IOFORGE_BLOCK_OP_PACKET = 2 , IOFORGE_BLOCK_OP_FLUSH = 3 ,
  IOFORGE_BLOCK_OP_IDENTIFY = 4
}
 
enum  ioforge_block_flags : uint32_t { IOFORGE_FLAG_DMA = (1 << 0) , IOFORGE_FLAG_WRITE , IOFORGE_FLAG_NODATA = (1 << 2) }
 
enum  { IOFORGE_BLOCK_TYPE_SATA = 0 , IOFORGE_BLOCK_TYPE_SATAPI , IOFORGE_BLOCK_TYPE_SEMB , IOFORGE_BLOCK_TYPE_PM }
 

Functions

void foreach_block_device_by_type (struct ioforge_device *node, uint8_t type, ioforge_block_visitor_fn callback, void *ctx)
 

Macro Definition Documentation

◆ EINVAL

#define EINVAL   22

◆ EROFS

#define EROFS   20

Definition at line 78 of file ioforge_block.h.

Referenced by ATAPIModule::write().

Typedef Documentation

◆ ioforge_block_visitor_fn

typedef void(* ioforge_block_visitor_fn) (struct ioforge_block_device *dev, void *ctx)

Definition at line 69 of file ioforge_block.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
IOFORGE_BLOCK_TYPE_SATA 
IOFORGE_BLOCK_TYPE_SATAPI 
IOFORGE_BLOCK_TYPE_SEMB 
IOFORGE_BLOCK_TYPE_PM 

Definition at line 53 of file ioforge_block.h.

◆ ioforge_block_flags

Enumerator
IOFORGE_FLAG_DMA 
IOFORGE_FLAG_WRITE 
IOFORGE_FLAG_NODATA 

Definition at line 21 of file ioforge_block.h.

◆ ioforge_block_op_type

Enumerator
IOFORGE_BLOCK_OP_READ 
IOFORGE_BLOCK_OP_WRITE 
IOFORGE_BLOCK_OP_PACKET 
IOFORGE_BLOCK_OP_FLUSH 
IOFORGE_BLOCK_OP_IDENTIFY 

Definition at line 12 of file ioforge_block.h.

Function Documentation

◆ foreach_block_device_by_type()

void foreach_block_device_by_type ( struct ioforge_device * node,
uint8_t type,
ioforge_block_visitor_fn callback,
void * ctx )

References type.

Referenced by __attribute__(), and IOForgeBlock::foreach_by_type().