00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _INCLUDE_FIO_PUBLIC_VOL_MGMT_TYPES_H_
00027 #define _INCLUDE_FIO_PUBLIC_VOL_MGMT_TYPES_H_
00028
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00033 #include <fio/public/common_types.h>
00034 #define VOL_MGMT_MAX_FS_TYPE_LEN 16
00035
00036 typedef enum
00037 {
00038 FIO_VOLMAN_VT_UNKNOWN = 0,
00039 FIO_VOLMAN_VT_SIMPLE = 1,
00040 FIO_VOLMAN_VT_SPAN = 2,
00041 FIO_VOLMAN_VT_STRIPE = 3,
00042 FIO_VOLMAN_VT_MIRROR = 4,
00043 FIO_VOLMAN_VT_PARITY = 5,
00044 FIO_VOLMAN_VT_MULTIPATH = 6,
00045 FIO_VOLMAN_VT_FAULTY = 7,
00046 } fio_vol_mgmt_volume_type_t;
00047
00048
00052 typedef struct fio_volume
00053 {
00054 uint32_t lib_version;
00055 char* identifier;
00057 uint64_t mb_total;
00058 uint64_t mb_used;
00059 char* fs_type;
00060 uint64_t mount_point_count;
00061 char** mount_points;
00062 void* resource;
00063
00064 char* volume_path;
00065 char* partition_path;
00068 char* label;
00069 fio_vol_mgmt_volume_type_t volume_type;
00070 } fio_volume_t;
00071
00072
00076 typedef struct fio_drive_handle
00077 {
00078 uint32_t lib_version;
00079 uint32_t volume_count;
00080 fio_volume_t** volumes;
00081 void* resource;
00082 } fio_drive_handle_t;
00083
00087 typedef struct fio_drive_handle_list
00088 {
00089 uint32_t lib_version;
00090 uint32_t drive_handle_count;
00091 fio_drive_handle_t** drive_handles;
00092 } fio_drive_handle_list_t;
00093
00094 #ifdef _MSC_VER
00095 typedef enum
00096 {
00097 MULTITHREADED = 0x0,
00098 APARTMENTTHREADED = 0x2,
00099 DISABLE_OLE1DDE = 0x4,
00100 SPEED_OVER_MEMORY = 0x8,
00101 }fio_com_init_type_t;
00102
00103 typedef struct fio_vol_ini_com
00104 {
00105 uint32_t lib_version;
00106 fio_com_init_type_t init_type;
00107 }fio_vol_ini_com_t;
00108 #endif
00109
00110 typedef enum
00111 {
00112 FIO_VOLMAN_SUCCESS = 0,
00113 FIO_VOLMAN_OUT_OF_MEMORY = 1,
00114 FIO_VOLMAN_INIT_FAILURE = 2,
00115 FIO_VOLMAN_SERVICE_FAILURE = 3,
00116 FIO_VOLMAN_DRIVE_NOT_FOUND = 4,
00117 FIO_VOLMAN_VOLUME_NOT_FOUND = 5,
00118 FIO_VOLMAN_INCONSISTENT_STATE = 6,
00119 FIO_VOLMAN_GENERAL_FAILURE = 7,
00120 FIO_VOLMAN_NOT_IMPLEMENTED = 8,
00121 FIO_VOLMAN_NOT_ATTACHED = 9,
00122 FIO_VOLMAN_OS_INFO_ERROR = 10,
00123 } fio_vol_mgmt_result_t;
00124
00125 #define FIO_VOLMAN_FST_UNKNOWN "Unknown"
00126 #define FIO_VOLMAN_FST_RAW "WIN-RAW"
00127 #define FIO_VOLMAN_FST_FAT "FAT"
00128 #define FIO_VOLMAN_FST_FAT32 "FAT32"
00129 #define FIO_VOLMAN_FST_NTFS "NTFS"
00130 #define FIO_VOLMAN_FST_EXFAT "exFAT"
00131 #define FIO_VOLMAN_FST_EXT "ext"
00132 #define FIO_VOLMAN_FST_EXT2 "ext2"
00133 #define FIO_VOLMAN_FST_EXT3 "ext3"
00134 #define FIO_VOLMAN_FST_EXT4 "ext4"
00135 #define FIO_VOLMAN_FST_XFS "XFS"
00136 #define FIO_VOLMAN_FST_ZFS "ZFS"
00137 #define FIO_VOLMAN_FST_NFS "nfs"
00138 #define FIO_VOLMAN_FST_NFSD "nfsd"
00139 #define FIO_VOLMAN_FST_TMPFS "tmpfs"
00140 #define FIO_VOLMAN_FST_PROC "proc"
00141 #define FIO_VOLMAN_FST_SYS "sysfs"
00142 #define FIO_VOLMAN_FST_DEVPTS "devpts"
00143 #define FIO_VOLMAN_FST_BINFMT_MISC "binfmt_misc"
00144 #define FIO_VOLMAN_FST_RPC_PIPEFS "rpc_pipefs"
00145 #define FIO_VOLMAN_FST_FUSECTL "fusectl"
00146 #define FIO_VOLMAN_FST_FUSEBLK "fuseblk"
00147
00148 #ifdef __cplusplus
00149 }
00150 #endif
00151
00152 #endif