Open CAS Framework
Open source framework of Cache Acceleration Software
ocf_io_class.h
Go to the documentation of this file.
1 /*
2  * Copyright(c) 2012-2020 Intel Corporation
3  * SPDX-License-Identifier: BSD-3-Clause-Clear
4  */
5 
14 #ifndef __OCF_IO_CLASS_H__
15 #define __OCF_IO_CLASS_H__
16 
27  int16_t priority;
30  uint32_t curr_size;
35  uint32_t min_size;
41  uint32_t max_size;
52 };
53 
68 int ocf_cache_io_class_get_info(ocf_cache_t cache, uint32_t io_class,
69  struct ocf_io_class_info *info);
70 
87 typedef int (*ocf_io_class_visitor_t)(ocf_cache_t cache,
88  uint32_t io_class_id, void *cntx);
89 
107  void *cntx);
108 
109 #endif /* __OCF_IO_CLASS_H__ */
struct ocf_cache * ocf_cache_t
handle to object designating ocf cache device
Definition: ocf_types.h:44
ocf_cleaning_t cleaning_policy_type
Definition: ocf_io_class.h:50
uint32_t max_size
Definition: ocf_io_class.h:41
char name[OCF_IO_CLASS_NAME_MAX]
Definition: ocf_io_class.h:21
int ocf_cache_io_class_get_info(ocf_cache_t cache, uint32_t io_class, struct ocf_io_class_info *info)
retrieve io class info
ocf_cache_mode_t cache_mode
Definition: ocf_io_class.h:24
#define OCF_IO_CLASS_NAME_MAX
Definition: ocf_def.h:321
OCF IO class information.
Definition: ocf_io_class.h:20
ocf_cache_mode_t
Definition: ocf_def.h:149
int(* ocf_io_class_visitor_t)(ocf_cache_t cache, uint32_t io_class_id, void *cntx)
helper function for ocf_io_class_visit
Definition: ocf_io_class.h:87
uint32_t curr_size
Definition: ocf_io_class.h:30
int ocf_io_class_visit(ocf_cache_t cache, ocf_io_class_visitor_t visitor, void *cntx)
enumerate all of the available IO classes.
uint32_t min_size
Definition: ocf_io_class.h:35
uint8_t eviction_policy_type
Definition: ocf_io_class.h:47
int16_t priority
Definition: ocf_io_class.h:27
ocf_cleaning_t
Definition: ocf_def.h:231