<?xml version='1.0' encoding='ISO-8859-1' standalone='no'?>
<!DOCTYPE interface-description SYSTEM 'file:///usr/pkgsrc/lang/oo2c/work.macaroon/oo2c_32-2.0.11/rsrc/OOC/xml/interface-description.dtd'>
<interface-description name='IO:BinaryRider' id=''>
  <import-decl name='SYSTEM' id='SYSTEM' export='no' module='SYSTEM'/>
  <import-decl name='Object' id='Object' export='no' module='Object'/>
  <import-decl name='IO' id='IO' export='no' module='IO'/>
  <const-decl name='nativeEndian' id='nativeEndian' export='yes' value='unknown'>
    <oberon-doc>
      <summary>Do whatever the host machine uses.</summary>
      <p pad-after='yes' no-indent='yes'>Do whatever the host machine uses.</p>
    </oberon-doc>
  </const-decl>
  <const-decl name='littleEndian' id='littleEndian' export='yes' value='unknown'>
    <oberon-doc>
      <summary>Read/write least significant byte first.</summary>
      <p pad-after='yes' no-indent='yes'>Read/write least significant byte first.</p>
    </oberon-doc>
  </const-decl>
  <const-decl name='bigEndian' id='bigEndian' export='yes' value='unknown'>
    <oberon-doc>
      <summary>Read/write most significant byte first.</summary>
      <p pad-after='yes' no-indent='yes'>Read/write most significant byte first.</p>
    </oberon-doc>
  </const-decl>
  <import-decl name='-RT0' id='-RT0' export='no' module='RT0'/>
  <import-decl name='-Object' id='-Object' export='no' module='Object'/>
  <import-decl name='-Exception' id='-Exception' export='no' module='Exception'/>
  <class name='Reader'>
    <type-decl name='Reader' id='Reader' export='yes'>
      <type>
        <pointer>
          <pointer-base>
            <type-name name='ReaderDesc' href='#ReaderDesc'/>
          </pointer-base>
        </pointer>
      </type>
    </type-decl>
    <type-decl name='ReaderDesc' id='ReaderDesc' export='yes'>
      <type>
        <record>
          <field-decl name='byteOrder' id='ReaderDesc.byteOrder' export='read-only'>
            <oberon-doc>
              <summary>Endian settings for the reader.</summary>
              <p pad-after='yes' no-indent='yes'>Endian settings for the reader.</p>
            </oberon-doc>
            <type>
              <type-name module='#predef' name='SHORTINT'/>
            </type>
          </field-decl>
          <field-decl name='channel' id='ReaderDesc.channel' export='read-only'>
            <oberon-doc>
              <summary>The channel on which this reader is operating.</summary>
              <p pad-after='yes' no-indent='yes'>The channel on which this reader is operating.</p>
            </oberon-doc>
            <type>
              <type-name module='IO' name='ByteChannel' href='IO#ByteChannel'/>
            </type>
          </field-decl>
        </record>
      </type>
    </type-decl>
    <procedure name='SetPos' id='ReaderDesc.SetPos' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.SetPos.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='newPos' id='ReaderDesc.SetPos.newPos' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadBytes' id='ReaderDesc.ReadBytes' export='yes'>
      <oberon-doc>
        <summary>Read the bytes according to the native machine byte order.</summary>
        <p pad-after='yes' no-indent='yes'>Read the bytes according to the native machine byte order.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadBytes.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='x' id='ReaderDesc.ReadBytes.x' export='no' variable-parameter='yes'>
          <type>
            <array>
              <element-type>
                <type-name module='SYSTEM' name='BYTE' href='SYSTEM#BYTE'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <parameter-decl name='start' id='ReaderDesc.ReadBytes.start' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <parameter-decl name='n' id='ReaderDesc.ReadBytes.n' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadBytesOrdered' id='ReaderDesc.ReadBytesOrdered' export='no'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadBytesOrdered.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='x' id='ReaderDesc.ReadBytesOrdered.x' export='no' variable-parameter='yes'>
          <type>
            <array>
              <element-type>
                <type-name module='SYSTEM' name='BYTE' href='SYSTEM#BYTE'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadBool' id='ReaderDesc.ReadBool' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadBool.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='bool' id='ReaderDesc.ReadBool.bool' export='no' variable-parameter='yes'>
          <type>
            <type-name module='#predef' name='BOOLEAN'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadChar' id='ReaderDesc.ReadChar' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadChar.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='ch' id='ReaderDesc.ReadChar.ch' export='no' variable-parameter='yes'>
          <type>
            <type-name module='#predef' name='CHAR'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadLChar' id='ReaderDesc.ReadLChar' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadLChar.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='ch' id='ReaderDesc.ReadLChar.ch' export='no' variable-parameter='yes'>
          <type>
            <type-name module='#predef' name='LONGCHAR'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadString' id='ReaderDesc.ReadString' export='yes'>
      <oberon-doc>
        <summary>The string <oberon-param href='#ReaderDesc.ReadString.s'>s</oberon-param> is filled until <samp>0X</samp> is encountered, there are no more characters in the channel, or the string is filled.</summary>
        <p pad-after='yes' no-indent='yes'>The string <oberon-param href='#ReaderDesc.ReadString.s'>s</oberon-param> is filled until <samp>0X</samp> is encountered, there are no more characters in the channel, or the string is filled. <oberon-param href='#ReaderDesc.ReadString.s'>s</oberon-param> is always terminated with <samp>0X</samp>.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadString.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='s' id='ReaderDesc.ReadString.s' export='no' variable-parameter='yes'>
          <type>
            <array>
              <element-type>
                <type-name module='#predef' name='CHAR'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadLString' id='ReaderDesc.ReadLString' export='yes'>
      <oberon-doc>
        <summary>The string <oberon-param href='#ReaderDesc.ReadLString.s'>s</oberon-param> is filled until <samp>0X</samp> is encountered, there are no more characters in the channel, or the string is filled.</summary>
        <p pad-after='yes' no-indent='yes'>The string <oberon-param href='#ReaderDesc.ReadLString.s'>s</oberon-param> is filled until <samp>0X</samp> is encountered, there are no more characters in the channel, or the string is filled. <oberon-param href='#ReaderDesc.ReadLString.s'>s</oberon-param> is always terminated with <samp>0X</samp>.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadLString.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='s' id='ReaderDesc.ReadLString.s' export='no' variable-parameter='yes'>
          <type>
            <array>
              <element-type>
                <type-name module='#predef' name='LONGCHAR'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadSInt' id='ReaderDesc.ReadSInt' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadSInt.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='sint' id='ReaderDesc.ReadSInt.sint' export='no' variable-parameter='yes'>
          <type>
            <type-name module='#predef' name='SHORTINT'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadInt' id='ReaderDesc.ReadInt' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadInt.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='int' id='ReaderDesc.ReadInt.int' export='no' variable-parameter='yes'>
          <type>
            <type-name module='#predef' name='INTEGER'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadLInt' id='ReaderDesc.ReadLInt' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadLInt.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='lint' id='ReaderDesc.ReadLInt.lint' export='no' variable-parameter='yes'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadNum' id='ReaderDesc.ReadNum' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadNum.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='num' id='ReaderDesc.ReadNum.num' export='no' variable-parameter='yes'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadReal' id='ReaderDesc.ReadReal' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadReal.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='real' id='ReaderDesc.ReadReal.real' export='no' variable-parameter='yes'>
          <type>
            <type-name module='#predef' name='REAL'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadLReal' id='ReaderDesc.ReadLReal' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadLReal.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='lreal' id='ReaderDesc.ReadLReal.lreal' export='no' variable-parameter='yes'>
          <type>
            <type-name module='#predef' name='LONGREAL'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadSet' id='ReaderDesc.ReadSet' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadSet.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='s' id='ReaderDesc.ReadSet.s' export='no' variable-parameter='yes'>
          <type>
            <type-name module='#predef' name='SET'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='ReadStr' id='ReaderDesc.ReadStr' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.ReadStr.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='s' id='ReaderDesc.ReadStr.s' export='no' variable-parameter='yes'>
          <type>
            <type-name module='Object' name='String' href='Object#String'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='SetByteOrder' id='ReaderDesc.SetByteOrder' export='yes'>
      <formal-parameters>
        <receiver-decl name='r' id='ReaderDesc.SetByteOrder.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </receiver-decl>
        <parameter-decl name='order' id='ReaderDesc.SetByteOrder.order' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='SHORTINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='InitReader' id='InitReader' export='yes'>
      <formal-parameters>
        <parameter-decl name='r' id='InitReader.r' export='no' variable-parameter='no'>
          <type>
            <type-name name='Reader' href='#Reader'/>
          </type>
        </parameter-decl>
        <parameter-decl name='ch' id='InitReader.ch' export='no' variable-parameter='no'>
          <type>
            <type-name module='IO' name='ByteChannel' href='IO#ByteChannel'/>
          </type>
        </parameter-decl>
        <parameter-decl name='byteOrder' id='InitReader.byteOrder' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='SHORTINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='ConnectReader' id='ConnectReader' export='yes'>
      <oberon-doc>
        <pre-cond pad-after='yes'>
          <p pad-after='no' no-indent='yes'><oberon-param href='#ConnectReader.ch'>ch</oberon-param> is in blocking mode.</p>
        </pre-cond>
      </oberon-doc>
      <formal-parameters>
        <parameter-decl name='ch' id='ConnectReader.ch' export='no' variable-parameter='no'>
          <type>
            <type-name module='IO' name='ByteChannel' href='IO#ByteChannel'/>
          </type>
        </parameter-decl>
        <result-type>
          <type-name name='Reader' href='#Reader'/>
        </result-type>
      </formal-parameters>
    </procedure>
  </class>
  <class name='Writer'>
    <type-decl name='Writer' id='Writer' export='yes'>
      <type>
        <pointer>
          <pointer-base>
            <type-name name='WriterDesc' href='#WriterDesc'/>
          </pointer-base>
        </pointer>
      </type>
    </type-decl>
    <type-decl name='WriterDesc' id='WriterDesc' export='yes'>
      <type>
        <record>
          <field-decl name='byteOrder' id='WriterDesc.byteOrder' export='read-only'>
            <oberon-doc>
              <summary>Endian settings for the writer.</summary>
              <p pad-after='yes' no-indent='yes'>Endian settings for the writer.</p>
            </oberon-doc>
            <type>
              <type-name module='#predef' name='SHORTINT'/>
            </type>
          </field-decl>
          <field-decl name='channel' id='WriterDesc.channel' export='read-only'>
            <oberon-doc>
              <summary>The channel on which this writer is operating.</summary>
              <p pad-after='yes' no-indent='yes'>The channel on which this writer is operating.</p>
            </oberon-doc>
            <type>
              <type-name module='IO' name='ByteChannel' href='IO#ByteChannel'/>
            </type>
          </field-decl>
        </record>
      </type>
    </type-decl>
    <procedure name='SetPos' id='WriterDesc.SetPos' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.SetPos.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='newPos' id='WriterDesc.SetPos.newPos' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteBytes' id='WriterDesc.WriteBytes' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteBytes.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='x' id='WriterDesc.WriteBytes.x' export='no' variable-parameter='no'>
          <type>
            <array>
              <element-type>
                <type-name module='SYSTEM' name='BYTE' href='SYSTEM#BYTE'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <parameter-decl name='start' id='WriterDesc.WriteBytes.start' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <parameter-decl name='n' id='WriterDesc.WriteBytes.n' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteOrdered' id='WriterDesc.WriteOrdered' export='no'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteOrdered.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='x' id='WriterDesc.WriteOrdered.x' export='no' variable-parameter='yes'>
          <type>
            <array>
              <element-type>
                <type-name module='SYSTEM' name='BYTE' href='SYSTEM#BYTE'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteChar' id='WriterDesc.WriteChar' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteChar.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='ch' id='WriterDesc.WriteChar.ch' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='CHAR'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteBool' id='WriterDesc.WriteBool' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteBool.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='bool' id='WriterDesc.WriteBool.bool' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='BOOLEAN'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteLChar' id='WriterDesc.WriteLChar' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteLChar.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='ch' id='WriterDesc.WriteLChar.ch' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGCHAR'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteString' id='WriterDesc.WriteString' export='yes'>
      <oberon-doc>
        <summary>Note: The terminating <samp>0X</samp> is also written.</summary>
        <p pad-after='yes' no-indent='yes'>Note: The terminating <samp>0X</samp> is also written.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteString.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='s' id='WriterDesc.WriteString.s' export='no' variable-parameter='no'>
          <type>
            <array>
              <element-type>
                <type-name module='#predef' name='CHAR'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteLString' id='WriterDesc.WriteLString' export='yes'>
      <oberon-doc>
        <summary>The terminating <samp>0X</samp> is also written.</summary>
        <p pad-after='yes' no-indent='yes'>The terminating <samp>0X</samp> is also written.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteLString.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='s' id='WriterDesc.WriteLString.s' export='no' variable-parameter='no'>
          <type>
            <array>
              <element-type>
                <type-name module='#predef' name='LONGCHAR'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteSInt' id='WriterDesc.WriteSInt' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteSInt.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='sint' id='WriterDesc.WriteSInt.sint' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='SHORTINT'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteInt' id='WriterDesc.WriteInt' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteInt.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='int' id='WriterDesc.WriteInt.int' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='INTEGER'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteLInt' id='WriterDesc.WriteLInt' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteLInt.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='lint' id='WriterDesc.WriteLInt.lint' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteNum' id='WriterDesc.WriteNum' export='yes'>
      <oberon-doc>
        <summary>Write integers in a compressed and portable format.</summary>
        <p pad-after='yes' no-indent='yes'>Write integers in a compressed and portable format.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteNum.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='lint' id='WriterDesc.WriteNum.lint' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteReal' id='WriterDesc.WriteReal' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteReal.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='real' id='WriterDesc.WriteReal.real' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='REAL'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteLReal' id='WriterDesc.WriteLReal' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteLReal.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='lreal' id='WriterDesc.WriteLReal.lreal' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGREAL'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteSet' id='WriterDesc.WriteSet' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteSet.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='s' id='WriterDesc.WriteSet.s' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='SET'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='WriteStr' id='WriterDesc.WriteStr' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.WriteStr.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='s' id='WriterDesc.WriteStr.s' export='no' variable-parameter='no'>
          <type>
            <type-name module='Object' name='String' href='Object#String'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='IO' name='Error' href='IO#Error'/>
        </exceptions>
      </formal-parameters>
    </procedure>
    <procedure name='SetByteOrder' id='WriterDesc.SetByteOrder' export='yes'>
      <formal-parameters>
        <receiver-decl name='w' id='WriterDesc.SetByteOrder.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='order' id='WriterDesc.SetByteOrder.order' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='SHORTINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='InitWriter' id='InitWriter' export='yes'>
      <formal-parameters>
        <parameter-decl name='w' id='InitWriter.w' export='no' variable-parameter='no'>
          <type>
            <type-name name='Writer' href='#Writer'/>
          </type>
        </parameter-decl>
        <parameter-decl name='ch' id='InitWriter.ch' export='no' variable-parameter='no'>
          <type>
            <type-name module='IO' name='ByteChannel' href='IO#ByteChannel'/>
          </type>
        </parameter-decl>
        <parameter-decl name='byteOrder' id='InitWriter.byteOrder' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='SHORTINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='ConnectWriter' id='ConnectWriter' export='yes'>
      <oberon-doc>
        <pre-cond pad-after='yes'>
          <p pad-after='no' no-indent='yes'><oberon-param href='#ConnectWriter.ch'>ch</oberon-param> is in blocking mode.</p>
        </pre-cond>
      </oberon-doc>
      <formal-parameters>
        <parameter-decl name='ch' id='ConnectWriter.ch' export='no' variable-parameter='no'>
          <type>
            <type-name module='IO' name='ByteChannel' href='IO#ByteChannel'/>
          </type>
        </parameter-decl>
        <result-type>
          <type-name name='Writer' href='#Writer'/>
        </result-type>
      </formal-parameters>
    </procedure>
  </class>
  <module-ref name='Object'>
    <ref-target type='html' relative-uri='../Object.html'/>
  </module-ref>
  <module-ref name='IO'>
    <ref-target type='html' relative-uri='../IO.html'/>
  </module-ref>
</interface-description>
