callout
QNX SDP8.0Building Embedded SystemsConfigurationDeveloper
Information for kernel callouts
The callout area is CPU-independent. It is defined by the
callout_entry data structure, which includes the following members:
- reboot
- A pointer to the reboot callout function. This callout function is invoked in two scenarios:
- A
normal
termination, which is done based on a user request (i.e., through sysmgr_reboot()) and is therefore expected - An
abnormal
termination, which is done to recover from an unexpected system failure and is therefore unexpected. Reasons for an abnormal termination include:- the kernel detects internal inconsistencies
- the kernel runs out of memory doing work that is guaranteed to succeed
- a critical process terminates
Note:If the behavior of the system cannot be guaranteed to meet all requirements, the safest course of action is to return system control to the startup program so that it can, in a board-specific way, put the system into a known good state (e.g., by rebooting).For more details and a code sample, see
System reboot
. - A
- debug
- This field is an array that has two entries:
- debug[0] — used for informational purposes
- debug[1] — currently unused; set this field to NULL
Only the first entry is discussed in this guide. This entry points to a callout that prints out internal debugging information to a device. For information about the specific types of kernel debug callouts, see the
Kernel debug
entry in theKernel Callouts
chapter. - debug_watchdog
- Not used. This field is set to NULL.
- custom
- This field must be either:
- NULL, indicating that no custom kernel call callout is provided
- non-NULL, and pointing to valid code provided by the startup program, indicating that
a custom kernel call callout is provided. For information about the signature and a code sample for a custom callout,
see the
Custom
entry in theKernel Callouts
chapter.
Page updated: