|
Safe API Framework
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
|
Files | |
| sapi_mem_util.h | |
| Thin, MISRA-visible wrappers over the three raw memory-block primitives (fill/copy/compare) every other safeAPIFreamwork or downstream-application module needs but has no business calling libc's <string.h> directly for - sapi_mem_set()/sapi_mem_copy()/ sapi_mem_compare() are the ONE sanctioned call site for each underlying libc function, so an audit for "does this codebase
call libc string/memory functions directly" has exactly one file to check instead of grepping every translation unit for <string.h>. Deliberately NOT a "safe string library" (no strcpy/strcat/strlen-style variable-length text handling) - this framework and every application built on it work in fixed-size buffers throughout (CLAUDE.md: no malloc/free), so the only primitives actually needed are fixed-length block operations. | |
| sapi_memory.h | |
| OS Abstraction Layer - Static memory reservation service. | |
| sapi_safe_ptr.h | |
| Safe-pointer wrapper: bounds + NULL + corruption-canary checked access to a raw memory region, so callers never perform raw pointer arithmetic on a buffer directly. | |