Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
atapi.hpp
Go to the documentation of this file.
1#ifndef __USB_HID__HID_HPP__
2#define __USB_HID__HID_HPP__
3
6#include <vfs/filesystem.h>
7
8class ATAPIModule : public IOForgeBlock {
9 public:
11 void load() override;
12 void unload() override;
13
14 static ATAPIModule* getInstance();
15 static int read(vnode_t* vnode, uintptr_t addr, void* buf, size_t count);
16 static int write(vnode_t* vnode, uintptr_t addr, void* buf, size_t count);
17
18 protected:
19 void probe(struct ioforge_block_device* block);
20 void identify(struct ioforge_block_device* block);
21 void read_sector_size(struct ioforge_block_device* block);
22 void build_acmd(uint8_t opcode, uint32_t lba, uint32_t sector_count,
23 uint8_t (&acmd)[16]);
24
25 void read_ascii(char* out, uint16_t off, uint16_t* buff, uint16_t len);
26
27 private:
28};
29
30#endif //__USB_HID__HID_HPP__
int count
Definition cache.h:2
void identify(struct ioforge_block_device *block)
Definition atapi.cpp:79
void load() override
Definition init.cpp:17
static int read(vnode_t *vnode, uintptr_t addr, void *buf, size_t count)
Definition atapi.cpp:170
void read_sector_size(struct ioforge_block_device *block)
Definition atapi.cpp:47
void unload() override
Definition init.cpp:14
ATAPIModule()
Definition init.cpp:7
void read_ascii(char *out, uint16_t off, uint16_t *buff, uint16_t len)
Definition atapi.cpp:301
static ATAPIModule * getInstance()
Definition init.cpp:10
void build_acmd(uint8_t opcode, uint32_t lba, uint32_t sector_count, uint8_t(&acmd)[16])
Definition atapi.cpp:17
void probe(struct ioforge_block_device *block)
Definition atapi.cpp:45
static int write(vnode_t *vnode, uintptr_t addr, void *buf, size_t count)
Definition atapi.cpp:239
IOForgeBlock(const char *mod)
volatile uint64_t addr
Definition e1000.hpp:0
struct vnode vnode_t
Definition filesystem.h:10
size_t len
Definition oct2bin.h:7
Definition vnode.h:59
unsigned short uint16_t
Definition type.h:13
unsigned int uint32_t
Definition type.h:19
unsigned long uintptr_t
Definition type.h:73
unsigned char uint8_t
Definition type.h:7