Like all Operating Systems, RISC OS must pass information from one part of the system to another. Internal communication is achieved using SWIs in five categories:
The OS_ServiceCall SWI is used to pass a service around modules. It is the responsibility of a module if it wishes to provide the service or pass the call on to other modules. More information can be found in the Modules section.
The Window Manager is used to communicate with applications that run within the window environment. The full list of Wimp SWI calls are provided here.
CallBacks are routines that are to be called at a later date via a function pointer (address). There are two types:
Used by the OS to notify applications of particular situations. The OS_UpCall SWI performs many different operations (different reason codes). Routines that handle UpCalls must only call the error-returning SWI calls. That is SWI calls that have their X bit set. i.e. either add the value &20000 to the SWI number, or add the letter ‘X’ in front of the SWI name