F´ Flight Software - C/C++ Documentation
NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
|
Namespaces | |
FileSystem | |
ValidateFile | |
Classes | |
class | BareQueueHandle |
class | BareTaskHandle |
class | BufferQueue |
A generic buffer queue data structure. More... | |
class | Directory |
class | Event |
struct | FIFOQueue |
class | File |
class | InterruptLock |
class | IntervalTimer |
class | IPCQueue |
class | LocklessQueue |
class | Log |
class | MaxHeap |
A stable max heap data structure. More... | |
class | Mem |
class | Mutex |
struct | PriorityQueue |
class | Queue |
class | QueueHandle |
class | QueueRegistry |
class | QueueString |
class | Task |
forward declaration More... | |
class | TaskId |
class | TaskLock |
class | TaskRegistry |
class | TaskRunner |
class | TaskString |
class | ValidatedFile |
A validated file. More... | |
class | WatchdogTimer |
Typedefs | |
typedef bool(* | OpenInterceptor) (Os::File::Status &status, const char *fileName, Os::File::Mode mode, void *ptr) |
typedef bool(* | ReadInterceptor) (Os::File::Status &status, void *buffer, NATIVE_INT_TYPE &size, bool waitForFull, void *ptr) |
typedef bool(* | WriteInterceptor) (Os::File::Status &status, const void *buffer, NATIVE_INT_TYPE &size, bool waitForDone, void *ptr) |
typedef bool(* | SeekInterceptor) (Os::File::Status &status, NATIVE_INT_TYPE offset, bool absolute, void *ptr) |
Enumerations | |
enum | StatusFileType { FileType, HashFileType } |
Variables | |
static ReadInterceptor | readInterceptor = 0 |
static void * | readInterceptorPtr = 0 |
static WriteInterceptor | writeInterceptor = 0 |
static void * | writeInterceptorPtr = 0 |
static OpenInterceptor | openInterceptor = 0 |
static void * | openInterceptorPtr = 0 |
static SeekInterceptor | seekInterceptor = 0 |
static void * | seekInterceptorPtr = 0 |
static NATIVE_INT_TYPE | lastError = 0 |
Interval timer provides timing over a set interval to the caller. It is one of the core Os package supplied items.
Contains the common functions for interval timer. This set of functions makes no assumption on the format of the RawTime objects and thus it operates through functions that abstract that implementation away, or it is working on the raw values, as raw values.
Note: If the RawTime object is using U32 upper to store seconds and U32 lower to store nano seconds, then X86/IntervalTimer.cpp can be used, and the implementor need only fill in the getRawTime function for the specific OS.
File: Os/Log.hpp Description: this file provides an implementation of the Fw::Logger class that is backed by the Os abstraction layer.
File: Os/LogPrintf.cpp Description: an implementation on the Os::Log abstraction that routes log messages into standard printf calls.
The Posix implementation of the interval timer shares the same raw setup as other X86 implementations. That is: the lower U32 of the RawTime is nano-seconds, and the upper U32 of RawTime object is seconds. Thus only the "getRawTime" function differes from the base X86 version of this file.
Queues are used internally to F prime in order to support the messaging between components. The Queue class is used to abstract away from the standard OS-based queue, allowing F prime support multiple OSes in a consistent way.
Like most items in the OS package, the implementation is done in two parts. One part is the file QueueCommon.cpp
. It contains the shared code for queues regardless of the OS. The other is a .cpp file containing the OS specific backends for defined functions. (i.e. Posix/Queue.cpp).
This file supports the core functions of the IntervalTimer for X86 implementations that support the following specification for the "RawTime" object:
RawTime.lower = nanoseconds of time RawTime.upper = seconds of time.
Any implementation that fills "RawTime" via this specification can use these basic implementations.
Note: this file is cloned from the original Linux implementation.
typedef bool(* Os::OpenInterceptor) (Os::File::Status &status, const char *fileName, Os::File::Mode mode, void *ptr) |
Definition at line 24 of file FileStubs.hpp.
typedef bool(* Os::ReadInterceptor) (Os::File::Status &status, void *buffer, NATIVE_INT_TYPE &size, bool waitForFull, void *ptr) |
Definition at line 25 of file FileStubs.hpp.
typedef bool(* Os::SeekInterceptor) (Os::File::Status &status, NATIVE_INT_TYPE offset, bool absolute, void *ptr) |
Definition at line 27 of file FileStubs.hpp.
typedef bool(* Os::WriteInterceptor) (Os::File::Status &status, const void *buffer, NATIVE_INT_TYPE &size, bool waitForDone, void *ptr) |
Definition at line 26 of file FileStubs.hpp.
enum Os::StatusFileType |
Enumerator | |
---|---|
FileType | |
HashFileType |
Definition at line 117 of file ValidateFileCommon.cpp.
Queue::QueueStatus Os::bareReceiveBlock | ( | BareQueueHandle & | handle, |
U8 * | buffer, | ||
NATIVE_INT_TYPE | capacity, | ||
NATIVE_INT_TYPE & | actualSize, | ||
NATIVE_INT_TYPE & | priority | ||
) |
Queue::QueueStatus Os::bareReceiveNonBlock | ( | BareQueueHandle & | handle, |
U8 * | buffer, | ||
NATIVE_INT_TYPE | capacity, | ||
NATIVE_INT_TYPE & | actualSize, | ||
NATIVE_INT_TYPE & | priority | ||
) |
Queue::QueueStatus Os::bareSendBlock | ( | BareQueueHandle & | handle, |
const U8 * | buffer, | ||
NATIVE_INT_TYPE | size, | ||
NATIVE_INT_TYPE | priority | ||
) |
Queue::QueueStatus Os::bareSendNonBlock | ( | BareQueueHandle & | handle, |
const U8 * | buffer, | ||
NATIVE_INT_TYPE | size, | ||
NATIVE_INT_TYPE | priority | ||
) |
NATIVE_UINT_TYPE Os::checkoutIndex | ( | PriorityQueue * | pQueue, |
NATIVE_UINT_TYPE | depth | ||
) |
Definition at line 43 of file PriorityBufferQueue.cpp.
void Os::clearOpenInterceptor | ( | void | ) |
Definition at line 55 of file FileStub.cpp.
void Os::clearReadInterceptor | ( | void | ) |
Definition at line 37 of file FileStub.cpp.
void Os::clearSeekInterceptor | ( | void | ) |
Definition at line 64 of file FileStub.cpp.
void Os::clearWriteInterceptor | ( | void | ) |
Definition at line 46 of file FileStub.cpp.
File::Status Os::computeHash | ( | const char * | fileName, |
Utils::HashBuffer & | hashBuffer | ||
) |
< gets the size of the file (in bytes) at location path
Definition at line 8 of file ValidateFileCommon.cpp.
File::Status Os::readHash | ( | const char * | hashFileName, |
Utils::HashBuffer & | hashBuffer | ||
) |
Definition at line 63 of file ValidateFileCommon.cpp.
Queue::QueueStatus Os::receiveBlock | ( | QueueHandle * | queueHandle, |
U8 * | buffer, | ||
NATIVE_INT_TYPE | capacity, | ||
NATIVE_INT_TYPE & | actualSize, | ||
NATIVE_INT_TYPE & | priority | ||
) |
Queue::QueueStatus Os::receiveBlockIPCStub | ( | QueueHandle * | queueHandle, |
U8 * | buffer, | ||
NATIVE_INT_TYPE | capacity, | ||
NATIVE_INT_TYPE & | actualSize, | ||
NATIVE_INT_TYPE & | priority | ||
) |
Definition at line 256 of file IPCQueueStub.cpp.
Queue::QueueStatus Os::receiveNonBlock | ( | QueueHandle * | queueHandle, |
U8 * | buffer, | ||
NATIVE_INT_TYPE | capacity, | ||
NATIVE_INT_TYPE & | actualSize, | ||
NATIVE_INT_TYPE & | priority | ||
) |
Queue::QueueStatus Os::receiveNonBlockIPCStub | ( | QueueHandle * | queueHandle, |
U8 * | buffer, | ||
NATIVE_INT_TYPE | capacity, | ||
NATIVE_INT_TYPE & | actualSize, | ||
NATIVE_INT_TYPE & | priority | ||
) |
Definition at line 200 of file IPCQueueStub.cpp.
void Os::registerOpenInterceptor | ( | OpenInterceptor | funcPtr, |
void * | ptr | ||
) |
Definition at line 50 of file FileStub.cpp.
void Os::registerReadInterceptor | ( | ReadInterceptor | funcPtr, |
void * | ptr | ||
) |
Definition at line 32 of file FileStub.cpp.
void Os::registerSeekInterceptor | ( | SeekInterceptor | funcPtr, |
void * | ptr | ||
) |
Definition at line 59 of file FileStub.cpp.
void Os::registerWriteInterceptor | ( | WriteInterceptor | funcPtr, |
void * | ptr | ||
) |
Definition at line 41 of file FileStub.cpp.
void Os::returnIndex | ( | PriorityQueue * | pQueue, |
NATIVE_UINT_TYPE | depth, | ||
NATIVE_UINT_TYPE | index | ||
) |
Definition at line 54 of file PriorityBufferQueue.cpp.
Queue::QueueStatus Os::sendBlock | ( | QueueHandle * | queueHandle, |
const U8 * | buffer, | ||
NATIVE_INT_TYPE | size, | ||
NATIVE_INT_TYPE | priority | ||
) |
Queue::QueueStatus Os::sendBlockIPCStub | ( | QueueHandle * | queueHandle, |
const U8 * | buffer, | ||
NATIVE_INT_TYPE | size, | ||
NATIVE_INT_TYPE | priority | ||
) |
Definition at line 131 of file IPCQueueStub.cpp.
Queue::QueueStatus Os::sendNonBlock | ( | QueueHandle * | queueHandle, |
const U8 * | buffer, | ||
NATIVE_INT_TYPE | size, | ||
NATIVE_INT_TYPE | priority | ||
) |
Queue::QueueStatus Os::sendNonBlockIPCStub | ( | QueueHandle * | queueHandle, |
const U8 * | buffer, | ||
NATIVE_INT_TYPE | size, | ||
NATIVE_INT_TYPE | priority | ||
) |
Definition at line 93 of file IPCQueueStub.cpp.
void Os::setLastError | ( | NATIVE_INT_TYPE | error | ) |
Definition at line 68 of file FileStub.cpp.
ValidateFile::Status Os::translateStatus | ( | File::Status | status, |
StatusFileType | type | ||
) |
Definition at line 122 of file ValidateFileCommon.cpp.
File::Status Os::writeHash | ( | const char * | hashFileName, |
Utils::HashBuffer | hashBuffer | ||
) |
Definition at line 93 of file ValidateFileCommon.cpp.
|
static |
Definition at line 30 of file FileStub.cpp.
|
static |
Definition at line 24 of file FileStub.cpp.
|
static |
Definition at line 25 of file FileStub.cpp.
|
static |
Definition at line 18 of file FileStub.cpp.
|
static |
Definition at line 19 of file FileStub.cpp.
|
static |
Definition at line 27 of file FileStub.cpp.
|
static |
Definition at line 28 of file FileStub.cpp.
|
static |
Definition at line 21 of file FileStub.cpp.
|
static |
Definition at line 22 of file FileStub.cpp.