You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.4 KiB
48 lines
1.4 KiB
5 years ago
|
#ifndef _SELFDRIVE_COMMON_PARAMS_H_
|
||
|
#define _SELFDRIVE_COMMON_PARAMS_H_
|
||
|
|
||
|
#include <stddef.h>
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#define ERR_NO_VALUE -33
|
||
|
|
||
|
int write_db_value(const char* params_path, const char* key, const char* value,
|
||
|
size_t value_size);
|
||
|
|
||
|
// Reads a value from the params database.
|
||
|
// Inputs:
|
||
|
// params_path: The path of the database, or NULL to use the default.
|
||
|
// key: The key to read.
|
||
|
// value: A pointer where a newly allocated string containing the db value will
|
||
|
// be written.
|
||
|
// value_sz: A pointer where the size of value will be written. Does not
|
||
|
// include the NULL terminator.
|
||
|
//
|
||
|
// Returns: Negative on failure, otherwise 0.
|
||
|
int read_db_value(const char* params_path, const char* key, char** value,
|
||
|
size_t* value_sz);
|
||
|
|
||
|
// Delete a value from the params database.
|
||
|
// Inputs are the same as read_db_value, without value and value_sz.
|
||
|
int delete_db_value(const char* params_path, const char* key);
|
||
|
|
||
|
// Reads a value from the params database, blocking until successful.
|
||
|
// Inputs are the same as read_db_value.
|
||
|
void read_db_value_blocking(const char* params_path, const char* key,
|
||
|
char** value, size_t* value_sz);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} // extern "C"
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
#include <map>
|
||
|
#include <string>
|
||
|
int read_db_all(const char* params_path, std::map<std::string, std::string> *params);
|
||
|
#endif
|
||
|
|
||
|
#endif // _SELFDRIVE_COMMON_PARAMS_H_
|