RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

OS_UpCall 256

Programmer's Reference Manuals
» Part 15 – SWI Calls
» OS
» OS_UpCall
» OS_UpCall 256

OS_UpCall 256

(SWI &33)
Entry
R0 256 (&100)
R2 Currently active object Pointer
Exit
R0 0 to stop application, else R0 is preserved
R2 Preserved?

Use

The purpose of this call is to call inform your application that a new application is going to be started.

Notes

This call is made just before a new application is going to be started in the current application space – for example due to a *Run or module command. It calls the UpCall vector.

One reason to use this call is so that an application can tidy up itself before a new one is started, e.g. removing routines from vector.

Another reason to use this UpCall is to prevent an application from starting. If you don’t want the application to start, your routine should set R0 to 0, and intercept the call to the vector. This will cause the error ‘Unable to start application’ to be given. Otherwise, you must pass the call on with all registers preserved.

See also

  • Currently Active Object Pointer
  • OS_UpCall
  • *Run
Created on December 4, 2009 15:30:37 by Alan Robertson (52)? (127.0.0.1)
Edit | Views: Print | Source | Linked from: OS_FSControl 2, OS_UpCall

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys