EXOS 2.1 Serial/Network Driver Specification

5. Quick Reference Summary


5.1 Serial - EXOS Calls

Open/Create Channel

Treated identically.
Only one channel, and no network channel.
Device name "SERIAL:".
Filename and unit number ignored.
No EXOS variables to be set before open.

Close/Destroy Channel

Treated identically.

Read Character/Block

Reads characters from serial input, some buffering.

Write Character/Block

Writes bytes without interpretation.

Read Status

Always character ready (C = 0).

Set Status

Not supported.

Special Function

No special functions


5.2 Network - EXOS Calls

Open/Create Channel

Treated identically.
Multiple channels allowed, but no serial channel.
Unit number defines destination machine number.
Filename ignored.
Device name "NET:".
EXOS variable ADDR_NET must be set before open.

Close/Destroy Channel

Treated identically.
Will try to send any buffered data.

Read Character/Block

Reads characters from buffer if available, else returns EOF or waits.

Write Character/Block

Puts bytes in buffer.
Written to network when @@FLSH special function call is done, or channel is closed, or buffer is full.

Read Status

C = 000h if character in buffer.
C = 0FFh if end of record.
C = 001h if buffer empty.

Set Status

Not supported.

Special Function

@@FLUSH = 16 - Send buffered data with end­of­record flag set.
@@CLR = 17 - Clear send and receive buffers.


5.3 EXOS Variables

FORM_SET - Serial format, set to zero by network.
BAUD_SER - Serial and network baud rate.

ADDR_NET - Network address of this machine.
CHAN_NET - Channel on which network block received.
MACH_NET - Machine from which network block received.

NET_IRQ - Zero to enable network software interrupts.

5.4 Software Interrupt Codes

Occurs when a data block is received by a network channel if NET_IRQ is zero:

?NET = 30h



David Bouman. (dsbouma@cs.vu.nl)