Files
open62541/tools/schema/Opc.Ua.NodeSet2.FileTransferMinimal.xml
Andreas Ebner 5514c756e6 feat(driver): add per-backend Part 20 file transfer drivers
Expose one file or directory backend through FileType and FileDirectoryType
Objects. Bind Objects to the driver lifetime, preserve reused application
nodes, and close session handles on stop or session cleanup.

Enforce file and directory access rights in Properties and Methods. Index
entries and handles with zip trees, reconcile storage changes, and retain
removed entries while their handles remain open. Include the reduced
namespace model and compile the driver with Method-call support in every
Namespace Zero configuration. Export the API unconditionally.

Co-authored-by: Julius Pfrommer <julius.pfrommer@o6-automation.com>
2026-10-12 00:14:33 +02:00

917 lines
36 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<!--
* Copyright (c) 2005-2026, OPC Federation AISBL, All rights reserved.
*
* OPC Foundation MIT License 1.00
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* The complete license agreement can be found here:
* http://opcfoundation.org/License/MIT/1.00/
-->
<!-- FileType, FileDirectoryType (without the <FileDirectoryName> and <FileName>
placeholders) and OpenFileMode for the file transfer driver with the reduced
Namespace Zero. Extracted from Opc.Ua.NodeSet2.xml of the UA-Nodeset
(1.05.07). -->
<UANodeSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" LastModified="2026-07-30T00:00:00Z" xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd">
<Models>
<Model ModelUri="http://opcfoundation.org/UA/" Version="1.04" PublicationDate="2019-05-01T00:00:00Z" />
</Models>
<Aliases>
<Alias Alias="Boolean">i=1</Alias>
<Alias Alias="SByte">i=2</Alias>
<Alias Alias="Byte">i=3</Alias>
<Alias Alias="Int16">i=4</Alias>
<Alias Alias="UInt16">i=5</Alias>
<Alias Alias="Int32">i=6</Alias>
<Alias Alias="UInt32">i=7</Alias>
<Alias Alias="Int64">i=8</Alias>
<Alias Alias="UInt64">i=9</Alias>
<Alias Alias="Float">i=10</Alias>
<Alias Alias="Double">i=11</Alias>
<Alias Alias="DateTime">i=13</Alias>
<Alias Alias="String">i=12</Alias>
<Alias Alias="ByteString">i=15</Alias>
<Alias Alias="Guid">i=14</Alias>
<Alias Alias="XmlElement">i=16</Alias>
<Alias Alias="NodeId">i=17</Alias>
<Alias Alias="ExpandedNodeId">i=18</Alias>
<Alias Alias="QualifiedName">i=20</Alias>
<Alias Alias="LocalizedText">i=21</Alias>
<Alias Alias="StatusCode">i=19</Alias>
<Alias Alias="Structure">i=22</Alias>
<Alias Alias="Number">i=26</Alias>
<Alias Alias="Integer">i=27</Alias>
<Alias Alias="UInteger">i=28</Alias>
<Alias Alias="HasComponent">i=47</Alias>
<Alias Alias="HasProperty">i=46</Alias>
<Alias Alias="Organizes">i=35</Alias>
<Alias Alias="HasEventSource">i=36</Alias>
<Alias Alias="HasNotifier">i=48</Alias>
<Alias Alias="HasSubtype">i=45</Alias>
<Alias Alias="HasTypeDefinition">i=40</Alias>
<Alias Alias="HasModellingRule">i=37</Alias>
<Alias Alias="HasEncoding">i=38</Alias>
<Alias Alias="HasDescription">i=39</Alias>
<Alias Alias="HasCause">i=53</Alias>
<Alias Alias="ToState">i=52</Alias>
<Alias Alias="FromState">i=51</Alias>
<Alias Alias="HasEffect">i=54</Alias>
<Alias Alias="HasTrueSubState">i=9004</Alias>
<Alias Alias="HasFalseSubState">i=9005</Alias>
<Alias Alias="HasDictionaryEntry">i=17597</Alias>
<Alias Alias="HasCondition">i=9006</Alias>
<Alias Alias="HasGuard">i=15112</Alias>
<Alias Alias="HasAddIn">i=17604</Alias>
<Alias Alias="HasInterface">i=17603</Alias>
<Alias Alias="GeneratesEvent">i=41</Alias>
<Alias Alias="AlwaysGeneratesEvent">i=3065</Alias>
<Alias Alias="HasOrderedComponent">i=49</Alias>
<Alias Alias="HasAlarmSuppressionGroup">i=16361</Alias>
<Alias Alias="AlarmGroupMember">i=16362</Alias>
<Alias Alias="AlarmSuppressionGroupMember">i=32059</Alias>
</Aliases>
<UAObjectType NodeId="i=11575" BrowseName="FileType">
<DisplayName>FileType</DisplayName>
<Category>Base Info FileType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.2.1</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=11576</Reference>
<Reference ReferenceType="HasProperty">i=12686</Reference>
<Reference ReferenceType="HasProperty">i=12687</Reference>
<Reference ReferenceType="HasProperty">i=11579</Reference>
<Reference ReferenceType="HasProperty">i=13341</Reference>
<Reference ReferenceType="HasProperty">i=24244</Reference>
<Reference ReferenceType="HasProperty">i=25200</Reference>
<Reference ReferenceType="HasComponent">i=11580</Reference>
<Reference ReferenceType="HasComponent">i=11583</Reference>
<Reference ReferenceType="HasComponent">i=11585</Reference>
<Reference ReferenceType="HasComponent">i=11588</Reference>
<Reference ReferenceType="HasComponent">i=11590</Reference>
<Reference ReferenceType="HasComponent">i=11593</Reference>
<Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
</References>
</UAObjectType>
<UAVariable NodeId="i=11576" BrowseName="Size" ParentNodeId="i=11575" DataType="UInt64">
<DisplayName>Size</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11575</Reference>
</References>
</UAVariable>
<UAVariable NodeId="i=12686" BrowseName="Writable" ParentNodeId="i=11575" DataType="Boolean">
<DisplayName>Writable</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11575</Reference>
</References>
</UAVariable>
<UAVariable NodeId="i=12687" BrowseName="UserWritable" ParentNodeId="i=11575" DataType="Boolean">
<DisplayName>UserWritable</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11575</Reference>
</References>
</UAVariable>
<UAVariable NodeId="i=11579" BrowseName="OpenCount" ParentNodeId="i=11575" DataType="UInt16">
<DisplayName>OpenCount</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11575</Reference>
</References>
</UAVariable>
<UAVariable NodeId="i=13341" BrowseName="MimeType" ParentNodeId="i=11575" DataType="String">
<DisplayName>MimeType</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=80</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11575</Reference>
</References>
</UAVariable>
<UAVariable NodeId="i=24244" BrowseName="MaxByteStringLength" ParentNodeId="i=11575" DataType="UInt32">
<DisplayName>MaxByteStringLength</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=80</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11575</Reference>
</References>
</UAVariable>
<UAVariable NodeId="i=25200" BrowseName="LastModifiedTime" ParentNodeId="i=11575" DataType="DateTime">
<DisplayName>LastModifiedTime</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=80</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11575</Reference>
</References>
</UAVariable>
<UAMethod NodeId="i=11580" BrowseName="Open" ParentNodeId="i=11575">
<DisplayName>Open</DisplayName>
<Category>Base Info FileType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.2.2</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=11581</Reference>
<Reference ReferenceType="HasProperty">i=11582</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasComponent" IsForward="false">i=11575</Reference>
</References>
</UAMethod>
<UAVariable NodeId="i=11581" BrowseName="InputArguments" ParentNodeId="i=11580" DataType="i=296" ValueRank="1" ArrayDimensions="1">
<DisplayName>InputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11580</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>Mode</Name>
<DataType>
<Identifier>i=3</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAVariable NodeId="i=11582" BrowseName="OutputArguments" ParentNodeId="i=11580" DataType="i=296" ValueRank="1" ArrayDimensions="1">
<DisplayName>OutputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11580</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>FileHandle</Name>
<DataType>
<Identifier>i=7</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAMethod NodeId="i=11583" BrowseName="Close" ParentNodeId="i=11575">
<DisplayName>Close</DisplayName>
<Category>Base Info FileType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.2.3</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=11584</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasComponent" IsForward="false">i=11575</Reference>
</References>
</UAMethod>
<UAVariable NodeId="i=11584" BrowseName="InputArguments" ParentNodeId="i=11583" DataType="i=296" ValueRank="1" ArrayDimensions="1">
<DisplayName>InputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11583</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>FileHandle</Name>
<DataType>
<Identifier>i=7</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAMethod NodeId="i=11585" BrowseName="Read" ParentNodeId="i=11575">
<DisplayName>Read</DisplayName>
<Category>Base Info FileType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.2.4</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=11586</Reference>
<Reference ReferenceType="HasProperty">i=11587</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasComponent" IsForward="false">i=11575</Reference>
</References>
</UAMethod>
<UAVariable NodeId="i=11586" BrowseName="InputArguments" ParentNodeId="i=11585" DataType="i=296" ValueRank="1" ArrayDimensions="2">
<DisplayName>InputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11585</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>FileHandle</Name>
<DataType>
<Identifier>i=7</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>Length</Name>
<DataType>
<Identifier>i=6</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAVariable NodeId="i=11587" BrowseName="OutputArguments" ParentNodeId="i=11585" DataType="i=296" ValueRank="1" ArrayDimensions="1">
<DisplayName>OutputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11585</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>Data</Name>
<DataType>
<Identifier>i=15</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAMethod NodeId="i=11588" BrowseName="Write" ParentNodeId="i=11575">
<DisplayName>Write</DisplayName>
<Category>Base Info FileType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.2.5</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=11589</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasComponent" IsForward="false">i=11575</Reference>
</References>
</UAMethod>
<UAVariable NodeId="i=11589" BrowseName="InputArguments" ParentNodeId="i=11588" DataType="i=296" ValueRank="1" ArrayDimensions="2">
<DisplayName>InputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11588</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>FileHandle</Name>
<DataType>
<Identifier>i=7</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>Data</Name>
<DataType>
<Identifier>i=15</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAMethod NodeId="i=11590" BrowseName="GetPosition" ParentNodeId="i=11575">
<DisplayName>GetPosition</DisplayName>
<Category>Base Info FileType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.2.6</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=11591</Reference>
<Reference ReferenceType="HasProperty">i=11592</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasComponent" IsForward="false">i=11575</Reference>
</References>
</UAMethod>
<UAVariable NodeId="i=11591" BrowseName="InputArguments" ParentNodeId="i=11590" DataType="i=296" ValueRank="1" ArrayDimensions="1">
<DisplayName>InputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11590</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>FileHandle</Name>
<DataType>
<Identifier>i=7</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAVariable NodeId="i=11592" BrowseName="OutputArguments" ParentNodeId="i=11590" DataType="i=296" ValueRank="1" ArrayDimensions="1">
<DisplayName>OutputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11590</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>Position</Name>
<DataType>
<Identifier>i=9</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAMethod NodeId="i=11593" BrowseName="SetPosition" ParentNodeId="i=11575">
<DisplayName>SetPosition</DisplayName>
<Category>Base Info FileType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.2.7</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=11594</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasComponent" IsForward="false">i=11575</Reference>
</References>
</UAMethod>
<UAVariable NodeId="i=11594" BrowseName="InputArguments" ParentNodeId="i=11593" DataType="i=296" ValueRank="1" ArrayDimensions="2">
<DisplayName>InputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11593</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>FileHandle</Name>
<DataType>
<Identifier>i=7</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>Position</Name>
<DataType>
<Identifier>i=9</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UADataType NodeId="i=11939" BrowseName="OpenFileMode">
<DisplayName>OpenFileMode</DisplayName>
<References>
<Reference ReferenceType="HasProperty">i=11940</Reference>
<Reference ReferenceType="HasSubtype" IsForward="false">i=29</Reference>
</References>
<Definition Name="OpenFileMode">
<Field Name="Read" Value="1" />
<Field Name="Write" Value="2" />
<Field Name="EraseExisting" Value="4" />
<Field Name="Append" Value="8" />
</Definition>
</UADataType>
<UAVariable NodeId="i=11940" BrowseName="EnumValues" ParentNodeId="i=11939" DataType="i=7594" ValueRank="1" ArrayDimensions="4">
<DisplayName>EnumValues</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=11939</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=7616</Identifier>
</TypeId>
<Body>
<EnumValueType>
<Value>1</Value>
<DisplayName>
<Text>Read</Text>
</DisplayName>
</EnumValueType>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=7616</Identifier>
</TypeId>
<Body>
<EnumValueType>
<Value>2</Value>
<DisplayName>
<Text>Write</Text>
</DisplayName>
</EnumValueType>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=7616</Identifier>
</TypeId>
<Body>
<EnumValueType>
<Value>4</Value>
<DisplayName>
<Text>EraseExisting</Text>
</DisplayName>
</EnumValueType>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=7616</Identifier>
</TypeId>
<Body>
<EnumValueType>
<Value>8</Value>
<DisplayName>
<Text>Append</Text>
</DisplayName>
</EnumValueType>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAObjectType NodeId="i=13353" BrowseName="FileDirectoryType">
<DisplayName>FileDirectoryType</DisplayName>
<Category>Base Info FileDirectoryType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.3.1</Documentation>
<References>
<Reference ReferenceType="HasComponent">i=13387</Reference>
<Reference ReferenceType="HasComponent">i=13390</Reference>
<Reference ReferenceType="HasComponent">i=13393</Reference>
<Reference ReferenceType="HasComponent">i=13395</Reference>
<Reference ReferenceType="HasSubtype" IsForward="false">i=61</Reference>
</References>
</UAObjectType>
<UAMethod NodeId="i=13387" BrowseName="CreateDirectory" ParentNodeId="i=13353">
<DisplayName>CreateDirectory</DisplayName>
<Category>Base Info FileDirectoryType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.3.3</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=13388</Reference>
<Reference ReferenceType="HasProperty">i=13389</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasComponent" IsForward="false">i=13353</Reference>
</References>
</UAMethod>
<UAVariable NodeId="i=13388" BrowseName="InputArguments" ParentNodeId="i=13387" DataType="i=296" ValueRank="1" ArrayDimensions="1">
<DisplayName>InputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=13387</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>DirectoryName</Name>
<DataType>
<Identifier>i=12</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAVariable NodeId="i=13389" BrowseName="OutputArguments" ParentNodeId="i=13387" DataType="i=296" ValueRank="1" ArrayDimensions="1">
<DisplayName>OutputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=13387</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>DirectoryNodeId</Name>
<DataType>
<Identifier>i=17</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAMethod NodeId="i=13390" BrowseName="CreateFile" ParentNodeId="i=13353">
<DisplayName>CreateFile</DisplayName>
<Category>Base Info FileDirectoryType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.3.4</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=13391</Reference>
<Reference ReferenceType="HasProperty">i=13392</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasComponent" IsForward="false">i=13353</Reference>
</References>
</UAMethod>
<UAVariable NodeId="i=13391" BrowseName="InputArguments" ParentNodeId="i=13390" DataType="i=296" ValueRank="1" ArrayDimensions="2">
<DisplayName>InputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=13390</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>FileName</Name>
<DataType>
<Identifier>i=12</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>RequestFileOpen</Name>
<DataType>
<Identifier>i=1</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAVariable NodeId="i=13392" BrowseName="OutputArguments" ParentNodeId="i=13390" DataType="i=296" ValueRank="1" ArrayDimensions="2">
<DisplayName>OutputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=13390</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>FileNodeId</Name>
<DataType>
<Identifier>i=17</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>FileHandle</Name>
<DataType>
<Identifier>i=7</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAMethod NodeId="i=13393" BrowseName="Delete" SymbolicName="DeleteFileSystemObject" ParentNodeId="i=13353">
<DisplayName>Delete</DisplayName>
<Category>Base Info FileDirectoryType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.3.5</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=13394</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasComponent" IsForward="false">i=13353</Reference>
</References>
</UAMethod>
<UAVariable NodeId="i=13394" BrowseName="InputArguments" ParentNodeId="i=13393" DataType="i=296" ValueRank="1" ArrayDimensions="1">
<DisplayName>InputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=13393</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>ObjectToDelete</Name>
<DataType>
<Identifier>i=17</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAMethod NodeId="i=13395" BrowseName="MoveOrCopy" ParentNodeId="i=13353">
<DisplayName>MoveOrCopy</DisplayName>
<Category>Base Info FileDirectoryType Base</Category>
<Documentation>https://reference.opcfoundation.org/v105/Core/docs/Part20/4.3.6</Documentation>
<References>
<Reference ReferenceType="HasProperty">i=13396</Reference>
<Reference ReferenceType="HasProperty">i=13397</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasComponent" IsForward="false">i=13353</Reference>
</References>
</UAMethod>
<UAVariable NodeId="i=13396" BrowseName="InputArguments" ParentNodeId="i=13395" DataType="i=296" ValueRank="1" ArrayDimensions="4">
<DisplayName>InputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=13395</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>ObjectToMoveOrCopy</Name>
<DataType>
<Identifier>i=17</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>TargetDirectory</Name>
<DataType>
<Identifier>i=17</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>CreateCopy</Name>
<DataType>
<Identifier>i=1</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>NewName</Name>
<DataType>
<Identifier>i=12</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
<UAVariable NodeId="i=13397" BrowseName="OutputArguments" ParentNodeId="i=13395" DataType="i=296" ValueRank="1" ArrayDimensions="1">
<DisplayName>OutputArguments</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">i=13395</Reference>
</References>
<Value>
<ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<ExtensionObject>
<TypeId>
<Identifier>i=297</Identifier>
</TypeId>
<Body>
<Argument>
<Name>NewNodeId</Name>
<DataType>
<Identifier>i=17</Identifier>
</DataType>
<ValueRank>-1</ValueRank>
<ArrayDimensions />
</Argument>
</Body>
</ExtensionObject>
</ListOfExtensionObject>
</Value>
</UAVariable>
</UANodeSet>