Sortix cross-volatile manual
This manual documents Sortix cross-volatile. You can instead view this document in the latest official manual.
NAME
scram — emergency process shutdownDESCRIPTION
scram() unconditionally terminates the process abnormally due to the specified event. It is designed for use when the process has potentially been compromised and therefore can’t possibly continue safely. Its use does not necessarily mean the process was compromised, but it does imply a bug was detected.- SCRAM_ASSERT
- Assertion failure.
- SCRAM_STACK_SMASH
- Stack smash.
- SCRAM_UNDEFINED_BEHAVIOR
- Undefined behavior.
struct scram_assert { /* SCRAM_ASSERT */ const char *filename; /* file the assertion failed in */ unsigned long line; /* line the assertion failed on */ const char *function; /* function containing the assertion */ const char *expression; /* assertion expression */ }; /* SCRAM_STACK_SMASH has no information structure */ struct scram_undefined_behavior { /* SCRAM_UNDEFINED_BEHAVIOR */ const char *filename; /* file with undefined behavior */ unsigned long line; /* line with undefined behavior */ unsigned long column; /* column on the line with undefined behavior */ const char *violation; /* description of the undefined behavior */ };