<?xml version="1.0" encoding="utf-8"?>
<opc:TypeDictionary
xmlns="http://opcfoundation.org/BinarySchema/"
xmlns:opc="http://opcfoundation.org/BinarySchema/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
TargetNamespace="http://opcfoundation.org/BinarySchema/"
>
<opc:Documentation>This dictionary defines the standard types used by the OPC Binary type description system.</opc:Documentation>
<opc:OpaqueType Name="Bit" LengthInBits="1">
<opc:Documentation>A single bit.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="Boolean" LengthInBits="8">
<opc:Documentation>A two state logical value represented as a 8-bit value.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="SByte" LengthInBits="8">
<opc:Documentation>An 8-bit signed integer.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="Byte" LengthInBits="8">
<opc:Documentation>A 8-bit unsigned integer.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="Int16" LengthInBits="16" ByteOrderSignificant="true">
<opc:Documentation>A 16-bit signed integer.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="UInt16" LengthInBits="16" ByteOrderSignificant="true">
<opc:Documentation>A 16-bit unsigned integer.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="Int32" LengthInBits="32" ByteOrderSignificant="true">
<opc:Documentation>A 32-bit signed integer.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="UInt32" LengthInBits="32" ByteOrderSignificant="true">
<opc:Documentation>A 32-bit unsigned integer.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="Int64" LengthInBits="32" ByteOrderSignificant="true">
<opc:Documentation>A 64-bit signed integer.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="UInt64" LengthInBits="64" ByteOrderSignificant="true">
<opc:Documentation>A 64-bit unsigned integer.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="Float" LengthInBits="32" ByteOrderSignificant="true">
<opc:Documentation>An IEEE-754 single precision floating point value.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="Double" LengthInBits="64" ByteOrderSignificant="true">
<opc:Documentation>An IEEE-754 double precision floating point value.</opc:Documentation>
</opc:OpaqueType>
<opc:OpaqueType Name="Char" LengthInBits="8">
<opc:Documentation>A 8-bit character value.</opc:Documentation>
</opc:OpaqueType>
<opc:StructuredType Name="String">
<opc:Documentation>A UTF-8 null terminated string value.</opc:Documentation>
<opc:Field Name="Value" TypeName="Char" Terminator="00" />
</opc:StructuredType>
<opc:StructuredType Name="CharArray">
<opc:Documentation>A UTF-8 string prefixed by its length in characters.</opc:Documentation>
<opc:Field Name="Length" TypeName="Int32" />
<opc:Field Name="Value" TypeName="Char" LengthField="Length" />
</opc:StructuredType>
<opc:OpaqueType Name="WideChar" LengthInBits="16" ByteOrderSignificant="true">
<opc:Documentation>A 16-bit character value.</opc:Documentation>
</opc:OpaqueType>
<opc:StructuredType Name="WideString">
<opc:Documentation>A UTF-16 null terminated string value.</opc:Documentation>
<opc:Field Name="Value" TypeName="WideChar" Terminator="0000" />
</opc:StructuredType>
<opc:StructuredType Name="WideCharArray">
<opc:Documentation>A UTF-16 string prefixed by its length in characters.</opc:Documentation>
<opc:Field Name="Length" TypeName="Int32" />
<opc:Field Name="Value" TypeName="WideChar" LengthField="Length" />
</opc:StructuredType>
<opc:StructuredType Name="ByteString">
<opc:Documentation>An array of bytes prefixed by its length.</opc:Documentation>
<opc:Field Name="Length" TypeName="Int32" />
<opc:Field Name="Value" TypeName="Byte" LengthField="Length" />
</opc:StructuredType>
<opc:OpaqueType Name="DateTime" LengthInBits="64" ByteOrderSignificant="true">
<opc:Documentation>The number of 100 nanosecond intervals since January 01, 1601.</opc:Documentation>
</opc:OpaqueType>
<opc:StructuredType Name="Guid">
<opc:Documentation>A 128-bit globally unique identifier.</opc:Documentation>
<opc:Field Name="Data1" TypeName="UInt32" />
<opc:Field Name="Data2" TypeName="UInt16" />
<opc:Field Name="Data3" TypeName="UInt16" />
<opc:Field Name="Data4" TypeName="Byte" Length="8" />
</opc:StructuredType>
</opc:TypeDictionary>