00001 /*----------------------------------------------------------------------------- 00002 Copyright 2006-2010 Fusion-io, Inc. All rights 00003 reserved. 00004 00005 No part of this source code may be reproduced or transmitted in any form or 00006 by any means, electronic or mechanical, including photocopying, recording, 00007 or any information storage and retrieval system, without express written 00008 permission from Fusion-io. Further, no use of this source code is permitted 00009 in any form or means without a valid, written license agreement with 00010 Fusion-io. Please refer to the included "License" or "License.txt" file for 00011 terms and conditions regarding the use and redistribution of this 00012 software. Acceptance of the terms and conditions of the license set forth in the 00013 included "License" or "License.txt" file shall govern rights granted to use this 00014 source code. While every precaution has been taken in the preparation of this 00015 source code, Fusion-io assumes no responsibility for errors, omissions, or 00016 damages from the use of the source code contained herein. 00017 00018 NEITHER FUSION-IO, ANY MEMBER OF FUSION-IO, NOR ANY PERSON OR ORGANIZATION 00019 ACTING ON BEHALF OF THEM MAKES ANY WARRANTY OR REPRESENTATION WHATSOEVER, 00020 EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS 00021 OF ANY PURPOSE WITH RESPECT TO THE SOURCE CODE OR ASSUMES ANY LIABILITY 00022 WHATSOEVER WITH RESPECT TO ANY USE OF THE SOURCE CODE OR ANY PORTION 00023 THEREOF OR WITH RESPECT TO ANY DAMAGES WHICH MAY RESULT FROM SUCH USE. 00024 -----------------------------------------------------------------------------*/ 00025 00026 #ifndef _INCLUDE_FIO_PUBLIC_VOL_MGMT_H_ 00027 #define _INCLUDE_FIO_PUBLIC_VOL_MGMT_H_ 00028 00029 #ifdef __cplusplus 00030 extern "C" { 00031 #endif 00032 00033 #include <fio/public/volume_mgmt_types.h> 00034 #include <fio/public/iodimm_types.h> 00035 00039 DllExport 00040 fio_vol_mgmt_result_t 00041 fio_vol_mgmt_init(void); 00042 00049 DllExport 00050 void 00051 fio_vol_mgmt_fini(void); 00052 00069 DllExport 00070 fio_vol_mgmt_result_t 00071 fio_vol_mgmt_open_drive_handle(fio_iodimm_selector_t* selector, 00072 fio_drive_handle_t* drive_handle); 00073 00083 DllExport 00084 void 00085 fio_vol_mgmt_close_drive_handle(fio_drive_handle_t* drive_handle); 00086 00099 DllExport 00100 fio_vol_mgmt_result_t 00101 fio_vol_mgmt_refresh_volumes(fio_drive_handle_t* drive_handle); 00102 00103 /***** OS-neutral shared convenience functions *****/ 00104 00108 fio_vol_mgmt_result_t 00109 status_result_to_vol_mgmt_result(fio_status_result_t s_result); 00110 00111 00112 #ifdef __cplusplus 00113 } 00114 #endif 00115 00116 #endif /* _INCLUDE_FIO_PUBLIC_VOL_MGMT_H_ */ 00117