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

Page "Message_RamFetch" does not exist. Please create it now, or hit the "back" button in your browser.

Message_RAMFetch

Programmer's Reference Manuals
» Part 7 - The Desktop
» The Window Manager
» Messages
» Message Codes
» Message_RAMFetch

Message_RAMFetch

(Code &6)
Message Block
+20 Pointer to buffer where receiver should put data
+24 Size of buffer

Use

Tasks should send this message either in response to a Message_DataSave message, indicating that you want to use memory transfer, or in response to a Message_RAMTransmit message, to request more data.

Notes

This message should always be sent as a User_Message_Recorded, so that if it is unanswered the task can either revert to the file transfer protocol, or abort the data transfer.

Before sending this message, it is important to allocate a buffer for the data-saving task to write data to. You can use the estimated data size from the Message_DataSave message, but you should be prepared for more (or less) data to actually be sent.

If you receive a Message_RAMTransmit message where the data-saving task has filled the buffer (data transferred-buffer size), then you should reply with this message. If you receive a Message_RAMTransmit where the data-saving task has not filled your buffer, then this marks the successful conclusions of the transfer.

If you cannot process the received data, you should report an error and abandon the transfer.

Possible responses from the data-saving tasks:

  • It sends Message_RAMTransmit (data successfully written to specified buffer)
  • It does not reply (memory transfer not supported/error writing data)

If this message returns unanswered:

  • If no reply is received to the first RAMFetch, file transfer should be used instead (send a Message_DataSaveAck).
  • If there is no reply to subsequent messages, then the transfer should be abandoned silently (the other end will already have reported an error)

See also

  • Message Codes
  • Message_DataSave
  • Message_DataSaveAck
  • Message_RAMTransmit
  • User_Message_Recorded
  • Wimp_Poll
  • Wimp_SendMessage
Created on July 3, 2009 19:58:37 by Alan Robertson (52)? (127.0.0.1)
Edit | Views: Print | Source | Linked from: Message Codes, Message_RAMTransmit, Message_DataSaved, TaskWindow_Input

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