The Pedigree Project
0.1
|
Public Member Functions | |
ConsolePhysicalFile (size_t nth, File *pTerminal, String consoleName, Filesystem *pFs) | |
virtual uint64_t | readBytewise (uint64_t location, uint64_t size, uintptr_t buffer, bool bCanBlock=true) |
virtual uint64_t | writeBytewise (uint64_t location, uint64_t size, uintptr_t buffer, bool bCanBlock=true) |
virtual bool | isMaster () |
virtual char | getLast () |
virtual size_t | getPhysicalConsoleNumber () const |
virtual int | select (bool bWriting, int timeout) |
select - check and optionally for a particular state. | |
Public Member Functions inherited from ConsoleFile | |
ConsoleFile (size_t consoleNumber, String consoleName, Filesystem *pFs) | |
void | setEvent (Event *e) |
Event * | getEvent () const |
void | getControlCharacters (char *out) |
Grabs the current array of control characters. | |
virtual size_t | getBlockSize () const |
size_t | getConsoleNumber () const |
virtual void | eventComplete () |
Public Member Functions inherited from File | |
File () | |
File (const String &name, Time::Timestamp accessedTime, Time::Timestamp modifiedTime, Time::Timestamp creationTime, uintptr_t inode, class Filesystem *pFs, size_t size, File *pParent) | |
virtual | ~File () |
virtual uint64_t | read (uint64_t location, uint64_t size, uintptr_t buffer, bool bCanBlock=true) final |
virtual uint64_t | write (uint64_t location, uint64_t size, uintptr_t buffer, bool bCanBlock=true) final |
virtual physical_uintptr_t | getPhysicalPage (size_t offset) |
virtual void | returnPhysicalPage (size_t offset) |
virtual void | sync () |
virtual void | sync (size_t offset, bool async) |
Time::Timestamp | getCreationTime () |
void | setCreationTime (Time::Timestamp t) |
Time::Timestamp | getAccessedTime () |
void | setAccessedTime (Time::Timestamp t) |
Time::Timestamp | getModifiedTime () |
void | setModifiedTime (Time::Timestamp t) |
String | getName () const |
void | getName (String &s) const |
virtual String | getFullPath (bool bWithLabel=true) |
virtual void | truncate () |
size_t | getSize () |
void | setSize (size_t sz) |
virtual bool | isSymlink () |
virtual bool | isDirectory () |
virtual bool | isPipe () const |
virtual bool | isFifo () const |
virtual bool | isSocket () const |
uintptr_t | getInode () const |
virtual void | setInode (uintptr_t inode) |
Filesystem * | getFilesystem () const |
void | setFilesystem (Filesystem *pFs) |
virtual void | fileAttributeChanged () |
virtual void | increaseRefCount (bool bIsWriter) |
virtual void | decreaseRefCount (bool bIsWriter) |
void | setPermissions (uint32_t perms) |
uint32_t | getPermissions () const |
void | setUid (size_t uid) |
size_t | getUid () const |
void | setGid (size_t gid) |
size_t | getGid () const |
File * | getParent () const |
void | monitor (Thread *pThread, Event *pEvent) |
void | cullMonitorTargets (Thread *pThread) |
virtual bool | supports (const size_t command) const |
virtual int | command (const size_t command, void *buffer) |
void | enableDirect () |
void | disableDirect () |
virtual void | preallocate (size_t expectedSize, bool zero=true) |
virtual File * | open () |
Private Member Functions | |
virtual void | performInject (char *buf, size_t len, bool canBlock) |
Private Attributes | |
File * | m_pTerminal |
Buffer< char > | m_ProcessedInput |
size_t | m_TerminalNumber |
Additional Inherited Members | |
Protected Member Functions inherited from ConsoleFile | |
void | inject (char *buf, size_t len, bool canBlock) |
inject - inject bytes into the ring buffer | |
virtual void | performEventTrigger (char cause) |
size_t | processInput (char *buf, size_t len) |
Input processing. | |
void | inputLineDiscipline (char *buf, size_t len, size_t flags=~0U, const char *controlChars=0) |
Input line discipline. More... | |
Protected Member Functions inherited from File | |
virtual uintptr_t | readBlock (uint64_t location) |
virtual void | writeBlock (uint64_t location, uintptr_t addr) |
virtual void | extend (size_t newSize) |
virtual void | extend (size_t newSize, uint64_t location, uint64_t size) |
void | dataChanged () |
void | getFilesystemLabel (HugeStaticString &s) |
virtual void | pinBlock (uint64_t location) |
virtual void | unpinBlock (uint64_t location) |
void | evict (uint64_t location) |
void | setPermissionsOnly (uint32_t perms) |
void | setUidOnly (size_t uid) |
void | setGidOnly (size_t gid) |
Static Protected Member Functions inherited from ConsoleFile | |
static size_t | outputLineDiscipline (char *buf, size_t len, size_t maxSz, size_t flags=0) |
Output line discipline. | |
Static Protected Member Functions inherited from File | |
static void | writeCallback (CacheConstants::CallbackCause cause, uintptr_t loc, uintptr_t page, void *meta) |
Protected Attributes inherited from ConsoleFile | |
ConsoleFile * | m_pOther |
Other side of the console. | |
size_t | m_Flags |
char | m_ControlChars [MAX_CONTROL_CHAR] |
unsigned short | m_Rows |
unsigned short | m_Cols |
char | m_LineBuffer [LINEBUFFER_MAXIMUM] |
Input line buffer. | |
size_t | m_LineBufferSize |
Size of the input line buffer. | |
size_t | m_LineBufferFirstNewline |
Location of the first newline in the line buffer. ~0 if none. | |
char | m_Last |
Character that triggered an event. | |
Buffer< char > | m_Buffer |
Protected Attributes inherited from File | |
String | m_Name |
Time::Timestamp | m_AccessedTime |
Time::Timestamp | m_ModifiedTime |
Time::Timestamp | m_CreationTime |
uintptr_t | m_Inode |
class Filesystem * | m_pFilesystem |
size_t | m_Size |
File * | m_pParent |
size_t | m_nWriters |
size_t | m_nReaders |
size_t | m_Uid |
size_t | m_Gid |
uint32_t | m_Permissions |
HashTable< DataCacheKey, uintptr_t > | m_DataCache |
bool | m_bDirect |
Cache | m_FillCache |
Mutex | m_Lock |
List< MonitorTarget * > | m_MonitorTargets |
|
inlinevirtual |
getLast - get the most recent character we handled. This is to be used by event handlers, which will be called when a special character is handled. The event handler can then call this function to identify the character and perform the relevant processing it needs to.
Reimplemented from ConsoleFile.
Definition at line 284 of file Console.h.
References ConsoleFile::performInject(), and ConsoleFile::select().
|
privatevirtual |
Override to permit different injection semantics. The default is to call m_pOther->inject.
Reimplemented from ConsoleFile.
Definition at line 102 of file ConsolePhysical.cc.
References File::dataChanged().
|
virtual |
Reads bytes from the file, if isBytewise() == true.
Reimplemented from File.
Definition at line 37 of file ConsolePhysical.cc.
References Buffer< T, allowShortOperation >::canRead(), ConsoleFile::inputLineDiscipline(), Buffer< T, allowShortOperation >::read(), and File::write().
|
virtual |
Writes bytes to the file, if isBytewise() == true.
Reimplemented from File.
Definition at line 82 of file ConsolePhysical.cc.
References ConsoleFile::outputLineDiscipline().