21 #include "ConsoleDefines.h" 22 #include "pedigree/kernel/processor/types.h" 23 #include "pedigree/kernel/utilities/Buffer.h" 24 #include "pedigree/kernel/utilities/String.h" 28 extern const char defaultControl[MAX_CONTROL_CHAR];
30 ConsoleSlaveFile::ConsoleSlaveFile(
37 uint64_t location, uint64_t size, uintptr_t buffer,
bool bCanBlock)
40 m_Buffer.
read(reinterpret_cast<char *>(buffer), size, bCanBlock);
46 size_t endSize =
processInput(reinterpret_cast<char *>(buffer), nBytes);
52 uint64_t location, uint64_t size, uintptr_t buffer,
bool bCanBlock)
55 m_pOther->
inject(reinterpret_cast<char *>(buffer), size, bCanBlock);
virtual uint64_t writeBytewise(uint64_t location, uint64_t size, uintptr_t buffer, bool bCanBlock=true)
size_t read(T *buffer, size_t count, bool block=true)
size_t processInput(char *buf, size_t len)
Input processing.
ConsoleFile * m_pOther
Other side of the console.
virtual uint64_t readBytewise(uint64_t location, uint64_t size, uintptr_t buffer, bool bCanBlock=true)
void inject(char *buf, size_t len, bool canBlock)
inject - inject bytes into the ring buffer