1 /* 2 ** Zabbix 3 ** Copyright (C) 2001-2021 Zabbix SIA 4 ** 5 ** This program is free software; you can redistribute it and/or modify 6 ** it under the terms of the GNU General Public License as published by 7 ** the Free Software Foundation; either version 2 of the License, or 8 ** (at your option) any later version. 9 ** 10 ** This program is distributed in the hope that it will be useful, 11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 ** GNU General Public License for more details. 14 ** 15 ** You should have received a copy of the GNU General Public License 16 ** along with this program; if not, write to the Free Software 17 ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 **/ 19 20 #ifndef ZABBIX_ZBXVAULT_H 21 #define ZABBIX_ZBXVAULT_H 22 23 #include "common.h" 24 #include "zbxalgo.h" 25 26 typedef struct 27 { 28 char *key; 29 char *value; 30 } 31 zbx_kv_t; 32 33 zbx_hash_t zbx_vault_kv_hash(const void *data); 34 int zbx_vault_kv_compare(const void *d1, const void *d2); 35 void zbx_vault_kv_clean(void *data); 36 37 int zbx_vault_init_token_from_env(char **error); 38 int zbx_vault_init_db_credentials(char **error); 39 int zbx_vault_kvs_get(const char *path, zbx_hashset_t *kvs, char **error); 40 int zbx_vault_json_kvs_get(const char *path, const struct zbx_json_parse *jp_kvs_paths, zbx_hashset_t *kvs, 41 char **error); 42 43 #endif 44