diff --git a/inc/ocf_core.h b/inc/ocf_core.h index acabd39..6509f13 100644 --- a/inc/ocf_core.h +++ b/inc/ocf_core.h @@ -239,4 +239,21 @@ int ocf_core_visit(ocf_cache_t cache, ocf_core_visitor_t visitor, void *cntx, */ int ocf_core_get_info(ocf_core_t core, struct ocf_core_info *info); +/** + * @brief Set core private data + * + * @param[in] core Core object + * @param[in] priv Private data + */ +void ocf_core_set_priv(ocf_core_t core, void *priv); + +/** + * @brief Get core private data + * + * @param[in] core Core object + * + * @retval Private data + */ +void *ocf_core_get_priv(ocf_core_t core); + #endif /* __OCF_CORE_H__ */ diff --git a/src/ocf_core.c b/src/ocf_core.c index c87602b..2e1f564 100644 --- a/src/ocf_core.c +++ b/src/ocf_core.c @@ -620,3 +620,15 @@ int ocf_core_get_info(ocf_core_t core, struct ocf_core_info *info) return 0; } + +void ocf_core_set_priv(ocf_core_t core, void *priv) +{ + OCF_CHECK_NULL(core); + core->priv = priv; +} + +void *ocf_core_get_priv(ocf_core_t core) +{ + OCF_CHECK_NULL(core); + return core->priv; +} diff --git a/src/ocf_core_priv.h b/src/ocf_core_priv.h index 5f68eb8..722cfba 100644 --- a/src/ocf_core_priv.h +++ b/src/ocf_core_priv.h @@ -91,6 +91,8 @@ struct ocf_core { uint32_t added : 1; struct ocf_counters_core *counters; + + void *priv; }; bool ocf_core_is_valid(ocf_cache_t cache, ocf_core_id_t id);