Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
ATAPIModule Class Reference

#include <atapi.hpp>

Inheritance diagram for ATAPIModule:
IOForgeBlock IOForge

Public Member Functions

 ATAPIModule ()
 
void load () override
 
void unload () override
 
- Public Member Functions inherited from IOForgeBlock
 IOForgeBlock (const char *mod)
 
template<typename T>
void foreach_by_type (ioforge_device *node, uint8_t type, T &&callback)
 
- Public Member Functions inherited from IOForge
 IOForge (const char *mod)
 

Static Public Member Functions

static ATAPIModulegetInstance ()
 
static int read (vnode_t *vnode, uintptr_t addr, void *buf, size_t count)
 
static int write (vnode_t *vnode, uintptr_t addr, void *buf, size_t count)
 
- Static Public Member Functions inherited from IOForgeBlock
static void create (const char *name, block_device_operations_t *ops, void *identifier)
 

Protected Member Functions

void probe (struct ioforge_block_device *block)
 
void identify (struct ioforge_block_device *block)
 
void read_sector_size (struct ioforge_block_device *block)
 
void build_acmd (uint8_t opcode, uint32_t lba, uint32_t sector_count, uint8_t(&acmd)[16])
 
void read_ascii (char *out, uint16_t off, uint16_t *buff, uint16_t len)
 

Additional Inherited Members

- Protected Attributes inherited from IOForge
const char * mod
 

Detailed Description

Definition at line 8 of file atapi.hpp.

Constructor & Destructor Documentation

◆ ATAPIModule()

ATAPIModule::ATAPIModule ( )

Definition at line 7 of file init.cpp.

References IOForgeBlock::IOForgeBlock().

Referenced by getInstance().

Member Function Documentation

◆ build_acmd()

void ATAPIModule::build_acmd ( uint8_t opcode,
uint32_t lba,
uint32_t sector_count,
uint8_t(&) acmd[16] )
protected

Definition at line 17 of file atapi.cpp.

◆ getInstance()

ATAPIModule * ATAPIModule::getInstance ( )
static

Definition at line 10 of file init.cpp.

References ATAPIModule(), and instance.

Referenced by read(), and write().

◆ identify()

◆ load()

void ATAPIModule::load ( )
overridevirtual

◆ probe()

void ATAPIModule::probe ( struct ioforge_block_device * block)
protected

Definition at line 45 of file atapi.cpp.

References identify().

Referenced by load().

◆ read()

int ATAPIModule::read ( vnode_t * vnode,
uintptr_t addr,
void * buf,
size_t count )
static

◆ read_ascii()

void ATAPIModule::read_ascii ( char * out,
uint16_t off,
uint16_t * buff,
uint16_t len )
protected

Definition at line 301 of file atapi.cpp.

References len, and memcopy().

Referenced by identify().

◆ read_sector_size()

void ATAPIModule::read_sector_size ( struct ioforge_block_device * block)
protected

◆ unload()

void ATAPIModule::unload ( )
overridevirtual

Implements IOForgeBlock.

Definition at line 14 of file init.cpp.

◆ write()

int ATAPIModule::write ( vnode_t * vnode,
uintptr_t addr,
void * buf,
size_t count )
static

The documentation for this class was generated from the following files: