00001 /* 00002 * Copyright (C) 2011-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 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 #ifndef LIBSTORAGEMGMT_POOL_H 00020 #define LIBSTORAGEMGMT_POOL_H 00021 00022 #include "libstoragemgmt_common.h" 00023 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif 00027 00034 int LSM_DLL_EXPORT lsm_pool_record_array_free(lsm_pool *pa[], uint32_t size); 00035 00041 int LSM_DLL_EXPORT lsm_pool_record_free(lsm_pool *p); 00042 00048 lsm_pool LSM_DLL_EXPORT *lsm_pool_record_copy(lsm_pool *to_be_copied); 00049 00056 char LSM_DLL_EXPORT *lsm_pool_name_get(lsm_pool *p); 00057 00064 char LSM_DLL_EXPORT *lsm_pool_id_get(lsm_pool *p); 00065 00071 uint64_t LSM_DLL_EXPORT lsm_pool_total_space_get(lsm_pool *p); 00072 00078 uint64_t LSM_DLL_EXPORT lsm_pool_free_space_get(lsm_pool *p); 00079 00086 uint64_t LSM_DLL_EXPORT lsm_pool_status_get(lsm_pool *s); 00087 00093 const char LSM_DLL_EXPORT *lsm_pool_status_info_get(lsm_pool *s); 00094 00100 char LSM_DLL_EXPORT *lsm_pool_system_id_get(lsm_pool *p); 00101 00107 uint64_t LSM_DLL_EXPORT lsm_pool_element_type_get(lsm_pool *p); 00108 00114 uint64_t LSM_DLL_EXPORT lsm_pool_unsupported_actions_get(lsm_pool *p); 00115 00116 #ifdef __cplusplus 00117 } 00118 #endif 00119 #endif /* LIBSTORAGEMGMT_POOL_H */