Skip to content

Commit b9558ef

Browse files
committed
sysparam: split the key into a name-space and name.
This is largely to aid compatibility with other non-volatile stores that have limited sized names but support a name space. This might open a path to more compact storage of the key names although that is not implemented here.
1 parent d9c5f2e commit b9558ef

File tree

7 files changed

+379
-208
lines changed

7 files changed

+379
-208
lines changed

core/include/sysparam.h

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,12 @@ typedef enum {
5151
* sysparam_iter_end().
5252
*/
5353
typedef struct {
54-
char *key;
54+
char *ns;
55+
char *name;
5556
uint8_t *value;
56-
size_t key_len;
5757
size_t value_len;
5858
bool binary;
59+
uint8_t *buffer;
5960
size_t bufsize;
6061
struct sysparam_context *ctx;
6162
} sysparam_iter_t;
@@ -178,7 +179,7 @@ sysparam_status_t sysparam_compact();
178179
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
179180
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
180181
*/
181-
sysparam_status_t sysparam_get_data(const char *key, uint8_t **destptr, size_t *actual_length, bool *is_binary);
182+
sysparam_status_t sysparam_get_data(const char *ns, const char *name, uint8_t **destptr, size_t *actual_length, bool *is_binary);
182183

183184
/** Get the value associated with a key (static value buffer)
184185
*
@@ -206,7 +207,7 @@ sysparam_status_t sysparam_get_data(const char *key, uint8_t **destptr, size_t *
206207
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
207208
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
208209
*/
209-
sysparam_status_t sysparam_get_data_static(const char *key, uint8_t *dest, size_t dest_size, size_t *actual_length, bool *is_binary);
210+
sysparam_status_t sysparam_get_data_static(const char *ns, const char *name, uint8_t *dest, size_t dest_size, size_t *actual_length, bool *is_binary);
210211

211212
/** Get the string value associated with a key
212213
*
@@ -233,7 +234,7 @@ sysparam_status_t sysparam_get_data_static(const char *key, uint8_t *dest, size_
233234
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
234235
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
235236
*/
236-
sysparam_status_t sysparam_get_string(const char *key, char **destptr);
237+
sysparam_status_t sysparam_get_string(const char *ns, const char *name, char **destptr);
237238

238239
/** Get the int32_t value associated with a key
239240
*
@@ -258,7 +259,7 @@ sysparam_status_t sysparam_get_string(const char *key, char **destptr);
258259
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
259260
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
260261
*/
261-
sysparam_status_t sysparam_get_int32(const char *key, int32_t *result);
262+
sysparam_status_t sysparam_get_int32(const char *ns, const char *name, int32_t *result);
262263

263264
/** Get the int8_t value associated with a key
264265
*
@@ -283,7 +284,7 @@ sysparam_status_t sysparam_get_int32(const char *key, int32_t *result);
283284
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
284285
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
285286
*/
286-
sysparam_status_t sysparam_get_int8(const char *key, int8_t *result);
287+
sysparam_status_t sysparam_get_int8(const char *ns, const char *name, int8_t *result);
287288

288289
/** Get the boolean value associated with a key
289290
*
@@ -312,7 +313,7 @@ sysparam_status_t sysparam_get_int8(const char *key, int8_t *result);
312313
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
313314
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
314315
*/
315-
sysparam_status_t sysparam_get_bool(const char *key, bool *result);
316+
sysparam_status_t sysparam_get_bool(const char *ns, const char *name, bool *result);
316317

317318
/** Set the value associated with a key
318319
*
@@ -342,7 +343,7 @@ sysparam_status_t sysparam_get_bool(const char *key, bool *result);
342343
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
343344
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
344345
*/
345-
sysparam_status_t sysparam_set_data(const char *key, const uint8_t *value, size_t value_len, bool binary);
346+
sysparam_status_t sysparam_set_data(const char *ns, const char *name, const uint8_t *value, size_t value_len, bool binary);
346347

347348
/** Set a key's value from a string
348349
*
@@ -361,7 +362,7 @@ sysparam_status_t sysparam_set_data(const char *key, const uint8_t *value, size_
361362
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
362363
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
363364
*/
364-
sysparam_status_t sysparam_set_string(const char *key, const char *value);
365+
sysparam_status_t sysparam_set_string(const char *ns, const char *name, const char *value);
365366

366367
/** Set a key's value as a number
367368
*
@@ -380,7 +381,7 @@ sysparam_status_t sysparam_set_string(const char *key, const char *value);
380381
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
381382
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
382383
*/
383-
sysparam_status_t sysparam_set_int32(const char *key, int32_t value);
384+
sysparam_status_t sysparam_set_int32(const char *ns, const char *name, int32_t value);
384385

385386
/** Set a key's value as a number
386387
*
@@ -399,7 +400,7 @@ sysparam_status_t sysparam_set_int32(const char *key, int32_t value);
399400
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
400401
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
401402
*/
402-
sysparam_status_t sysparam_set_int8(const char *key, int8_t value);
403+
sysparam_status_t sysparam_set_int8(const char *ns, const char *name, int8_t value);
403404

404405
/** Set a key's value as a boolean (yes/no) string
405406
*
@@ -418,7 +419,7 @@ sysparam_status_t sysparam_set_int8(const char *key, int8_t value);
418419
* @retval ::SYSPARAM_ERR_CORRUPT Sysparam region has bad/corrupted data
419420
* @retval ::SYSPARAM_ERR_IO I/O error reading/writing flash
420421
*/
421-
sysparam_status_t sysparam_set_bool(const char *key, bool value);
422+
sysparam_status_t sysparam_set_bool(const char *ns, const char *name, bool value);
422423

423424
/** Begin iterating through all key/value pairs
424425
*

0 commit comments

Comments
 (0)