59#define CS_MAX_REGIONS 8
124bool cs_add_region(uint8_t idx,
const uint8_t *addr, uint32_t size);
134bool cs_enable(uint8_t idx,
bool enabled);
bool __cs_enable(uint8_t idx, bool enabled)
Privileged implementation of cs_enable().
void(* cs_mismatch_fn)(uint8_t region_idx, uint16_t expected, uint16_t actual)
Mismatch callback signature.
void __cs_set_callback(cs_mismatch_fn fn)
Privileged implementation of cs_set_callback().
bool __cs_get_region(uint8_t idx, cs_region_t *out)
Privileged implementation of cs_get_region().
void cs_set_callback(cs_mismatch_fn fn)
Register the mismatch callback.
bool cs_add_region(uint8_t idx, const uint8_t *addr, uint32_t size)
Add a memory region to the monitor.
bool cs_enable(uint8_t idx, bool enabled)
Enable or disable scanning of a region.
uint8_t __cs_region_count(void)
Privileged implementation of cs_region_count().
bool __cs_add_region(uint8_t idx, const uint8_t *addr, uint32_t size)
Privileged implementation of cs_add_region().
void __cs_init(void)
Privileged implementation of cs_init().
void cs_init(void)
Initialize the checksum monitor.
uint8_t cs_region_count(void)
Return the number of registered (non-empty) regions.
uint8_t __cs_check_all(void)
Privileged implementation of cs_check_all().
bool cs_rebaseline(uint8_t idx)
Re-compute and store the baseline CRC for a region.
uint8_t cs_check_all(void)
Scan all enabled regions and invoke the mismatch callback for any CRC failures.
bool __cs_rebaseline(uint8_t idx)
Privileged implementation of cs_rebaseline().
bool cs_get_region(uint8_t idx, cs_region_t *out)
Read back a region's configuration.
Descriptor for a monitored memory region.
const uint8_t * addr
Start address of the region.
bool enabled
True if this region is actively scanned.
uint32_t size
Size in bytes.
uint16_t baseline
Expected CRC16-CCITT value.