<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="polydoc.xsl"?>
<polydoc>
<title>Signature ASN1 Structure Asn1</title>
<navigation>
<parent href="Basis.html">Basis</parent>
<next href="Foreign.xml">Foreign</next>
</navigation>
<headtext>
<p>
These functions provide assistance in the encoding and decoding of ASN1
binary encoding.
</p></headtext>
<topdecs>
<summary>signature ASN1:
sig
    datatype form = Primitive | Constructed
    datatype tagType =
        Universal of int * form |
        Application of int * form |
        Context of int * form |
        Private of int * form
    val asn1Boolean: tagType
    and asn1Integer: tagType
    and asn1BitString: tagType
    and asn1OctetString: tagType
    val readHeader:
        (Word8.word, 'a) StringCvt.reader -&gt;
          (tagType * int, 'a) StringCvt.reader
    val decodeItem:
        Word8VectorSlice.slice -&gt;
          {tag:tagType, data:Word8VectorSlice.slice,
            remainder:Word8VectorSlice.slice} option
    val decodeInt: Word8VectorSlice.slice -&gt; int
    and decodeLargeInt: Word8VectorSlice.slice -&gt; LargeInt.int
    and decodeString: Word8VectorSlice.slice -&gt; string
    and decodeBool: Word8VectorSlice.slice -&gt; bool
    val encodeItem:
        tagType * Word8Vector.vector list -&gt; Word8Vector.vector list
    val encodeInt: int -&gt; Word8Vector.vector
    and encodeString: string -&gt; Word8Vector.vector
    and encodeBool: bool -&gt; Word8Vector.vector
end
structure Asn1: ASN1
</summary>
<bindings><binding>
<code>datatype <definition>form</definition> = Primitive | Constructed
</code>
<text><p></p></text>
</binding>
<binding>
<code>datatype <definition>tagType</definition> =
    Universal of int * form |
    Application of int * form |
    Context of int * form |
    Private of int * form
</code>
<text><p></p></text>
</binding>
<binding>
<code>val <definition>asn1Boolean</definition> : tagType
and <definition>asn1Integer</definition> : tagType
and <definition>asn1BitString</definition> : tagType
and <definition>asn1OctetString</definition> : tagType
</code>
<text><p></p></text>
</binding>
<binding>
<code>val <definition>readHeader</definition> :
    (Word8.word, 'a) StringCvt.reader -&gt;
      (tagType * int, 'a) StringCvt.reader
</code>
<text><p></p></text>
</binding>
<binding>
<code>val <definition>decodeItem</definition> :
    Word8VectorSlice.slice -&gt;
      {tag:tagType, data:Word8VectorSlice.slice,
        remainder:Word8VectorSlice.slice} option
</code>
<text><p></p></text>
</binding>
<binding>
<code>val <definition>decodeInt</definition> : Word8VectorSlice.slice -&gt; int
and <definition>decodeLargeInt</definition> : Word8VectorSlice.slice -&gt; LargeInt.int
and <definition>decodeString</definition> : Word8VectorSlice.slice -&gt; string
and <definition>decodeBool</definition> : Word8VectorSlice.slice -&gt; bool
</code>
<text><p></p></text>
</binding>
<binding>
<code>val <definition>encodeItem</definition> :
    tagType * Word8Vector.vector list -&gt; Word8Vector.vector list
</code>
<text><p></p></text>
</binding>
<binding>
<code>val <definition>encodeInt</definition> : int -&gt; Word8Vector.vector
and <definition>encodeString</definition> : string -&gt; Word8Vector.vector
and <definition>encodeBool</definition> : bool -&gt; Word8Vector.vector
</code>
<text><p></p></text>
</binding>
</bindings>
</topdecs>
<tailtext>
<p></p></tailtext>
</polydoc>
