00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef LSM_CAPABILITIES_H
00020 #define LSM_CAPABILITIES_H
00021
00022 #include "libstoragemgmt_common.h"
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00030
00032 typedef enum {
00033 LSM_CAP_UNSUPPORTED = 0,
00034 LSM_CAP_SUPPORTED = 1
00035 } lsm_capability_value_type;
00036
00038 typedef enum {
00039
00040 LSM_CAP_VOLUMES = 20,
00042 LSM_CAP_VOLUME_CREATE = 21,
00044 LSM_CAP_VOLUME_RESIZE = 22,
00047 LSM_CAP_VOLUME_REPLICATE = 23,
00049 LSM_CAP_VOLUME_REPLICATE_CLONE = 24,
00051 LSM_CAP_VOLUME_REPLICATE_COPY = 25,
00053 LSM_CAP_VOLUME_REPLICATE_MIRROR_ASYNC = 26,
00055 LSM_CAP_VOLUME_REPLICATE_MIRROR_SYNC = 27,
00058 LSM_CAP_VOLUME_COPY_RANGE_BLOCK_SIZE = 28,
00060 LSM_CAP_VOLUME_COPY_RANGE = 29,
00062 LSM_CAP_VOLUME_COPY_RANGE_CLONE = 30,
00064 LSM_CAP_VOLUME_COPY_RANGE_COPY = 31,
00067 LSM_CAP_VOLUME_DELETE = 33,
00070 LSM_CAP_VOLUME_ENABLE = 34,
00072 LSM_CAP_VOLUME_DISABLE = 35,
00075 LSM_CAP_VOLUME_MASK = 36,
00077 LSM_CAP_VOLUME_UNMASK = 37,
00079 LSM_CAP_ACCESS_GROUPS = 38,
00081 LSM_CAP_ACCESS_GROUP_CREATE_WWPN = 39,
00083 LSM_CAP_ACCESS_GROUP_DELETE = 40,
00085 LSM_CAP_ACCESS_GROUP_INITIATOR_ADD_WWPN = 41,
00087 LSM_CAP_ACCESS_GROUP_INITIATOR_DELETE = 42,
00090 LSM_CAP_VOLUMES_ACCESSIBLE_BY_ACCESS_GROUP = 43,
00092 LSM_CAP_ACCESS_GROUPS_GRANTED_TO_VOLUME = 44,
00096 LSM_CAP_VOLUME_CHILD_DEPENDENCY = 45,
00098 LSM_CAP_VOLUME_CHILD_DEPENDENCY_RM = 46,
00101 LSM_CAP_ACCESS_GROUP_CREATE_ISCSI_IQN = 47,
00103 LSM_CAP_ACCESS_GROUP_INITIATOR_ADD_ISCSI_IQN = 48,
00106 LSM_CAP_VOLUME_ISCSI_CHAP_AUTHENTICATION = 53,
00109 LSM_CAP_VOLUME_RAID_INFO = 54,
00112 LSM_CAP_VOLUME_THIN = 55,
00115 LSM_CAP_FS = 100,
00117 LSM_CAP_FS_DELETE = 101,
00119 LSM_CAP_FS_RESIZE = 102,
00121 LSM_CAP_FS_CREATE = 103,
00123 LSM_CAP_FS_CLONE = 104,
00125 LSM_CAP_FILE_CLONE = 105,
00127 LSM_CAP_FS_SNAPSHOTS = 106,
00129 LSM_CAP_FS_SNAPSHOT_CREATE = 107,
00131 LSM_CAP_FS_SNAPSHOT_DELETE = 109,
00133 LSM_CAP_FS_SNAPSHOT_RESTORE = 110,
00135 LSM_CAP_FS_SNAPSHOT_RESTORE_SPECIFIC_FILES = 111,
00137 LSM_CAP_FS_CHILD_DEPENDENCY = 112,
00139 LSM_CAP_FS_CHILD_DEPENDENCY_RM = 113,
00141 LSM_CAP_FS_CHILD_DEPENDENCY_RM_SPECIFIC_FILES = 114,
00144 LSM_CAP_EXPORT_AUTH = 120,
00146 LSM_CAP_EXPORTS = 121,
00148 LSM_CAP_EXPORT_FS = 122,
00150 LSM_CAP_EXPORT_REMOVE = 123,
00152 LSM_CAP_EXPORT_CUSTOM_PATH = 124,
00155 LSM_CAP_POOLS_QUICK_SEARCH = 210,
00157 LSM_CAP_VOLUMES_QUICK_SEARCH = 211,
00159 LSM_CAP_DISKS_QUICK_SEARCH = 212,
00161 LSM_CAP_ACCESS_GROUPS_QUICK_SEARCH = 213,
00163 LSM_CAP_FS_QUICK_SEARCH = 214,
00165 LSM_CAP_NFS_EXPORTS_QUICK_SEARCH = 215,
00168 LSM_CAP_TARGET_PORTS = 216,
00170 LSM_CAP_TARGET_PORTS_QUICK_SEARCH = 217,
00173 LSM_CAP_DISKS = 220,
00175 LSM_CAP_POOL_MEMBER_INFO = 221,
00178 LSM_CAP_VOLUME_RAID_CREATE = 222,
00180 } lsm_capability_type;
00181
00187 int LSM_DLL_EXPORT lsm_capability_record_free(lsm_storage_capabilities *cap);
00188
00195 lsm_capability_value_type LSM_DLL_EXPORT
00196 lsm_capability_get(lsm_storage_capabilities * cap,
00197 lsm_capability_type t);
00198
00205 int LSM_DLL_EXPORT lsm_capability_supported(lsm_storage_capabilities *cap,
00206 lsm_capability_type t);
00207
00208
00209 #ifdef __cplusplus
00210 }
00211 #endif
00212 #endif