
Direct buffer access API
========================

This document contains details of changes made to the MessageTrans API in
version 0.41 and later of the MessageTrans module.

MessageTrans now has the capability to be pointed at arbitrary blocks of
memory which are to be treated as message files to remove the requirement
that messages are contained in files.

A minor API change has occurred to enable this:

SWI MessageTrans_OpenFile

On entry:
   R0 = 4-word data structure
   R1 = 0
   R2 = Data buffer

The change is that zero is passed in R1 (usually the filename).  This
indicates that R2 points to a word-aligned buffer with the following format:

  +0  n+4    Length of data block (including this length word)
  +4  ...    n bytes of message data
  
This change may be used in conjunction with the hash table API (see doc file
HashingAPI) to request that MessageTrans generate and use hash tables for the
data, in which case R3 on entry is &54534146 and R0 points to an 8-word data
structure.
 

--SBrodie, 16 Aug 2000
