[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 ^$DEVICE

FreeM implements several important pieces of functionality in the ^$DEVICE SSV.

The first subscript of ^$DEVICE represents the I/O channel of an OPENed device.

The following values for the second subscript are supported:

EOF +R -U -D

Returns 1 if the I/O channel has encountered an end-of-file condition; 0 otherwise. Only valid if the I/O channel is connected to a sequential file.

LENGTH +R -U -D

Returns the length of the file connected to the I/O channel. Only valid if the I/O channel is connected to a sequential file.

MNEMONICSPACE +R -U -D

Returns the current mnemonic-space in use for the referenced I/O channel. Always X364 for terminals and blank for sequential files.

DSW +R +U -D

Sets or returns the current Device Status Word controlling terminal characteristics. Only valid for I/O channel 0.

TERMINATOR +R +U -D

Sets or returns the READ terminator for the specified I/O channel. Must be either $C(13,10) or $C(10). Currently only supported for socket devices (those having an I/O channel of 100-255).

TERMID +R -U -D

Returns the type of terminal connected to channel 0. Only valid for I/O channel 0.

ECHOON +R +U -D

Enables or disables local echo of characters typed in a READ command. Only valid for I/O channel 0. Corresponds to bit 0 of the Device Status Word.

DELMODE +R +U -D

Enables or disables visual backspace during a READ command. Only valid for I/O channel 0. Corresponds to bit 2 of the Device Status Word.

ESCSEQPROC +R +U -D

Enables or disables escape sequence processing during a READ command. Only valid for I/O channel 0. Corresponds to bit 6 of the Device Status Word.

CONVUPPER +R +U -D

Enables or disables automatic conversion to uppercase of alphabetical characters during a READ command. Only valid for I/O channel 0. Corresponds to bit 14 of the Device Status Word.

DELEMPTY +R +U -D

Enables or disables the automatic deletion of empty strings supplied to a READ command. Only valid for I/O channel 0. Corresponds to bit 19 of the Device Status Word.

NOCTRLS +R +U -D

TBD. Only valid for I/O channel 0. Corresponds to bit 20 of the Device Status Word.

CTRLOPROC +R +U -D

Enables or disables Ctrl-O processing during READ commands. Only valid for I/O channel 0. Corresponds to bit 21 of the Device Status Word.

NOTYPEAHEAD +R +U -D

Enables or disables typeahead buffering during READ commands. Only valid for I/O channel 0. Corresponds to bit 25 of the Device Status Word.

Example

The following example M code opens /etc/freem.conf and reads its contents line-by-line until the end of the file is reached.

 SET ^$JOB($JOB,"IOPATH")="/etc"   ; set I/O path to /etc
 OPEN 1:"freem.conf/r" ; open freem.conf for reading
 ;
 ; read until we run out of lines
 ;
 FOR  USE 1 READ LINE USE 0 QUIT:^$DEVICE(1,"EOF")  D
 . WRITE LINE,!
 ;
 CLOSE 1
 QUIT

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on September 10, 2021 using texi2html 5.0.