The Pedigree Project
0.1
|
Public Member Functions | |
ConsoleMasterFile (size_t consoleNumber, 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) |
void | setOther (ConsoleFile *pOther) |
virtual bool | isMaster () |
Public Member Functions inherited from ConsoleFile | |
ConsoleFile (size_t consoleNumber, String consoleName, Filesystem *pFs) | |
void | setEvent (Event *e) |
virtual char | getLast () |
Event * | getEvent () const |
void | getControlCharacters (char *out) |
Grabs the current array of control characters. | |
virtual size_t | getBlockSize () const |
size_t | getConsoleNumber () const |
virtual size_t | getPhysicalConsoleNumber () 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 () |
Public Attributes | |
bool | bLocked |
Is this master locked (ie, already opened)? | |
Process * | pLocker |
Additional Inherited Members | |
Protected Member Functions inherited from ConsoleFile | |
virtual int | select (bool bWriting, int timeout) |
select - check and optionally for a particular state. | |
void | inject (char *buf, size_t len, bool canBlock) |
inject - inject bytes into the ring buffer | |
virtual void | performInject (char *buf, size_t len, bool canBlock) |
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 |
|
virtual |
Reads bytes from the file, if isBytewise() == true.
Reimplemented from File.
Definition at line 33 of file ConsoleMaster.cc.
References ConsoleFile::m_pOther, ConsoleFile::outputLineDiscipline(), and Buffer< T, allowShortOperation >::read().
|
virtual |
Writes bytes to the file, if isBytewise() == true.
Reimplemented from File.
Definition at line 91 of file ConsoleMaster.cc.
References Buffer< T, allowShortOperation >::canWrite(), ConsoleFile::inputLineDiscipline(), and ConsoleFile::m_pOther.
Process* ConsoleMasterFile::pLocker |
Who holds the lock on the console? (ie, same process can 'lock' twice...)
Definition at line 222 of file Console.h.
Referenced by ConsoleManager::lockConsole(), and ConsoleManager::unlockConsole().