Public Member Functions | |
File (const std::string &aPath, int aFlags) | |
~File () | |
const std::string & | getPath () const |
void | setPath (const std::string &aPath) |
void | setOffset (size_t aOffset) |
void | open () |
void | close () |
void | read (const uint32_t aAddr, const uint32_t aNrWords, std::vector< uint32_t > &aValues) |
void | write (const uint32_t aAddr, const std::vector< std::pair< const uint8_t *, size_t > > &aData) |
bool | haveLock () const |
void | lock () |
void | unlock () |
Private Attributes | |
std::string | mPath |
int | mFd |
int | mFlags |
bool | mLocked |
off_t | mOffset |
void * | mMmapPtr |
void * | mMmapIOPtr |
Definition at line 83 of file ProtocolMmap.hpp.
uhal::Mmap::File::File | ( | const std::string & | aPath, |
int | aFlags | ||
) |
Definition at line 76 of file ProtocolMmap.cpp.
uhal::Mmap::File::~File | ( | ) |
Definition at line 88 of file ProtocolMmap.cpp.
void uhal::Mmap::File::close | ( | ) |
Definition at line 147 of file ProtocolMmap.cpp.
References uhal::Error, uhal::Integer(), uhal::log(), MAP_SIZE, and uhal::Quote().
Referenced by uhal::Mmap::disconnect().
const std::string & uhal::Mmap::File::getPath | ( | ) | const |
Definition at line 94 of file ProtocolMmap.cpp.
Referenced by uhal::Mmap::connect(), uhal::Mmap::read(), and uhal::Mmap::write().
bool uhal::Mmap::File::haveLock | ( | ) | const |
Definition at line 247 of file ProtocolMmap.cpp.
Referenced by uhal::Mmap::connect(), and uhal::Mmap::write().
void uhal::Mmap::File::lock | ( | ) |
Definition at line 253 of file ProtocolMmap.cpp.
References uhal::Integer(), uhal::log(), and uhal::Quote().
Referenced by uhal::Mmap::write().
void uhal::Mmap::File::open | ( | ) |
Definition at line 121 of file ProtocolMmap.cpp.
References uhal::Integer(), uhal::log(), MAP_SIZE, and uhal::Quote().
void uhal::Mmap::File::read | ( | const uint32_t | aAddr, |
const uint32_t | aNrWords, | ||
std::vector< uint32_t > & | aValues | ||
) |
Definition at line 167 of file ProtocolMmap.cpp.
References uhal::Integer(), uhal::log(), MAP_SIZE, and uhal::SigBusGuard::protect().
Referenced by uhal::Mmap::connect(), and uhal::Mmap::read().
void uhal::Mmap::File::setOffset | ( | size_t | aOffset | ) |
Definition at line 106 of file ProtocolMmap.cpp.
Referenced by uhal::Mmap::Mmap().
void uhal::Mmap::File::setPath | ( | const std::string & | aPath | ) |
Definition at line 100 of file ProtocolMmap.cpp.
void uhal::Mmap::File::unlock | ( | ) |
Definition at line 264 of file ProtocolMmap.cpp.
References uhal::Integer(), uhal::log(), uhal::Quote(), and uhal::Warning.
Referenced by uhal::Mmap::dispatchExceptionHandler(), and uhal::Mmap::Flush().
void uhal::Mmap::File::write | ( | const uint32_t | aAddr, |
const std::vector< std::pair< const uint8_t *, size_t > > & | aData | ||
) |
Definition at line 191 of file ProtocolMmap.cpp.
References uhal::Integer(), uhal::log(), MAP_SIZE, and uhal::SigBusGuard::protect().
Referenced by uhal::Mmap::write().
|
private |
Definition at line 108 of file ProtocolMmap.hpp.
|
private |
Definition at line 109 of file ProtocolMmap.hpp.
|
private |
Definition at line 110 of file ProtocolMmap.hpp.
|
private |
Definition at line 113 of file ProtocolMmap.hpp.
|
private |
Definition at line 112 of file ProtocolMmap.hpp.
|
private |
Definition at line 111 of file ProtocolMmap.hpp.
|
private |
Definition at line 107 of file ProtocolMmap.hpp.