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_FUSION_SERVICE_TYPES_H_ 00027 #define _INCLUDE_FIO_PUBLIC_FUSION_SERVICE_TYPES_H_ 00028 00029 #ifdef __cplusplus 00030 extern "C" { 00031 #endif 00032 00033 #include <fio/public/common_types.h> 00034 #include <fio/public/dyn_struct_alloc.h> 00035 00036 /****************************************** 00037 * Trim Service Types * 00038 ******************************************/ 00039 typedef struct fio_trim_enable_req 00040 { 00041 uint32_t lib_version; 00042 uint8_t trim_enabled; 00043 } fio_trim_enable_req_t; 00044 00045 typedef struct fio_trim_enable_rsp 00046 { 00047 uint32_t lib_version; 00048 uint8_t setting_changed; 00049 uint8_t status_changed; 00050 } fio_trim_enable_rsp_t; 00051 00052 typedef struct fio_trim_status 00053 { 00054 uint32_t lib_version; 00055 uint8_t trim_enabled; 00057 uint8_t trim_enabled_valid; 00058 uint8_t os_trim_supported; 00059 uint8_t os_trim_supported_valid; 00060 uint8_t os_trim_active; 00061 uint8_t os_trim_active_valid; 00062 uint8_t fusion_trim_running; 00063 uint8_t fusion_trim_running_valid; 00064 } fio_trim_status_t; 00065 00066 #ifdef __cplusplus 00067 } 00068 #endif 00069 00070 #endif /* _INCLUDE_FIO_PUBLIC_FUSION_SERVICE_TYPES_H_ */