]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/ocf/inc/ocf_types.h
import 15.2.0 Octopus source
[ceph.git] / ceph / src / spdk / ocf / inc / ocf_types.h
1 /*
2 * Copyright(c) 2012-2018 Intel Corporation
3 * SPDX-License-Identifier: BSD-3-Clause-Clear
4 */
5
6 /**
7 * @file
8 * @brief OCF types
9 */
10 #ifndef __OCF_TYPES_H_
11 #define __OCF_TYPES_H_
12
13 #include "ocf_env_headers.h"
14
15 /**
16 * @brief cache id type (by default designated as 16 bit unsigned integer)
17 */
18 typedef uint16_t ocf_cache_id_t;
19
20 /**
21 * @brief cache line type (by default designated as 32 bit unsigned integer)
22 */
23 typedef uint32_t ocf_cache_line_t;
24
25 /**
26 * @brief core id type (by default designated as 16 bit unsigned integer)
27 */
28 typedef uint16_t ocf_core_id_t;
29
30 /**
31 * @brief core sequence number type (by default designated as 16 bit unsigned integer)
32 */
33 typedef uint16_t ocf_seq_no_t;
34
35 /**
36 * @brief partition id type (by default designated as 16 bit unsigned integer)
37 */
38 typedef uint16_t ocf_part_id_t;
39
40 /**
41 * @brief handle to object designating ocf context
42 */
43 typedef struct ocf_ctx *ocf_ctx_t;
44
45 struct ocf_cache;
46 /**
47 * @brief handle to object designating ocf cache device
48 */
49 typedef struct ocf_cache *ocf_cache_t;
50
51 struct ocf_core;
52 /**
53 * @brief handle to object designating ocf core object
54 */
55 typedef struct ocf_core *ocf_core_t;
56
57 struct ocf_volume;
58 /**
59 * @brief handle to object designating ocf volume
60 */
61 typedef struct ocf_volume *ocf_volume_t;
62
63
64 struct ocf_volume_type;
65 /**
66 * @brief handle to volume type
67 */
68 typedef const struct ocf_volume_type *ocf_volume_type_t;
69
70 /**
71 * @brief handle to volume uuid
72 */
73 typedef struct ocf_volume_uuid *ocf_uuid_t;
74
75 /**
76 * @brief handle to object designating ocf context object
77 */
78 typedef void ctx_data_t;
79
80 /**
81 * @brief handle to I/O queue
82 */
83 typedef struct ocf_queue *ocf_queue_t;
84
85 /**
86 * @brief handle to cleaner
87 */
88 typedef struct ocf_cleaner *ocf_cleaner_t;
89
90 /**
91 * @brief handle to metadata_updater
92 */
93 typedef struct ocf_metadata_updater *ocf_metadata_updater_t;
94
95 /**
96 * @brief handle to logger
97 */
98 typedef struct ocf_logger *ocf_logger_t;
99
100 #endif