Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
ioforge_int_pipe.hpp
Go to the documentation of this file.
1#ifndef __IOFORGE__IOFORGE_INT_PIPE_HPP__
2#define __IOFORGE__IOFORGE_INT_PIPE_HPP__
3
4#include <type.h>
5
6using InterruptCallback = void (*)(const uint8_t* data, size_t len);
7
11 uint8_t speed; // 0=Full, 1=Low, 2=High/Super
12 uint16_t interval_ms; // polling interval
14};
15
17 public:
18 virtual ~USBInterruptPipe() = default;
19
20 // Mulai polling — callback dipanggil tiap ada data
21 virtual bool
23
24 // Hentikan polling dan bebaskan resource
25 virtual void close() = 0;
26
27 // // Dipanggil dari interrupt handler controller
28 virtual void on_complete(uint8_t* buf, size_t len, bool error) = 0;
29};
30
31#endif // __IOFORGE__IOFORGE_INT_PIPE_HPP__
virtual void on_complete(uint8_t *buf, size_t len, bool error)=0
virtual ~USBInterruptPipe()=default
virtual void close()=0
virtual bool open(const USBInterruptPipeDesc &desc, InterruptCallback cb)=0
struct fs_data data
Definition filesystem.h:1
void(*)(const uint8_t *data, size_t len) InterruptCallback
size_t len
Definition oct2bin.h:7
unsigned short uint16_t
Definition type.h:13
unsigned char uint8_t
Definition type.h:7