mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-04 14:08:37 +00:00
[orbis-kernel] WIP new io device implementation
Not used yet
This commit is contained in:
parent
679bf94b5c
commit
855b7ab75c
3 changed files with 111 additions and 0 deletions
29
orbis-kernel/include/orbis/uio.hpp
Normal file
29
orbis-kernel/include/orbis/uio.hpp
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace orbis {
|
||||
struct IoVec {
|
||||
void *base; // Base address
|
||||
std::uint64_t len; // Length
|
||||
};
|
||||
|
||||
enum class UioRw : std::uint8_t { Read, Write };
|
||||
|
||||
// Segment flag values
|
||||
enum class UioSeg : std::uint8_t {
|
||||
UserSpace, // from user data space
|
||||
SysSpace, // from system space
|
||||
NoCopy // don't copy, already in object
|
||||
};
|
||||
|
||||
struct Uio {
|
||||
std::uint64_t offset;
|
||||
IoVec *iov;
|
||||
std::int32_t iovcnt;
|
||||
std::int32_t resid;
|
||||
UioSeg segflg;
|
||||
UioRw rw;
|
||||
void *td;
|
||||
};
|
||||
} // namespace orbis
|
||||
Loading…
Add table
Add a link
Reference in a new issue