NTURT Zephyr v0.0.1
NTURT common library for Zephyr RTOS
Loading...
Searching...
No Matches
err.h File Reference

Error passing and handling support. More...

#include <stdbool.h>
#include <stddef.h>
#include <sys/queue.h>
#include <zephyr/sys/iterable_sections.h>
#include <zephyr/sys/util.h>
#include "nturt/err/errcode.h"
+ Include dependency graph for err.h:

Data Structures

struct  err
 Error. More...
 
struct  err_filter
 Error filter for error callbacks. More...
 
struct  err_callback
 Error callback. More...
 

Macros

#define ERR_FLAG_DISABLED   BIT(3)
 Flag indicating the error is disabled, meaning setting or clearing the error will not have any effect.
 
#define ERR_FLAG_SET   BIT(4)
 Flag indicating the error is set. Can also be used in ERR_DEFINE to define an error that will be set after initialization.
 
#define ERR_FLAG_SEV_MASK   (ERR_SEV_INFO | ERR_SEV_WARN | ERR_SEV_FATAL)
 Flag mask indicating the severity of the error.
 
#define ERR_DEFINE(_name, _errcode, _serverity, _desc, ...)
 Define an error.
 
#define ERR_FILTER_CODE(...)
 Error filter for error codes.
 
#define ERR_FILTER_SEV(...)
 Error filter for severities.
 
#define ERR_CALLBACK_DEFINE_NAMED(_name, _handler, _user_data, ...)
 Same as ERR_CALLBACK_DEFINE, but with a custom name for the callback.
 
#define ERR_CALLBACK_DEFINE(handler, user_data, ...)
 Define an error callback.
 
#define ERR_FOREACH_SET(item)
 Iterate over all set errors.
 

Typedefs

typedef void(* err_handler_t) (uint32_t errcode, bool set, void *user_data)
 Error handler type.
 

Enumerations

enum  err_sev { ERR_SEV_INFO = BIT(0) , ERR_SEV_WARN = BIT(1) , ERR_SEV_FATAL = BIT(2) }
 Error severity. More...
 
enum  err_filter_type { ERR_FILTER_TYPE_INVALID = 0 , ERR_FILTER_TYPE_CODE = 1 , ERR_FILTER_TYPE_SEV = 2 }
 Error filter type. More...
 

Functions

void err_report (uint32_t errcode, bool set)
 Set or clear error.
 
bool err_is_set (uint32_t errcode)
 Check if the error is set.
 

Detailed Description

Error passing and handling support.

Author
quantumspawner
Version
0.0.1
Date
2025-02-17