The SoftDevice Application Programming Interface (API) is available to applications as a C programming
language interface based on SuperVisor Calls (SVC) and defined in a set of header files.
In addition to a Protocol API enabling wireless applications, there is an nRF API that
exposes the functionality of both the SoftDevice Manager and the SoC library.
SVCs are software triggered interrupts conforming to a procedure call standard for parameter passing and return values. Each SoftDevice API call triggers an SVC interrupt.
The SoftDevice SVC interrupt handler locates the correct SoftDevice function, allowing applications to compile without any API function address information at compile time.
This removes the necessity for the application to link the SoftDevice. The header files contain all information required for the application to invoke the API functions with standard
programming language prototypes. This SVC interface makes SoftDevice API calls thread-safe; they can be invoked from the application's different priority levels without additional
synchronization mechanisms.
Important: SoftDevice API functions can only be called from a lower
interrupt priority level (higher numerical value for the priority level) than the SVC priority.
For more information, see
Interrupt priority levels.