IOBmem toolkit
==============
Wrapping for the IOB.xxx traps to send and fetch bytes into a buffer
Compatible with SMSQ/E, QDOS and Minerva
Usage:
------
Fetch string/bytes
fetched% = FMUL2MEM%([#ch%;] address, buflen%)
fetched% = FLIN2MEM%([#ch%;] address, buflen%)
where: #ch% is the channel number to use (default #3)
addr is the address where to load.
must point to a buffer of at least bufflen
must be an even, positive, none-zero address
buflen% is the size of the buffer
must be a positive number between 0 and 32767
fetched% is either the number of bytes fetched (including LF, in
the case of FLIN2MEM)
or an error code: Soft errors are NC, EOF, BFFL
(EOF is only returned when fetched% reaches zero
although it may in fact have been triggered on the
preceding call.)
Hard errors: ICHN, etc
Note: LF is included in FLIN2MEM%, and must therefore be accommodated by
the size of the buffer. In the case of a Buffer Full error, the
terminating character is undefined.
If you use FLIN2MEM% in a window channel, the cursor appears and the string
may be edited; it works a bit like INPUT. This is not the case with
FMUL2MEM%. However, you can still type in characters only they wont be
echoed on screen, and any editing keystrokes, including <ENTER> will be
regarded as part of the data! It will only return when the buffer is full
or on EOF (where the channel is open to a file), or if <break> is pressed
(where possible, ie not normally when compiled).
Software status
---------------
V0.01, pjw, 2023 Jun 01
Conditions of use and DISCLAIMER as per Knoware.no
Generated by QuickHTM, 2023 Aug 13