Oberon || Library || Module Index || Search Engine || Definition || Module
TYPE ReadByteProc = PROCEDURE (s: Streams.Stream; VAR byte: BYTE) : BOOLEAN; TYPE ReadCharProc = PROCEDURE (s: Streams.Stream; VAR char: CHAR) : BOOLEAN; TYPE ReadBooleanProc = PROCEDURE (s: Streams.Stream; VAR boolean: BOOLEAN) : BOOLEAN; TYPE ReadShortIntProc = PROCEDURE (s: Streams.Stream; VAR shortint: SHORTINT) : BOOLEAN; TYPE ReadIntegerProc = PROCEDURE (s: Streams.Stream; VAR integer: INTEGER) : BOOLEAN; TYPE ReadLongIntProc = PROCEDURE (s: Streams.Stream; VAR longint: LONGINT) : BOOLEAN; TYPE ReadRealProc = PROCEDURE (s: Streams.Stream; VAR real: REAL) : BOOLEAN; TYPE ReadLongRealProc = PROCEDURE (s: Streams.Stream; VAR longreal: LONGREAL) : BOOLEAN; TYPE ReadSetProc = PROCEDURE (s: Streams.Stream; VAR set: SET) : BOOLEAN; TYPE ReadStringProc = PROCEDURE (s: Streams.Stream; VAR string: ARRAY OF CHAR) : BOOLEAN; TYPE ReadConstStringProc = PROCEDURE (s: Streams.Stream; domain: ConstStrings.Domain; VAR string: ConstStrings.String) : BOOLEAN;
TYPE WriteByteProc = PROCEDURE (s: Streams.Stream; byte: BYTE) : BOOLEAN; TYPE WriteCharProc = PROCEDURE (s: Streams.Stream; char: CHAR) : BOOLEAN; TYPE WriteBooleanProc = PROCEDURE (s: Streams.Stream; boolean: BOOLEAN) : BOOLEAN; TYPE WriteShortIntProc = PROCEDURE (s: Streams.Stream; shortint: SHORTINT) : BOOLEAN; TYPE WriteIntegerProc = PROCEDURE (s: Streams.Stream; integer: INTEGER) : BOOLEAN; TYPE WriteLongIntProc = PROCEDURE (s: Streams.Stream; longint: LONGINT) : BOOLEAN; TYPE WriteRealProc = PROCEDURE (s: Streams.Stream; real: REAL) : BOOLEAN; TYPE WriteLongRealProc = PROCEDURE (s: Streams.Stream; longreal: LONGREAL) : BOOLEAN; TYPE WriteSetProc = PROCEDURE (s: Streams.Stream; set: SET) : BOOLEAN; TYPE WriteStringProc = PROCEDURE (s: Streams.Stream; string: ARRAY OF CHAR) : BOOLEAN; TYPE WriteConstStringProc = PROCEDURE (s: Streams.Stream; string: ConstStrings.String) : BOOLEAN;
TYPE Interface = POINTER TO InterfaceRec; TYPE InterfaceRec = RECORD readByte: ReadByteProc; readChar: ReadCharProc; readBoolean: ReadBooleanProc; readShortInt: ReadShortIntProc; readInteger: ReadIntegerProc; readLongInt: ReadLongIntProc; readReal: ReadRealProc; readLongReal: ReadLongRealProc; readSet: ReadSetProc; readString: ReadStringProc; readConstString: ReadConstStringProc; writeByte: WriteByteProc; writeChar: WriteCharProc; writeBoolean: WriteBooleanProc; writeShortInt: WriteShortIntProc; writeInteger: WriteIntegerProc; writeLongInt: WriteLongIntProc; writeReal: WriteRealProc; writeLongReal: WriteLongRealProc; writeSet: WriteSetProc; writeString: WriteStringProc; writeConstString: WriteConstStringProc; END;
PROCEDURE AttachInterface(s: Streams.Stream; if: Interface); PROCEDURE CopyInterface(from, to: Streams.Stream);
PROCEDURE ReadByte(s: Streams.Stream; VAR byte: BYTE) : BOOLEAN; PROCEDURE ReadChar(s: Streams.Stream; VAR char: CHAR) : BOOLEAN; PROCEDURE ReadBoolean(s: Streams.Stream; VAR boolean: BOOLEAN) : BOOLEAN; PROCEDURE ReadShortInt(s: Streams.Stream; VAR shortint: SHORTINT) : BOOLEAN; PROCEDURE ReadInteger(s: Streams.Stream; VAR integer: INTEGER) : BOOLEAN; PROCEDURE ReadLongInt(s: Streams.Stream; VAR longint: LONGINT) : BOOLEAN; PROCEDURE ReadReal(s: Streams.Stream; VAR real: REAL) : BOOLEAN; PROCEDURE ReadLongReal(s: Streams.Stream; VAR longreal: LONGREAL) : BOOLEAN; PROCEDURE ReadSet(s: Streams.Stream; VAR set: SET) : BOOLEAN; PROCEDURE ReadString(s: Streams.Stream; VAR string: ARRAY OF CHAR) : BOOLEAN; PROCEDURE ReadConstString(s: Streams.Stream; VAR string: ConstStrings.String) : BOOLEAN; PROCEDURE ReadConstStringD(s: Streams.Stream; domain: ConstStrings.Domain; VAR string: ConstStrings.String) : BOOLEAN;
PROCEDURE WriteByte(s: Streams.Stream; byte: BYTE) : BOOLEAN; PROCEDURE WriteChar(s: Streams.Stream; char: CHAR) : BOOLEAN; PROCEDURE WriteBoolean(s: Streams.Stream; boolean: BOOLEAN) : BOOLEAN; PROCEDURE WriteShortInt(s: Streams.Stream; shortint: SHORTINT) : BOOLEAN; PROCEDURE WriteInteger(s: Streams.Stream; integer: INTEGER) : BOOLEAN; PROCEDURE WriteLongInt(s: Streams.Stream; longint: LONGINT) : BOOLEAN; PROCEDURE WriteReal(s: Streams.Stream; real: REAL) : BOOLEAN; PROCEDURE WriteLongReal(s: Streams.Stream; longreal: LONGREAL) : BOOLEAN; PROCEDURE WriteSet(s: Streams.Stream; set: SET) : BOOLEAN; PROCEDURE WriteString(s: Streams.Stream; string: ARRAY OF CHAR) : BOOLEAN; PROCEDURE WriteConstString(s: Streams.Stream; string: ConstStrings.String) : BOOLEAN;
NetIO itself provides a default interface which is used when AttachInterface has not been called yet for the given stream or is called with if set to NIL. The default interface uses binary I/O which does not take care of different implementations. CopyInterface may be used instead of AttachInterface to attach the set of interface procedures to to which has been formerly attached to from. Note that NetIO supports Forwarders, i.e. Forwarders.Forward calls CopyInterface implicitly. If AttachInterface or CopyInterface is called, the new interface will be installed for all dependent streams of s or to, respectively.
Oberon || Library || Module Index || Search Engine || Definition || Module