| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #pragma once
- #include <stdbool.h>
- #include <stdlib.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- /**
- * Write callback
- * @param _cookie - pointer to cookie (see stdio gnu extension)
- * @param data - pointer to data
- * @param size - data size
- * @warnign your handler must consume everything
- */
- typedef void (*FuriStdglueWriteCallback)(void* _cookie, const char* data, size_t size);
- /** Initialized std library glue code */
- void furi_stdglue_init();
- /**
- * Set global STDOUT callback
- * @param callback - callback or NULL to clear
- * @return true on success, otherwise fail
- * @warning function is thread aware, use this API from the same thread
- */
- bool furi_stdglue_set_global_stdout_callback(FuriStdglueWriteCallback callback);
- /**
- * Set STDOUT callback for your thread
- * @param callback - callback or NULL to clear
- * @return true on success, otherwise fail
- * @warning function is thread aware, use this API from the same thread
- */
- bool furi_stdglue_set_thread_stdout_callback(FuriStdglueWriteCallback callback);
- #ifdef __cplusplus
- }
- #endif
|