unleashed-firmware/core/furi/record.h
gornekich 610f4f5d73
[FL-41] api-hal doxygen documentation (#387)
* targets/api-hal: rework documentation in doxygen style
* core/api-hal: rework documentation in doxygen style
* core/furi: rework documentation in doxygen style
* drivers: rework documentation in doxygen style

Co-authored-by: あく <alleteam@gmail.com>
2021-03-24 12:35:33 +03:00

50 lines
1.1 KiB
C

#pragma once
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* Initialize record storage
* For internal use only.
*/
void furi_record_init();
/**
* Create record
* @param name - record name
* @param data - data pointer
* @note Thread safe. Create and destroy must be executed from the same thread.
*/
void furi_record_create(const char* name, void* data);
/**
* Destroy record
* @param name - record name
* @return true if successful, false if still have holders or thread is not owner.
* @note Thread safe. Create and destroy must be executed from the same thread.
*/
bool furi_record_destroy(const char* name);
/**
* Open record
* @param name - record name
* @return pointer to the record
* @note Thread safe. Open and close must be executed from the same thread.
* Suspends caller thread till record appear
*/
void* furi_record_open(const char* name);
/**
* Close record
* @param name - record name
* @note Thread safe. Open and close must be executed from the same thread.
*/
void furi_record_close(const char* name);
#ifdef __cplusplus
}
#endif