6#ifndef CAFFEINE_SAL_UTL_LOGGING_H
7#define CAFFEINE_SAL_UTL_LOGGING_H
20#define CFN_SAL_UTL_TYPE_LOGGING CFN_SAL_TYPE('L', 'O', 'G')
95 uint32_t peripheral_id,
103 CFN_HAL_POPULATE_DRIVER(
119 return CFN_HAL_ERROR_BAD_PARAM;
121 driver->base.vmt = (
const struct cfn_hal_api_base_s *) driver->api;
129 return CFN_HAL_ERROR_BAD_PARAM;
139 return CFN_HAL_ERROR_BAD_PARAM;
141 driver->config = config;
148 if (!driver || !config || !driver->config)
150 return CFN_HAL_ERROR_BAD_PARAM;
152 *config = *(driver->config);
153 return CFN_HAL_ERROR_OK;
162 return CFN_HAL_ERROR_BAD_PARAM;
164 driver->cb = callback;
165 driver->cb_user_arg = user_arg;
166 return cfn_hal_base_callback_register(
171 cfn_hal_power_state_t state)
175 return CFN_HAL_ERROR_BAD_PARAM;
184 return CFN_HAL_ERROR_BAD_PARAM;
194 return CFN_HAL_ERROR_BAD_PARAM;
203 return CFN_HAL_ERROR_BAD_PARAM;
212 return CFN_HAL_ERROR_BAD_PARAM;
222 return CFN_HAL_ERROR_BAD_PARAM;
231 return CFN_HAL_ERROR_BAD_PARAM;
243 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
253 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
261 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
269 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
276 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
284 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
Core definitions and macros for Caffeine SAL.
#define CFN_SAL_CREATE_DRIVER_TYPE(prefix, config_type, api_type, phy_type, cb_type)
Definition cfn_sal.h:38
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_config_set(cfn_sal_utl_logging_t *driver, const cfn_sal_utl_logging_config_t *config)
Definition cfn_sal_utl_logging.h:134
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_event_disable(cfn_sal_utl_logging_t *driver, uint32_t event_mask)
Definition cfn_sal_utl_logging.h:189
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_log(cfn_sal_utl_logging_t *driver, cfn_sal_utl_logging_level_t level, const char *fmt,...)
Definition cfn_sal_utl_logging.h:238
struct cfn_sal_utl_logging_s cfn_sal_utl_logging_t
Definition cfn_sal_utl_logging.h:55
cfn_sal_utl_logging_level_t
Definition cfn_sal_utl_logging.h:25
@ CFN_SAL_UTL_LOGGING_LEVEL_FATAL
Definition cfn_sal_utl_logging.h:30
@ CFN_SAL_UTL_LOGGING_LEVEL_DEBUG
Definition cfn_sal_utl_logging.h:26
@ CFN_SAL_UTL_LOGGING_LEVEL_ERROR
Definition cfn_sal_utl_logging.h:29
@ CFN_SAL_UTL_LOGGING_LEVEL_WARN
Definition cfn_sal_utl_logging.h:28
@ CFN_SAL_UTL_LOGGING_LEVEL_INFO
Definition cfn_sal_utl_logging.h:27
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_set_level(cfn_sal_utl_logging_t *driver, cfn_sal_utl_logging_level_t level)
Definition cfn_sal_utl_logging.h:258
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_event_enable(cfn_sal_utl_logging_t *driver, uint32_t event_mask)
Definition cfn_sal_utl_logging.h:180
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_set_format(cfn_sal_utl_logging_t *driver, cfn_sal_utl_logging_format_t format)
Definition cfn_sal_utl_logging.h:281
CFN_HAL_INLINE void cfn_sal_utl_logging_populate(cfn_sal_utl_logging_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_utl_logging_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_utl_logging_config_t *config, cfn_sal_utl_logging_callback_t callback, void *user_arg)
Definition cfn_sal_utl_logging.h:94
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_error_disable(cfn_sal_utl_logging_t *driver, uint32_t error_mask)
Definition cfn_sal_utl_logging.h:217
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_set_output_target(cfn_sal_utl_logging_t *driver, cfn_sal_utl_logging_target_t target)
Definition cfn_sal_utl_logging.h:266
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_error_enable(cfn_sal_utl_logging_t *driver, uint32_t error_mask)
Definition cfn_sal_utl_logging.h:208
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_power_state_set(cfn_sal_utl_logging_t *driver, cfn_hal_power_state_t state)
Definition cfn_sal_utl_logging.h:170
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_callback_register(cfn_sal_utl_logging_t *driver, cfn_sal_utl_logging_callback_t callback, void *user_arg)
Definition cfn_sal_utl_logging.h:156
cfn_hal_error_code_t cfn_sal_utl_logging_construct(cfn_sal_utl_logging_t *driver, const cfn_sal_utl_logging_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_utl_logging_callback_t callback, void *user_arg)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_config_get(cfn_sal_utl_logging_t *driver, cfn_sal_utl_logging_config_t *config)
Definition cfn_sal_utl_logging.h:145
cfn_sal_utl_logging_target_t
Definition cfn_sal_utl_logging.h:34
@ CFN_SAL_UTL_LOGGING_TARGET_CONSOLE
Definition cfn_sal_utl_logging.h:35
@ CFN_SAL_UTL_LOGGING_TARGET_FILE
Definition cfn_sal_utl_logging.h:36
@ CFN_SAL_UTL_LOGGING_TARGET_NETWORK
Definition cfn_sal_utl_logging.h:37
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_enable_color(cfn_sal_utl_logging_t *driver, bool enable)
Definition cfn_sal_utl_logging.h:274
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_deinit(cfn_sal_utl_logging_t *driver)
Definition cfn_sal_utl_logging.h:125
cfn_sal_utl_logging_format_t
Definition cfn_sal_utl_logging.h:41
@ CFN_SAL_UTL_LOGGING_FORMAT_JSON
Definition cfn_sal_utl_logging.h:43
@ CFN_SAL_UTL_LOGGING_FORMAT_TEXT
Definition cfn_sal_utl_logging.h:42
#define CFN_SAL_UTL_TYPE_LOGGING
Definition cfn_sal_utl_logging.h:20
cfn_hal_error_code_t cfn_sal_utl_logging_destruct(cfn_sal_utl_logging_t *driver)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_init(cfn_sal_utl_logging_t *driver)
Definition cfn_sal_utl_logging.h:115
void(* cfn_sal_utl_logging_callback_t)(cfn_sal_utl_logging_t *driver, uint32_t event, uint32_t error, void *user_arg)
Definition cfn_sal_utl_logging.h:58
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_flush(cfn_sal_utl_logging_t *driver)
Definition cfn_sal_utl_logging.h:251
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_error_get(cfn_sal_utl_logging_t *driver, uint32_t *error_mask)
Definition cfn_sal_utl_logging.h:227
CFN_HAL_VMT_CHECK(struct cfn_sal_utl_logging_api_s)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_logging_event_get(cfn_sal_utl_logging_t *driver, uint32_t *event_mask)
Definition cfn_sal_utl_logging.h:199
Generic physical mapping for services.
Definition cfn_sal_types.h:26
Logging Virtual Method Table (VMT).
Definition cfn_sal_utl_logging.h:67
cfn_hal_error_code_t(* flush)(cfn_sal_utl_logging_t *driver)
Definition cfn_sal_utl_logging.h:75
cfn_hal_error_code_t(* set_output_target)(cfn_sal_utl_logging_t *driver, cfn_sal_utl_logging_target_t target)
Definition cfn_sal_utl_logging.h:79
cfn_hal_error_code_t(* set_level)(cfn_sal_utl_logging_t *driver, cfn_sal_utl_logging_level_t level)
Definition cfn_sal_utl_logging.h:78
cfn_hal_error_code_t(* log)(cfn_sal_utl_logging_t *driver, cfn_sal_utl_logging_level_t level, const char *fmt, va_list args)
Definition cfn_sal_utl_logging.h:71
cfn_hal_error_code_t(* set_format)(cfn_sal_utl_logging_t *driver, cfn_sal_utl_logging_format_t format)
Definition cfn_sal_utl_logging.h:81
cfn_hal_error_code_t(* enable_color)(cfn_sal_utl_logging_t *driver, bool enable)
Definition cfn_sal_utl_logging.h:80
cfn_hal_api_base_t base
Definition cfn_sal_utl_logging.h:68
Definition cfn_sal_utl_logging.h:49
bool use_timestamp
Definition cfn_sal_utl_logging.h:51
cfn_sal_utl_logging_level_t min_level
Definition cfn_sal_utl_logging.h:50
void * custom
Definition cfn_sal_utl_logging.h:52