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_DISK_H 00021 #define LIBSTORAGEMGMT_DISK_H 00022 00023 #include "libstoragemgmt_common.h" 00024 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif 00028 00034 int LSM_DLL_EXPORT lsm_disk_record_free(lsm_disk *d); 00035 00041 lsm_disk LSM_DLL_EXPORT *lsm_disk_record_copy(lsm_disk *d); 00042 00049 int LSM_DLL_EXPORT lsm_disk_record_array_free(lsm_disk *disk[], 00050 uint32_t size); 00051 00059 const char LSM_DLL_EXPORT *lsm_disk_id_get(lsm_disk *d); 00060 00068 const char LSM_DLL_EXPORT *lsm_disk_name_get(lsm_disk *d); 00069 00077 lsm_disk_type LSM_DLL_EXPORT lsm_disk_type_get(lsm_disk *d); 00078 00086 uint64_t LSM_DLL_EXPORT lsm_disk_number_of_blocks_get(lsm_disk *d); 00087 00095 uint64_t LSM_DLL_EXPORT lsm_disk_block_size_get(lsm_disk *d); 00096 00104 uint64_t LSM_DLL_EXPORT lsm_disk_status_get(lsm_disk *d); 00105 00113 const char LSM_DLL_EXPORT *lsm_disk_system_id_get(lsm_disk *d); 00114 00115 #ifdef __cplusplus 00116 } 00117 #endif 00118 #endif /* LIBSTORAGEMGMT_DISK_H */