|
Soletta™ Framework
|
Data type to describe a memory region. More...
#include <sol-memdesc.h>
Data Fields | |
| union { | |
| const struct sol_memdesc * array_item | |
| Type of array item. More... | |
| const struct sol_str_table_int64 * enumeration_mapping | |
| null-terminated array of struct sol_str_table. More... | |
| const struct sol_memdesc * pointed_item | |
| Type of a memory pointer. More... | |
| const struct sol_memdesc_structure_member * structure_members | |
| null-terminated array of structure members. More... | |
| }; | |
| how to access complex types (structures and arrays). More... | |
| uint16_t | api_version |
| API version, must match SOL_MEMDESC_API_VERSION at runtime. More... | |
| union { | |
| bool b | |
| use when SOL_MEMDESC_TYPE_BOOL More... | |
| double d | |
| use when SOL_MEMDESC_TYPE_DOUBLE More... | |
| int64_t e | |
| use when SOL_MEMDESC_TYPE_ENUMERATION More... | |
| int16_t i16 | |
| use when SOL_MEMDESC_TYPE_INT16 More... | |
| int32_t i32 | |
| use when SOL_MEMDESC_TYPE_INT32 More... | |
| int64_t i64 | |
| use when SOL_MEMDESC_TYPE_INT64 More... | |
| int8_t i8 | |
| use when SOL_MEMDESC_TYPE_INT8 More... | |
| long l | |
| use when SOL_MEMDESC_TYPE_LONG More... | |
| const void * p | |
| use when SOL_MEMDESC_TYPE_PTR, SOL_MEMDESC_TYPE_STRUCTURE or SOL_MEMDESC_TYPE_ARRAY More... | |
| const char * s | |
| use when SOL_MEMDESC_TYPE_STRING or SOL_MEMDESC_TYPE_CONST_STRING More... | |
| ssize_t ssz | |
| use when SOL_MEMDESC_TYPE_SSIZE More... | |
| size_t sz | |
| use when SOL_MEMDESC_TYPE_SIZE More... | |
| uint16_t u16 | |
| use when SOL_MEMDESC_TYPE_UINT16 More... | |
| uint32_t u32 | |
| use when SOL_MEMDESC_TYPE_UINT32 More... | |
| uint64_t u64 | |
| use when SOL_MEMDESC_TYPE_UINT64 More... | |
| uint8_t u8 | |
| use when SOL_MEMDESC_TYPE_UINT8 More... | |
| unsigned long ul | |
| use when SOL_MEMDESC_TYPE_ULONG More... | |
| } | defcontent |
default contents to be used if required == false. More... | |
| const struct sol_memdesc_ops * | ops |
| Override operations to use when operating on the memory. More... | |
| uint16_t | size |
| size in bytes of the member memory. More... | |
| enum sol_memdesc_type | type |
| basic type of the member memory. More... | |
Data type to describe a memory region.
| union { ... } |
how to access complex types (structures and arrays).
If the memory is complex, use a recursive description specified here.
| uint16_t sol_memdesc::api_version |
API version, must match SOL_MEMDESC_API_VERSION at runtime.
Referenced by sol_memdesc_get_as_int64(), sol_memdesc_get_as_uint64(), sol_memdesc_get_size(), sol_memdesc_get_structure_member_memory(), sol_memdesc_is_signed_integer(), sol_memdesc_is_unsigned_integer(), sol_memdesc_set_as_int64(), and sol_memdesc_set_as_uint64().
| const struct sol_memdesc* sol_memdesc::array_item |
Type of array item.
Only to be used in SOL_MEMDESC_TYPE_ARRAY.
Referenced by sol_memdesc_append_array_element().
| bool sol_memdesc::b |
use when SOL_MEMDESC_TYPE_BOOL
| double sol_memdesc::d |
use when SOL_MEMDESC_TYPE_DOUBLE
| union { ... } sol_memdesc::defcontent |
default contents to be used if required == false.
If struct sol_memdesc::required is false, then this content can be used to provide defaults.
Note that complex types SOL_MEMDESC_TYPE_STRUCTURE, SOL_MEMDESC_TYPE_ARRAY and SOL_MEMDESC_TYPE_PTR have their own handling with struct sol_memdesc::structure_members, struct sol_memdesc::array_item, struct sol_memdesc::pointed_item.
Referenced by sol_memdesc_get_as_int64(), sol_memdesc_get_as_uint64(), sol_memdesc_set_as_int64(), and sol_memdesc_set_as_uint64().
| int64_t sol_memdesc::e |
use when SOL_MEMDESC_TYPE_ENUMERATION
Referenced by sol_memdesc_get_as_int64(), sol_memdesc_get_as_uint64(), sol_memdesc_set_as_int64(), and sol_memdesc_set_as_uint64().
| const struct sol_str_table_int64* sol_memdesc::enumeration_mapping |
null-terminated array of struct sol_str_table.
Only to be used in SOL_MEMDESC_TYPE_ENUMERATION.
| int16_t sol_memdesc::i16 |
use when SOL_MEMDESC_TYPE_INT16
| int32_t sol_memdesc::i32 |
use when SOL_MEMDESC_TYPE_INT32
| int64_t sol_memdesc::i64 |
use when SOL_MEMDESC_TYPE_INT64
| int8_t sol_memdesc::i8 |
use when SOL_MEMDESC_TYPE_INT8
| long sol_memdesc::l |
use when SOL_MEMDESC_TYPE_LONG
| const struct sol_memdesc_ops* sol_memdesc::ops |
Override operations to use when operating on the memory.
May be NULL to use the default operations.
| const void* sol_memdesc::p |
use when SOL_MEMDESC_TYPE_PTR, SOL_MEMDESC_TYPE_STRUCTURE or SOL_MEMDESC_TYPE_ARRAY
| const struct sol_memdesc* sol_memdesc::pointed_item |
Type of a memory pointer.
Only to be used in SOL_MEMDESC_TYPE_PTR
| const char* sol_memdesc::s |
use when SOL_MEMDESC_TYPE_STRING or SOL_MEMDESC_TYPE_CONST_STRING
| uint16_t sol_memdesc::size |
size in bytes of the member memory.
Usually this is sizeof(type), if a structure it will account for all members plus paddings.
This is only used for SOL_MEMDESC_TYPE_STRUCTURE and SOL_MEMDESC_TYPE_ARRAY.
Referenced by sol_memdesc_get_as_int64(), sol_memdesc_get_as_uint64(), sol_memdesc_get_size(), sol_memdesc_set_as_int64(), and sol_memdesc_set_as_uint64().
| ssize_t sol_memdesc::ssz |
use when SOL_MEMDESC_TYPE_SSIZE
| const struct sol_memdesc_structure_member* sol_memdesc::structure_members |
null-terminated array of structure members.
Only to be used in SOL_MEMDESC_TYPE_STRUCTURE.
Loops should stop when type is SOL_MEMDESC_TYPE_UNKNOWN (0).
| size_t sol_memdesc::sz |
use when SOL_MEMDESC_TYPE_SIZE
| enum sol_memdesc_type sol_memdesc::type |
basic type of the member memory.
All handling of the memory depends on how it is to be accessed. Like integers will have sign or not and a number of bits. Strings will be duplicated with strdup() and then released with free().
Referenced by sol_memdesc_get_as_int64(), sol_memdesc_get_as_uint64(), sol_memdesc_get_size(), sol_memdesc_is_signed_integer(), sol_memdesc_is_unsigned_integer(), sol_memdesc_set_as_int64(), and sol_memdesc_set_as_uint64().
| uint16_t sol_memdesc::u16 |
use when SOL_MEMDESC_TYPE_UINT16
| uint32_t sol_memdesc::u32 |
use when SOL_MEMDESC_TYPE_UINT32
| uint64_t sol_memdesc::u64 |
use when SOL_MEMDESC_TYPE_UINT64
| uint8_t sol_memdesc::u8 |
use when SOL_MEMDESC_TYPE_UINT8
| unsigned long sol_memdesc::ul |
use when SOL_MEMDESC_TYPE_ULONG
1.8.6