/*
* TYPEDEF: SE_STORE
*
* Pointer to a store object. The definition of a store object is
* hidden by the implementation of this API. The user of this API simply
* passes in and receives back an SE_STORE for functions that deal
* with store objects.
*
* A store is an opaque data type, created by calling SE_CreateStore(),
* which is used to provide the memory context within which the API returns
* data. The behavior of stores, and the data returned within them,
* exhibits the following:
*
* 1. A store must be created by SE_CreateStore() before it is used.
* 2. Data returned in a store is valid until the next time the store is
* used as a parameter to a function, or until the application frees
* the store with SE_FreeStore().
* 3. Memory managed by a store is not guaranteed to be released (freed)
* until the store is free with SE_FreeStore().
*
* The implementation of the API is at liberty to decide the exact
* allocation scheme. However, applications should safely expect the
* following performance characteristics:
*
* 1. Reusing an existing store should always be more efficient (both in
* speed and memory requirements) than freeing a store and creating a
* new one.
* 2. Reusing a store to return similarly sized data (e.g. object fields,
* or portions of a <Data Table>), will result in the most efficient use
* of memory space.
*
* Use of stores in the SEDRIS API is limited to functions that return
* complex data types, specifically those that involve variable, or dynamic
* length data (such as strings and arrays), and other structures that
* contain other pointer data types. Atomic data types (e.g. SE_UINT16,
* SE_FLOAT64, etc.) and opaque handle types (e.g. SE_OBJECT, etc.) use
* pointer types and address of (&) in order to return data from the API.
*/
typedef struct SE_Store *SE_STORE;
Prev: SE_STATUS_CODE_ENUM.
Next: SE_TIME_ENTRY.
Up:Index