Go to the source code of this file.
Macros | |
| #define | YANG_DB_LINE_BUF_SIZE 512u |
Typedefs | |
| typedef struct yang_db_runtime_data | yang_db_runtime_dataq_t |
Functions | |
| yang_db_runtime_dataq_t * | yang_db_runtime_init (uc_dbald *dbald, uc_hwald *hwald) |
| void | yang_db_runtime_close (yang_db_runtime_dataq_t *ydrd) |
| void | yang_db_runtime_set_hwadl (yang_db_runtime_dataq_t *ydrd, uc_hwald *hwald) |
| hwald is set with yang_db_runtime_init, this function sets/resets later. More... | |
| int | yang_db_runtime_readfile (yang_db_runtime_dataq_t *ydrd, const char *fname) |
| read from a config file, and set data. More... | |
| int | yang_db_runtime_read_conffile (uc_dbald *dbald, const char *fname) |
| internally create ydrd and then call "yang_db_runtime_readfile" More... | |
| int | yang_db_runtime_get_vtype (uc_dbald *dbald, uint8_t *aps) |
| get value type of 'aps' leaf More... | |
| int | yang_db_runtime_put_oneline (yang_db_runtime_dataq_t *ydrd, char *kstr, char *vstr, uint8_t onhw) |
| write one node db data by a string line More... | |
| int | yang_db_runtime_askaction (yang_db_runtime_dataq_t *ydrd, uc_notice_data_t *ucntd) |
| ask to call 'uc_nc_askaction_push' More... | |
| uc_range * | yang_db_runtime_range_fromline (yang_db_runtime_dataq_t *ydrd, const char *line, void **kvs, uint8_t *kss, bool status) |
| get a range from line More... | |
| int | yang_db_runtime_get_oneline (yang_db_runtime_dataq_t *ydrd, const char *line, void **value, uint32_t *vsize) |
| get one node db data by a string line More... | |
| int | yang_db_runtime_notice_register (yang_db_runtime_dataq_t *ydrd, uc_notice_data_t *ucntd, const char *line, char *semname, UC_NOTICE_SIG_T **sem) |
| uint8_t | yang_db_runtime_getvknum (uc_dbald *dbald, uint8_t *aps) |
| int | yang_db_runtime_getvkvtype (uc_dbald *dbald, uint8_t *aps, uint8_t vkindex, uint8_t *vkey, uint8_t *vtype) |
| int | yang_db_runtime_getvkstr (uc_dbald *dbald, uint8_t *aps, uint8_t vkindex, char **rstr) |
| int | yang_db_runtime_waititem (yang_db_runtime_dataq_t *ydrd, const char *witem, void *waitv, uint32_t wvsize, int tout_ms) |
| wait witem, if waitv!=NULL wait unitl the value matches. if waitv==NULL wait appearance of witem. More... | |
| int | yang_db_runtime_apkv2keyvkstr (uc_dbald *dbald, uint8_t *aps, kvs_t *kvs, uint8_t *kss, char **rstr) |
| 'key node string' and 'value key node string' of (aps,kvs,kss) More... | |
| int | yang_db_runtime_getkeyvkstr (uc_dbald *dbald, void *key, uint32_t ksize, char **rstr) |
| 'key node string' and 'value key node string' of key More... | |
| int | yang_db_runtime_proc_nodestring (yang_db_runtime_dataq_t *ydrd, bool reset, char *kstr, char *vstr) |
| int | yang_db_runtime_state_keyvkstr (yang_db_runtime_dataq_t *ydrd, char **rstr) |
| call yang_db_runtime_getkeyvkstr with the internal ydrd state More... | |
| const char * | convxml2conf_getconf (yang_db_runtime_dataq_t *ydrd, const char *ifname, const char *ofname) |
| convert xml format config file to Excelfore format config file More... | |
| bool | yang_db_runtime_needaction (yang_db_runtime_dataq_t *ydrd) |
| int | yang_db_runtime_nodestr2apkv (yang_db_runtime_dataq_t *ydrd, const char *line, uint8_t *aps, void **kvs, uint8_t *kss) |
| convert yang key string to aps,kvs,kss,,, in ydrd More... | |
| void | yang_db_runtime_readdb_log (bool consoleprint, uc_dbald *dbald, const char *headmsg, uint8_t aps[], void *kvs[], uint8_t kss[]) |
| read from the DB, and print into the log file, optionally print on console. More... | |
| int | yang_db_runtime_iterate_fromline (yang_db_runtime_dataq_t *ydrd, uc_range **range, const char *line, void *kvs[], uint8_t kss[], bool status, void **value, uint32_t *vsize, char **qstr) |
| get a range from line, then iterate the contents More... | |
| int | yang_db_runtime_cache_fromline (yang_db_runtime_dataq_t *ydrd, const char *line, bool status, char **rvalue, int *rvsize) |
| call 'yang_db_runtime_iterate_fromline' internally and cache (qstr, vstr) into 'rvalue'. More... | |
| void | yang_db_runtime_cache_fromline_release (char *rvalue) |
| release the reserved memory in 'yang_db_runtime_cache_fromline' More... | |
| #define YANG_DB_LINE_BUF_SIZE 512u |
| typedef struct yang_db_runtime_data yang_db_runtime_dataq_t |
| yang_db_runtime_dataq_t* yang_db_runtime_init | ( | uc_dbald * | dbald, |
| uc_hwald * | hwald | ||
| ) |
| void yang_db_runtime_close | ( | yang_db_runtime_dataq_t * | ydrd | ) |
| void yang_db_runtime_set_hwadl | ( | yang_db_runtime_dataq_t * | ydrd, |
| uc_hwald * | hwald | ||
| ) |
hwald is set with yang_db_runtime_init, this function sets/resets later.
| int yang_db_runtime_readfile | ( | yang_db_runtime_dataq_t * | ydrd, |
| const char * | fname | ||
| ) |
read from a config file, and set data.
| ydrd | yang_db_runtime_dataq_t |
| fname | config file name |
| int yang_db_runtime_read_conffile | ( | uc_dbald * | dbald, |
| const char * | fname | ||
| ) |
internally create ydrd and then call "yang_db_runtime_readfile"
| dbald | uc_dbald |
| fname | config file name |
| int yang_db_runtime_get_vtype | ( | uc_dbald * | dbald, |
| uint8_t * | aps | ||
| ) |
get value type of 'aps' leaf
| int yang_db_runtime_put_oneline | ( | yang_db_runtime_dataq_t * | ydrd, |
| char * | kstr, | ||
| char * | vstr, | ||
| uint8_t | onhw | ||
| ) |
write one node db data by a string line
| ydrd | yang_db_runtime_dataq_t |
| kstr | key string |
| vstr | value string |
| onhw | action on hardware |
| int yang_db_runtime_askaction | ( | yang_db_runtime_dataq_t * | ydrd, |
| uc_notice_data_t * | ucntd | ||
| ) |
ask to call 'uc_nc_askaction_push'
| ydrd | yang_db_runtime_dataq_t |
| ucntd | uc_notice_data_t |
| uc_range* yang_db_runtime_range_fromline | ( | yang_db_runtime_dataq_t * | ydrd, |
| const char * | line, | ||
| void ** | kvs, | ||
| uint8_t * | kss, | ||
| bool | status | ||
| ) |
get a range from line
| ydrd | yang_db_runtime_dataq_t |
| line | key string |
| kvs | return value keys, it must have MAX_KV_DEPTH+1 of void pointer space |
| kss | return value key sizes, it must have MAX_KV_DEPTH of uint8_t space |
| status | true:get range from status('ro') area, false: get from config('rw') area |
| int yang_db_runtime_get_oneline | ( | yang_db_runtime_dataq_t * | ydrd, |
| const char * | line, | ||
| void ** | value, | ||
| uint32_t * | vsize | ||
| ) |
get one node db data by a string line
| ydrd | yang_db_runtime_dataq_t |
| line | key string |
| value | value pointer to return read value. it is reallocated inside the function. it must be NULL or allocated address. |
| vsize | value size |
| int yang_db_runtime_notice_register | ( | yang_db_runtime_dataq_t * | ydrd, |
| uc_notice_data_t * | ucntd, | ||
| const char * | line, | ||
| char * | semname, | ||
| UC_NOTICE_SIG_T ** | sem | ||
| ) |
| uint8_t yang_db_runtime_getvknum | ( | uc_dbald * | dbald, |
| uint8_t * | aps | ||
| ) |
| int yang_db_runtime_getvkvtype | ( | uc_dbald * | dbald, |
| uint8_t * | aps, | ||
| uint8_t | vkindex, | ||
| uint8_t * | vkey, | ||
| uint8_t * | vtype | ||
| ) |
| int yang_db_runtime_getvkstr | ( | uc_dbald * | dbald, |
| uint8_t * | aps, | ||
| uint8_t | vkindex, | ||
| char ** | rstr | ||
| ) |
| int yang_db_runtime_waititem | ( | yang_db_runtime_dataq_t * | ydrd, |
| const char * | witem, | ||
| void * | waitv, | ||
| uint32_t | wvsize, | ||
| int | tout_ms | ||
| ) |
wait witem, if waitv!=NULL wait unitl the value matches. if waitv==NULL wait appearance of witem.
| ydrd | yang_db_runtime_dataq_t |
| witem | wait item |
| waitv | wait value |
| wvsize | wait value size |
| tout_ms | wait timeout (ms) |
| int yang_db_runtime_apkv2keyvkstr | ( | uc_dbald * | dbald, |
| uint8_t * | aps, | ||
| kvs_t * | kvs, | ||
| uint8_t * | kss, | ||
| char ** | rstr | ||
| ) |
'key node string' and 'value key node string' of (aps,kvs,kss)
| dbald | uc_dbald |
| aps | node keys, must be terminated with 255 |
| kvs | value keys |
| kss | size of value keys |
| rstr | data out |
| int yang_db_runtime_getkeyvkstr | ( | uc_dbald * | dbald, |
| void * | key, | ||
| uint32_t | ksize, | ||
| char ** | rstr | ||
| ) |
'key node string' and 'value key node string' of key
| int yang_db_runtime_proc_nodestring | ( | yang_db_runtime_dataq_t * | ydrd, |
| bool | reset, | ||
| char * | kstr, | ||
| char * | vstr | ||
| ) |
| ydrd | yang_db_runtime_dataq_t |
| reset | reset ydrd->api to start over |
| kstr | key stting |
| vstr | value string, if this is NULL, kstr should be node |
| int yang_db_runtime_state_keyvkstr | ( | yang_db_runtime_dataq_t * | ydrd, |
| char ** | rstr | ||
| ) |
call yang_db_runtime_getkeyvkstr with the internal ydrd state
| const char* convxml2conf_getconf | ( | yang_db_runtime_dataq_t * | ydrd, |
| const char * | ifname, | ||
| const char * | ofname | ||
| ) |
convert xml format config file to Excelfore format config file
| ydrd | yang_db_runtime_dataq_t |
| ifname | input xml format filename |
| ofname | output Excelfore format filename. if NULL, use a default temp file |
| bool yang_db_runtime_needaction | ( | yang_db_runtime_dataq_t * | ydrd | ) |
| int yang_db_runtime_nodestr2apkv | ( | yang_db_runtime_dataq_t * | ydrd, |
| const char * | line, | ||
| uint8_t * | aps, | ||
| void ** | kvs, | ||
| uint8_t * | kss | ||
| ) |
convert yang key string to aps,kvs,kss,,, in ydrd
| ydrd | yang_db_runtime_dataq_t |
| line | key string |
| aps | return node keys, it must have UC_MAX_AP_DEPTH of uint8_t space |
| kvs | return value keys, it must have UC_MAX_KV_DEPTH+1 of void pointer space |
| kss | return value key sizes, it must have UC_MAX_KV_DEPTH of uint8_t space |
| void yang_db_runtime_readdb_log | ( | bool | consoleprint, |
| uc_dbald * | dbald, | ||
| const char * | headmsg, | ||
| uint8_t | aps[], | ||
| void * | kvs[], | ||
| uint8_t | kss[] | ||
| ) |
read from the DB, and print into the log file, optionally print on console.
| consoleprint | true:priont on console |
| dbald | uc_dbald |
| headmsg | prefix of message log |
| aps | node keys |
| kvs | value keys |
| kss | value key sizes |
| int yang_db_runtime_iterate_fromline | ( | yang_db_runtime_dataq_t * | ydrd, |
| uc_range ** | range, | ||
| const char * | line, | ||
| void * | kvs[], | ||
| uint8_t | kss[], | ||
| bool | status, | ||
| void ** | value, | ||
| uint32_t * | vsize, | ||
| char ** | qstr | ||
| ) |
get a range from line, then iterate the contents
| ydrd | yang_db_runtime_dataq_t |
| range | when the iteration stops at the middle(stop with return 0 status) needs to be released by uc_get_range_release. when it comes to the end it is internally called, and no need to release 'range' |
| line | key string, value keys can be wildcard without value part |
| kvs | return value keys, it must have MAX_KV_DEPTH+1 of void pointer space |
| kss | return value key sizes, it must have MAX_KV_DEPTH of uint8_t space |
| status | true:get range from status('ro') area, false: get from config('rw') area |
| value | value of the iterated key |
| vsize | value size |
| qstr | data out |
| int yang_db_runtime_cache_fromline | ( | yang_db_runtime_dataq_t * | ydrd, |
| const char * | line, | ||
| bool | status, | ||
| char ** | rvalue, | ||
| int * | rvsize | ||
| ) |
call 'yang_db_runtime_iterate_fromline' internally and cache (qstr, vstr) into 'rvalue'.
| void yang_db_runtime_cache_fromline_release | ( | char * | rvalue | ) |
release the reserved memory in 'yang_db_runtime_cache_fromline'