00001 /* 00002 * Copyright (C) 2014 Red Hat, Inc. 00003 * This library is free software; you can redistribute it and/or 00004 * modify it under the terms of the GNU Lesser General Public 00005 * License as published by the Free Software Foundation; either 00006 * version 2.1 of the License, or (at your option) any later version. 00007 * 00008 * This library is distributed in the hope that it will be useful, 00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 * Lesser General Public License for more details. 00012 * 00013 * You should have received a copy of the GNU Lesser General Public 00014 * License along with this library; If not, see <http://www.gnu.org/licenses/>. 00015 * 00016 * Author: tasleson 00017 * 00018 */ 00019 00020 #ifndef LIBSTORAGEMGMT_HASH_H 00021 #define LIBSTORAGEMGMT_HASH_H 00022 00023 #include "libstoragemgmt_common.h" 00024 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif 00028 00037 lsm_hash LSM_DLL_EXPORT *lsm_hash_alloc(void); 00038 00044 int LSM_DLL_EXPORT lsm_hash_free(lsm_hash *op); 00045 00052 int LSM_DLL_EXPORT lsm_hash_keys(lsm_hash *op, lsm_string_list **l); 00053 00061 const char LSM_DLL_EXPORT *lsm_hash_string_get(lsm_hash *op, 00062 const char *key); 00063 00072 int LSM_DLL_EXPORT lsm_hash_string_set(lsm_hash *op, 00073 const char *key, const char *value); 00074 00080 lsm_hash LSM_DLL_EXPORT *lsm_hash_copy(lsm_hash *src); 00081 00082 #ifdef __cplusplus 00083 } 00084 #endif 00085 #endif /* LIBSTORAGEMGMT_HASH_H */