13#ifndef INCLUDE_ZEPHYR_DRIVERS_COREDUMP_H_
14#define INCLUDE_ZEPHYR_DRIVERS_COREDUMP_H_
68typedef void (*coredump_device_dump_t)(
const struct device *dev);
74typedef bool (*coredump_device_register_memory_t)(
const struct device *dev,
81typedef bool (*coredump_device_unregister_memory_t)(
const struct device *dev,
88typedef bool (*coredump_device_register_callback_t)(
const struct device *dev,
94__subsystem
struct coredump_driver_api {
95 coredump_device_dump_t dump;
96 coredump_device_register_memory_t register_memory;
97 coredump_device_unregister_memory_t unregister_memory;
98 coredump_device_register_callback_t register_callback;
118 const struct coredump_driver_api *api =
119 (
const struct coredump_driver_api *)dev->
api;
121 return api->register_memory(dev, region);
137 const struct coredump_driver_api *api =
138 (
const struct coredump_driver_api *)dev->
api;
140 return api->unregister_memory(dev, region);
155 const struct coredump_driver_api *api =
156 (
const struct coredump_driver_api *)dev->
api;
158 return api->register_callback(dev, callback);
static bool coredump_device_register_memory(const struct device *dev, struct coredump_mem_region_node *region)
Register a region of memory to be stored in core dump at the time it is generated.
Definition coredump.h:115
void(* coredump_dump_callback_t)(uintptr_t dump_area, size_t dump_area_size)
Callback that occurs at dump time, data copied into dump_area will be included in the dump that is ge...
Definition coredump.h:56
static bool coredump_device_register_callback(const struct device *dev, coredump_dump_callback_t callback)
Register a callback to be invoked at dump time.
Definition coredump.h:152
static bool coredump_device_unregister_memory(const struct device *dev, struct coredump_mem_region_node *region)
Unregister a region of memory to be stored in core dump at the time it is generated.
Definition coredump.h:134
struct _snode sys_snode_t
Single-linked list node structure.
Definition slist.h:39
#define bool
Definition stdbool.h:13
__UINTPTR_TYPE__ uintptr_t
Definition stdint.h:105
Structure describing a region in memory that may be stored in core dump at the time it is generated.
Definition coredump.h:38
sys_snode_t node
Node of single-linked list, do not modify.
Definition coredump.h:40
size_t size
Size of memory region.
Definition coredump.h:46
uintptr_t start
Address of start of memory region.
Definition coredump.h:43
Runtime device structure (in ROM) per driver instance.
Definition device.h:510
const void * api
Address of the API structure exposed by the device instance.
Definition device.h:516