Shared Persistent Heap, logger/queue etc event entry status, update, and access functions.
More...
|
int | SPHLFEntryStrongComplete (SPHLFEntryHandle_t *handlespace) |
| Marks the entry specified by the entry handle as complete. Also executes any memory barriers required by the platform to ensure that all previous stores to this entry by this thread are visible to other threads. More...
|
|
int | SPHLFEntryWeakComplete (SPHLFEntryHandle_t *handlespace) |
| Marks the entry specified by the entry handle as complete. No memory barriers are performance. On out-of-order machines there are no guarantee that all previous stores by this thread are visible to other threads. More...
|
|
int | SPHLFEntryComplete (SPHLFEntryHandle_t *handlespace) |
| Marks the entry specified by the entry handle as complete. Also executes write memory barries required by the platform to ensure that all previous stores by this thread to this entry are complete. More...
|
|
int | SPHLFEntryIsComplete (SPHLFEntryHandle_t *handlespace) |
| Return the status of the entry specified by the entry handle. More...
|
|
int | SPHLFEntryIsTimestamped (SPHLFEntryHandle_t *handlespace) |
| Return the status of the entry specified by the entry handle. More...
|
|
sphtimer_t | SPHLFEntryTimeStamp (SPHLFEntryHandle_t *handlespace) |
| Return the time stamp value for the entry specified by the entry handle. More...
|
|
sphpid16_t | SPHLFEntryPID (SPHLFEntryHandle_t *handlespace) |
| Return the process ID for the entry specified by the entry handle. More...
|
|
sphpid16_t | SPHLFEntryTID (SPHLFEntryHandle_t *handlespace) |
| Return the thread ID for the entry specified by the entry handle. More...
|
|
SPHLFEntryHeader_t * | SPHLFEntryHeader (SPHLFEntryHandle_t *handlespace) |
| Return the address for the entry header specified by the entry handle. More...
|
|
int | SPHLFEntryCategory (SPHLFEntryHandle_t *handlespace) |
| Return the entry category for the entry specified by the entry handle. More...
|
|
int | SPHLFEntrySubcat (SPHLFEntryHandle_t *handlespace) |
| Return the entry sub-category for the entry specified by the entry handle. More...
|
|
void * | SPHLFEntryGetFreePtr (SPHLFEntryHandle_t *handle) |
| Return the first free byte address for the entry specified by the entry handle. More...
|
|
void * | SPHLFEntryGetStructPtr (SPHLFEntryHandle_t *handle, unsigned long __size, unsigned long __align) |
| Return the correctly aligned pointer for a struct or array starting at the next free location within the entry. More...
|
|
void * | SPHLFEntryAllocStruct (SPHLFEntryHandle_t *handle, unsigned long __size, unsigned long __align) |
| Allocate space for struct starting at the next free location within the entry. More...
|
|
int | SPHLFEntryAddString (SPHLFEntryHandle_t *handle, char *value) |
| Insert a C string at the next free location within the entry. More...
|
|
int | SPHLFEntryAddChar (SPHLFEntryHandle_t *handle, char value) |
| Insert a character at the next free location within the entry. More...
|
|
int | SPHLFEntryAddShort (SPHLFEntryHandle_t *handle, short int value) |
| Insert a short int at the next free location within the entry. More...
|
|
int | SPHLFEntryAddInt (SPHLFEntryHandle_t *handle, int value) |
| Insert a int at the next free location within the entry. More...
|
|
int | SPHLFEntryAddLong (SPHLFEntryHandle_t *handle, long value) |
| Insert a long int at the next free location within the entry. More...
|
|
int | SPHLFEntryAddPtr (SPHLFEntryHandle_t *handle, void *value) |
| Insert a void* at the next free location within the entry. More...
|
|
int | SPHLFEntryAddLongLong (SPHLFEntryHandle_t *handle, long long value) |
| Insert a long long int at the next free location within the entry. More...
|
|
int | SPHLFEntryAddFloat (SPHLFEntryHandle_t *handle, float value) |
| Insert a float at the next free location within the entry. More...
|
|
int | SPHLFEntryAddDouble (SPHLFEntryHandle_t *handle, double value) |
| Insert a double at the next free location within the entry. More...
|
|
char | SPHLFEntryGetNextChar (SPHLFEntryHandle_t *handle) |
| Return the next char from the entry via the current next value pointer. The internal next value pointer is advanced to the next location. More...
|
|
char * | SPHLFEntryGetNextString (SPHLFEntryHandle_t *handle) |
| Return the pointer to the next C string from the logger entry via the current next value pointer. The internal next value pointer is advanced to the next location after the string NUL char. More...
|
|
short int | SPHLFEntryGetNextShort (SPHLFEntryHandle_t *handle) |
| Return the next short int from the entry via the current next value pointer. Leading bytes may be skipped to get the required alignment. The internal next value pointer is advanced to the next location. More...
|
|
int | SPHLFEntryGetNextInt (SPHLFEntryHandle_t *handle) |
| Return the next int from the entry via the current next value pointer. Leading bytes may be skipped to get the required alignment. The internal next value pointer is advanced to the next location. More...
|
|
long | SPHLFEntryGetNextLong (SPHLFEntryHandle_t *handle) |
| Return the next long int from the entry via the current next value pointer. Leading bytes may be skipped to get the required alignment. The internal next value pointer is advanced to the next location. More...
|
|
void * | SPHLFEntryGetNextPtr (SPHLFEntryHandle_t *handle) |
| Return the next void* from the entry via the current next value pointer. Leading bytes may be skipped to get the required alignment. The internal next value pointer is advanced to the next location. More...
|
|
long long | SPHLFEntryGetNextLongLong (SPHLFEntryHandle_t *handle) |
| Return the next long long int from the entry via the current next value pointer. Leading bytes may be skipped to get the required alignment. The internal next value pointer is advanced to the next location. More...
|
|
float | SPHLFEntryGetNextFloat (SPHLFEntryHandle_t *handle) |
| Return the next float from the entry via the current next value pointer. Leading bytes may be skipped to get the required alignment. The internal next value pointer is advanced to the next location. More...
|
|
double | SPHLFEntryGetNextDouble (SPHLFEntryHandle_t *handle) |
| Return the next double from the entry via the current next value pointer. Leading bytes may be skipped to get the required alignment. The internal next value pointer is advanced to the next location. More...
|
|
Shared Persistent Heap, logger/queue etc event entry status, update, and access functions.
- Author
- Steven Munroe - initial API and implementation
For shared memory multi-thread/multi-core applications. Once the
Logger or Queue functions have atomically allocated an entry,
the "entry" APIs supports adding additional data to the entry and
retrieving that date later.
Supported functions include:
storing category specific event data,
atomic completion of an entry,
Getting entry status (complete and timestamped)
Getting entry header elements (timestamp, PID, TID, Category, and Sub-category),
Retrieving category specific event data entries,
and direct pointer access the header and data of the entry.
This Entry access API supports read out of the 16 byte
entry header including: Entry status and length. Entry
Category and SubCategory codes. Process and Thread Ids. High
resolution timestamp.
Any additional storage allocated to the entry
is available for application specific data. This API also provides
several mechanisms to store application data including; direct
array or structure overlay, and a streams like mechanism. Finally
the API provides a completion functions (SPHLFEntryComplete)
which provides and memory barriers required by the platform and
marks the entry complete.