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

Service_PDriverGetMessages

Programmer's Reference Manuals
» Part 16 – Service Calls
» Service_PDriverGetMessages

Service_PDriverGetMessages

(Service &78)
Entry
R1 120 (&78)
Exit
R1-R3 Preserved to pass on, else
R1 0 (claimed)
R3 Pointer to block (20 bytes in size)

Use

This service is issued when a PDriver module is about to open Resources:$.Resources.PDrivers.Messages.

Notes

If another PDriver module has already opened this file, it should claim the service and return the block pointed to by R3.

If a PDriver module issues this service and it goes unclaimed, it should allocate 20 bytes with OS_Module 6, pass the block to MessageTrans_OpenFile?, and set the last word (usage count) to 1.

If the service is claimed, then the PDriver module should increase the usage count in the block by 1.

Either way, when the PDriver module is finished with the file, it should decrease the usage count in the block by 1. If this reduces the count to 0, it should call MessageTrans_CloseFile? and then OS_Module 7 to free the block.

See also

  • MessageTrans_CloseFile?
  • MessageTrans_OpenFile?
  • OS_Module 6
  • OS_Module 7
  • Service Calls
  • Service_PDriverGetMessages Block
Created on December 12, 2009 20:26:35 by Alan Robertson (52)? (127.0.0.1)
Edit | Views: Print | Source | Linked from: Service Calls, Service_PDriverGetMessages Block

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