/* * Copyright (C) 2010 Vyatta, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _CSTORE_C_H_ #define _CSTORE_C_H_ #ifdef __cplusplus extern "C" { #endif #include void *cstore_init(void); void cstore_free(void *handle); int cstore_validate_tmpl_path(void *handle, const char *path_comps[], int num_comps, int validate_tags); int cstore_validate_tmpl_path_d(void *handle, const char *path_comps[], int num_comps, int validate_tags, vtw_def *def); int cstore_cfg_path_exists(void *handle, const char *path_comps[], int num_comps); int cstore_cfg_path_deactivated(void *handle, const char *path_comps[], int num_comps, int in_active); char *cstore_cfg_path_get_effective_value(void *handle, const char *path_comps[], int num_comps); int cstore_unmark_cfg_path_changed(void *handle, const char *path_comps[], int num_comps); /* the following are internal APIs for the library. they can only be used * during cstore operations since they operate on "current" paths constructed * by the operations. */ int cstore_get_var_ref(void *handle, const char *ref_str, vtw_type_e *type, char **val, int from_active); int cstore_set_var_ref(void *handle, const char *ref_str, const char *value, int to_active); /* util functions */ char **cstore_path_string_to_path_comps(const char *path_str, int *num_comps); void cstore_free_path_comps(char **path_comps, int num_comps); #ifdef __cplusplus } #endif #endif /* _CSTORE_C_H_ */