OpenMPI
0.1.1
|
Provides an additional list of key-value pairs that can be added to records. More...
Files | |
file | OTF_KeyValue.h |
Provides an additional list of key value pairs that can be added to records. | |
Functions | |
OTF_KeyValueList * | OTF_KeyValueList_new (void) |
Create a new OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_close (OTF_KeyValueList *list) |
Close an OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_reset (OTF_KeyValueList *list) |
Reset an OTF_KeyValueList instance without deallocating memory. More... | |
uint8_t | OTF_KeyValueList_realloc (OTF_KeyValueList *list, uint32_t num) |
Expand an OTF_KeyValueList by allocating more memory. More... | |
uint8_t | OTF_KeyValueList_appendChar (OTF_KeyValueList *list, uint32_t key, char value) |
Append a character to a given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendInt8 (OTF_KeyValueList *list, uint32_t key, int8_t value) |
Append a signed integer of 8 bit to a OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendUint8 (OTF_KeyValueList *list, uint32_t key, uint8_t value) |
Append an unsigned integer of 8 bit to a OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendInt16 (OTF_KeyValueList *list, uint32_t key, int16_t value) |
Append a signed integer of 16 bit to a OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendUint16 (OTF_KeyValueList *list, uint32_t key, uint16_t value) |
Append an unsigned integer of 16 bit to a OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendInt32 (OTF_KeyValueList *list, uint32_t key, int32_t value) |
Append a signed integer of 32 bit to a OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendUint32 (OTF_KeyValueList *list, uint32_t key, uint32_t value) |
Append an unsigned integer of 32 bit to a OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendInt64 (OTF_KeyValueList *list, uint32_t key, int64_t value) |
Append a signed integer of 64 bit to a OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendUint64 (OTF_KeyValueList *list, uint32_t key, uint64_t value) |
Append an unsigned integer of 64 bit to a given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendFloat (OTF_KeyValueList *list, uint32_t key, float value) |
Append a float to a given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendDouble (OTF_KeyValueList *list, uint32_t key, double value) |
Append a double to a given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendByteArray (OTF_KeyValueList *list, uint32_t key, uint8_t *value, uint32_t len) |
Append a byte array to a given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_appendKeyValueList (OTF_KeyValueList *dest_list, OTF_KeyValueList *source_list) |
Append an existing OTF_KeyValueList to a given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getChar (OTF_KeyValueList *list, uint32_t key, char *value) |
Read a character from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getInt8 (OTF_KeyValueList *list, uint32_t key, int8_t *value) |
Read a signed integer of 8 bit from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getUint8 (OTF_KeyValueList *list, uint32_t key, uint8_t *value) |
Read an unsigned integer of 8 bit from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getInt16 (OTF_KeyValueList *list, uint32_t key, int16_t *value) |
Read a signed integer of 16 bit from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getUint16 (OTF_KeyValueList *list, uint32_t key, uint16_t *value) |
Read an unsigned integer of 16 bit from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getInt32 (OTF_KeyValueList *list, uint32_t key, int32_t *value) |
Read a signed integer of 32 bit from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getUint32 (OTF_KeyValueList *list, uint32_t key, uint32_t *value) |
Read an unsigned integer of 32 bit from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getInt64 (OTF_KeyValueList *list, uint32_t key, int64_t *value) |
Read a signed integer of 64 bit from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getUint64 (OTF_KeyValueList *list, uint32_t key, uint64_t *value) |
Read an unsigned integer of 64 bit from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getFloat (OTF_KeyValueList *list, uint32_t key, float *value) |
Read a float from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getDouble (OTF_KeyValueList *list, uint32_t key, double *value) |
Read a double from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getByteArray (OTF_KeyValueList *list, uint32_t key, uint8_t *value, uint32_t *len) |
Read a byte array from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getArrayLength (OTF_KeyValueList *list, uint32_t key, uint32_t *len) |
Provides the lenght of a byte array in an OTF_KeyValueList instance by given key. More... | |
OTF_Type | OTF_KeyValueList_getTypeForKey (OTF_KeyValueList *list, uint32_t key) |
Search for key in given OTF_KeyValueList instance and return its type. More... | |
uint8_t | OTF_KeyValueList_hasKey (OTF_KeyValueList *list, uint32_t key) |
Search for key in the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_removeKey (OTF_KeyValueList *list, uint32_t key) |
Remove key from the given OTF_KeyValueList instance. More... | |
uint8_t | OTF_KeyValueList_getKeyByIndex (OTF_KeyValueList *list, uint32_t index, uint32_t *key) |
Search for a key at the given index position. More... | |
uint8_t | OTF_KeyValueList_getPairByIndex (OTF_KeyValueList *list, uint32_t index, OTF_KeyValuePair **pair) |
Search for a key-value pair at the given index position. More... | |
uint32_t | OTF_KeyValueList_getCount (OTF_KeyValueList *list) |
Returns the number of elements in the given OTF_KeyValueList instance. More... | |
float | OTF_Int32ToFloat (uint32_t value) |
Convert an integer of 32 bit to a float. | |
uint32_t | OTF_FloatToInt32 (float value) |
Convert a float to an integer of 32 bit. | |
double | OTF_Int64ToDouble (uint64_t value) |
Convert an integer of 64 bit to a double. | |
uint64_t | OTF_DoubleToInt64 (double value) |
Convert a double to a signed integer of 64 bit. | |
Provides an additional list of key-value pairs that can be added to records.
You can append key-value pairs to an OTF_KeyValueList instance that can be added to any record.
After one call to OTF_Writer_writeXxxKV() the given KeyValueList instance will be empty.
Initialize the prior declared OTF_KeyValueList.
Write a DefKeyValue record that assigns key=1 to name="first_arg" with description="first argument of function" and type=OTF_INT32.
Append a signed integer for key=1 to the initialized KeyValueList.
Write the entries of the KeyValueList together with the enter record. Afterwards the KeyValueList will be empty!
Clean up before exiting the program. Close the OTF_KeyValueList.
Compile this using $ gcc -o write write.c otfconfig --libs
.
Define a callback to read all DefKeyValue records.
Find out which key you are looking for.
Define a callback to read all enter records.
Ask for a key value pair with key=global_key. Save the value in variable "value".
main() includes the common instructions to read an .otf-file.
Compile this using $ gcc -o read read.c otfconfig --libs
.
uint8_t OTF_KeyValueList_appendByteArray | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint8_t * | value, | ||
uint32_t | len | ||
) |
Append a byte array to a given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | Pointer to a byte array that should be appended to the KeyValueList. |
len | Lenght of byte array. |
References OTF_KeyValueList_hasKey().
uint8_t OTF_KeyValueList_appendChar | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
char | value | ||
) |
Append a character to a given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | A character that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_appendDouble | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
double | value | ||
) |
Append a double to a given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | A double that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_appendFloat | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
float | value | ||
) |
Append a float to a given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | A float that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_appendInt16 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
int16_t | value | ||
) |
Append a signed integer of 16 bit to a OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | A signed integer of 16 bit that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_appendInt32 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
int32_t | value | ||
) |
Append a signed integer of 32 bit to a OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | A signed integer of 32 bit that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_appendInt64 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
int64_t | value | ||
) |
Append a signed integer of 64 bit to a OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | A signed integer of 64 bit that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_appendInt8 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
int8_t | value | ||
) |
Append a signed integer of 8 bit to a OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | A signed integer of 8 bit that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_appendKeyValueList | ( | OTF_KeyValueList * | dest_list, |
OTF_KeyValueList * | source_list | ||
) |
Append an existing OTF_KeyValueList to a given OTF_KeyValueList instance.
dest_list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
source_list | Pointer to an initialized OTF_KeyValueList instance that shall be appended to the given KeyValueList. See also OTF_KeyValueList_new(); |
uint8_t OTF_KeyValueList_appendUint16 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint16_t | value | ||
) |
Append an unsigned integer of 16 bit to a OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | An unsigned integer of 16 bit that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_appendUint32 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint32_t | value | ||
) |
Append an unsigned integer of 32 bit to a OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | An unsigned integer of 32 bit that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_appendUint64 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint64_t | value | ||
) |
Append an unsigned integer of 64 bit to a given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | An unsigned integer of 64 bit that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_appendUint8 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint8_t | value | ||
) |
Append an unsigned integer of 8 bit to a OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the KeyValueList. |
value | An unsigned integer of 8 bit that should be appended to the KeyValueList. |
uint8_t OTF_KeyValueList_close | ( | OTF_KeyValueList * | list | ) |
Close an OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
Referenced by OTF_KeyValueList_new(), and OTF_RBuffer_close().
uint8_t OTF_KeyValueList_getArrayLength | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint32_t * | len | ||
) |
Provides the lenght of a byte array in an OTF_KeyValueList instance by given key.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the pair in the OTF_KeyValueList. |
len | Return value for the array length. |
uint8_t OTF_KeyValueList_getByteArray | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint8_t * | value, | ||
uint32_t * | len | ||
) |
Read a byte array from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to an allocated byte array, where the result is saved. |
len | Input and output parameter: Musst contain the number of bytes that can be written to the buffer pointed by the parameter value. Therefore at least len bytes musst be allocated for this buffer before. At the end len contains the number of bytes written to the buffer. This can be less or equal to the input of parameter len. To get the total number of bytes stored in the byte-array for the specific key you can use the function OTF_KeyValueList_getArrayLength() before. |
uint8_t OTF_KeyValueList_getChar | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
char * | value | ||
) |
Read a character from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
value | Pointer to a char array, where the result is saved. |
key | An unique id that identifies the value in the OTF_KeyValueList. |
uint32_t OTF_KeyValueList_getCount | ( | OTF_KeyValueList * | list | ) |
Returns the number of elements in the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
uint8_t OTF_KeyValueList_getDouble | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
double * | value | ||
) |
Read a double from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to a double, where the result is saved. |
uint8_t OTF_KeyValueList_getFloat | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
float * | value | ||
) |
Read a float from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to a float, where the result is saved. |
uint8_t OTF_KeyValueList_getInt16 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
int16_t * | value | ||
) |
Read a signed integer of 16 bit from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to a signed integer of 16 bit, where the result is saved. |
uint8_t OTF_KeyValueList_getInt32 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
int32_t * | value | ||
) |
Read a signed integer of 32 bit from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to a signed integer of 32 bit, where the result is saved. |
uint8_t OTF_KeyValueList_getInt64 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
int64_t * | value | ||
) |
Read a signed integer of 64 bit from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to a signed integer of 64 bit, where the result is saved. |
uint8_t OTF_KeyValueList_getInt8 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
int8_t * | value | ||
) |
Read a signed integer of 8 bit from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to a signed integer of 8 bit, where the result is saved. |
uint8_t OTF_KeyValueList_getKeyByIndex | ( | OTF_KeyValueList * | list, |
uint32_t | index, | ||
uint32_t * | key | ||
) |
Search for a key at the given index position.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
index | Index position in the OTF_KeyValueList. |
key | Return value for the found key. |
uint8_t OTF_KeyValueList_getPairByIndex | ( | OTF_KeyValueList * | list, |
uint32_t | index, | ||
OTF_KeyValuePair ** | pair | ||
) |
Search for a key-value pair at the given index position.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
index | Index position in the OTF_KeyValueList. |
pair | Pointer to the found key-value pair. |
OTF_Type OTF_KeyValueList_getTypeForKey | ( | OTF_KeyValueList * | list, |
uint32_t | key | ||
) |
Search for key in given OTF_KeyValueList instance and return its type.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the pair in the OTF_KeyValueList. |
uint8_t OTF_KeyValueList_getUint16 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint16_t * | value | ||
) |
Read an unsigned integer of 16 bit from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to an unsigned integer of 16 bit, where the result is saved. |
uint8_t OTF_KeyValueList_getUint32 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint32_t * | value | ||
) |
Read an unsigned integer of 32 bit from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to an unsigned integer of 32 bit, where the result is saved. |
uint8_t OTF_KeyValueList_getUint64 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint64_t * | value | ||
) |
Read an unsigned integer of 64 bit from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to an unsigned integer of 64 bit, where the result is saved. |
uint8_t OTF_KeyValueList_getUint8 | ( | OTF_KeyValueList * | list, |
uint32_t | key, | ||
uint8_t * | value | ||
) |
Read an unsigned integer of 8 bit from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | An unique id that identifies the value in the OTF_KeyValueList. |
value | Pointer to an unsigned integer of 8 bit, where the result is saved. |
uint8_t OTF_KeyValueList_hasKey | ( | OTF_KeyValueList * | list, |
uint32_t | key | ||
) |
Search for key in the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | Token that shall be searched in the OTF_KeyValueList. |
Referenced by OTF_KeyValueList_appendByteArray().
OTF_KeyValueList* OTF_KeyValueList_new | ( | void | ) |
Create a new OTF_KeyValueList instance.
References OTF_KeyValueList_close(), and OTF_KeyValueList_realloc().
Referenced by OTF_RBuffer_open(), and OTF_RBuffer_open_with_external_buffer().
uint8_t OTF_KeyValueList_realloc | ( | OTF_KeyValueList * | list, |
uint32_t | num | ||
) |
Expand an OTF_KeyValueList by allocating more memory.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
num | Number of elements for which memory should be allocated. |
Referenced by OTF_KeyValueList_new().
uint8_t OTF_KeyValueList_removeKey | ( | OTF_KeyValueList * | list, |
uint32_t | key | ||
) |
Remove key from the given OTF_KeyValueList instance.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
key | Token that shall be removed from the OTF_KeyValueList. |
uint8_t OTF_KeyValueList_reset | ( | OTF_KeyValueList * | list | ) |
Reset an OTF_KeyValueList instance without deallocating memory.
list | Pointer to an initialized OTF_KeyValueList object. See also OTF_KeyValueList_new(). |
Referenced by OTF_Reader_readDefinitions(), OTF_Reader_readEvents(), OTF_Reader_readEventsUnsorted(), OTF_Reader_readMarkers(), OTF_Reader_readSnapshots(), OTF_Reader_readSnapshotsUnsorted(), OTF_Reader_readStatistics(), OTF_Reader_readStatisticsUnsorted(), OTF_RStream_readDefinitions(), OTF_RStream_readEvents(), OTF_RStream_readMarker(), OTF_RStream_readSnapshots(), OTF_RStream_readStatistics(), OTF_WBuffer_writeKeyValueList_long(), and OTF_WBuffer_writeKeyValueList_short().