diff --git a/TCCUsefulFunctions_CNL113472_Common.tpd b/TCCUsefulFunctions_CNL113472_Common.tpd
new file mode 100644
index 0000000000000000000000000000000000000000..2314c04412b0c4b1d841f4fc711c76e6856f2557
--- /dev/null
+++ b/TCCUsefulFunctions_CNL113472_Common.tpd
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 Ericsson
+
+  The copyright to the computer  program(s) herein  is the property of Ericsson.
+  The program(s) may be used and/or copied only with the written permission
+  of Ericsson or in accordance with  the terms and conditions  stipulated in the
+  agreement/contract under which the program(s) has been supplied.
+
+
+   File:               TCCUsefulFunctions_CNL113472_Common.tpd
+   Description:        tpd project file
+   Rev:                R22B
+   Prodnr:             CNL 113 472
+
+ -->
+<TITAN_Project_File_Information version="1.0">
+  <ProjectName>TCCUsefulFunctions_CNL113472_Common</ProjectName>
+  <Files>
+    <FileResource projectRelativePath="TCCConversion.cc" relativeURI="src/TCCConversion.cc"/>
+    <FileResource projectRelativePath="TCCConversion_Functions.ttcn" relativeURI="src/TCCConversion_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCDateTime.cc" relativeURI="src/TCCDateTime.cc"/>
+    <FileResource projectRelativePath="TCCDateTime_Functions.ttcn" relativeURI="src/TCCDateTime_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCEncoding.cc" relativeURI="src/TCCEncoding.cc"/>
+    <FileResource projectRelativePath="TCCEncoding_Functions.ttcn" relativeURI="src/TCCEncoding_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCEnv.cc" relativeURI="src/TCCEnv.cc"/>
+    <FileResource projectRelativePath="TCCEnv_Functions.ttcn" relativeURI="src/TCCEnv_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCFileIO.cc" relativeURI="src/TCCFileIO.cc"/>
+    <FileResource projectRelativePath="TCCFileIO_Functions.ttcn" relativeURI="src/TCCFileIO_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCMessageHandling.cc" relativeURI="src/TCCMessageHandling.cc"/>
+    <FileResource projectRelativePath="TCCMessageHandling_Functions.ttcn" relativeURI="src/TCCMessageHandling_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCSystem.cc" relativeURI="src/TCCSystem.cc"/>
+    <FileResource projectRelativePath="TCCSystem_Functions.ttcn" relativeURI="src/TCCSystem_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCFileSystem.cc" relativeURI="src/TCCFileSystem.cc"/>
+    <FileResource projectRelativePath="TCCFileSystem_Functions.ttcn" relativeURI="src/TCCFileSystem_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCTitanMetadata.cc" relativeURI="src/TCCTitanMetadata.cc"/>
+    <FileResource projectRelativePath="TCCTitanMetadata_Functions.ttcn" relativeURI="src/TCCTitanMetadata_Functions.ttcn"/>
+  </Files>
+  <ActiveConfiguration>Default</ActiveConfiguration>
+  <Configurations>
+    <Configuration name="Default">
+      <ProjectProperties>
+        <MakefileSettings>
+          <GNUMake>true</GNUMake>
+          <targetExecutable>bin/TCCUsefulFunctions_CNL113472_Common</targetExecutable>
+          <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <externalFunction>.*</externalFunction>
+          <localVariable>.*</localVariable>
+          <formalParameter>.*</formalParameter>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+  </Configurations>
+</TITAN_Project_File_Information>
diff --git a/TCCUsefulFunctions_CNL113472_IPsec.tpd b/TCCUsefulFunctions_CNL113472_IPsec.tpd
new file mode 100644
index 0000000000000000000000000000000000000000..961e06547404dcebef2237b5ce6918ea52f06469
--- /dev/null
+++ b/TCCUsefulFunctions_CNL113472_IPsec.tpd
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 Ericsson
+
+  The copyright to the computer  program(s) herein  is the property of Ericsson.
+  The program(s) may be used and/or copied only with the written permission
+  of Ericsson or in accordance with  the terms and conditions  stipulated in the
+  agreement/contract under which the program(s) has been supplied.
+
+
+   File:               TCCUsefulFunctions_CNL113472_IPsec.tpd
+   Description:        tpd project file
+   Rev:                R22B
+   Prodnr:             CNL 113 472
+
+ -->
+<TITAN_Project_File_Information version="1.0">
+  <ProjectName>TCCUsefulFunctions_CNL113472_IPsec</ProjectName>
+  <Files>
+    <FileResource projectRelativePath="TCCIPsec.cc" relativeURI="src/TCCIPsec.cc"/>
+    <FileResource projectRelativePath="TCCIPsec_Definitions.ttcn" relativeURI="src/TCCIPsec_Definitions.ttcn"/>
+    <FileResource projectRelativePath="TCCIPsec_Functions.ttcn" relativeURI="src/TCCIPsec_Functions.ttcn"/>
+  </Files>
+  <ActiveConfiguration>KAME_IPSEC</ActiveConfiguration>
+  <Configurations>
+    <Configuration name="Default">
+      <ProjectProperties>
+        <MakefileSettings>
+          <GNUMake>true</GNUMake>
+          <targetExecutable>bin/TCCUsefulFunctions_CNL113472_IPsec</targetExecutable>
+          <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <globalConstant>.*</globalConstant>
+          <externalFunction>.*</externalFunction>
+          <formalParameter>.*</formalParameter>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+    <Configuration name="IPSEC">
+      <ProjectProperties>
+        <MakefileSettings>
+          <generateInternalMakefile>true</generateInternalMakefile>
+          <GNUMake>true</GNUMake>
+          <incrementalDependencyRefresh>true</incrementalDependencyRefresh>
+          <targetExecutable>bin/TCCUsefulFunctions_CNL113472_IPsec</targetExecutable>
+          <preprocessorDefines>
+            <listItem>USE_IPSEC</listItem>
+          </preprocessorDefines>
+          <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <globalConstant>.*</globalConstant>
+          <externalFunction>.*</externalFunction>
+          <formalParameter>.*</formalParameter>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+    <Configuration name="KAME_IPSEC">
+      <ProjectProperties>
+        <MakefileSettings>
+          <generateInternalMakefile>true</generateInternalMakefile>
+          <GNUMake>true</GNUMake>
+          <incrementalDependencyRefresh>true</incrementalDependencyRefresh>
+          <targetExecutable>bin/TCCUsefulFunctions_CNL113472_IPsec</targetExecutable>
+          <preprocessorDefines>
+            <listItem>USE_KAME_IPSEC</listItem>
+          </preprocessorDefines>
+          <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <globalConstant>.*</globalConstant>
+          <externalFunction>.*</externalFunction>
+          <formalParameter>.*</formalParameter>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+  </Configurations>
+</TITAN_Project_File_Information>
diff --git a/TCCUsefulFunctions_CNL113472_Interface.tpd b/TCCUsefulFunctions_CNL113472_Interface.tpd
new file mode 100644
index 0000000000000000000000000000000000000000..ce108f59528d8ae30c3a496529bc7661cbc789c4
--- /dev/null
+++ b/TCCUsefulFunctions_CNL113472_Interface.tpd
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 Ericsson
+
+  The copyright to the computer  program(s) herein  is the property of Ericsson.
+  The program(s) may be used and/or copied only with the written permission
+  of Ericsson or in accordance with  the terms and conditions  stipulated in the
+  agreement/contract under which the program(s) has been supplied.
+
+
+   File:               TCCUsefulFunctions_CNL113472_Interface.tpd
+   Description:        tpd project file
+   Rev:                R22B
+   Prodnr:             CNL 113 472
+
+ -->
+<TITAN_Project_File_Information version="1.0">
+  <ProjectName>TCCUsefulFunctions_CNL113472_Interface</ProjectName>
+  <Files>
+    <FileResource projectRelativePath="TCCInterface.cc" relativeURI="src/TCCInterface.cc"/>
+    <FileResource projectRelativePath="TCCInterface_Functions.ttcn" relativeURI="src/TCCInterface_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCInterface_ip.h" relativeURI="src/TCCInterface_ip.h"/>
+  </Files>
+  <ActiveConfiguration>Default</ActiveConfiguration>
+  <Configurations>
+    <Configuration name="Default">
+      <ProjectProperties>
+        <MakefileSettings>
+          <GNUMake>true</GNUMake>
+          <targetExecutable>bin/TCCUsefulFunctions_CNL113472_Interface</targetExecutable>
+          <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <externalFunction>.*</externalFunction>
+          <formalParameter>.*</formalParameter>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+  </Configurations>
+</TITAN_Project_File_Information>
diff --git a/TCCUsefulFunctions_CNL113472_Maths.tpd b/TCCUsefulFunctions_CNL113472_Maths.tpd
new file mode 100644
index 0000000000000000000000000000000000000000..def398adf07779037cf86c5897f36bda04db7be7
--- /dev/null
+++ b/TCCUsefulFunctions_CNL113472_Maths.tpd
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 Ericsson
+
+  The copyright to the computer  program(s) herein  is the property of Ericsson.
+  The program(s) may be used and/or copied only with the written permission
+  of Ericsson or in accordance with  the terms and conditions  stipulated in the
+  agreement/contract under which the program(s) has been supplied.
+
+
+   File:               TCCUsefulFunctions_CNL113472_Maths.tpd
+   Description:        tpd project file
+   Rev:                R22B
+   Prodnr:             CNL 113 472
+
+ -->
+<TITAN_Project_File_Information version="1.0">
+  <ProjectName>TCCUsefulFunctions_CNL113472_Maths</ProjectName>
+  <Files>
+    <FileResource projectRelativePath="TCCMaths.cc" relativeURI="src/TCCMaths.cc"/>
+    <FileResource projectRelativePath="TCCMaths_Functions.ttcn" relativeURI="src/TCCMaths_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCMaths_GenericTypes.ttcn" relativeURI="src/TCCMaths_GenericTypes.ttcn"/>
+  </Files>
+  <ActiveConfiguration>Default</ActiveConfiguration>
+  <Configurations>
+    <Configuration name="Default">
+      <ProjectProperties>
+        <MakefileSettings>
+          <GNUMake>true</GNUMake>
+          <targetExecutable>bin/TCCUsefulFunctions_CNL113472_Maths</targetExecutable>
+          <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <globalConstant>.*</globalConstant>
+          <externalFunction>[e]?f_.*</externalFunction>
+          <localVariable>.*</localVariable>
+          <formalParameter>.*</formalParameter>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+  </Configurations>
+</TITAN_Project_File_Information>
diff --git a/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd b/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd
new file mode 100644
index 0000000000000000000000000000000000000000..4868d8726e40f668f31a2b682486648f3cac7719
--- /dev/null
+++ b/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 Ericsson
+
+  The copyright to the computer  program(s) herein  is the property of Ericsson.
+  The program(s) may be used and/or copied only with the written permission
+  of Ericsson or in accordance with  the terms and conditions  stipulated in the
+  agreement/contract under which the program(s) has been supplied.
+
+
+   File:               TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd
+   Description:        tpd project file
+   Rev:                R22B
+   Prodnr:             CNL 113 472
+
+ -->
+<TITAN_Project_File_Information version="1.0">
+  <ProjectName>TCCUsefulFunctions_CNL113472_PermutatedParameters</ProjectName>
+  <ReferencedProjects>
+    <ReferencedProject name="ProtocolModules_Common" projectLocationURI="../../ProtocolModules/COMMON/ProtocolModules_Common.tpd"/>
+    <ReferencedProject name="TCCUsefulFunctions_CNL113472_Common" projectLocationURI="TCCUsefulFunctions_CNL113472_Common.tpd"/>
+  </ReferencedProjects>
+  <Files>
+    <FileResource projectRelativePath="TCCPermutatedParameters_Definitions.ttcn" relativeURI="src/TCCPermutatedParameters_Definitions.ttcn"/>
+    <FileResource projectRelativePath="TCCPermutatedParameters_Functions.ttcn" relativeURI="src/TCCPermutatedParameters_Functions.ttcn"/>
+  </Files>
+  <ActiveConfiguration>Default</ActiveConfiguration>
+  <Configurations>
+    <Configuration name="Default">
+      <ProjectProperties>
+        <MakefileSettings>
+          <generateInternalMakefile>true</generateInternalMakefile>
+          <GNUMake>true</GNUMake>
+          <incrementalDependencyRefresh>true</incrementalDependencyRefresh>
+          <targetExecutable>bin/TCCUsefulFunctions_CNL113472_Common</targetExecutable>
+          <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <externalFunction>.*</externalFunction>
+          <localVariable>.*</localVariable>
+          <formalParameter>.*</formalParameter>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+  </Configurations>
+</TITAN_Project_File_Information>
diff --git a/TCCUsefulFunctions_CNL113472_Regexp.tpd b/TCCUsefulFunctions_CNL113472_Regexp.tpd
new file mode 100644
index 0000000000000000000000000000000000000000..ded064f5ec7eb8f62a5dc22b33c7d7a6bd663577
--- /dev/null
+++ b/TCCUsefulFunctions_CNL113472_Regexp.tpd
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 Ericsson
+
+  The copyright to the computer  program(s) herein  is the property of Ericsson.
+  The program(s) may be used and/or copied only with the written permission
+  of Ericsson or in accordance with  the terms and conditions  stipulated in the
+  agreement/contract under which the program(s) has been supplied.
+
+
+   File:               TCCUsefulFunctions_CNL113472_Regexp.tpd
+   Description:        tpd project file
+   Rev:                R22B
+   Prodnr:             CNL 113 472
+
+ -->
+<TITAN_Project_File_Information version="1.0">
+  <ProjectName>TCCUsefulFunctions_CNL113472_Regexp</ProjectName>
+  <Files>
+    <FileResource projectRelativePath="TCCRegexp.cc" relativeURI="src/TCCRegexp.cc"/>
+    <FileResource projectRelativePath="TCCRegexp_Functions.ttcn" relativeURI="src/TCCRegexp_Functions.ttcn"/>
+  </Files>
+  <ActiveConfiguration>Default</ActiveConfiguration>
+  <Configurations>
+    <Configuration name="Default">
+      <ProjectProperties>
+        <MakefileSettings>
+          <GNUMake>true</GNUMake>
+          <targetExecutable>bin/TCCUsefulFunctions_CNL113472_Regexp</targetExecutable>
+          <linkerLibraries>
+            <listItem>pcre</listItem>
+          </linkerLibraries>
+          <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <externalFunction>[e]?f_.*</externalFunction>
+          <formalParameter>.*</formalParameter>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+  </Configurations>
+</TITAN_Project_File_Information>
diff --git a/TCCUsefulFunctions_CNL113472_TitanSim.tpd b/TCCUsefulFunctions_CNL113472_TitanSim.tpd
new file mode 100644
index 0000000000000000000000000000000000000000..02def4c51cd48af51a6c5ec962e5bf79492b7b91
--- /dev/null
+++ b/TCCUsefulFunctions_CNL113472_TitanSim.tpd
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 Ericsson
+
+  The copyright to the computer  program(s) herein  is the property of Ericsson.
+  The program(s) may be used and/or copied only with the written permission
+  of Ericsson or in accordance with  the terms and conditions  stipulated in the
+  agreement/contract under which the program(s) has been supplied.
+
+
+   File:               TCCUsefulFunctions_CNL113472_TitanSim.tpd
+   Description:        tpd project file
+   Rev:                R22B
+   Prodnr:             CNL 113 472
+
+ -->
+<TITAN_Project_File_Information version="1.0">
+  <ProjectName>TCCUsefulFunctions_CNL113472_TitanSim</ProjectName>
+  <ReferencedProjects>
+    <ReferencedProject name="TCCUsefulFunctions_CNL113472_Common" projectLocationURI="TCCUsefulFunctions_CNL113472_Common.tpd"/>
+  </ReferencedProjects>
+  <Files>
+    <FileResource projectRelativePath="TCCAssertion.cc" relativeURI="src/TCCAssertion.cc"/>
+    <FileResource projectRelativePath="TCCAssertion_Functions.ttcn" relativeURI="src/TCCAssertion_Functions.ttcn"/>
+    <FileResource projectRelativePath="TCCTemplate_Functions.ttcn" relativeURI="src/TCCTemplate_Functions.ttcn"/>
+  </Files>
+  <ActiveConfiguration>Default</ActiveConfiguration>
+  <Configurations>
+    <Configuration name="Default">
+      <ProjectProperties>
+        <MakefileSettings>
+          <GNUMake>true</GNUMake>
+          <targetExecutable>bin/TCCUsefulFunctions_CNL113472_TitanSim</targetExecutable>
+          <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <externalFunction>[e]?f_.*</externalFunction>
+          <moduleParameter>.*</moduleParameter>
+          <localVariable>.*</localVariable>
+          <formalParameter>.*</formalParameter>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+  </Configurations>
+</TITAN_Project_File_Information>
diff --git a/TCCUsefulFunctions_CNL113472_XPath.tpd b/TCCUsefulFunctions_CNL113472_XPath.tpd
new file mode 100644
index 0000000000000000000000000000000000000000..809efac04ebe4e468a6aebc7bb41eacf7acbaffb
--- /dev/null
+++ b/TCCUsefulFunctions_CNL113472_XPath.tpd
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 Ericsson
+
+  The copyright to the computer  program(s) herein  is the property of Ericsson.
+  The program(s) may be used and/or copied only with the written permission
+  of Ericsson or in accordance with  the terms and conditions  stipulated in the
+  agreement/contract under which the program(s) has been supplied.
+
+
+   File:               TCCUsefulFunctions_CNL113472_XPath.tpd
+   Description:        tpd project file
+   Rev:                R22B
+   Prodnr:             CNL 113 472
+
+ -->
+<TITAN_Project_File_Information version="1.0">
+  <ProjectName>TCCUsefulFunctions_CNL113472_XPath</ProjectName>
+  <Files>
+    <FileResource projectRelativePath="TCCXPathSupport.cc" relativeURI="src/TCCXPathSupport.cc"/>
+    <FileResource projectRelativePath="TCCXPathSupport_Functions.ttcn" relativeURI="src/TCCXPathSupport_Functions.ttcn"/>
+  </Files>
+  <ActiveConfiguration>Default</ActiveConfiguration>
+  <Configurations>
+    <Configuration name="Default">
+      <ProjectProperties>
+        <MakefileSettings>
+          <generateInternalMakefile>true</generateInternalMakefile>
+          <GNUMake>true</GNUMake>
+          <incrementalDependencyRefresh>true</incrementalDependencyRefresh>
+          <targetExecutable>bin/TCCUsefulFunctions_CNL113472_XPath</targetExecutable>
+          <preprocessorIncludes>
+            <listItem>[TINY_XPATH_DIR]/include</listItem>
+          </preprocessorIncludes>
+          <linkerLibraries>
+            <listItem>tinyxpath</listItem>
+          </linkerLibraries>
+          <linkerLibrarySearchPath>
+            <listItem>[TINY_XPATH_DIR]/lib</listItem>
+          </linkerLibrarySearchPath>
+          <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <externalFunction>.*</externalFunction>
+          <formalParameter>.*</formalParameter>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+  </Configurations>
+</TITAN_Project_File_Information>
diff --git a/demo/TCCAssertion_Example.ttcn b/demo/TCCAssertion_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..436e24a08907d3b3830e1e8da24f3fb9b2d4e254
--- /dev/null
+++ b/demo/TCCAssertion_Example.ttcn
@@ -0,0 +1,37 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCAssertion_Example.ttcn
+//  Description:        TCC Useful Functions: Assertion Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-11-14
+//  Contact:            http://ttcn.ericsson.se
+///////////////////////////////////////////////
+
+module TCCAssertion_Example
+{
+
+import from TCCAssertion_Functions all;
+
+type component Assertion_CT
+{
+}
+
+//////////////////////////////////////////////////////////////
+// Asssert functions
+//////////////////////////////////////////////////////////////
+
+control
+{
+  log(" ----####--- NO Assertion tests executed ----####--- ");
+}
+
+}
diff --git a/demo/TCCConversion_Example.ttcn b/demo/TCCConversion_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..34cf11759d33404da1ec741dc90d1b1dc8c9acb3
--- /dev/null
+++ b/demo/TCCConversion_Example.ttcn
@@ -0,0 +1,253 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCConversion_Example.ttcn
+//  Description:        TCC Useful Functions: Conversion Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2013-09-24
+//  Contact:            http://ttcn.ericsson.se
+///////////////////////////////////////////////
+
+module TCCConversion_Example
+{
+
+import from TCCConversion_Functions all;
+
+type component Conversion_CT
+{
+  // conversion
+  var octetstring base := int2oct(3,  1);
+  var octetstring delta := int2oct(7, 1);
+  var octetstring result;
+  
+  var charstring tw := "tWiNKy WINkY";
+  var charstring replacestr := "AaACCCAaABbB";
+
+  var charstring twLo := "twinky winky";
+  var charstring twUp := "TWINKY WINKY";
+
+  var charstring rStr1 := "DdDCCCAaABbB";
+  var charstring rStr2 := "DdDCCCDdDBbB";
+  var charstring rStr3 := "<3A>CCCAaABbB";
+  var charstring rStr4 := "<3A>CCC<3A>BbB";
+
+  var charstring tmpStr;
+
+  var integer tmpInt;
+  var integer octAdd := 10;
+  var integer octSub := 252; // no negative numbers
+  var integer octComp := 2; // second is greater
+}
+
+//////////////////////////////////////////////////////////////
+// Conversion functions
+//////////////////////////////////////////////////////////////
+
+// test f_putInUppercase testcase
+testcase f_test_uppercase() runs on Conversion_CT
+{ 
+  log(" ----------- f_putInUppercase ----------- ");
+  tmpStr := f_putInUppercase(tw);
+  log(tw, " to uppercase: ", tmpStr);
+  
+  if (tmpStr == twUp) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_putInLowercase testcase
+testcase f_test_lowercase() runs on Conversion_CT
+{
+  log(" ----------- f_putInLowercase ----------- ");
+  tmpStr := f_putInLowercase(tw);
+  log(tw, " to lowercase: ", tmpStr); 
+
+  if (tmpStr == twLo) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test unichar2charstr conversion and backwards
+testcase f_test_uniconv() runs on Conversion_CT
+{
+  log(" ----------- f_unichar2charstr/f_charstr2unichar ----------- ");
+  log("Original string: ", tw);
+  log("Converted to unichar: ", f_charstr2unichar(tw));
+  tmpStr := f_unichar2charstr(f_charstr2unichar(tw));
+  log("Converted back to charstring: ", tmpStr);
+
+  // only backward conversion check
+  if (tw == tmpStr)  { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_replaceFirstOccurenceOfSubstring testcase
+testcase f_test_replacefirstoccuranceofstring() runs on Conversion_CT
+{
+  log(" ----------- f_replaceFirstOccurenceOfSubstring ----------- ");
+  log("Original string: ", replacestr);
+  tmpStr := 
+    f_replaceFirstOccurenceOfSubstring(replacestr, "AaA", "DdD");
+  log("Replace first occurence of AaA to DdD: ", tmpStr);
+
+  if (tmpStr == rStr1)  { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_replaceFirstOccurenceOfSubstring testcase
+testcase f_test_replaceeveryoccurenceofsubstring() runs on Conversion_CT
+{
+  log(" ----------- f_replaceEveryOccurenceOfSubstring ----------- ");
+  log("Original string: ", replacestr);
+  tmpStr := 
+    f_replaceEveryOccurenceOfSubstring(replacestr, "AaA", "DdD");
+  log("Replace every occurence of AaA to DdD: ", tmpStr); 
+
+  if (tmpStr == rStr2)  { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+testcase f_test_HM83229() runs on Conversion_CT
+{
+  var charstring ch:= "sip:annc@192.168.73.1:5068;play=http:%2F%2FextMrfc.ericsson.com%2Fplay%2F1";
+  log(" ----------- f_test_HM83229 ----------- ");
+  log("Original string: ", ch);
+  tmpStr := 
+    f_replaceEveryOccurenceOfSubstring(replacestr, "%2F", "/");
+  log("Replace every occurence of %2F to /: ", tmpStr); 
+
+  if (tmpStr == "sip:annc@192.168.73.1:5068;play=http://extMrfc.ericsson.com/play/1")  { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+
+// test f_replaceFirstOccurenceOfSubstring testcase
+testcase f_test_replacefirstoccuranceofpattern() runs on Conversion_CT
+{
+  log(" ----------- f_replaceFirstOccurenceOfPattern ----------- ");
+  log("Original string: ", replacestr);
+  tmpStr := 
+    f_replaceFirstOccurenceOfPattern(replacestr, "*([Aa]#(3,3))*", "<3A>");
+  log("Replace first occurence of *([Aa]#(3,3))* to <3A>: ", tmpStr);
+
+  if (tmpStr == rStr3)  { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_replaceFirstOccurenceOfSubstring testcase
+testcase f_test_replaceeverytoccuranceofpattern() runs on Conversion_CT
+{
+  log(" ----------- f_replaceEveryOccurenceOfPattern ----------- ");
+  log("Original string: ", replacestr);
+  tmpStr := 
+    f_replaceEveryOccurenceOfPattern(replacestr, "*([Aa]#(3,3))*", "<3A>");
+  log("Replace every occurence of *([Aa]#(3,3))* to <3A>: ", tmpStr); 
+
+  if (tmpStr == rStr4)  { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_addOctetstring testcase
+testcase f_test_addOctetstring() runs on Conversion_CT
+{
+  log("----------- f_addOctetstring() ---------");
+  result := f_addOctetstring(base, delta);
+  log(" result = ", result);
+  tmpInt := oct2int(result)
+  log(" int result = ", tmpInt);   
+
+  if (tmpInt == octAdd) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_subOctetstring testcase
+testcase f_test_subOctetstring() runs on Conversion_CT
+{
+  log("----------- f_subOctetstring() --------");
+  result := f_subOctetstring(base, delta);
+  log(" result = ", result);
+  tmpInt := oct2int(result);
+  log(" int result = ", tmpInt);   
+
+  if (tmpInt == octSub) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_compOctetstring testcase
+testcase f_test_compOctetstring() runs on Conversion_CT
+{
+  log("----------- f_compOctetstring() --------");
+  tmpInt := f_compOctetstring(base, delta);
+  log(" result_int = ", tmpInt);   
+
+  if (tmpInt == octComp) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_IPv6CreateLiteral testcase 
+testcase f_test_IPv6CreateLiteral() runs on Conversion_CT
+{
+  log("----------- f_IPv6CreateLiteral() --------");
+  var charstring v_IPv6Address := "3ffe:1900:4545:3:200:f8ff:fe21:67cf";
+  var charstring v_IPv6Address_Literal := f_IPv6CreateLiteral(v_IPv6Address);
+  
+  if (v_IPv6Address_Literal == ("[" & v_IPv6Address  & "]")) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+testcase f_test_isWhitespace() runs on Conversion_CT
+{
+  log("----------- f_isWhiteSpace() ----------");
+  var charstring v_whitespace1 := " ";
+  var charstring v_whitespace2 := "\n \t \r";
+  var charstring v_emptystring := "";
+  var charstring v_notwhitespace := "notwhitespace";
+  
+  if (f_isWhiteSpace(v_whitespace1)) { setverdict(pass); }
+  else { setverdict(fail); }
+  
+  if (f_isWhiteSpace(v_whitespace2)) { setverdict(pass); }
+  else { setverdict(fail); }
+  
+  if (f_isWhiteSpace(v_emptystring)) { setverdict(fail); }
+  else { setverdict(pass); }
+  
+  if (f_isWhiteSpace(v_notwhitespace)) { setverdict(fail); }
+  else { setverdict(pass); }
+  
+}
+
+
+
+// execute all conversion tests
+control
+{
+  log(" ################### Conversion ################### ");
+
+  execute(f_test_uppercase());
+  execute(f_test_lowercase());
+  execute(f_test_uniconv());
+  execute(f_test_replacefirstoccuranceofstring());
+  execute(f_test_replaceeveryoccurenceofsubstring());
+  execute(f_test_HM83229());
+  execute(f_test_replacefirstoccuranceofpattern());
+  execute(f_test_replaceeverytoccuranceofpattern());
+
+  execute(f_test_addOctetstring());
+  execute(f_test_subOctetstring());
+  execute(f_test_compOctetstring());
+  execute(f_test_IPv6CreateLiteral());
+  execute(f_test_isWhitespace());
+}
+
+}//end of module
+with {
+extension "version R22B"
+}
+
diff --git a/demo/TCCDateTime_Example.ttcn b/demo/TCCDateTime_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..14f7110108aaaf39e56d968e4b6bd9907a50fc75
--- /dev/null
+++ b/demo/TCCDateTime_Example.ttcn
@@ -0,0 +1,283 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCDateTime_Example.ttcn
+//  Description:        TCC Useful testcases: DateTime testcases.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2011-05-30
+//  Contact:            http://ttcn.ericsson.se
+///////////////////////////////////////////////
+
+module TCCDateTime_Example
+{
+
+import from TCCDateTime_Functions all;
+
+type component DateTime_CT
+{
+  var integer tictac;
+  var float time;
+}
+
+//////////////////////////////////////////////////////////////
+// DateTime testcases
+//////////////////////////////////////////////////////////////
+
+// test f_time testcase
+testcase f_test_time() runs on DateTime_CT
+{
+  log(" ----------- f_time ----------- ");
+  log("Time (f_time): ", f_time());    
+
+  // no check
+  setverdict(pass);
+}
+
+// test f_ctime testcase
+testcase f_test_ctime() runs on DateTime_CT
+{
+  log(" ----------- f_ctime ----------- ");
+  log("CTime (f_ctime) - an hour before: ", 
+    f_ctime(f_time() - 3600)); 
+
+  log("CTime (f_ctime) - large integer test: ", f_ctime(2200220022));
+    
+  // no check
+  setverdict(pass);
+}
+
+// test f_time2str testcase
+testcase f_test_getTimeFormatted() runs on DateTime_CT
+{
+  log(" ----------- f_getTimeFormatted ----------- ");
+  log("TimeFormatted (f_getTimeFormatted): ", 
+    f_getTimeFormatted(f_time(),"Now is %m %I:%M%p."));
+  log("TimeFormatted (f_getTimeFormatted) - large integer test: ", 
+    f_getTimeFormatted(2200220022," is %Y.%m %I:%M%p."));      
+
+  // no check
+  setverdict(pass);
+}
+
+// test f_time2sec testcase
+testcase f_test_time2sec() runs on DateTime_CT
+{
+  log(" ----------- f_time2sec ----------- ");
+  log("Time2Sec (f_time2sec): ", 
+    f_time2sec(2010,5,24,17,0,20));    
+
+  var integer t1 := f_time2sec(2050,5,5,0,0,0);
+  var integer t2 := f_time2sec(2050,5,5,0,0,30);
+  log("Time2Sec (f_time2sec) - large integer test: ", t1, ", ", t2);
+  
+  // no check
+  setverdict(pass);
+}
+
+// test f_getDate testcase
+testcase f_test_getCurrentDateWithOffset() runs on DateTime_CT
+{
+  log(" ----------- f_getCurrentDateWithOffset ----------- ");
+  log("Date (f_getDateFromSeconds): ", 
+    f_getCurrentDateWithOffset(0));    
+
+  log("Date (f_getDateFromSeconds) - large integer test: ", 
+    f_getCurrentDateWithOffset(2200220022));    
+
+  // no check
+  setverdict(pass);
+}
+
+// test f_getCurrentGMTDate testcase
+testcase f_test_getCurrentGMTDate() runs on DateTime_CT
+{
+  log(" ----------- f_getCurrentGMTDate ----------- ");
+  log("GMT Date (f_getCurrentGMTDate): ", 
+    f_getCurrentGMTDate());    
+
+  // no check
+  setverdict(pass);
+}
+
+// test f_tic testcase
+testcase f_test_tic() runs on DateTime_CT
+{
+  log(" ----------- f_tic ----------- ");
+
+  tictac := f_tic();
+
+  var integer a := 0;
+  for (var integer i := 0; i < 1000000; i := i + 1)
+  {
+    a := a + 1;
+  }
+  
+  tictac := f_tic();
+  log("Tics since program start (f_tic): ", tictac);
+
+  // check only that at least one tic has been made
+  if (tictac > 0) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_toc testcase
+testcase f_test_toc() runs on DateTime_CT
+{
+  log(" ----------- f_toc ----------- ");
+
+  timer T_timer := 2.0;
+  var integer vl_start;
+
+  vl_start := f_tic();
+  T_timer.start;
+  T_timer.timeout;
+
+  var integer a := 0;
+  for (var integer i := 0; i < 1000000; i := i + 1)
+  {
+    a := a + 1;
+  }
+
+  time := f_toc(vl_start);
+  log("Seconds since vl_start (f_toc): ", time);    
+
+  // approx 2 seconds has elapsed sinece last tic
+  if (time > 0.0) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// f_timeDiff
+testcase f_test_timeDiff() runs on DateTime_CT
+{
+  log(" ----------- f_timeDiff ----------- ");
+
+  var integer vl_start, vl_end;
+  timer T_timer := 1.0;
+
+  vl_start := f_time();
+  T_timer.start;
+  T_timer.timeout;
+  vl_end := f_time();
+
+  var integer diff := f_timeDiff(vl_end, vl_start); 
+  log("Time diff (f_timeDiff): ", diff); 
+  
+  var integer largeDiff := f_timeDiff(vl_end+5500550055, vl_start+2200220022);
+  log("Time diff (f_timeDiff) - large integer test: ", largeDiff); 
+
+  if ((diff > 0) and (largeDiff > 3300330033)) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+testcase f_test_HO42714() runs on DateTime_CT
+{
+  log(" ----------- f_test_HO42714 ----------- ");
+
+  var integer vl_a;
+  var charstring vl_ch;
+  log("Local wall time, dayligth saving");
+  log("f_time2sec( pl_year 2011, pl_mon 6, pl_day 29, pl_hour 10, pl_min 56, pl_sec 0)")
+  vl_a:=f_time2sec(2011, 6,  29, 10, 56, 0)
+  log(vl_a);
+  if(vl_a == 1309337760){
+    setverdict(pass)
+  } else {
+    setverdict(fail)
+  }
+  vl_ch:= f_ctime(vl_a)
+  log(vl_ch);
+  if(vl_ch == "Wed Jun 29 10:56:00 2011\n"){
+    setverdict(pass)
+  } else {
+    setverdict(fail)
+  }
+  log("UTC time")
+  log("f_time2sec_UTC( pl_year 2011, pl_mon 6, pl_day 29, pl_hour 10, pl_min 56, pl_sec 0)")
+  vl_a:=f_time2sec_UTC(2011, 6,  29, 10, 56, 0)
+  log(vl_a);
+  if(vl_a == 1309344960){
+    setverdict(pass)
+  } else {
+    setverdict(fail)
+  }
+  vl_ch:= f_ctime_UTC(vl_a)
+  log(vl_ch);
+  if(vl_ch == "Wed Jun 29 10:56:00 2011\n"){
+    setverdict(pass)
+  } else {
+    setverdict(fail)
+  }
+  vl_ch:= f_ctime(vl_a)
+  log(vl_ch);
+  if(vl_ch == "Wed Jun 29 12:56:00 2011\n"){
+    setverdict(pass)
+  } else {
+    setverdict(fail)
+  }
+  log("Local wall time, no dayligth saving");
+  log("f_time2sec( pl_year 2011, pl_mon 1, pl_day 29, pl_hour 10, pl_min 56, pl_sec 0)")
+  vl_a:=f_time2sec(2011, 1,  29, 10, 56, 0)
+  log(vl_a);
+  if(vl_a == 1296294960){
+    setverdict(pass)
+  } else {
+    setverdict(fail)
+  }
+  vl_ch:= f_ctime(vl_a)
+  log(vl_ch);
+  if(vl_ch == "Sat Jan 29 10:56:00 2011\n"){
+    setverdict(pass)
+  } else {
+    setverdict(fail)
+  }
+  log("UTC time")
+  log("f_time2sec_UTC( pl_year 2011, pl_mon 1, pl_day 29, pl_hour 10, pl_min 56, pl_sec 0)")
+  vl_a:=f_time2sec_UTC(2011, 1,  29, 10, 56, 0)
+  log(vl_a);
+  if(vl_a == 1296298560){
+    setverdict(pass)
+  } else {
+    setverdict(fail)
+  }
+  vl_ch:= f_ctime_UTC(vl_a)
+  log(vl_ch);
+  if(vl_ch == "Sat Jan 29 10:56:00 2011\n"){
+    setverdict(pass)
+  } else {
+    setverdict(fail)
+  }
+  vl_ch:= f_ctime(vl_a)
+  log(vl_ch);
+  if(vl_ch == "Sat Jan 29 11:56:00 2011\n"){
+    setverdict(pass)
+  } else {
+    setverdict(fail)
+  }
+}
+
+
+// execute all DateTime tests
+control
+{
+  log(" ################### DateTime ################### ");
+
+  execute(f_test_time());
+  execute(f_test_ctime());
+  execute(f_test_getTimeFormatted());
+  execute(f_test_time2sec());
+  execute(f_test_getCurrentDateWithOffset());
+  execute(f_test_getCurrentGMTDate());
+  execute(f_test_tic());
+  execute(f_test_toc());
+  execute(f_test_timeDiff());
+  execute(f_test_HO42714())
+}
+}
diff --git a/demo/TCCEncoding_Example.ttcn b/demo/TCCEncoding_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..838b416919867abf85ff4134e4d87b8f37d05370
--- /dev/null
+++ b/demo/TCCEncoding_Example.ttcn
@@ -0,0 +1,155 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCEncoding_Example.ttcn
+//  Description:        TCC Useful Functions: Message Encoding Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2013-02-05
+//  Contact:            http://ttcn.ericsson.se
+//////////////////////////////////////////////////////////////////////////////
+
+module TCCEncoding_Example {
+
+import from TCCEncoding_Functions all;
+
+type component test_CT {
+  var charstring base64;
+  var octetstring msg, dec;
+}
+
+testcase TC() runs on test_CT {
+  msg := char2oct("Test message.");
+  log("Message is: ", msg);
+  base64 := enc_MIME_Base64(msg);
+  log("MIME Base64 encoded message is: ", base64);
+  dec := dec_MIME_Base64(base64);
+  log("Decoded message is: ", dec);
+  if(dec != msg) {
+    setverdict(fail);
+  } else {
+    setverdict(pass);
+  }
+}
+
+testcase TC2() runs on test_CT {
+
+  var ISUP_Called_Party_Number v_ISUP_Called_Party_Number := 
+  {  
+    natureOfAddressIndicator := networkRoutingNumberNationalNrFormat,
+    numberingPlanIndicator := ISDN_E_164,
+    iNN := numberComplete,
+    addressSignalDigits := '123456789'H 
+  }
+
+  var octetstring v_oct := f_encode_ISUP_Called_Party_Number(v_ISUP_Called_Party_Number)
+  log(v_oct);
+  if (v_oct == '86102143658709'O) {setverdict(pass)} 
+  else {setverdict(fail)}
+
+  v_ISUP_Called_Party_Number.numberingPlanIndicator := national; 
+  v_oct := f_encode_ISUP_Called_Party_Number(v_ISUP_Called_Party_Number);
+  log(v_oct);
+  if (v_oct == ''O) {setverdict(pass)} 
+  else {setverdict(fail)}
+
+  v_ISUP_Called_Party_Number.natureOfAddressIndicator := internationalNumber;
+  v_ISUP_Called_Party_Number.numberingPlanIndicator := telex;
+  v_ISUP_Called_Party_Number.iNN := numberIncomplete;
+  v_ISUP_Called_Party_Number.addressSignalDigits :='1234567895'H
+
+  v_oct := f_encode_ISUP_Called_Party_Number(v_ISUP_Called_Party_Number)
+  log(v_oct);
+  if (v_oct == '04C02143658759'O) {setverdict(pass)} 
+  else {setverdict(fail)} 
+
+}
+
+testcase TC3() runs on test_CT {
+
+  var ISUP_Calling_Party_Number v_ISUP_Calling_Party_Number := 
+  {  
+    natureOfAddressIndicator := internationalNumber,
+    screening_indicator := network_provided,
+    address_presentation_restricted_indicator := presentation_restricted,
+    numberingPlanIndicator := ISDN_E_164,
+    iNN := numberComplete,
+    addressSignalDigits := '123456789'H 
+  }
+
+  var octetstring v_oct := f_encode_ISUP_Calling_Party_Number(v_ISUP_Calling_Party_Number)
+  log(v_oct);
+  if (v_oct == '84172143658709'O) {setverdict(pass)} 
+  else {setverdict(fail)}
+
+  v_ISUP_Calling_Party_Number.addressSignalDigits :='1234567895'H
+  v_oct := f_encode_ISUP_Calling_Party_Number(v_ISUP_Calling_Party_Number) 
+  log(v_oct);
+  if (v_oct == '04172143658759'O) {setverdict(pass)} 
+  else {setverdict(fail)} 
+}
+
+testcase TC4() runs on test_CT {
+
+  var MobileL3_CalledPartyBCDNumber v_MobileL3_CalledPartyBCDNumber:=
+  {
+    numberingPlanIdentification := data,
+    typeOfNumber := dedicatedAccess,
+    numberDigits := '123456789'H
+  }
+
+  var octetstring v_oct :=f_encode_MobileL3_CalledPartyBCDNumber(v_MobileL3_CalledPartyBCDNumber);
+  log(v_oct);
+  if (v_oct == 'C321436587F9'O) {setverdict(pass)} 
+  else {setverdict(fail)}
+
+
+  v_MobileL3_CalledPartyBCDNumber.numberDigits := '1234567895'H
+  v_oct :=f_encode_MobileL3_CalledPartyBCDNumber(v_MobileL3_CalledPartyBCDNumber);
+  log(v_oct);
+  if (v_oct == 'C32143658759'O) {setverdict(pass)} 
+  else {setverdict(fail)}
+
+}
+
+testcase tc_005_artf265694() runs on test_CT {
+
+  var hexstring vl_number_odd  := '123456789AB'H;
+  var hexstring vl_number_even := '123456789ABC'H;
+
+  var octetstring vl_oct := f_enc_TBCD_hex(vl_number_odd);
+  if (vl_oct == '21436587A9FB'O) {setverdict(pass);} 
+  else {
+    log("reference: ", '21436587A9FB'O);
+    log("encoded: ", vl_oct);
+    setverdict(fail);
+  }
+
+  vl_oct := f_enc_TBCD_hex(vl_number_even);
+  if (vl_oct == '21436587A9CB'O) {setverdict(pass);} 
+  else {
+    log("reference: ", '21436587A9CB'O);
+    log("encoded: ", vl_oct);
+    setverdict(fail);
+  }
+
+}
+
+
+control {
+  execute(TC());
+  execute(TC2());
+  execute(TC3());  
+  execute(TC4());   
+  execute(tc_005_artf265694());   
+}
+
+} with {extension "version R22B"}
+
diff --git a/demo/TCCEnv_Example.ttcn b/demo/TCCEnv_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..9df673a1df4fc69dc1ce13ba6da3a34754f5ef8a
--- /dev/null
+++ b/demo/TCCEnv_Example.ttcn
@@ -0,0 +1,39 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCEnv_Example.ttcn
+//  Description:        TCC Useful Functions: Environment Handling Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2008-12-10
+//  Contact:            http://ttcn.ericsson.se
+//////////////////////////////////////////////////////////////////////////////
+
+module TCCEnv_Example {
+
+import from TCCEnv_Functions all;
+
+type component test_CT { };
+
+testcase TC() runs on test_CT
+{
+  setverdict(pass);
+  log("PATH=", f_GetEnv("PATH"));
+  if(not(f_PutEnv("ENV", "foobar"))) {
+    setverdict(fail);
+  }
+  log("ENV=", f_GetEnv("ENV"));
+}
+
+control {
+  execute(TC());
+}
+
+}
diff --git a/demo/TCCFileIO_Example.ttcn b/demo/TCCFileIO_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..0346d13d7a2d7f124997934e8e9ae9acea417321
--- /dev/null
+++ b/demo/TCCFileIO_Example.ttcn
@@ -0,0 +1,331 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCFileIO_Example.ttcn
+//  Description:        TCC Useful Functions: File IO Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2008-12-10
+//  Contact:            http://ttcn.ericsson.se
+//////////////////////////////////////////////////////////////////////////////
+
+module TCCFileIO_Example
+{
+modulepar charstring tsp_ird_dir := "/vobs/ttcn/TCC_Releases/Libraries/TCCUsefulFunctions_CNL113472/demo"
+modulepar charstring tsp_ird_file := "IRD_record_1"
+
+import from TCCFileIO_Functions all;
+
+type component empty_CT
+{ 
+  var integer v_ret_val;
+};
+
+testcase TC_test () runs on empty_CT
+{
+  var integer vl_fd;
+  var charstring vl_text_out := "First lineabcdefSecond lineabcdefThird lineabcdefFourth lineabcdef";
+  var charstring vl_text_tmp := "abcdef";
+  var charstring vl_text_in;
+  vl_fd := f_FIO_open_trunc_rdwr_excl ("test1.txt");
+  if (vl_fd < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  v_ret_val := f_FIO_write_text (vl_fd, vl_text_out);
+  v_ret_val := f_FIO_flush (vl_fd);
+  v_ret_val := f_FIO_seek_home (vl_fd);
+  for (var integer vl_i := 0; vl_i < 4; vl_i := vl_i + 1)
+    {
+      var integer n := f_FIO_read_text_until (vl_fd, vl_text_in, vl_text_tmp);
+      if (n < 0)
+        {
+	  log (f_FIO_get_error_string ());
+	  setverdict (fail);
+	}
+      log (vl_text_in);
+    }  
+  v_ret_val := f_FIO_seek_end (vl_fd);
+  v_ret_val := f_FIO_write_text (vl_fd, vl_text_out);
+  v_ret_val := f_FIO_close (vl_fd);
+  /* Try to close it again.  */
+  if (f_FIO_close (vl_fd) < 0)
+    {
+      setverdict (pass);
+    }
+}
+
+testcase TC_test_open () runs on empty_CT
+{
+  var integer vl_fd;
+  vl_fd := f_FIO_open_trunc_wronly_excl ("test1.txt");
+  if (vl_fd < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  v_ret_val := f_FIO_write_text (vl_fd, "First line");
+  v_ret_val := f_FIO_close (vl_fd);
+  /* After a successful call.  */
+  log (f_FIO_get_error_string ());
+  setverdict (pass);
+}
+
+testcase TC_test_close () runs on empty_CT
+{
+  var integer vl_fd_first, vl_fd_second;
+  vl_fd_first := f_FIO_open_rdonly ("test1.txt");
+  vl_fd_second := f_FIO_open_rdonly ("test1.txt");
+  if (vl_fd_first < 0 or vl_fd_second < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  vl_fd_first := f_FIO_close (vl_fd_first);
+  vl_fd_second := f_FIO_close (vl_fd_second);
+  if (vl_fd_first < 0 or vl_fd_second < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  /* Try to close it again.  */
+  if (f_FIO_close (vl_fd_first) < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (pass);
+    }
+  setverdict (pass);
+}
+
+testcase TC_test_seek () runs on empty_CT
+{
+  var integer vl_fd;
+  var charstring vl_text_in;
+  vl_fd := f_FIO_open_trunc_rdwr ("test1.txt");
+  v_ret_val := f_FIO_write_text (vl_fd, "ABCDFFGHIJKL");
+  v_ret_val := f_FIO_seek_backward (vl_fd, 8);
+  v_ret_val := f_FIO_write_text (vl_fd, "E");
+  v_ret_val := f_FIO_seek_end (vl_fd);
+  v_ret_val := f_FIO_write_text (vl_fd, "MNOPQRSTUVWXYZ");
+  v_ret_val := f_FIO_seek_home (vl_fd);
+  v_ret_val := f_FIO_read_text_until (vl_fd, vl_text_in, "XYZ");
+  log (vl_text_in);
+  v_ret_val := f_FIO_close (vl_fd);
+  /* Try to seek after close.  */
+  if (f_FIO_seek_home (vl_fd) < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (pass);
+    }
+  setverdict (pass);
+}
+
+testcase TC_test_write () runs on empty_CT
+{
+  var integer vl_fd;
+  var octetstring vl_data := '41414242'O;
+  vl_fd := f_FIO_open_append_wronly ("test1.txt");
+  if (f_FIO_write_data (vl_fd, vl_data) < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  v_ret_val := f_FIO_close (vl_fd);
+  vl_fd := f_FIO_open_rdonly ("test1.txt");
+  /* Try to write to the file opened in read only mode.  */
+  if (f_FIO_write_data (vl_fd, vl_data) >= 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  v_ret_val := f_FIO_close (vl_fd);
+  setverdict (pass);
+}
+
+testcase TC_test_write_flush () runs on empty_CT
+{
+  var integer vl_fd;
+  var octetstring vl_data := '41414242'O;
+  vl_fd := f_FIO_open_trunc_wronly_excl ("test1.txt");
+  if (f_FIO_write_data_flush (vl_fd, vl_data) < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  v_ret_val := f_FIO_close (vl_fd);
+  vl_fd := f_FIO_open_append_wronly_excl ("test1.txt");
+  if (f_FIO_write_data_flush (vl_fd, vl_data) < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  v_ret_val := f_FIO_flush (vl_fd);
+  v_ret_val := f_FIO_close (vl_fd);
+  setverdict (pass);
+}
+
+testcase TC_test_read () runs on empty_CT
+{
+  var integer vl_fd := f_FIO_open_rdonly ("test1.txt");
+  var charstring vl_text_in;
+  if (f_FIO_read_text (vl_fd, vl_text_in, 4) < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  v_ret_val := f_FIO_close (vl_fd);
+  log (vl_text_in);
+  setverdict (pass);
+}
+
+testcase TC_test_read_until () runs on empty_CT
+{
+  var integer vl_fd;
+  vl_fd := f_FIO_open_trunc_rdwr ("test2.txt");
+  v_ret_val := f_FIO_write_data (vl_fd, '41414242'O);
+  var octetstring vl_data_in;
+  v_ret_val := f_FIO_seek_home (vl_fd);
+  v_ret_val := f_FIO_read_data_until (vl_fd, vl_data_in, '42'O);
+  log (vl_data_in);
+  v_ret_val := f_FIO_close (vl_fd);
+  vl_fd := f_FIO_open_trunc_rdwr ("test2.txt");
+  v_ret_val := f_FIO_write_text (vl_fd, "black white green blue red yellow pink ");
+  v_ret_val := f_FIO_seek_home (vl_fd);
+  for (var integer vl_i := 0; vl_i < 7; vl_i := vl_i + 1)
+    {
+      var charstring vl_text_in;
+      if (f_FIO_read_text_until (vl_fd, vl_text_in, " ") < 0)
+        {
+          log (f_FIO_get_error_string ());
+          setverdict (fail);
+	}
+      log (vl_text_in);
+    }
+  v_ret_val := f_FIO_close (vl_fd);    
+  setverdict (pass);
+}
+
+testcase TC_test_excl () runs on empty_CT
+{
+  var integer vl_fd1 := f_FIO_open_trunc_rdwr_excl ("../test3.txt");
+  var integer vl_fd2 := f_FIO_open_append_rdwr ("../test3.txt");
+  if (vl_fd1 < 0 or vl_fd2 < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  if (f_FIO_write_text (vl_fd1, "First line") < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  if (f_FIO_write_text (vl_fd2, "First line") < 0)
+    {
+      log (f_FIO_get_error_string ());
+      setverdict (fail);
+    }
+  /* Start this program on a different terminal.  It should fail.  */
+  timer t := 20.0;
+  t.start;
+  alt
+    {
+      [] t.timeout { }
+    }
+
+  v_ret_val := f_FIO_close (vl_fd1);
+  v_ret_val := f_FIO_close (vl_fd2);
+  setverdict (pass);
+}
+
+testcase TC_test_read_TLV() runs on empty_CT
+{
+  var octetstring vl_oct;
+  var boolean opened := false;
+  var integer vl_fd1;
+
+  //Change the directory
+  if (not (f_FIO_chdir(tsp_ird_dir)))
+  {
+    log("Directory change failed");
+    setverdict(inconc); stop;
+  }
+
+  //Open the file
+  vl_fd1 := f_FIO_open_rdonly(tsp_ird_file);
+  if(vl_fd1== -1)
+  {
+    log("Opening file failed.");
+  }
+  else
+  { //Go to the end of file
+    opened := true;
+    v_ret_val := f_FIO_seek_end(vl_fd1);
+  }
+
+            //Start: replace of writing into the file by the SUT
+            var integer vl_fd2;
+            vl_fd2 := f_FIO_open_append_wronly(tsp_ird_file);
+            if(vl_fd2== -1)
+            {
+              setverdict(inconc);
+              stop;
+            }
+
+            v_ret_val := f_FIO_write_data(vl_fd2,'3082014C801032303033303930393034323034352E35A280301480074552494353533181094D415F435253535F31301480074552494353533281094D415F435253535F320000A34280084E4554574F524B4981070149172402222F820101A322800100810700491721030050820901490509515738400F830901262021030000050FA406800106810111A480AF80A10D8002262F810102820101830101820100A30D81010282010183050110300301A48031323017A006800102810103A10D810102820101830501103005183017A006800103810105A10D81010282010183050110300528314B3017A006800102810103A10D810102820101830501103005183017A006800103810105A10D810102820101830501103005283017A006800104810107A10D810102820101830501103005300000860100870A1C08A10602010102017C88071C05A20302010100000000'O);
+            v_ret_val := f_FIO_write_text(vl_fd2,"Here would come the 2nd IRD record");
+            v_ret_val := f_FIO_close(vl_fd2);
+            //End: replace of writing by the SUT
+
+  if (not opened)
+  { //Open the file
+    vl_fd1 := f_FIO_open_rdonly(tsp_ird_file);
+    if(vl_fd1== -1)
+    {
+      log("File %s cannot be opened.",tsp_ird_file);
+      setverdict(inconc); stop;
+    }
+  }
+
+  //Read a complete TLV structure, read position is at the original end 
+  //of the file, so new charging data records will be read
+  if(f_FIO_read_data_TLV(vl_fd1,vl_oct) >-1)
+  {
+    log(vl_oct);
+    
+//    var IRD_message vl_ird_msg := dec_PDU_IRD(vl_oct); //Decode IRD message
+  }
+
+  if(f_FIO_close(vl_fd1) == -1)
+  {
+    log("File %s cannot be closed.",tsp_ird_file);
+    setverdict(inconc); stop;
+  }
+  else
+  {
+    setverdict(pass);
+  } 
+}
+
+control
+{
+  execute (TC_test ());
+  execute (TC_test_open ());
+  execute (TC_test_close ());
+  execute (TC_test_seek ());
+  execute (TC_test_write ());
+  execute (TC_test_write_flush ());
+  execute (TC_test_read ());
+  execute (TC_test_read_until ());
+  execute (TC_test_excl ()); /* This fails on Cygwin.  */
+  execute (TC_test_read_TLV ());
+}
+
+}
diff --git a/demo/TCCFileSystem_Example.ttcn b/demo/TCCFileSystem_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..de4c5c25ec39711c8d4838bb203743f83a9fcaba
--- /dev/null
+++ b/demo/TCCFileSystem_Example.ttcn
@@ -0,0 +1,82 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCFileSystem_Example.ttcn
+//  Description:        TCC Useful testcases: FileSystem testcases.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2011-07-14
+//  Contact:            http://ttcn.ericsson.se
+///////////////////////////////////////////////
+
+module TCCFileSystem_Example
+{
+
+import from TCCFileSystem_Functions all;
+
+type component FileSystem_CT{}
+
+//////////////////////////////////////////////////////////////
+// FileSystem testcases
+//////////////////////////////////////////////////////////////
+
+// test f_FS_bsize testcase
+testcase f_test_FS_bsize() runs on FileSystem_CT
+{
+  log(" ----------- f_FS_bsize ----------- ");
+  log("Block size (f_FS_bsize): ", f_FS_bsize("./"));    
+
+  // no check
+  setverdict(pass);
+}
+
+// test f_FS_block testcase
+testcase f_test_FS_block() runs on FileSystem_CT
+{
+  log(" ----------- f_FS_block ----------- ");
+  log("Number of blocks (f_FS_block): ", f_FS_block("./"));    
+
+  // no check
+  setverdict(pass);
+}
+
+// test f_FS_bfree testcase
+testcase f_test_FS_bfree() runs on FileSystem_CT
+{
+  log(" ----------- f_FS_bfree ----------- ");
+  log("Number of free blocks (f_FS_bfree): ", f_FS_bfree("./"));    
+
+  // no check
+  setverdict(pass);
+}
+
+// test f_FS_dspacerate testcase
+testcase f_test_FS_dspacerate() runs on FileSystem_CT
+{
+  log(" ----------- f_FS_dspacerate ----------- ");
+  log("The free space rate (f_FS_dspacerate): ", f_FS_dspacerate("./"));    
+
+  // no check
+  setverdict(pass);
+}
+
+
+
+// execute all FileSystem tests
+control
+{
+  log(" ################### FileSystem ################### ");
+
+  execute(f_test_FS_bsize());
+  execute(f_test_FS_block());
+  execute(f_test_FS_bfree());
+  execute(f_test_FS_dspacerate());
+}
+}
diff --git a/demo/TCCIPsec_Example.ttcn b/demo/TCCIPsec_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..469870d2686ee94e7dc267ad2927560b98a77310
--- /dev/null
+++ b/demo/TCCIPsec_Example.ttcn
@@ -0,0 +1,409 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCAssertion_Example.ttcn
+//  Description:        TCC Useful Functions: Assertion Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2013-01-09
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+module TCCIPsec_Example {
+
+import from TCCIPsec_Functions all;
+import from TCCIPsec_Definitions all;
+
+type component test_CT {};
+
+//////////////////////////////////////////////////////////////
+// Simple tests
+//////////////////////////////////////////////////////////////
+
+testcase SA_flush () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SADB_flush ();
+  log ( "f_IPsec_SADB_flush returns: ", res );
+
+  select ( res ) {
+    case ( ok ) { setverdict(pass); }
+    case ( insufficientPrivilege ) {
+      log ( "Ensure that the test is run with sufficient (root) privileges!" );
+      setverdict(fail);
+    }
+    case ( notImplemented ) {
+      log ( "Please, check the compilation flags!" );
+      log ( "Either USE_IPSEC or USE_KAME_IPSEC has to be specified." );
+      setverdict(fail);
+    }
+    case else { setverdict(fail); }
+  }
+}
+
+testcase SA_add () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SADB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+  res := f_IPsec_SADB_add ( "192.168.1.1",  "192.168.1.2", esp, 2147483653,
+    { { policyId := 101 }, { hardLifetime := 180 }, { softLifetime := 60 } },
+    { encrAndAuth := {
+        ealgo := EALG_3DESCBC, ekey := { text := "123456789012345678901234" },
+        aalgo := AALG_MD5HMAC, akey := { text := "1234567890123456" } } } );
+  log ( "f_IPsec_SADB_add returns: ", res );
+
+  select ( res ) {
+    case ( ok ) { setverdict(pass); }
+    case else { setverdict(fail); }
+  }
+  res := f_IPsec_SADB_flush ();
+}
+
+/*testcase SA_update () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SADB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+  res := f_IPsec_SADB_add ( "192.168.1.1",  "192.168.1.2", esp, 11001,
+    { { policyId := 101 }, { hardLifetime := 180 }, { softLifetime := 60 } },
+    { encrAndAuth := {
+        ealgo := EALG_3DESCBC, ekey := { text := "123456789012345678901234" },
+        aalgo := AALG_MD5HMAC, akey := { text := "1234567890123456" } } } );
+  if ( res != ok ) { setverdict(fail); }
+  res := f_IPsec_SADB_update ( "192.168.1.1",  "192.168.1.2", esp, 11001,
+    { { hardLifetime := 18 }, { softLifetime := 6 } } );
+  log ( "f_IPsec_SADB_update returns: ", res );
+
+  select ( res ) {
+    case ( ok ) { setverdict(pass); }
+    case else { setverdict(fail); }
+  }
+  res := f_IPsec_SADB_flush ();
+}*/
+
+testcase SA_delete () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SADB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+  res := f_IPsec_SADB_add ( "192.168.1.1", "192.168.1.2",
+    esp, 2147483653, { { hardLifetime := 180 }, { softLifetime := 60 } },
+    { encrAndAuth := {
+        ealgo := EALG_3DESCBC, ekey := { text := "123456789012345678901234" },
+        aalgo := AALG_MD5HMAC, akey := { text := "1234567890123456" } } } );
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SADB_delete ( "192.168.1.1", "192.168.1.2", esp, 2147483653 );
+  log ( "f_IPsec_SADB_delete returns: ", res );
+
+  select ( res ) {
+    case ( ok ) { setverdict(pass); }
+    case else { setverdict(fail); }
+  }
+}
+
+testcase SP_flush () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SPDB_flush ();
+  log ( "f_IPsec_SPDB_flush returns: ", res );
+
+  select ( res ) {
+    case ( ok ) { setverdict(pass); }
+    case ( notImplemented ) {
+      log ( "Please, check the compilation flags!" );
+      log ( "SPD handling is supported only if USE_KAME_IPSEC is specified during compilation." );
+      setverdict(fail);
+    }
+    case else { setverdict(fail); }
+  }
+}
+
+testcase SP_add () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SPDB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SPDB_add ( "192.168.1.1", -, 2001, "192.168.1.2", -, 3001,
+    tcpProto, outDir,
+    { ipSec := { { protocol := ah, mode := { transport := {} }, level := { unique := { id := 101 } } } } } );
+  log ( "f_IPsec_SPDB_add returns: ", res );
+
+  select ( res ) {
+    case ( ok ) { setverdict(pass); }
+    case else { setverdict(fail); }
+  }
+  res := f_IPsec_SPDB_flush ();
+}
+
+testcase SP_delete () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SPDB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SPDB_add ( "192.168.1.1", -, 2001, "192.168.1.2", -, 3001,
+    tcpProto, outDir,
+    { ipSec := { { protocol := ah, mode := { transport := {} }, level := { unique := { id := 101 } } } } } );
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SPDB_delete ( "192.168.1.1", -, 2001, "192.168.1.2", -, 3001, tcpProto, outDir );
+  log ( "f_IPsec_SPDB_delete returns: ", res );
+
+  select ( res ) {
+    case ( ok ) { setverdict(pass); }
+    case else { setverdict(fail); }
+  }
+}
+
+//////////////////////////////////////////////////////////////
+// Compound tests
+// To test functionality a bit better without using test ports
+//////////////////////////////////////////////////////////////
+
+testcase SA_add_twice () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SADB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+  res := f_IPsec_SADB_add ( "192.168.1.1",  "192.168.1.2", esp, 11001,
+    { { policyId := 101 }, { hardLifetime := 180 }, { softLifetime := 60 } },
+    { encrAndAuth := {
+        ealgo := EALG_3DESCBC, ekey := { text := "123456789012345678901234" },
+        aalgo := AALG_MD5HMAC, akey := { text := "1234567890123456" } } } );
+  log ( "First f_IPsec_SADB_add returns: ", res );
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SADB_add ( "192.168.1.1",  "192.168.1.2", esp, 11001,
+    { { policyId := 101 }, { hardLifetime := 180 }, { softLifetime := 60 } },
+    { encrAndAuth := {
+        ealgo := EALG_3DESCBC, ekey := { text := "123456789012345678901234" },
+        aalgo := AALG_MD5HMAC, akey := { text := "1234567890123456" } } } );
+  if ( res == alreadyExisted ) {
+    setverdict(pass);
+  } else {
+    log ( "Second f_IPsec_SADB_add returned unexpected result: ", res );
+    setverdict(fail);
+  }
+  res := f_IPsec_SADB_flush ();
+}
+
+testcase SA_flush_2 () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SADB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+  res := f_IPsec_SADB_add ( "192.168.1.1",  "192.168.1.2", esp, 11001,
+    { { policyId := 101 }, { hardLifetime := 180 }, { softLifetime := 60 } },
+    { encrAndAuth := {
+        ealgo := EALG_3DESCBC, ekey := { text := "123456789012345678901234" },
+        aalgo := AALG_MD5HMAC, akey := { text := "1234567890123456" } } } );
+  if ( res != ok ) { setverdict(fail); }
+  res := f_IPsec_SADB_add ( "192.168.1.1",  "192.168.1.2", esp, 11001,
+    { { policyId := 101 }, { hardLifetime := 180 }, { softLifetime := 60 } },
+    { encrAndAuth := {
+        ealgo := EALG_3DESCBC, ekey := { text := "123456789012345678901234" },
+        aalgo := AALG_MD5HMAC, akey := { text := "1234567890123456" } } } );
+  if ( res != alreadyExisted ) { setverdict(fail); }
+  res := f_IPsec_SADB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+  res := f_IPsec_SADB_add ( "192.168.1.1",  "192.168.1.2", esp, 11001,
+    { { policyId := 101 }, { hardLifetime := 180 }, { softLifetime := 60 } },
+    { encrAndAuth := {
+        ealgo := EALG_3DESCBC, ekey := { text := "123456789012345678901234" },
+        aalgo := AALG_MD5HMAC, akey := { text := "1234567890123456" } } } );
+  if ( res == ok ) {
+    setverdict(pass);
+  } else {
+    log ( "f_IPsec_SADB_add after f_IPsec_SADB_flush returned unexpected result: ", res );
+    setverdict(fail);
+  }
+  res := f_IPsec_SADB_flush ();
+}
+
+testcase SA_delete_2 () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SADB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+  res := f_IPsec_SADB_delete ( "192.168.1.1", "192.168.1.2", esp, 11001 );
+  if ( res != notFound ) { setverdict(fail); }
+  res := f_IPsec_SADB_add ( "192.168.1.1",  "192.168.1.2", esp, 11001,
+    { { policyId := 101 }, { hardLifetime := 180 }, { softLifetime := 60 } },
+    { encrAndAuth := {
+        ealgo := EALG_3DESCBC, ekey := { text := "123456789012345678901234" },
+        aalgo := AALG_MD5HMAC, akey := { text := "1234567890123456" } } } );
+  if ( res != ok ) { setverdict(fail); }
+  res := f_IPsec_SADB_delete ( "192.168.1.1", "192.168.1.2", esp, 11001 );
+  if ( res == ok ) {
+    setverdict(pass);
+  } else {
+    log ( "f_IPsec_SADB_delete after f_IPsec_SADB_add returned: ", res );
+    setverdict(fail);
+  }
+}
+
+testcase SP_compound_test () runs on test_CT
+{
+  var TCCIPsec_Result res;
+
+  res := f_IPsec_SPDB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SPDB_add ( "192.168.1.1", -, 2001, "192.168.1.2", -, 3001,
+    tcpProto, outDir,
+    { ipSec := { { protocol := ah, mode := { transport := {} }, level := { unique := { id := 101 } } } } } );
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SPDB_add ( "192.168.1.1", -, 2001, "192.168.1.2", -, 3001,
+    tcpProto, outDir,
+    { ipSec := { { protocol := ah, mode := { transport := {} }, level := { unique := { id := 101 } } } } } );
+  if ( res != alreadyExisted ) { setverdict(fail); }
+
+  res := f_IPsec_SPDB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SPDB_add ( "192.168.1.1", -, 2001, "192.168.1.2", -, 3001,
+    tcpProto, outDir,
+    { ipSec := { { protocol := ah, mode := { transport := {} }, level := { unique := { id := 101 } } } } } );
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SPDB_delete ( "192.168.1.1", -, 2001, "192.168.1.2", -, 3001, tcpProto, outDir );
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SPDB_delete ( "192.168.1.1", -, 2001, "192.168.1.2", -, 3001, tcpProto, outDir );
+  if ( res != notFound ) { setverdict(fail); }
+
+  res := f_IPsec_SPDB_add ( "192.168.1.1", -, 2001, "192.168.1.2", -, 3001,
+    tcpProto, outDir,
+    { ipSec := { { protocol := ah, mode := { transport := {} }, level := { unique := { id := 101 } } } } } );
+  select ( res ) {
+    case ( ok ) { setverdict(pass); }
+    case else { setverdict(fail); }
+  }
+
+  res := f_IPsec_SADB_flush ();
+  res := f_IPsec_SPDB_flush ();
+}
+
+testcase f_add() runs on test_CT
+{
+  var TCCIPsec_Result res;
+  res := f_IPsec_SADB_flush ();
+  if ( res != ok ) { setverdict(fail); }
+
+  res := f_IPsec_SADB_add ( "6.0.0.1",  "6.0.0.2", esp, 1980010810,
+    { { policyId := 111 }, { hardLifetime := 198 }, { softLifetime := 60 } },
+    { encrAndAuth := {
+        ealgo := EALG_3DESCBC, ekey := { text := "221111111111111111111111" },
+        aalgo := AALG_MD5HMAC, akey := { text := "1411111111111111" } } },
+        -,
+        useNatt := true,
+        ipSecMode := tunnel);
+  log ( "f_add returns: ", res );
+
+  select ( res ) {
+    case ( ok ) {setverdict(pass);}
+    case else {setverdict(fail);}
+  }
+}
+
+testcase f_delete() runs on test_CT
+{
+   var TCCIPsec_Result res;
+   res := f_IPsec_SADB_delete( "6.0.0.1", "6.0.0.2", esp, 1980010810);
+
+   log ( "f_IPsec_SPDB_delete returns: ", res );
+
+   select(res){
+       case(ok) {setverdict(pass);}
+       case else {setverdict(fail);}
+   }
+ }
+
+testcase f_spadd() runs on test_CT
+{
+  var TCCIPsec_Result res;
+  res := f_IPsec_SPDB_add ( "172.23.31.0", 24, 1234,
+                            "172.23.32.0", 32, 4321,
+                            -, outDir,
+                            {ipSec := {{
+                                          protocol := esp,
+                                          mode := { tunnel := {
+                                                                srcAddr := "6.0.0.1",
+                                                                srcPort := 4500,
+                                                                dstAddr := "6.0.0.1" ,
+                                                                dstPort := 4500
+                                                              }
+                                                   },
+                                          level := { require := {} }
+                                      }}
+                            });
+
+  log ( "f_IPsec_SPDB_add returns: ", res );
+  select ( res ) {
+    case ( ok ) { setverdict(pass);}
+    case else {setverdict(fail);}
+  }
+}
+
+testcase f_spdelete() runs on test_CT
+{
+    var TCCIPsec_Result res;
+    res := f_IPsec_SPDB_delete( "172.23.31.0", 24, 4500, "172.23.32.0", 32, 4500, -, outDir);
+    log ( "f_IPsec_SPDB_delete returns: ", res );
+
+     select ( res ) {
+       case ( ok ) { setverdict(pass); }
+       case else {setverdict(fail); }
+     }
+}
+
+control
+{
+  // Simple tests
+  execute ( SA_flush (), 1.0 );
+  execute ( SA_add (), 1.0 );
+  //execute ( SA_update (), 1.0 );
+  execute ( SA_delete (), 1.0 );
+
+  execute ( SP_flush (), 1.0 );
+  execute ( SP_add (), 1.0 );
+  execute ( SP_delete (), 1.0 );
+
+  // Compound tests
+  execute ( SA_add_twice (), 1.0 );
+  execute ( SA_flush_2 (), 1.0 );
+  execute ( SA_delete_2 (), 1.0 );
+  execute ( SP_compound_test (), 1.0 );
+
+  // Test NAT-T
+  execute(SA_flush ());
+  execute(f_add());
+  execute(f_delete());
+  execute(SP_flush ());
+  execute(f_spadd());
+  execute(f_spdelete());
+
+}
+}
diff --git a/demo/TCCInterface_Example.ttcn b/demo/TCCInterface_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..6626d0336199b50bdc8e2493bf23ac7fac6d9be3
--- /dev/null
+++ b/demo/TCCInterface_Example.ttcn
@@ -0,0 +1,146 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCInterface_Example.ttcn
+//  Description:        TCC Useful Functions: Interface Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2008-12-10
+//  Contact:            http://ttcn.ericsson.se
+//////////////////////////////////////////////////////////////////////////////
+
+module TCCInterface_Example 
+{
+
+import from TCCInterface_Functions all;
+type component test_CT { };
+
+//////////////////////////////////////////////////////////////
+// Interface functions
+//////////////////////////////////////////////////////////////
+
+testcase tc_test_getIpAddresses() runs on test_CT{
+	var IPAddresses ips := f_getIpAddresses("google.com");
+	if (not isvalue(ips)) {setverdict(fail)}
+	log("google.com:",ips);
+	ips := f_getIpAddresses("localhost");
+	if (not isvalue(ips)) {setverdict(fail)}
+	log("localhost", ips);
+	ips := f_getIpAddresses("alma");
+	if (not isvalue(ips)) {setverdict(fail)}
+	log("empty string: ", ips);
+	setverdict(pass);
+}
+
+testcase f_test_getIP() runs on test_CT
+{
+  var charstring ip, subnet, broadcast;    
+  f_getIP("eth2",ip,subnet,broadcast);
+  log("IP: " & ip);
+  log("Subnetmask: " & subnet);
+  log("Broadcast: " & broadcast);    
+  setverdict(pass);
+}
+
+testcase f_test_getIP_IPv6() runs on test_CT
+{
+  var charstring ip, subnet, broadcast;    
+  f_getIP("eth2",ip,subnet,broadcast,IPv6);
+  log("IP: " & ip);
+  log("Subnetmask: " & subnet);
+  log("Broadcast: " & broadcast);    
+  setverdict(pass);
+}
+
+// test f_getHostName function
+testcase f_test_gethostname() runs on test_CT
+{
+  log(" ----------- f_getHostName ----------- ");
+  log("Hostname: ", f_getHostName());
+  setverdict(pass);
+}
+
+// test f_getIpAddr function
+testcase f_test_getipaddr() runs on test_CT
+{
+  log(" ----------- f_getIpAddr IPv4 ----------- ");
+  log("IP address: ", f_getIpAddr(f_getHostName()));
+  setverdict(pass);  
+}
+ 
+// test f_getIpAddr IPv6 function
+testcase f_test_getipaddr_IPv6() runs on test_CT
+{  
+  log(" ----------- f_getIpAddr IPv6 ----------- ");
+  log("IP address: ", f_getIpAddr("localhost",IPv6));    
+  setverdict(pass);
+}
+
+// test f_setInterfaceUp  function
+testcase f_test_setInterfaceUp() runs on test_CT
+{  
+  log(" ----------- f_setInterfaceUp ----------- ");
+  f_setInterfaceUp("eth3");  
+   
+  setverdict(pass);
+}
+
+// test f_setInterfaceDown  function
+testcase f_test_setInterfaceDown() runs on test_CT
+{  
+  log(" ----------- f_setInterfaceDown ----------- ");
+  f_setInterfaceDown("eth3");  
+   
+  setverdict(pass);
+}
+
+// test f_setIP  function
+testcase f_test_setIP() runs on test_CT
+{  
+  log(" ----------- f_setIP ----------- ");
+  f_setIP("eth3","192.168.20.21","255.255.255.255","192.168.20.255",1);  
+   
+  setverdict(pass);
+}
+
+testcase f_test_setIP_ip() runs on test_CT{
+  log(" ----------- f_setIP_ip ----------- ");
+  var boolean res := f_setIP_ip("eth0","192.169.1.1", 20);
+  if (res){ setverdict(pass); } else 
+    {setverdict(fail);}
+}
+
+testcase f_test_delIP_ip() runs on test_CT{
+  log(" ----------- f_setIP_ip ----------- ");
+  var boolean res := f_setIP_ip("eth0","192.169.1.1", 20);
+  if (res){ setverdict(pass); } else 
+    {setverdict(fail);}
+}
+
+control {
+  execute(tc_test_getIpAddresses());
+  execute(f_test_getIP());
+  execute(f_test_gethostname());
+  execute(f_test_getipaddr());
+
+  execute(f_test_getIP_IPv6());  
+  execute(f_test_getipaddr_IPv6());
+  
+  execute(f_test_setInterfaceUp()); //it works with root account, handle with care!
+  execute(f_test_setInterfaceDown()); //it works with root account, handle with care!
+  
+  execute(f_test_setIP()); //it works with root account, handle with care!
+
+  execute(f_test_setIP_ip());
+  execute(f_test_delIP_ip());
+
+}
+
+}
diff --git a/demo/TCCMaths_Example.ttcn b/demo/TCCMaths_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..4221e747a69fa2a564472b35ddd711aab6b436d1
--- /dev/null
+++ b/demo/TCCMaths_Example.ttcn
@@ -0,0 +1,668 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCMaths_Example.ttcn
+//  Description:        TCC Useful testcases: Maths testcases.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-12-09
+//  Contact:            http://ttcn.ericsson.se
+///////////////////////////////////////////////
+
+module TCCMaths_Example 
+{
+
+import from TCCMaths_Functions all;
+import from TCCMaths_GenericTypes all;
+
+modulepar float LIMIT := 0.01;
+
+type component Maths_CT { 
+  // math
+  var float tmpFloat;
+  var integer tmpInt;
+  var float sum;
+
+  // integer
+  var IntegerList ilist1 := { 1, 2, 3, 4, 5};
+  var IntegerList ilist2 := { 6, 7, 8, 9, 10};
+  var IntegerList ires;
+
+  var IntegerList maxIL1 := {5, 4};
+  var IntegerList minIL1 := {1, 0};
+  var float avgIL1 := 3.0;
+  var IntegerList updIL1 := { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
+  var float stdIL1 := 1.581139;
+  var float stdILL1 := 1.581139;  
+
+  // float
+  var FloatList flist1 := { 1.0, 2.0, 3.0, 4.0, 5.0};
+  var FloatList flist2 := { 6.0, 7.0, 8.0, 9.0, 10.0};
+  var FloatList fres;
+
+  var FloatList maxFL1 := {5.0, 4.0};
+  var FloatList minFL1 := {1.0, 0.0};
+  var float avgFL1 := 3.0;
+  var FloatList updFL1 := { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+  var float stdFL1 := 1.58;
+  var float stdFLL1 := 1.58;
+
+  // sin/cos
+  var float freq := 10.0;
+  var float alti := 5.0;
+  var float startval := 0.0;
+  var float step := 0.37;
+  var integer len := 5;
+
+  var FloatList sin1 := {0.0, -4.755283, 2.938926, 2.938926, -4.755283};
+  var FloatList cos1 := {5.0, -1.545085, -4.045085, 4.045085, 1.545085};
+};
+
+//////////////////////////////////////////////////////////////
+// Maths testcases
+//////////////////////////////////////////////////////////////
+
+//type record of integer BLABLA;
+
+// test f_maxIL testcase
+testcase f_test_maxIL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1, 2, ....} shall be used
+
+  //var BLABLA vv := {1, 2, 3, 4, 5};
+  //ires := f_maxIL(vv);
+
+  log(" ----------- f_maxIL ----------- ");
+  log("Original integer list: ", ilist1);
+  ires := f_maxIL(ilist1);
+  log("MaxIL (maxVal, maxIdx): ", ires);
+
+  if (ires == maxIL1) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_minIL testcase
+testcase f_test_minIL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1, 2, ....} shall be used
+
+  //var BLABLA vv := {1, 2, 3, 4, 5};
+  //ires := f_minIL(vv);
+
+  log(" ----------- f_minIL ----------- ");
+  log("Original integer list: ", ilist1);
+  ires := f_minIL(ilist1);
+  log("MinIL (minVal, minIdx): ", ires);
+
+  if (ires == minIL1) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_averageIL testcase
+testcase f_test_averageIL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1, 2, ....} shall be used
+
+  //var BLABLA vv := {1, 2, 3, 4, 5};
+  //ires := f_averageIL(vv);
+
+  log(" ----------- f_averageIL ----------- ");
+  log("Original integer list: ", ilist1);
+  tmpFloat := f_averageIL(ilist1);
+  log("AverageIL (averageVal, averageIdx): ", tmpFloat);
+
+  if (tmpFloat == avgIL1) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_averageIL testcase
+testcase f_test_updateIL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1, 2, ....} shall be used
+
+  //var BLABLA vv1 := {1, 2, 3, 4, 5};
+  //var BLABLA vv2 := {1, 2, 3, 4, 5};
+  //f_updateIL(vv1, vv2)
+
+  log(" ----------- f_updateIL ----------- ");
+  log("Original integer lists: ", ilist1, " and ", ilist2);
+  ires := ilist1;
+  f_updateIL(ires, ilist2)
+  log("Updated list: ", ires);
+
+  if (ires == updIL1) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_averageIL testcase
+testcase f_test_stdIL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1, 2, ....} shall be used
+
+  //var BLABLA vv := {1, 2, 3, 4, 5};
+  //ires := f_stdIL(vv);
+
+  log(" ----------- f_stdIL ----------- ");
+  log("Original integer list: ", ilist1);
+  tmpFloat := f_stdIL(ilist1);
+  log("Normalized, standard derivation (IL): ", tmpFloat);
+
+  if ((tmpFloat - stdIL1) * (tmpFloat - stdIL1) < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { 
+    setverdict(fail); 
+  }
+}
+
+// test f_averageILL testcase
+testcase f_test_stdILL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1, 2, ....} shall be used
+
+  //var BLABLA vv := {1, 2, 3, 4, 5};
+  //ires := f_stdIL(vv);
+
+  log(" ----------- f_stdILL ----------- ");
+  log("Original integer list: ", ilist1);
+  tmpFloat := f_stdILL(ilist1, f_averageIL(ilist1));
+  log("Normalized, standard derivation (ILL): ", tmpFloat);
+
+  if ((tmpFloat - stdILL1) * (tmpFloat - stdILL1) < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { 
+    setverdict(fail); 
+  }
+}
+
+// test f_maxIL testcase
+testcase f_test_maxFL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1.0, 2.0, ....} shall be used
+
+  //var BLABLA vv := {1.0, 2.0, 3.0, 4.0, 5.0};
+  //ires := f_maxFL(vv);
+
+  log(" ----------- f_maxFL ----------- ");
+  log("Original float list: ", flist1);
+  fres := f_maxFL(flist1);
+  log("MaxFL (maxVal, maxIdx): ", fres);
+
+  if (fres == maxFL1) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_minIL testcase
+testcase f_test_minFL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1.0, 2.0, ....} shall be used
+
+  //var BLABLA vv := {1.0, 2.0, 3.0, 4.0, 5.0};
+  //ires := f_minFL(vv);
+
+  log(" ----------- f_minFL ----------- ");
+  log("Original float list: ", flist1);
+  fres := f_minFL(flist1);
+  log("MinIL (minVal, minIdx): ", fres);
+
+  if (fres == minFL1) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_averageIL testcase
+testcase f_test_averageFL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1.0, 2.0, ....} shall be used
+
+  //var BLABLA vv := {1.0, 2.0, 3.0, 4.0, 5.0};
+  //ires := f_averageFL(vv);
+
+  log(" ----------- f_averageFL ----------- ");
+  log("Original float list: ", flist1);
+  tmpFloat := f_averageFL(flist1);  
+  log("AverageIL (averageVal, averageIdx): ", tmpFloat);
+
+  if (tmpFloat == avgFL1) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_averageIL testcase
+testcase f_test_updateFL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1.0, 2.0, ....} shall be used
+
+  //var BLABLA vv1.0 := {1.0, 2.0, 3.0, 4.0, 5.0};
+  //var BLABLA vv2.0 := {1.0, 2.0, 3.0, 4.0, 5.0};
+  //f_updateFL(vv1.0, vv2.0)
+
+  log(" ----------- f_updateFL ----------- ");
+  log("Original float lists: ", flist1, " and ", flist2);
+  fres := flist1;
+  f_updateFL(fres, flist2)
+  log("Updated list: ", fres);
+
+  if (fres == updFL1) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_averageIL testcase
+testcase f_test_stdFL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1.0, 2.0, ....} shall be used
+
+  //var BLABLA vv := {1.0, 2.0, 3.0, 4.0, 5.0};
+  //ires := f_stdFL(vv);
+
+  log(" ----------- f_stdFL ----------- ");
+  log("Original float list: ", flist1);
+  tmpFloat := f_stdFL(flist1);
+  log("Normalized, standard derivation (IL): ", tmpFloat);
+
+  if ((tmpFloat - stdFL1) * (tmpFloat - stdFL1) < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { 
+    setverdict(fail); 
+  }
+}
+
+// test f_averageFLL testcase
+testcase f_test_stdFLL() runs on Maths_CT
+{
+  // Note this is (of course erroneous situation) - TYPE MISMATCH
+  // IntegerList type in TCCMaths_GenericTypes or dircet valuelist
+  // e.g. {1.0, 2.0, ....} shall be used
+
+  //var BLABLA vv := {1.0, 2.0, 3.0, 4.0, 5.0};
+  //ires := f_stdFL(vv);
+
+  log(" ----------- f_stdFLL ----------- ");
+  log("Original float list: ", flist1);
+  tmpFloat := f_stdFLL(flist1, f_averageFL(flist1));
+  log("Normalized, standard derivation (FLL): ", tmpFloat);
+
+  if ((tmpFloat - stdFLL1) * (tmpFloat - stdFLL1) < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { 
+    setverdict(fail); 
+  }
+}
+
+// test f_sin testcase
+testcase f_test_sinVL() runs on Maths_CT
+{
+  log(" ----------- f_sinVL ----------- ");
+  log("SINUS (Frequency: ", freq, 
+    ", altitude: ", alti, 
+    ", startval: ", startval, 
+    ", step: ", step, 
+    ", return length: ", len, "):");
+
+  fres := f_sinVL(freq, alti, startval, len, step);
+  log("Sinus values returned: ", fres);
+
+  // check
+  sum := 0.0;
+  for (var integer i := 0; i < len; i := i + 1)
+  {
+    tmpFloat := fres[i] - sin1[i];
+    sum := sum + tmpFloat * tmpFloat;
+  }
+  if (sum < LIMIT) { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+// test f_cos testcase
+testcase f_test_cosVL() runs on Maths_CT
+{
+  log(" ----------- f_cosVL ----------- ");
+  log("COSINUS (Frequency: ", freq, 
+    ", altitude: ", alti, 
+    ", startval: ", startval, 
+    ", step: ", step, 
+    ", return length: ", len, "):");
+
+  fres := f_cosVL(freq, alti, startval, len, step);
+  log("Cosinus values returned: ", fres);
+
+  // check
+  sum := 0.0;
+  for (var integer i := 0; i < len; i := i + 1)
+  {
+    tmpFloat := fres[i] - cos1[i];
+    sum := sum + tmpFloat * tmpFloat;
+  }
+  if (sum < LIMIT) { setverdict(pass); }
+  else { setverdict(fail); }  
+}
+
+// test function pi
+testcase f_test_pi() runs on Maths_CT
+{
+  log(" ----------- f_pi ----------- ");
+
+  log ("PI value: ", pi);
+
+  setverdict(pass);
+}
+
+testcase f_test_sin() runs on Maths_CT
+{
+  log(" ----------- f_sin ----------- ");
+  
+  tmpFloat := f_sin(3.1415926535 / 2.0);
+  log("Sine of PI/2: ", tmpFloat);
+
+  tmpFloat := tmpFloat - 1.0;
+  if (tmpFloat * tmpFloat < LIMIT)  { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+testcase f_test_cos() runs on Maths_CT
+{
+  log(" ----------- f_cos ----------- ");
+  
+  tmpFloat := f_cos(3.1415926535 / 2.0);
+  log("Cosine of PI/2: ", tmpFloat);
+
+  if (tmpFloat * tmpFloat < LIMIT)  { setverdict(pass); }
+  else { setverdict(fail); }
+}
+
+testcase f_test_asin() runs on Maths_CT
+{
+  log(" ----------- f_asin ----------- ");
+  
+  tmpFloat := f_asin(1.0);
+  log("Arc sine of 1.0: ", tmpFloat);
+
+  tmpFloat := tmpFloat - 3.1415926535 / 2.0;
+  if (tmpFloat * tmpFloat < LIMIT )  { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }
+}
+
+testcase f_test_acos() runs on Maths_CT
+{
+  log(" ----------- f_acos ----------- ");
+  
+  tmpFloat := f_acos(0.0);
+  log("Arc cosine of 0.0: ", tmpFloat);
+
+  tmpFloat := tmpFloat - 3.1415926535 / 2.0;
+  if (tmpFloat * tmpFloat < LIMIT)  { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }
+}
+
+testcase f_test_powFF() runs on Maths_CT
+{
+  log(" ----------- f_powFF ----------- ");
+  
+  tmpFloat := f_powFF(2.0, 3.0);
+  log("Raise 2.0 to power 3.0: ", tmpFloat);
+
+  tmpFloat := tmpFloat - 8.0;
+  if ( tmpFloat * tmpFloat < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }
+}
+
+testcase f_test_powII() runs on Maths_CT
+{
+  log(" ----------- f_powII ----------- ");
+  
+  tmpInt := f_powII(2, 3);
+  log("Raise 2 to power 3: ", tmpInt);
+
+  if ( tmpInt == 8) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }
+}
+
+testcase f_test_powIF() runs on Maths_CT
+{
+  log(" ----------- f_powIF ----------- ");
+  
+  tmpFloat := f_powIF(2, 3.0);
+  log("Raise 2 to power 3.0: ", tmpFloat);
+
+  tmpFloat := tmpFloat - 8.0;
+  if ( tmpFloat * tmpFloat < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }
+}
+
+testcase f_test_powFI() runs on Maths_CT
+{
+  log(" ----------- f_powFI ----------- ");
+  
+  tmpFloat := f_powFI(2.0, 3);
+  log("Raise 2.0 to power 3: ", tmpFloat);
+
+  tmpFloat := tmpFloat - 8.0;
+  if ( tmpFloat * tmpFloat < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }  
+}
+
+testcase f_test_powFF_cubicRootOfTwo() runs on Maths_CT
+{
+  log(" ----------- f_powFF (Cubic root) ----------- ");
+  
+  tmpFloat := f_powFF(2.0, 1.0/3.0);
+  log("Raise 2.0 to power 0.3333: ", tmpFloat);
+
+  tmpFloat := tmpFloat - 1.2599215;
+  if ( tmpFloat * tmpFloat < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }  
+}
+
+testcase f_test_sqrF() runs on Maths_CT
+{
+  log(" ----------- f_sqrF ----------- ");
+  
+  tmpFloat := f_sqrF(2.0);
+  log("Square of 2.0: ", tmpFloat);
+
+  tmpFloat := tmpFloat - 4.0;
+  if ( tmpFloat * tmpFloat < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }  
+}
+
+testcase f_test_sqrI() runs on Maths_CT
+{
+  log(" ----------- f_sqrI ----------- ");
+  
+  tmpInt := f_sqrI(2);
+  log("Square of 2: ", tmpInt);
+
+  if ( tmpInt == 4) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }
+}
+
+testcase f_test_sqrtF() runs on Maths_CT
+{
+  log(" ----------- f_sqrtF ----------- ");
+  
+  tmpFloat := f_sqrtF(2.0);
+  log("Square root of 2.0: ", tmpFloat);
+
+  tmpFloat := tmpFloat - 1.4142145;
+  if ( tmpFloat * tmpFloat < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }
+}
+
+testcase f_test_sqrtI() runs on Maths_CT
+{
+  log(" ----------- f_sqrtI ----------- ");
+  
+  tmpFloat := f_sqrtI(2);
+  log("Square root of 2: ", tmpFloat);
+
+  tmpFloat := tmpFloat - 1.4142145;
+  if ( tmpFloat * tmpFloat < LIMIT) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }
+}
+
+testcase f_test_ceil() runs on Maths_CT
+{
+  log(" ----------- f_ceil ----------- ");
+  
+  tmpInt := f_ceil(3.1);
+  log("ceil of 3.1: ", tmpInt);
+
+  if (tmpInt == 4) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }
+}
+
+testcase f_test_floor() runs on Maths_CT
+{
+  log(" ----------- f_floor ----------- ");
+  
+  tmpInt := f_floor(3.1);
+  log("ceil of 3.1: ", tmpInt);
+
+  if ( tmpInt == 3) { 
+    setverdict(pass); 
+  }
+  else { setverdict(fail); }
+}
+
+testcase f_test_poisson() runs on Maths_CT
+{
+  log(" ----------- f_poisson ----------- ");
+
+  var float i;
+  var t_Poisson_Table vl_poissonTable;
+  var boolean vl_success;
+
+  for(i:=1.0; i < 10.0; i := i + 1.0)
+  {
+
+    vl_success:=f_generate_poissonTable(i,vl_poissonTable);
+    log("Poisson table Nr:",i," ,",vl_success);
+    log(vl_poissonTable);
+    
+  }
+  setverdict(pass); 
+}
+
+testcase f_test_next_poisson() runs on Maths_CT
+{
+  log(" ----------- f_next_poisson ----------- ");
+
+  var float i;
+  var integer vl_nextValue;
+  var t_Poisson_Table vl_poissonTable := {false,0.0,{}};
+  var boolean vl_success;
+
+  for(i:= 1.0; i < 10.0; i := i + 1.0)
+  {
+    vl_nextValue := f_getNext_poissonValue(i, vl_poissonTable, vl_success);
+
+    log("Next Poisson value:",vl_nextValue," ,",vl_success);
+    log(vl_poissonTable);    
+  }
+  setverdict(pass); 
+}
+
+
+// execute security tests
+control
+{
+  log(" ################### MATH ################### ");
+
+  // integer
+  execute(f_test_maxIL());
+  execute(f_test_minIL());
+  execute(f_test_averageIL());
+  execute(f_test_updateIL());
+  execute(f_test_stdIL());
+  execute(f_test_stdILL());
+
+  // float
+  execute(f_test_maxFL());
+  execute(f_test_minFL());
+  execute(f_test_averageFL());
+  execute(f_test_updateFL());
+  execute(f_test_stdFL());
+  execute(f_test_stdFLL());
+
+  // sinVL, cosVL
+  execute(f_test_sin());
+  execute(f_test_cos());
+
+  // others
+  execute(f_test_pi());
+  execute(f_test_sin());
+  execute(f_test_cos());
+  execute(f_test_asin());
+  execute(f_test_acos());
+  execute(f_test_powFF());
+  execute(f_test_powII());
+  execute(f_test_powIF()); 
+  execute(f_test_powFI());
+  execute(f_test_powFF_cubicRootOfTwo());
+  execute(f_test_sqrF());
+  execute(f_test_sqrI());
+  execute(f_test_sqrtF());
+  execute(f_test_sqrtI());
+  execute(f_test_ceil());
+  execute(f_test_floor());
+  
+  //poisson
+  execute(f_test_poisson());
+  execute(f_test_next_poisson());      
+}
+
+}
diff --git a/demo/TCCMessageHandling_Example.ttcn b/demo/TCCMessageHandling_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..6aa78dc2778d0c558dad77f7509c2698060806d5
--- /dev/null
+++ b/demo/TCCMessageHandling_Example.ttcn
@@ -0,0 +1,101 @@
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2013                           //
+//                                                                           //
+// The copyright to the computer  program(s) herein  is the property of TCC. //
+// The program(s) may be used and/or copied only with the written permission //
+// of TCC or in accordance with  the terms and conditions  stipulated in the //
+// agreement/contract under which the program(s) have been supplied          //
+//                                                                           //
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCMessageHandling_Example.ttcn
+//  Description:        TCC Useful Functions: Message Handling Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2013-03-28
+//  Contact:            http://ttcn.ericsson.se
+///////////////////////////////////////////////
+module TCCMessageHandling_Example 
+{
+import from TCCMessageHandling_Functions all;
+
+type component Test_CT{}
+
+
+testcase tc_1() runs on Test_CT
+  { 
+    // COMPLETE TLV , SHORT FORM
+    var octetstring vl_oct := '301802010004067075626C6963A00B0201050201010201013000'O     
+    var integer vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int)
+    if(lengthof(vl_oct) == vl_int) {setverdict(pass)} else {setverdict(fail)}
+    
+    // COMPLETE TLV , SHORT FORM , NEXT PDU STARTS (4 bytes)
+    vl_oct := '301802010004067075626C6963A00B020105020101020101300030180201'O     
+    vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int) 
+    if((lengthof(vl_oct)-4) == vl_int) {setverdict(pass)} else {setverdict(fail)}    
+      
+    
+    // INCOMPLETE TLV , SHORT FORM 
+    vl_oct := '301802010004067075626C6963A00B'O     
+    vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int)
+    if( 26 == vl_int) {setverdict(pass)} else {setverdict(fail)}    
+        
+    // COMPLETE TLV , LONG FORM
+    vl_oct := '3082001802010004067075626C6963A00B0201050201010201013000'O     
+    vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int)
+    if( lengthof(vl_oct) == vl_int) {setverdict(pass)} else {setverdict(fail)}      
+    
+    // COMPLETE TLV , LONG FORM , NEXT PDU STARTS (4 bytes) 
+    vl_oct := '3082001802010004067075626C6963A00B020105020101020101300030180201'O     
+    vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int) 
+    if((lengthof(vl_oct)-4) == vl_int) {setverdict(pass)} else {setverdict(fail)}       
+    
+    // INCOMPLETE TLV , LONG FORM 
+    vl_oct := '3082001802010004067075626C6963A00B'O     
+    vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int)
+    if( 28 == vl_int) {setverdict(pass)} else {setverdict(fail)}        
+           
+    // NULL STRING
+    vl_oct := ''O     
+    vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int)
+    if( -1 == vl_int) {setverdict(pass)} else {setverdict(fail)} 
+    
+   // 1 byte STRING
+    vl_oct := '30'O     
+    vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int)
+    if( -1 == vl_int) {setverdict(pass)} else {setverdict(fail)}  
+    
+   // 2 byte STRING (includes length info)
+    vl_oct := '3018'O     
+    vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int)
+    if( 26 == vl_int) {setverdict(pass)} else {setverdict(fail)}  
+                                      
+    // COMPLETE TLV, INDEFINITE LENGTH
+    vl_oct := 'A1808101AA0000'O     
+    vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int) 
+    if(lengthof(vl_oct) == vl_int) {setverdict(pass)} else {setverdict(fail)}              
+    
+    // INCOMPLETE TLV,INDEFINITE LENGTH 
+    vl_oct := 'A1808101AA'O     
+    vl_int := f_TCCMessageHandling_getMessageLength4BER(vl_oct)  
+    log(vl_int) 
+    if( -1 == vl_int) {setverdict(pass)} else {setverdict(fail)}                         
+  }
+control
+{
+  execute(tc_1()) 
+}
+
+
+}
diff --git a/demo/TCCPermutatedParameters_Example.ttcn b/demo/TCCPermutatedParameters_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..67190b737b2c004ed4e0dad25dbbb4d60ad04d63
--- /dev/null
+++ b/demo/TCCPermutatedParameters_Example.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+
+module TCCPermutatedParameters_Example {
+
+import from TCCPermutatedParameters_Definitions all;
+import from TCCPermutatedParameters_Functions all;
+
+type component MAIN_CT {};
+
+testcase tc_001_getPermutatedParams() runs on MAIN_CT {
+  var PP_ParamSet vl_assignmentList := {
+    {
+      types := { "type1" },
+      values := { { prefix := "", rangeMin := 0, rangeMax := 1 } }
+    },
+    {
+      types := { "type2" },
+      values := { { prefix := "", rangeMin := 0, rangeMax := 2 } }
+    },
+    {
+      types := { "type3" },
+      values := { { prefix := "", rangeMin := 0, rangeMax := 3 } }
+    }
+  }
+
+  setverdict(pass);
+  var PP_ParamSet vl_referenceParamSet := {};
+  var integer vl_permutationIdx := 0;
+  for(var integer i := 0; i < (vl_assignmentList[0].values[0].rangeMax - vl_assignmentList[0].values[0].rangeMin + 1); i := i + 1) {
+    for(var integer j := 0; j < (vl_assignmentList[1].values[0].rangeMax - vl_assignmentList[1].values[0].rangeMin + 1); j := j + 1) {
+      for(var integer k := 0; k < (vl_assignmentList[2].values[0].rangeMax - vl_assignmentList[2].values[0].rangeMin + 1); k := k + 1) {
+
+        /*log("permutation #", vl_permutationIdx, ": ",
+          f_PP_getPermutatedParams(
+            vl_permutationIdx,
+            { vl_assignmentList[0].types[0], vl_assignmentList[1].types[0], vl_assignmentList[2].types[0] },
+            vl_assignmentList)
+        );*/
+        vl_referenceParamSet := {
+          { types := { vl_assignmentList[0].types[0] }, values := { { prefix := int2str(i), rangeMin := -1, rangeMax := -1 } } },
+          { types := { vl_assignmentList[1].types[0] }, values := { { prefix := int2str(j), rangeMin := -1, rangeMax := -1 } } },
+          { types := { vl_assignmentList[2].types[0] }, values := { { prefix := int2str(k), rangeMin := -1, rangeMax := -1 } } } 
+        }
+        if(f_PP_getPermutatedParams(
+            vl_permutationIdx,
+            { vl_assignmentList[0].types[0], vl_assignmentList[1].types[0], vl_assignmentList[2].types[0] },
+            vl_assignmentList) != vl_referenceParamSet) {
+          setverdict(fail);
+        }
+        vl_permutationIdx := vl_permutationIdx + 1;
+      }
+    }    
+  }
+}
+
+
+control {
+  execute(tc_001_getPermutatedParams());
+}
+
+}
diff --git a/demo/TCCTemplate_Example.ttcn b/demo/TCCTemplate_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..0c4570caae1f81e5f01b9aebc959eb3eeca95aca
--- /dev/null
+++ b/demo/TCCTemplate_Example.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCTemplate_Example.ttcn
+//  Description:        TCC Useful Functions: Template Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-12-20
+//  Contact:            http://ttcn.ericsson.se
+///////////////////////////////////////////////
+
+module TCCTemplate_Example{
+  
+  import from TCCTemplate_Functions all;
+  
+  function nlist(in charstringList pl_params) return charstring{
+    //    log("params: ",pl_params,"\n");
+    if (sizeof(pl_params)==3 and pl_params[2]=="R"){
+      return int2str(6453);
+    } else { return int2str(9);}
+  }
+  
+  control{
+    
+    var charstring str := "<SOAP-ENV:Envelope
+xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"
+xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\"
+xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
+xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">
+<SOAP-ENV:Header>
+<cai3g:SessionId xmlns:cai3g=\"http://schemas.ericsson.com/cai3g1.0/2004/01/22/\">$(caiSs)</cai3g:SessionId>
+<cai3g:TransactionId xmlns:cai3g=\"http://schemas.ericsson.com/cai3g1.0/2004/01/22/\">1234$(caiSS)$(caiSs)</cai3g:TransactionId>
+<cai3g:SequenceId xmlns:cai3g=\"http://schemas.ericsson.com/cai3g1.0/2004/01/22/\">$(caiSq)</cai3g:SequenceId>
+</SOAP-ENV:Header>
+<SOAP-ENV:Body>
+	alma$(<2..13>[R])korte
+  <Delete xmlns=\"http://schemas.ericsson.com/cai3g1.0/2004/01/22/$(caiSq)\">
+    <MOType>PoCGroupsXDMSUser@http://schemas.ericsson.com/ims/pocgroupsxdms/provisioning/2005/06/01/</MOType>
+  <MOId>
+    <PUBLICID>sip:$(usr00)@$(dom00)</PUBLICID>
+  </MOId>
+  </Delete>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+";
+
+    //    for (var integer i:=0; i<1;i:=i+1){ 
+    //  f_subsfiletemplate({{"$(caiSs)","CAISS",omit},{"$(caiSq)","CAISQ", omit},{"$(<\\w..\\w>[\\w])","", refers(nlist)}},"cai3g_delete_PoCGroupsXDMSUser.body"); 
+    log(f_Template_substitutetemplate({{"$(caiSs)","CAISS",omit},{"$(caiSq)","CAISQ", omit},{"$(<\\w..\\w>[\\w])","", refers(nlist)}}, str));
+												   // } 
+    log(f_Template_subsfiletemplate({{"$(caiSs)","CAISS",omit},{"$(caiSq)","CAISQ", omit},{"$(<\\w..\\w>[\\w])","", refers(nlist)}},"cai3g_delete_PoCGroupsXDMSUser.body"));
+  }
+}
diff --git a/demo/TCCTitanMetadata_Example.ttcn b/demo/TCCTitanMetadata_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..c7265d3468b4b16a860e5b2c39c98c9ac8320890
--- /dev/null
+++ b/demo/TCCTitanMetadata_Example.ttcn
@@ -0,0 +1,47 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCTitanMetadata_Example.ttcn
+//  Description:        TCC Useful Functions: Titan Metadata Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-11-14
+//  Contact:            http://ttcn.ericsson.se
+///////////////////////////////////////////////////////////////////////////////
+
+module TCCTitanMetadata_Example 
+{
+import from TCCTitanMetadata_Functions all;
+
+type component Metadata_CT
+{
+}
+
+//////////////////////////////////////////////////////////////
+// TitanMetadata functions
+//////////////////////////////////////////////////////////////
+
+// test f_time function
+testcase f_test_compilationTime() runs on Metadata_CT
+{
+  log(" ----------- f_compilationTime ----------- ");
+  log("Compilation time: ", f_compilationTime());    
+
+  setverdict(pass);
+}
+
+// test all TitanMetadata functions
+control {
+  log(" ################### TITAN MetaData ################### ");
+  
+  execute(f_test_compilationTime());
+}
+
+}
diff --git a/demo/TCCXPathSupport_Example.ttcn b/demo/TCCXPathSupport_Example.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..d3bd561e852364089ec5a35e6549bcf1e4f009f4
--- /dev/null
+++ b/demo/TCCXPathSupport_Example.ttcn
@@ -0,0 +1,45 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCXPathSupport_Example.ttcn
+//  Description:        TCC Useful Functions: XPath Support Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2008-09-04
+//  Contact:            http://ttcn.ericsson.se
+///////////////////////////////////////////////
+module TCCXPathSupport_Example 
+{
+
+import from TCCXPathSupport_Functions all;
+
+
+control
+{
+
+  var universal charstring doc := "<a><b val='123'><b /><c /><!-- -122.0 --><d /></b><!-- 500.0 --><x
+    target='xyz'>sub text</x></a>";
+  log ("The XML document:");
+  log (doc);
+
+
+  var universal charstring q := "sum(//*/comment())";
+  log ("The XPath query:");
+  log (q);
+
+
+  var universal charstring res := XPathQuery (doc, q);
+  log ("The result of the query:");
+  log (res);
+  
+}
+
+
+}
diff --git a/doc/TCCUsefulFunctions_CNL113472_1551.doc b/doc/TCCUsefulFunctions_CNL113472_1551.doc
new file mode 100644
index 0000000000000000000000000000000000000000..fc5b6cec28e0aea98e77b5bc8643be2da7c409f4
Binary files /dev/null and b/doc/TCCUsefulFunctions_CNL113472_1551.doc differ
diff --git a/doc/TCCUsefulFunctions_CNL113472_PRI.doc b/doc/TCCUsefulFunctions_CNL113472_PRI.doc
new file mode 100644
index 0000000000000000000000000000000000000000..caa94014f9635e48d5d8771da1e0c23760190556
Binary files /dev/null and b/doc/TCCUsefulFunctions_CNL113472_PRI.doc differ
diff --git a/doc/apidoc/Data/ClassHierarchy.nd b/doc/apidoc/Data/ClassHierarchy.nd
new file mode 100755
index 0000000000000000000000000000000000000000..f9db0f77f6a1329029cfb75e8beca966a811175c
Binary files /dev/null and b/doc/apidoc/Data/ClassHierarchy.nd differ
diff --git a/doc/apidoc/Data/ConfigFileInfo.nd b/doc/apidoc/Data/ConfigFileInfo.nd
new file mode 100755
index 0000000000000000000000000000000000000000..d9d635bbf1166aa78ab399e04142cd9977121ffd
Binary files /dev/null and b/doc/apidoc/Data/ConfigFileInfo.nd differ
diff --git a/doc/apidoc/Data/FileInfo.nd b/doc/apidoc/Data/FileInfo.nd
new file mode 100755
index 0000000000000000000000000000000000000000..1ed89a4417ca46342d873f9ef8bd7b748bfd676b
--- /dev/null
+++ b/doc/apidoc/Data/FileInfo.nd
@@ -0,0 +1,41 @@
+1.4
+C++
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCTitanMetadata.cc	1352713393	1	f__compilationTime
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCInterface.cc	1352713390	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCInterface.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCAssertion_Functions.ttcn	1352713388	1	TCCAssertion_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCMaths_Functions.ttcn	1352713391	1	TCCMaths_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCRegexp.cc	1352713392	0	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCRegexp.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCSystem.cc	1352713393	1	f_SYS_getpid
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCFileSystem_Functions.ttcn	1352713390	1	TCCFileSystem_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCTitanMetadata_Functions.ttcn	1352713393	1	TCCTitanMetadata_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCInterface_ip.h	1352713391	0	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCInterface_ip.h
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCXPathSupport_Functions.ttcn	1352713394	1	TCCXPathSupport_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCMaths_GenericTypes.ttcn	1352713391	1	TCCMaths_GenericTypes
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCIPsec.cc	1352716354	0	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCIPsec.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCIPsec_Definitions.ttcn	1352721406	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCIPsec_Definitions.ttcn
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCFileIO_Functions.ttcn	1352713390	1	TCCFileIO_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCTemplate_Functions.ttcn	1352713393	1	TCCTemplate_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCConversion.cc	1352713388	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCConversion.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCMessageHandling.cc	1352713391	0	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCMessageHandling.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCXPathSupport.cc	1352713393	1	XPathQuery
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCIPsec_Functions.ttcn	1352716355	1	TCCIPsec_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCEncoding.cc	1352713389	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCEncoding.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCSecurity.cc	1352713392	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCSecurity.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCEnv.cc	1352713389	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCEnv.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCEncoding_Functions.ttcn	1352713389	1	TCCEncoding_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/zuc.h	1352712527	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/zuc.h
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCEnv_Functions.ttcn	1352713389	1	TCCEnv_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCFileSystem.cc	1352713390	0	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCFileSystem.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCRegexp_Functions.ttcn	1352713392	1	Regexp_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCSecurity_Functions.ttcn	1352713392	1	TCCSecurity_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCSystem_Functions.ttcn	1352713393	1	f_SYS_getpid
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCDateTime.cc	1352713388	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCDateTime.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCMaths.cc	1352713391	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCMaths.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.h	1352712526	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.h
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCFileIO.cc	1352713389	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCFileIO.cc
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCMessageHandling_Functions.ttcn	1352713392	1	TCCMessageHandling_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCAssertion.cc	1352713387	1	f__assert
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCInterface_Functions.ttcn	1352713391	1	TCCInterface_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCConversion_Functions.ttcn	1352713388	1	TCCConversion_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCDateTime_Functions.ttcn	1352713388	1	TCCDateTime_Functions
+/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/digcalc.h	1352712527	1	/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/digcalc.h
diff --git a/doc/apidoc/Data/ImageFileInfo.nd b/doc/apidoc/Data/ImageFileInfo.nd
new file mode 100755
index 0000000000000000000000000000000000000000..e6ccf0d818240c6eeef89cb6cbf9ef801589a9f6
Binary files /dev/null and b/doc/apidoc/Data/ImageFileInfo.nd differ
diff --git a/doc/apidoc/Data/ImageReferenceTable.nd b/doc/apidoc/Data/ImageReferenceTable.nd
new file mode 100755
index 0000000000000000000000000000000000000000..e6ccf0d818240c6eeef89cb6cbf9ef801589a9f6
Binary files /dev/null and b/doc/apidoc/Data/ImageReferenceTable.nd differ
diff --git a/doc/apidoc/Data/IndexInfo.nd b/doc/apidoc/Data/IndexInfo.nd
new file mode 100755
index 0000000000000000000000000000000000000000..5315d8e3197a3d43fe07b282c2918d305ef66136
Binary files /dev/null and b/doc/apidoc/Data/IndexInfo.nd differ
diff --git a/doc/apidoc/Data/PreviousMenuState.nd b/doc/apidoc/Data/PreviousMenuState.nd
new file mode 100755
index 0000000000000000000000000000000000000000..1a1c2e98fc1efc6a139a96dc4253f65b4d9eb73c
Binary files /dev/null and b/doc/apidoc/Data/PreviousMenuState.nd differ
diff --git a/doc/apidoc/Data/PreviousSettings.nd b/doc/apidoc/Data/PreviousSettings.nd
new file mode 100755
index 0000000000000000000000000000000000000000..3f2b18bc1c21f6fcba0e0a0810d008e88451a6da
Binary files /dev/null and b/doc/apidoc/Data/PreviousSettings.nd differ
diff --git a/doc/apidoc/Data/SymbolTable.nd b/doc/apidoc/Data/SymbolTable.nd
new file mode 100755
index 0000000000000000000000000000000000000000..55b841c6cac0d443f97d419a2d430988870bfc2d
Binary files /dev/null and b/doc/apidoc/Data/SymbolTable.nd differ
diff --git a/doc/apidoc/Menu.txt b/doc/apidoc/Menu.txt
new file mode 100755
index 0000000000000000000000000000000000000000..c11aca760cb61ee15e51a8a809b647d6a3ab33b4
--- /dev/null
+++ b/doc/apidoc/Menu.txt
@@ -0,0 +1,165 @@
+Format: 1.4
+
+
+Title: TCCUsefulFunctions
+SubTitle: R12A02
+
+Footer: Copyright 2015 Ericsson AB<br/><a href="http://ttcn.ericsson.se/">http://ttcn.ericsson.se</a>
+
+# You can add a timestamp to your documentation like one of these:
+# Timestamp: Generated on month day, year
+# Timestamp: Updated mm/dd/yyyy
+# Timestamp: Last updated mon day
+#
+#   m     - One or two digit month.  January is "1"
+#   mm    - Always two digit month.  January is "01"
+#   mon   - Short month word.  January is "Jan"
+#   month - Long month word.  January is "January"
+#   d     - One or two digit day.  1 is "1"
+#   dd    - Always two digit day.  1 is "01"
+#   day   - Day with letter extension.  1 is "1st"
+#   yy    - Two digit year.  2006 is "06"
+#   yyyy  - Four digit year.  2006 is "2006"
+#   year  - Four digit year.  2006 is "2006"
+
+
+# --------------------------------------------------------------------------
+# 
+# Cut and paste the lines below to change the order in which your files
+# appear on the menu.  Don't worry about adding or removing files, Natural
+# Docs will take care of that.
+# 
+# You can further organize the menu by grouping the entries.  Add a
+# "Group: [name] {" line to start a group, and add a "}" to end it.
+# 
+# You can add text and web links to the menu by adding "Text: [text]" and
+# "Link: [name] ([URL])" lines, respectively.
+# 
+# The formatting and comments are auto-generated, so don't worry about
+# neatness when editing the file.  Natural Docs will clean it up the next
+# time it is run.  When working with groups, just deal with the braces and
+# forget about the indentation and comments.
+# 
+# --------------------------------------------------------------------------
+
+
+Group: Aka-algorythm  {
+
+   File: aka_algorythm_set.h  (aka_algorythm_set.h)
+   }  # Group: Aka-algorythm
+
+Group: Assertion  {
+
+   File: f__assert  (TCCAssertion.cc)
+   File: TCCAssertion_Functions  (TCCAssertion_Functions.ttcn)
+   }  # Group: Assertion
+
+Group: Conversion  {
+
+   File: TCCConversion.cc  (TCCConversion.cc)
+   File: TCCConversion_Functions  (TCCConversion_Functions.ttcn)
+   }  # Group: Conversion
+
+Group: Date-Time  {
+
+   File: TCCDateTime.cc  (TCCDateTime.cc)
+   File: TCCDateTime_Functions  (TCCDateTime_Functions.ttcn)
+   }  # Group: Date-Time
+
+Group: Digcalc  {
+
+   File: digcalc.h  (digcalc.h)
+   }  # Group: Digcalc
+
+Group: Encoding  {
+
+   File: TCCEncoding.cc  (TCCEncoding.cc)
+   File: TCCEncoding_Functions  (TCCEncoding_Functions.ttcn)
+   }  # Group: Encoding
+
+Group: Env  {
+
+   File: TCCEnv.cc  (TCCEnv.cc)
+   File: TCCEnv_Functions  (TCCEnv_Functions.ttcn)
+   }  # Group: Env
+
+Group: File  {
+
+   File: TCCFileIO.cc  (TCCFileIO.cc)
+   File: TCCFileIO_Functions  (TCCFileIO_Functions.ttcn)
+   File: TCCFileSystem_Functions  (TCCFileSystem_Functions.ttcn)
+   }  # Group: File
+
+Group: IP  {
+
+   File: TCCIPsec_Definitions.ttcn  (TCCIPsec_Definitions.ttcn)
+   File: TCCIPsec_Functions  (TCCIPsec_Functions.ttcn)
+   }  # Group: IP
+
+Group: Interface  {
+
+   File: TCCInterface.cc  (TCCInterface.cc)
+   File: TCCInterface_Functions  (TCCInterface_Functions.ttcn)
+   }  # Group: Interface
+
+Group: Math  {
+
+   File: TCCMaths.cc  (TCCMaths.cc)
+   File: TCCMaths_Functions  (TCCMaths_Functions.ttcn)
+   File: TCCMaths_GenericTypes  (TCCMaths_GenericTypes.ttcn)
+   }  # Group: Math
+
+Group: Message-Handling  {
+
+   File: TCCMessageHandling_Functions  (TCCMessageHandling_Functions.ttcn)
+   }  # Group: Message-Handling
+
+Group: Regexp  {
+
+   File: Regexp_Functions  (TCCRegexp_Functions.ttcn)
+   }  # Group: Regexp
+
+Group: Security  {
+
+   File: TCCSecurity.cc  (TCCSecurity.cc)
+   File: TCCSecurity_Functions  (TCCSecurity_Functions.ttcn)
+   }  # Group: Security
+
+Group: System  {
+
+   File: f_SYS_getpid  (TCCSystem.cc)
+   File: f_SYS_getpid  (TCCSystem_Functions.ttcn)
+   }  # Group: System
+
+Group: Template  {
+
+   File: TCCTemplate_Functions  (TCCTemplate_Functions.ttcn)
+   }  # Group: Template
+
+Group: Titan-Metadata  {
+
+   File: f__compilationTime  (TCCTitanMetadata.cc)
+   File: TCCTitanMetadata_Functions  (TCCTitanMetadata_Functions.ttcn)
+   }  # Group: Titan-Metadata
+
+Group: XPath-Support  {
+
+   File: TCCXPathSupport_Functions  (TCCXPathSupport_Functions.ttcn)
+   File: XPathQuery  (TCCXPathSupport.cc)
+   }  # Group: XPath-Support
+
+Group: Zuc  {
+
+   File: zuc.h  (zuc.h)
+   }  # Group: Zuc
+
+Group: Index  {
+
+   Index: Everything
+   Constant Index: Constants
+   File Index: Files
+   Function Index: Functions
+   Type Index: Types
+   Variable Index: Variables
+   }  # Group: Index
+
diff --git a/doc/apidoc/Menu.txt~ b/doc/apidoc/Menu.txt~
new file mode 100644
index 0000000000000000000000000000000000000000..f53b1c2bd571f1e6f195a2fb56a896190ba3e9ea
--- /dev/null
+++ b/doc/apidoc/Menu.txt~
@@ -0,0 +1,165 @@
+Format: 1.4
+
+
+Title: TCCUsefulFunctions
+SubTitle: R12A02
+
+Footer: Copyright 2012 Test Competence Center<br/><a href="http://ttcn.ericsson.se/">http://ttcn.ericsson.se</a>
+
+# You can add a timestamp to your documentation like one of these:
+# Timestamp: Generated on month day, year
+# Timestamp: Updated mm/dd/yyyy
+# Timestamp: Last updated mon day
+#
+#   m     - One or two digit month.  January is "1"
+#   mm    - Always two digit month.  January is "01"
+#   mon   - Short month word.  January is "Jan"
+#   month - Long month word.  January is "January"
+#   d     - One or two digit day.  1 is "1"
+#   dd    - Always two digit day.  1 is "01"
+#   day   - Day with letter extension.  1 is "1st"
+#   yy    - Two digit year.  2006 is "06"
+#   yyyy  - Four digit year.  2006 is "2006"
+#   year  - Four digit year.  2006 is "2006"
+
+
+# --------------------------------------------------------------------------
+# 
+# Cut and paste the lines below to change the order in which your files
+# appear on the menu.  Don't worry about adding or removing files, Natural
+# Docs will take care of that.
+# 
+# You can further organize the menu by grouping the entries.  Add a
+# "Group: [name] {" line to start a group, and add a "}" to end it.
+# 
+# You can add text and web links to the menu by adding "Text: [text]" and
+# "Link: [name] ([URL])" lines, respectively.
+# 
+# The formatting and comments are auto-generated, so don't worry about
+# neatness when editing the file.  Natural Docs will clean it up the next
+# time it is run.  When working with groups, just deal with the braces and
+# forget about the indentation and comments.
+# 
+# --------------------------------------------------------------------------
+
+
+Group: Aka-algorythm  {
+
+   File: aka_algorythm_set.h  (aka_algorythm_set.h)
+   }  # Group: Aka-algorythm
+
+Group: Assertion  {
+
+   File: f__assert  (TCCAssertion.cc)
+   File: TCCAssertion_Functions  (TCCAssertion_Functions.ttcn)
+   }  # Group: Assertion
+
+Group: Conversion  {
+
+   File: TCCConversion.cc  (TCCConversion.cc)
+   File: TCCConversion_Functions  (TCCConversion_Functions.ttcn)
+   }  # Group: Conversion
+
+Group: Date-Time  {
+
+   File: TCCDateTime.cc  (TCCDateTime.cc)
+   File: TCCDateTime_Functions  (TCCDateTime_Functions.ttcn)
+   }  # Group: Date-Time
+
+Group: Digcalc  {
+
+   File: digcalc.h  (digcalc.h)
+   }  # Group: Digcalc
+
+Group: Encoding  {
+
+   File: TCCEncoding.cc  (TCCEncoding.cc)
+   File: TCCEncoding_Functions  (TCCEncoding_Functions.ttcn)
+   }  # Group: Encoding
+
+Group: Env  {
+
+   File: TCCEnv.cc  (TCCEnv.cc)
+   File: TCCEnv_Functions  (TCCEnv_Functions.ttcn)
+   }  # Group: Env
+
+Group: File  {
+
+   File: TCCFileIO.cc  (TCCFileIO.cc)
+   File: TCCFileIO_Functions  (TCCFileIO_Functions.ttcn)
+   File: TCCFileSystem_Functions  (TCCFileSystem_Functions.ttcn)
+   }  # Group: File
+
+Group: IP  {
+
+   File: TCCIPsec_Definitions.ttcn  (TCCIPsec_Definitions.ttcn)
+   File: TCCIPsec_Functions  (TCCIPsec_Functions.ttcn)
+   }  # Group: IP
+
+Group: Interface  {
+
+   File: TCCInterface.cc  (TCCInterface.cc)
+   File: TCCInterface_Functions  (TCCInterface_Functions.ttcn)
+   }  # Group: Interface
+
+Group: Math  {
+
+   File: TCCMaths.cc  (TCCMaths.cc)
+   File: TCCMaths_Functions  (TCCMaths_Functions.ttcn)
+   File: TCCMaths_GenericTypes  (TCCMaths_GenericTypes.ttcn)
+   }  # Group: Math
+
+Group: Message-Handling  {
+
+   File: TCCMessageHandling_Functions  (TCCMessageHandling_Functions.ttcn)
+   }  # Group: Message-Handling
+
+Group: Regexp  {
+
+   File: Regexp_Functions  (TCCRegexp_Functions.ttcn)
+   }  # Group: Regexp
+
+Group: Security  {
+
+   File: TCCSecurity.cc  (TCCSecurity.cc)
+   File: TCCSecurity_Functions  (TCCSecurity_Functions.ttcn)
+   }  # Group: Security
+
+Group: System  {
+
+   File: f_SYS_getpid  (TCCSystem.cc)
+   File: f_SYS_getpid  (TCCSystem_Functions.ttcn)
+   }  # Group: System
+
+Group: Template  {
+
+   File: TCCTemplate_Functions  (TCCTemplate_Functions.ttcn)
+   }  # Group: Template
+
+Group: Titan-Metadata  {
+
+   File: f__compilationTime  (TCCTitanMetadata.cc)
+   File: TCCTitanMetadata_Functions  (TCCTitanMetadata_Functions.ttcn)
+   }  # Group: Titan-Metadata
+
+Group: XPath-Support  {
+
+   File: TCCXPathSupport_Functions  (TCCXPathSupport_Functions.ttcn)
+   File: XPathQuery  (TCCXPathSupport.cc)
+   }  # Group: XPath-Support
+
+Group: Zuc  {
+
+   File: zuc.h  (zuc.h)
+   }  # Group: Zuc
+
+Group: Index  {
+
+   Index: Everything
+   Constant Index: Constants
+   File Index: Files
+   Function Index: Functions
+   Type Index: Types
+   Variable Index: Variables
+   }  # Group: Index
+
diff --git a/doc/apidoc/html/files/TCCAssertion-cc.html b/doc/apidoc/html/files/TCCAssertion-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..4dfc63de35b475ffd25a8a5d52ca4ce1cebc8dbc
--- /dev/null
+++ b/doc/apidoc/html/files/TCCAssertion-cc.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<title>f__assert - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFunction">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="f__assert"></a>f__assert</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Implement TTCN assertion.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__assertMessage</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - assertion message</td></tr>
+<tr>
+<td class=CDLEntry>pl__predicate</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>boolean</b> - boolean predicate</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>At the point of this function call, the assertion predicate must be true, else assertion fails that results in a dynamic test case error To use assertion optimized build shall be switched on with switch -O2 and NDEBUG shall not be defined</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCAssertion_Functions-ttcn.html b/doc/apidoc/html/files/TCCAssertion_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..e19c4b39206692cae7ca9e2a0e078fc655e13fa7
--- /dev/null
+++ b/doc/apidoc/html/files/TCCAssertion_Functions-ttcn.html
@@ -0,0 +1,121 @@
+<html>
+<head>
+<title>TCCAssertion_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCAssertion_Functions"></a>TCCAssertion_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports assertion handling</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCAssertion_Functions" >TCCAssertion_Functions</a></td>
+<td class=SDescription>This module supports assertion handling</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_assert" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_assert</a></td>
+<td class=SDescription>Implement TTCN assertion.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_assert"></a>f_assert</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_assert(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_assertMessage,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>boolean&nbsp;</td>
+<td class=PParameter nowrap>pl_predicate</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Implement TTCN assertion.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_assertMessage</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - assertion message</td></tr>
+<tr>
+<td class=CDLEntry>pl_predicate</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>boolean</b> - boolean predicate</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>At the point of this function call, the assertion predicate must be true, else assertion fails that results in a dynamic test case error To use assertion optimized build shall be switched on with switch -O2 and NDEBUG shall not be defined</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_assert(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_assertMessage,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>boolean&nbsp;</td>
+<td class=PParameter nowrap>pl_predicate</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Implement TTCN assertion.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCConversion-cc.html b/doc/apidoc/html/files/TCCConversion-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..96efc350ea32b30d70e595c47e2a0c28ac80f9b3
--- /dev/null
+++ b/doc/apidoc/html/files/TCCConversion-cc.html
@@ -0,0 +1,334 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCConversion.cc - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCConversion.cc"></a>TCCConversion.cc</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCConversion.cc" >TCCConversion.cc</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__putInLowercase" >f__putInLowercase</a></td>
+<td class=SDescription>Put charstring to lowercase</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__putInUppercase" >f__putInUppercase</a></td>
+<td class=SDescription>Put charstring to uppercase</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__addOctetstring" >f__addOctetstring</a></td>
+<td class=SDescription>Add two integer values represented in OCTETSTRING</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__subOctetstring" >f__subOctetstring</a></td>
+<td class=SDescription>Substract two integer values represented in OCTETSTRING</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__compOctetstring" >f__compOctetstring</a></td>
+<td class=SDescription>Compare two integer values represented in OCTETSTRING</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_substr_token" >f_substr_token</a></td>
+<td class=SDescription>The function returns a substring from a value. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_strstr" >f_strstr</a></td>
+<td class=SDescription>The f_strstr function locates the first  occurrence  of  the string  s2 in string s1 and returns an index of starting pont of the located string, or  -1 if the string is not found. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_convertIPAddrToBinary" >f_convertIPAddrToBinary</a></td>
+<td class=SDescription>Converts an IPv4 and IPv6 address to its hex representation. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_oct2char_safe" >f_oct2char_safe</a></td>
+<td class=SDescription>Fault tolerant version of the oct2str Titan built-in function.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__putInLowercase"></a>f__putInLowercase</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Put charstring to lowercase</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__string</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - charstring</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>converted value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__putInUppercase"></a>f__putInUppercase</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Put charstring to uppercase</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__string</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - charstring</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>converted value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__addOctetstring"></a>f__addOctetstring</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Add two integer values represented in OCTETSTRING</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>par1</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - first octetstring value</td></tr>
+<tr>
+<td class=CDLEntry>par2</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - second octetstring value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>sum of input</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Negative values are unhandled!</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__subOctetstring"></a>f__subOctetstring</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Substract two integer values represented in OCTETSTRING</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>par1</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - first octetstring value</td></tr>
+<tr>
+<td class=CDLEntry>par2</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - second octetstring value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>difference of input</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Negative values are unhandled!</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__compOctetstring"></a>f__compOctetstring</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Compare two integer values represented in OCTETSTRING</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>par1</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - first octetstring value</td></tr>
+<tr>
+<td class=CDLEntry>par2</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - second octetstring value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>0: par1 = par2 1: par1&gt;par2 2: par1&lt;par2</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Negative values are unhandled!</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_substr_token"></a>f_substr_token</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>The function returns a substring from a value.&nbsp; The starting and the ending points are defined by the begin and end tokens.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>str</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - the value</td></tr>
+<tr>
+<td class=CDLEntry>begin_token</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - begin token</td></tr>
+<tr>
+<td class=CDLEntry>end_token</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - end token</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>charstring.&nbsp; If one of the tokens is not found it returns an empty string</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>If end_token is an empty string the function returns the part of the value after the begin_token.&nbsp; If begin_token is an empty string the function returns the part of the value until the end_token.&nbsp; If both of them empty string the function returns the part whole value</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_strstr"></a>f_strstr</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>The f_strstr function locates the first  occurrence  of  the string  s2 in string s1 and returns an index of starting pont of the located string, or  -1 if the string is not found.&nbsp; If  s2 is an empty, the  func- tion returns 0.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>s1</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - input string</td></tr>
+<tr>
+<td class=CDLEntry>s2</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - string to search</td></tr>
+<tr>
+<td class=CDLEntry>offset</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - start offset.</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>index of starting pont of the located string</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>The offset determines the starting point of the search.&nbsp; Any occurance of the s2 before the offset is ignored.&nbsp; The offset is optional</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_convertIPAddrToBinary"></a>f_convertIPAddrToBinary</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Converts an IPv4 and IPv6 address to its hex representation.&nbsp; IPv6 address is assumed if the input string contains &lsquo;:&rsquo;</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_ip</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - input string</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>hex value of the Ip in an octetstring</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_oct2char_safe"></a>f_oct2char_safe</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Fault tolerant version of the oct2str Titan built-in function.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>s1</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetsttring</b> - input string</td></tr>
+<tr>
+<td class=CDLEntry>s2</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>charstring</b> - output string</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>false on fault, ie. on unbound input or invalid character in input. true on success</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>On fault, the longest chunk that could be decoded is returned.</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCConversion_Functions-ttcn.html b/doc/apidoc/html/files/TCCConversion_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..9fb575c5cba28dab3d6b2433640cb4a34cae1ac7
--- /dev/null
+++ b/doc/apidoc/html/files/TCCConversion_Functions-ttcn.html
@@ -0,0 +1,1155 @@
+<html>
+<head>
+<title>TCCConversion_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCConversion_Functions"></a>TCCConversion_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports string conversions</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCConversion_Functions" >TCCConversion_Functions</a></td>
+<td class=SDescription>This module supports string conversions</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_putInLowercase" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_putInLowercase</a></td>
+<td class=SDescription>Put charstring to lowercase</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_putInUppercase" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_putInUppercase</a></td>
+<td class=SDescription>Put charstring to uppercase</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_unichar2charstr" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_unichar2charstr</a></td>
+<td class=SDescription>Convert universal charstring 2 charstring</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_charstr2unichar" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">f_charstr2unichar</a></td>
+<td class=SDescription>Convert charstring 2 universal charstring</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_replaceFirstOccurenceOfSubstring" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">f_replaceFirstOccurenceOfSubstring</a></td>
+<td class=SDescription>Replace first occurance of parSubStrA with parSubStrB in parInStr</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_replaceEveryOccurenceOfSubstring" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">f_replaceEveryOccurenceOfSubstring</a></td>
+<td class=SDescription>Replace every occurance of parSubStrA with parSubStrB in parInStr</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_replaceFirstOccurenceOfPattern" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">f_replaceFirstOccurenceOfPattern</a></td>
+<td class=SDescription>Replace first occurance of pattern parSubStrA with parSubStrB in parInStr</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_replaceEveryOccurenceOfPattern" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">f_replaceEveryOccurenceOfPattern</a></td>
+<td class=SDescription>Replace every occurance of pattern parSubStrA with parSubStrB in parInStr</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_addOctetstring" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">f_addOctetstring</a></td>
+<td class=SDescription>Add two integer values represented in OCTETSTRING</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_subOctetstring" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">f_subOctetstring</a></td>
+<td class=SDescription>Substract two integer values represented in OCTETSTRING</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_compOctetstring" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">f_compOctetstring</a></td>
+<td class=SDescription>Compare two integer values represented in OCTETSTRING</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_substr_token" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">f_substr_token</a></td>
+<td class=SDescription>The function returns a substring from a value. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_strstr" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">f_strstr</a></td>
+<td class=SDescription>The f_strstr function locates the first  occurrence  of  the string  s2 in string s1 and returns an index of starting pont of the located string, or  -1 if the string is not found. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_OctetIpv4" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">f_OctetIpv4</a></td>
+<td class=SDescription>convertes an IPv4 address given in dotted notation to its hex representation</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_convertIPAddrToBinary" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">f_convertIPAddrToBinary</a></td>
+<td class=SDescription>Converts an IPv4 and IPv6 address to its hex representation. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_oct2char_safe" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">f_oct2char_safe</a></td>
+<td class=SDescription>Fault tolerant version of the oct2str Titan built-in function.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_putInLowercase"></a>f_putInLowercase</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_putInLowercase(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_string</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Put charstring to lowercase</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_string</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - charstring</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>converted value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_putInUppercase"></a>f_putInUppercase</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_putInUppercase(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_string</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Put charstring to uppercase</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_string</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - charstring</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>converted value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_unichar2charstr"></a>f_unichar2charstr</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_unichar2charstr (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>p_unichar</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Convert universal charstring 2 charstring</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_unichar</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - unichar 2 convert</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>converted value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_charstr2unichar"></a>f_charstr2unichar</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_charstr2unichar (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_char</td>
+<td class=PAfterParameters nowrap>) return universal charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Convert charstring 2 universal charstring</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_char</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - char 2 convert</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>universal charstring</td>
+<td class=CDLDescription>converted value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_replaceFirstOccurenceOfSubstring"></a>f_replaceFirstOccurenceOfSubstring</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceFirstOccurenceOfSubstring(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in charstring&nbsp;</td>
+<td class=PType nowrap>parInStr&nbsp;</td>
+<td class=PParameter nowrap width=100%>,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Replace first occurance of parSubStrA with parSubStrB in parInStr</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>parInStr</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - input string</td></tr>
+<tr>
+<td class=CDLEntry>parSubStrA</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - string to replace</td></tr>
+<tr>
+<td class=CDLEntry>parSubStrB</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - string to replace with</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>modified input string</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_replaceEveryOccurenceOfSubstring"></a>f_replaceEveryOccurenceOfSubstring</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceEveryOccurenceOfSubstring(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Replace every occurance of parSubStrA with parSubStrB in parInStr</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>parInStr</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - input string</td></tr>
+<tr>
+<td class=CDLEntry>parSubStrA</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - string to replace</td></tr>
+<tr>
+<td class=CDLEntry>parSubStrB</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - string to replace with</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>modified input string</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_replaceFirstOccurenceOfPattern"></a>f_replaceFirstOccurenceOfPattern</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceFirstOccurenceOfPattern(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Replace first occurance of pattern parSubStrA with parSubStrB in parInStr</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>parInStr</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - input string</td></tr>
+<tr>
+<td class=CDLEntry>parSubStrA</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - pattern to replace</td></tr>
+<tr>
+<td class=CDLEntry>parSubStrB</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - string to replace with</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>modified input string</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_replaceEveryOccurenceOfPattern"></a>f_replaceEveryOccurenceOfPattern</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceEveryOccurenceOfPattern(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Replace every occurance of pattern parSubStrA with parSubStrB in parInStr</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>parInStr</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - input string</td></tr>
+<tr>
+<td class=CDLEntry>parSubStrA</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - string to replace</td></tr>
+<tr>
+<td class=CDLEntry>parSubStrB</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - string to replace with</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>modified input string</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_addOctetstring"></a>f_addOctetstring</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_addOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Add two integer values represented in OCTETSTRING</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>par1</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - first octetstring value</td></tr>
+<tr>
+<td class=CDLEntry>par2</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - second octetstring value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>sum of input</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Negative values are unhandled!</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_subOctetstring"></a>f_subOctetstring</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_subOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Substract two integer values represented in OCTETSTRING</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>par1</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - first octetstring value</td></tr>
+<tr>
+<td class=CDLEntry>par2</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - second octetstring value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>difference of input</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Negative values are unhandled!</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_compOctetstring"></a>f_compOctetstring</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_compOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Compare two integer values represented in OCTETSTRING</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>par1</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - first octetstring value</td></tr>
+<tr>
+<td class=CDLEntry>par2</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - second octetstring value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>0: par1 = par2 1: par1&gt;par2 2: par1&lt;par2</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Negative values are unhandled!</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_substr_token"></a>f_substr_token</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_substr_token(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>str,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>begin_token,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>end_token</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>The function returns a substring from a value.&nbsp; The starting and the ending points are defined by the begin and end tokens.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>str</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - the value</td></tr>
+<tr>
+<td class=CDLEntry>begin_token</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - begin token</td></tr>
+<tr>
+<td class=CDLEntry>end_token</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - end token</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>charstring.&nbsp; If one of the tokens is not found it returns an empty string</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>If end_token is an empty string the function returns the part of the value after the begin_token.&nbsp; If begin_token is an empty string the function returns the part of the value until the end_token.&nbsp; If both of them empty string the function returns the part whole value</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_strstr"></a>f_strstr</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_strstr(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>s1,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>s2,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>offset:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>The f_strstr function locates the first  occurrence  of  the string  s2 in string s1 and returns an index of starting pont of the located string, or  -1 if the string is not found.&nbsp; If  s2 is an empty, the  func- tion returns 0.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>s1</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - input string</td></tr>
+<tr>
+<td class=CDLEntry>s2</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - string to search</td></tr>
+<tr>
+<td class=CDLEntry>offset</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - start offset.</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>index of starting pont of the located string</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>The offset determines the starting point of the search.&nbsp; Any occurance of the s2 before the offset is ignored.&nbsp; The offset is optional</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_OctetIpv4"></a>f_OctetIpv4</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_OctetIpv4(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_ip</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>convertes an IPv4 address given in dotted notation to its hex representation</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_ip</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - input string</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>hex value of the Ip in an octetstring</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>type record of integer IntegerList;</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_convertIPAddrToBinary"></a>f_convertIPAddrToBinary</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_convertIPAddrToBinary(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_ip</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Converts an IPv4 and IPv6 address to its hex representation.&nbsp; IPv6 address is assumed if the input string contains &lsquo;:&rsquo;</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_ip</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - input string</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>hex value of the Ip in an octetstring</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_oct2char_safe"></a>f_oct2char_safe</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_oct2char_safe(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Fault tolerant version of the oct2str Titan built-in function.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>s1</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetsttring</b> - input string</td></tr>
+<tr>
+<td class=CDLEntry>s2</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>charstring</b> - output string</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>false on fault, ie. on unbound input or invalid character in input. true on success</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>On fault, the longest chunk that could be decoded is returned.</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_putInLowercase(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_string</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Put charstring to lowercase</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_putInUppercase(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_string</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Put charstring to uppercase</div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_unichar2charstr (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>p_unichar</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Convert universal charstring 2 charstring</div></div>
+<div class=CToolTip id="tt4">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_charstr2unichar (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_char</td>
+<td class=PAfterParameters nowrap>) return universal charstring</td></tr></table></td></tr></table></blockquote>Convert charstring 2 universal charstring</div></div>
+<div class=CToolTip id="tt5">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceFirstOccurenceOfSubstring(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in charstring&nbsp;</td>
+<td class=PType nowrap>parInStr&nbsp;</td>
+<td class=PParameter nowrap width=100%>,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace first occurance of parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt6">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceEveryOccurenceOfSubstring(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace every occurance of parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt7">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceFirstOccurenceOfPattern(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace first occurance of pattern parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt8">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceEveryOccurenceOfPattern(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace every occurance of pattern parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt9">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_addOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Add two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt10">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_subOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Substract two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt11">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_compOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Compare two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt12">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_substr_token(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>str,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>begin_token,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>end_token</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>The function returns a substring from a value. </div></div>
+<div class=CToolTip id="tt13">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_strstr(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>s1,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>s2,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>offset:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>The f_strstr function locates the first  occurrence  of  the string  s2 in string s1 and returns an index of starting pont of the located string, or  -1 if the string is not found. </div></div>
+<div class=CToolTip id="tt14">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_OctetIpv4(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_ip</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>convertes an IPv4 address given in dotted notation to its hex representation</div></div>
+<div class=CToolTip id="tt15">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_convertIPAddrToBinary(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_ip</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return octetstring</td></tr></table></td></tr></table></blockquote>Converts an IPv4 and IPv6 address to its hex representation. </div></div>
+<div class=CToolTip id="tt16">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_oct2char_safe(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Fault tolerant version of the oct2str Titan built-in function.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCDateTime-cc.html b/doc/apidoc/html/files/TCCDateTime-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..c90fe2f20e90881a46328f56697355376a0dc202
--- /dev/null
+++ b/doc/apidoc/html/files/TCCDateTime-cc.html
@@ -0,0 +1,483 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCDateTime.cc - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCDateTime.cc"></a>TCCDateTime.cc</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCDateTime.cc" >TCCDateTime.cc</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__time" >f__time</a></td>
+<td class=SDescription>Current calendar time of the system in seconds</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__ctime" >f__ctime</a></td>
+<td class=SDescription>Convert a time value in seconds to human readable string. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__ctime__UTC" >f__ctime__UTC</a></td>
+<td class=SDescription>Convert a time value in seconds to human readable string. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__getTimeFormatted" >f__getTimeFormatted</a></td>
+<td class=SDescription>Return the current calendar time in a formatted way</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__time2sec" >f__time2sec</a></td>
+<td class=SDescription>Function to convert a formated time value to seconds. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__time2sec__UTC" >f__time2sec__UTC</a></td>
+<td class=SDescription>Function to convert a formated time value to seconds. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__getCurrentDateWithOffset" >f__getCurrentDateWithOffset</a></td>
+<td class=SDescription>Generate a date from the actual date and time plus the parameter in seconds e.g. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__getCurrentGMTDate" >f__getCurrentGMTDate</a></td>
+<td class=SDescription>Return the current GMT date in format RFC 1123-Date e.g.:Sat, 13 Nov 2010 23:30:02 GMT</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__tic" >f__tic</a></td>
+<td class=SDescription>Return the number of clock ticks used by the application since the program was launched</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__toc" >f__toc</a></td>
+<td class=SDescription>Elapsed seconds since time t (only when f__tic() returns the number of clock ticks elapsed since the program was launched)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__timeDiff" >f__timeDiff</a></td>
+<td class=SDescription>Difference between two time</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__time"></a>f__time</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Current calendar time of the system in seconds</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>time value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__ctime"></a>f__ctime</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Convert a time value in seconds to human readable string.&nbsp; The time represented as local time</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - time value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>converted time value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__ctime__UTC"></a>f__ctime__UTC</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Convert a time value in seconds to human readable string.&nbsp; The time represented as UTC</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - time value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>converted time value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__getTimeFormatted"></a>f__getTimeFormatted</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the current calendar time in a formatted way</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - time value</td></tr>
+<tr>
+<td class=CDLEntry>pl__format</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - format string</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>formatted time in string format</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>
+<b>Specifier / Replaced by / Example</b></p>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>%a</td>
+<td class=CDLDescription>Abbreviated weekday name * - Thu</td></tr>
+<tr>
+<td class=CDLEntry>%A</td>
+<td class=CDLDescription>Full weekday name * - Thursday</td></tr>
+<tr>
+<td class=CDLEntry>%b</td>
+<td class=CDLDescription>Abbreviated month name * - Aug</td></tr>
+<tr>
+<td class=CDLEntry>%B</td>
+<td class=CDLDescription>Full month name * - August</td></tr>
+<tr>
+<td class=CDLEntry>%c</td>
+<td class=CDLDescription>Date and time representation * - Thu Aug 23 14:55:02 2001</td></tr>
+<tr>
+<td class=CDLEntry>%d</td>
+<td class=CDLDescription>Day of the month (01-31) - 23</td></tr>
+<tr>
+<td class=CDLEntry>%H</td>
+<td class=CDLDescription>Hour in 24h format (00-23) - 14</td></tr>
+<tr>
+<td class=CDLEntry>%I</td>
+<td class=CDLDescription>Hour in 12h format (01-12) - 02</td></tr>
+<tr>
+<td class=CDLEntry>%j</td>
+<td class=CDLDescription>Day of the year (001-366) - 235</td></tr>
+<tr>
+<td class=CDLEntry>%m</td>
+<td class=CDLDescription>Month as a decimal number (01-12) - 08</td></tr>
+<tr>
+<td class=CDLEntry>%M</td>
+<td class=CDLDescription>Minute (00-59) - 55</td></tr>
+<tr>
+<td class=CDLEntry>%p</td>
+<td class=CDLDescription>AM or PM designation - PM</td></tr>
+<tr>
+<td class=CDLEntry>%S</td>
+<td class=CDLDescription>Second (00-61) - 02</td></tr>
+<tr>
+<td class=CDLEntry>%U</td>
+<td class=CDLDescription>Week number with the first Sunday as the first day of week one (00-53) - 33</td></tr>
+<tr>
+<td class=CDLEntry>%w</td>
+<td class=CDLDescription>Weekday as a decimal number with Sunday as 0 (0-6) - 4</td></tr>
+<tr>
+<td class=CDLEntry>%W</td>
+<td class=CDLDescription>Week number with the first Monday as the first day of week one (00-53) - 34</td></tr>
+<tr>
+<td class=CDLEntry>%x</td>
+<td class=CDLDescription>Date representation * - 08/23/01</td></tr>
+<tr>
+<td class=CDLEntry>%X</td>
+<td class=CDLDescription>Time representation * - 14:55:02</td></tr>
+<tr>
+<td class=CDLEntry>%y</td>
+<td class=CDLDescription>Year, last two digits (00-99) - 01</td></tr>
+<tr>
+<td class=CDLEntry>%Y</td>
+<td class=CDLDescription>Year - 2001</td></tr>
+<tr>
+<td class=CDLEntry>%Z</td>
+<td class=CDLDescription>Timezone name or abbreviation - CDT</td></tr>
+<tr>
+<td class=CDLEntry>%%</td>
+<td class=CDLDescription>A % sign - %</td></tr></table>
+<ul>
+<li>The specifiers whose description is marked with an asterisk (*) are locale-dependent.</li></ul></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__time2sec"></a>f__time2sec</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Function to convert a formated time value to seconds.&nbsp; The time is expressed as local time.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__year</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - year (e.g.&nbsp; 2007)</td></tr>
+<tr>
+<td class=CDLEntry>pl__mon</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - month (e.g.&nbsp; 3)</td></tr>
+<tr>
+<td class=CDLEntry>pl__day</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 7)</td></tr>
+<tr>
+<td class=CDLEntry>pl__hour</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 12)</td></tr>
+<tr>
+<td class=CDLEntry>pl__min</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 50)</td></tr>
+<tr>
+<td class=CDLEntry>pl__sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 7)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>time in seconds</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>time in seconds since January 1, 1900</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__time2sec__UTC"></a>f__time2sec__UTC</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Function to convert a formated time value to seconds.&nbsp; The time is expressed as UTC.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__year</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - year (e.g.&nbsp; 2007)</td></tr>
+<tr>
+<td class=CDLEntry>pl__mon</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - month (e.g.&nbsp; 3)</td></tr>
+<tr>
+<td class=CDLEntry>pl__day</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 7)</td></tr>
+<tr>
+<td class=CDLEntry>pl__hour</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 12)</td></tr>
+<tr>
+<td class=CDLEntry>pl__min</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 50)</td></tr>
+<tr>
+<td class=CDLEntry>pl__sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 7)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>time in seconds</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>time in seconds since January 1, 1900</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__getCurrentDateWithOffset"></a>f__getCurrentDateWithOffset</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Generate a date from the actual date and time plus the parameter in seconds e.g. getSdate(30) will return a charstring containing the date and time of 30 seconds later</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - offset time value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>formatted time in string format</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__getCurrentGMTDate"></a>f__getCurrentGMTDate</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the current GMT date in format RFC 1123-Date e.g.:Sat, 13 Nov 2010 23:30:02 GMT</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>formatted time in string format</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__tic"></a>f__tic</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the number of clock ticks used by the application since the program was launched</p>
+<p>OR</p>
+<p>Return the amount of CPU time in microseconds since the last call of f__tic</p>
+<p>OR ...</p>
+<p>Warning!&nbsp; This function depends on used library version.&nbsp; Be careful!</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>tics since program start</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__toc"></a>f__toc</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Elapsed seconds since time t (only when f__tic() returns the number of clock ticks elapsed since the program was launched)</p>
+<p>Warning!&nbsp; This function depends on used library version.&nbsp; Be careful!</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>t</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - time value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>elapsed seconds</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>f__tic counts clock tics since program start. f__toc counts seconds since clock() readout in t till current time</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__timeDiff"></a>f__timeDiff</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Difference between two time</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>t_start</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - start time</td></tr>
+<tr>
+<td class=CDLEntry>t_stop</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - stop time</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>t_stop-t_start</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCDateTime_Functions-ttcn.html b/doc/apidoc/html/files/TCCDateTime_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..e50979a459a20632fe56faf759ed8ef27e99e613
--- /dev/null
+++ b/doc/apidoc/html/files/TCCDateTime_Functions-ttcn.html
@@ -0,0 +1,791 @@
+<html>
+<head>
+<title>TCCDateTime_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCDateTime_Functions"></a>TCCDateTime_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports date and time handling</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCDateTime_Functions" >TCCDateTime_Functions</a></td>
+<td class=SDescription>This module supports date and time handling</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_time" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_time</a></td>
+<td class=SDescription>Current calendar time of the system in seconds</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_ctime" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_ctime</a></td>
+<td class=SDescription>Convert a time value in seconds to human readable string The time represented as local time</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_ctime_UTC" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_ctime_UTC</a></td>
+<td class=SDescription>Convert a time value in seconds to human readable string The time represented as UTC</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_getTimeFormatted" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">f_getTimeFormatted</a></td>
+<td class=SDescription>Return the current calendar time in a formatted way</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_time2sec" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">f_time2sec</a></td>
+<td class=SDescription>function to convert a formated time value to seconds The time represented as local time</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_time2sec_UTC" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">f_time2sec_UTC</a></td>
+<td class=SDescription>function to convert a formated time value to seconds The time represented as UTC</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_getCurrentDateWithOffset" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">f_getCurrentDateWithOffset</a></td>
+<td class=SDescription>Generate a date from the actual date and time plus the parameter in seconds e.g. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_getCurrentGMTDate" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">f_getCurrentGMTDate</a></td>
+<td class=SDescription>Return the current GMT date in format RFC 1123-Date ex :Sat, 13 Nov 2010 23:30:02 GMT</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_tic" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">f_tic</a></td>
+<td class=SDescription>Return the number of clock ticks used by the application since the program was launched</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_toc" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">f_toc</a></td>
+<td class=SDescription>Elapsed seconds since time t (only when f_tic() returns the number of clock ticks elapsed since the program was launched)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_timeDiff" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">f_timeDiff</a></td>
+<td class=SDescription>Difference between two time</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_time"></a>f_time</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_time() return integer</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Current calendar time of the system in seconds</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>time value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_ctime"></a>f_ctime</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ctime(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Convert a time value in seconds to human readable string The time represented as local time</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - time value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>converted time value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_ctime_UTC"></a>f_ctime_UTC</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ctime_UTC(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Convert a time value in seconds to human readable string The time represented as UTC</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - time value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>converted time value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_getTimeFormatted"></a>f_getTimeFormatted</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getTimeFormatted(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_format</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the current calendar time in a formatted way</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - time value in seconds</td></tr>
+<tr>
+<td class=CDLEntry>pl_format</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - format string</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>formatted time in string format</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>
+<b>Specifier / Replaced by / Example</b></p>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>%a</td>
+<td class=CDLDescription>Abbreviated weekday name * - Thu</td></tr>
+<tr>
+<td class=CDLEntry>%A</td>
+<td class=CDLDescription>Full weekday name * - Thursday</td></tr>
+<tr>
+<td class=CDLEntry>%b</td>
+<td class=CDLDescription>Abbreviated month name * - Aug</td></tr>
+<tr>
+<td class=CDLEntry>%B</td>
+<td class=CDLDescription>Full month name * - August</td></tr>
+<tr>
+<td class=CDLEntry>%c</td>
+<td class=CDLDescription>Date and time representation * - Thu Aug 23 14:55:02 2001</td></tr>
+<tr>
+<td class=CDLEntry>%d</td>
+<td class=CDLDescription>Day of the month (01-31) - 23</td></tr>
+<tr>
+<td class=CDLEntry>%H</td>
+<td class=CDLDescription>Hour in 24h format (00-23) - 14</td></tr>
+<tr>
+<td class=CDLEntry>%I</td>
+<td class=CDLDescription>Hour in 12h format (01-12) - 02</td></tr>
+<tr>
+<td class=CDLEntry>%j</td>
+<td class=CDLDescription>Day of the year (001-366) - 235</td></tr>
+<tr>
+<td class=CDLEntry>%m</td>
+<td class=CDLDescription>Month as a decimal number (01-12) - 08</td></tr>
+<tr>
+<td class=CDLEntry>%M</td>
+<td class=CDLDescription>Minute (00-59) - 55</td></tr>
+<tr>
+<td class=CDLEntry>%p</td>
+<td class=CDLDescription>AM or PM designation - PM</td></tr>
+<tr>
+<td class=CDLEntry>%S</td>
+<td class=CDLDescription>Second (00-61) - 02</td></tr>
+<tr>
+<td class=CDLEntry>%U</td>
+<td class=CDLDescription>Week number with the first Sunday as the first day of week one (00-53) - 33</td></tr>
+<tr>
+<td class=CDLEntry>%w</td>
+<td class=CDLDescription>Weekday as a decimal number with Sunday as 0 (0-6) - 4</td></tr>
+<tr>
+<td class=CDLEntry>%W</td>
+<td class=CDLDescription>Week number with the first Monday as the first day of week one (00-53) - 34</td></tr>
+<tr>
+<td class=CDLEntry>%x</td>
+<td class=CDLDescription>Date representation * - 08/23/01</td></tr>
+<tr>
+<td class=CDLEntry>%X</td>
+<td class=CDLDescription>Time representation * - 14:55:02</td></tr>
+<tr>
+<td class=CDLEntry>%y</td>
+<td class=CDLDescription>Year, last two digits (00-99) - 01</td></tr>
+<tr>
+<td class=CDLEntry>%Y</td>
+<td class=CDLDescription>Year - 2001</td></tr>
+<tr>
+<td class=CDLEntry>%Z</td>
+<td class=CDLDescription>Timezone name or abbreviation - CDT</td></tr>
+<tr>
+<td class=CDLEntry>%%</td>
+<td class=CDLDescription>A % sign - %</td></tr></table>
+<ul>
+<li>The specifiers whose description is marked with an asterisk (*) are locale-dependent.</li></ul></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_time2sec"></a>f_time2sec</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_time2sec(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_year,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_mon,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_day,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_hour,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_min,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>function to convert a formated time value to seconds The time represented as local time</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_year</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - year (e.g.&nbsp; 2007)</td></tr>
+<tr>
+<td class=CDLEntry>pl_mon</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - month (e.g.&nbsp; 3)</td></tr>
+<tr>
+<td class=CDLEntry>pl_day</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 7)</td></tr>
+<tr>
+<td class=CDLEntry>pl_hour</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 12)</td></tr>
+<tr>
+<td class=CDLEntry>pl_min</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 50)</td></tr>
+<tr>
+<td class=CDLEntry>pl_sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 7)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>time in seconds</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>time in seconds since January 1, 1900</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_time2sec_UTC"></a>f_time2sec_UTC</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_time2sec_UTC(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_year,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_mon,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_day,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_hour,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_min,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>function to convert a formated time value to seconds The time represented as UTC</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_year</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - year (e.g.&nbsp; 2007)</td></tr>
+<tr>
+<td class=CDLEntry>pl_mon</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - month (e.g.&nbsp; 3)</td></tr>
+<tr>
+<td class=CDLEntry>pl_day</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 7)</td></tr>
+<tr>
+<td class=CDLEntry>pl_hour</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 12)</td></tr>
+<tr>
+<td class=CDLEntry>pl_min</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 50)</td></tr>
+<tr>
+<td class=CDLEntry>pl_sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - day (e.g.&nbsp; 7)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>time in seconds</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>time in seconds since January 1, 1900</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_getCurrentDateWithOffset"></a>f_getCurrentDateWithOffset</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getCurrentDateWithOffset(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Generate a date from the actual date and time plus the parameter in seconds e.g. getSdate(30) will return a charstring containing the date and time of 30 seconds later</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_sec</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - offset time value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>formatted time in string format</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_getCurrentGMTDate"></a>f_getCurrentGMTDate</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_getCurrentGMTDate() return charstring</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the current GMT date in format RFC 1123-Date ex :Sat, 13 Nov 2010 23:30:02 GMT</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>formatted time in string format</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_tic"></a>f_tic</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_tic() return integer</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the number of clock ticks used by the application since the program was launched</p>
+<p>OR</p>
+<p>Return the amount of CPU time in microseconds since the last call of f_tic</p>
+<p>OR ...</p>
+<p>Warning!&nbsp; This function depends on used library version.&nbsp; Be careful!</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>tics since program start</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_toc"></a>f_toc</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_toc(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Elapsed seconds since time t (only when f_tic() returns the number of clock ticks elapsed since the program was launched)</p>
+<p>Warning!&nbsp; This function depends on used library version.&nbsp; Be careful!</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>t</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - time value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>elapsed seconds</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>f_tic counts clock tics since program start. f_toc counts seconds since clock() readout in t till current time</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_timeDiff"></a>f_timeDiff</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_timeDiff(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t_stop,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t_start</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Difference between two time</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>t_start</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - start time</td></tr>
+<tr>
+<td class=CDLEntry>t_stop</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - stop time</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>t_stop-t_start</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_time() return integer</td></tr></table></blockquote>Current calendar time of the system in seconds</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ctime(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Convert a time value in seconds to human readable string The time represented as local time</div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ctime_UTC(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Convert a time value in seconds to human readable string The time represented as UTC</div></div>
+<div class=CToolTip id="tt4">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getTimeFormatted(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_format</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Return the current calendar time in a formatted way</div></div>
+<div class=CToolTip id="tt5">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_time2sec(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_year,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_mon,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_day,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_hour,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_min,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>function to convert a formated time value to seconds The time represented as local time</div></div>
+<div class=CToolTip id="tt6">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_time2sec_UTC(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_year,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_mon,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_day,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_hour,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_min,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>function to convert a formated time value to seconds The time represented as UTC</div></div>
+<div class=CToolTip id="tt7">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getCurrentDateWithOffset(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Generate a date from the actual date and time plus the parameter in seconds e.g. </div></div>
+<div class=CToolTip id="tt8">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_getCurrentGMTDate() return charstring</td></tr></table></blockquote>Return the current GMT date in format RFC 1123-Date ex :Sat, 13 Nov 2010 23:30:02 GMT</div></div>
+<div class=CToolTip id="tt9">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_tic() return integer</td></tr></table></blockquote>Return the number of clock ticks used by the application since the program was launched</div></div>
+<div class=CToolTip id="tt10">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_toc(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Elapsed seconds since time t (only when f_tic() returns the number of clock ticks elapsed since the program was launched)</div></div>
+<div class=CToolTip id="tt11">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_timeDiff(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t_stop,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t_start</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Difference between two time</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCEncoding-cc.html b/doc/apidoc/html/files/TCCEncoding-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..da2051eb70f2840cc494322836eded559ba7b1de
--- /dev/null
+++ b/doc/apidoc/html/files/TCCEncoding-cc.html
@@ -0,0 +1,223 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCEncoding.cc - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCEncoding.cc"></a>TCCEncoding.cc</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCEncoding.cc" >TCCEncoding.cc</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#enc__MIME__Base64" >enc__MIME__Base64</a></td>
+<td class=SDescription>Encode message to MIME Base64 format (RFC 2045)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#dec__MIME__Base64" >dec__MIME__Base64</a></td>
+<td class=SDescription>Decode message from MIME Base64 format (RFC 2045)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#enc__LDIF__Base64" >enc__LDIF__Base64</a></td>
+<td class=SDescription>Encode message to LDIF Base64 format (RFC 2849)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#dec__LDIF__Base64" >dec__LDIF__Base64</a></td>
+<td class=SDescription>Decode message from LDIF Base64 format (RFC 2849)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__enc__TBCD" >f__enc__TBCD</a></td>
+<td class=SDescription>Encode charstring to TBCD</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__dec__TBCD" >f__dec__TBCD</a></td>
+<td class=SDescription>Decode octetstring from TBCD encoding</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="enc__MIME__Base64"></a>enc__MIME__Base64</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Encode message to MIME Base64 format (RFC 2045)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p__msg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to encode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>encoded message</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="dec__MIME__Base64"></a>dec__MIME__Base64</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Decode message from MIME Base64 format (RFC 2045)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p__b64</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - message to decode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>decoded message</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="enc__LDIF__Base64"></a>enc__LDIF__Base64</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Encode message to LDIF Base64 format (RFC 2849)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p__msg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to encode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>encoded message</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="dec__LDIF__Base64"></a>dec__LDIF__Base64</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Decode message from LDIF Base64 format (RFC 2849)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p__b64</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - message to decode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>decoded message</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__enc__TBCD"></a>f__enc__TBCD</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Encode charstring to TBCD</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__char</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - message to encode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>TBCD encoding</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__dec__TBCD"></a>f__dec__TBCD</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Decode octetstring from TBCD encoding</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__oct</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to decode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>decoded message</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCEncoding_Functions-ttcn.html b/doc/apidoc/html/files/TCCEncoding_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..71a194b413148b6af93bf1c9789ef0ce202495bd
--- /dev/null
+++ b/doc/apidoc/html/files/TCCEncoding_Functions-ttcn.html
@@ -0,0 +1,473 @@
+<html>
+<head>
+<title>TCCEncoding_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCEncoding_Functions"></a>TCCEncoding_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports message based encoding of certain types</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCEncoding_Functions" >TCCEncoding_Functions</a></td>
+<td class=SDescription>This module supports message based encoding of certain types</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#enc_MIME_Base64" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">enc_MIME_Base64</a></td>
+<td class=SDescription>Encode message to MIME Base64 format (RFC 2045)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#dec_MIME_Base64" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">dec_MIME_Base64</a></td>
+<td class=SDescription>Decode message from MIME Base64 format (RFC 2045)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#enc_LDIF_Base64" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">enc_LDIF_Base64</a></td>
+<td class=SDescription>Encode message to LDIF Base64 format (RFC 2849)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#dec_LDIF_Base64" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">dec_LDIF_Base64</a></td>
+<td class=SDescription>Decode message from LDIF Base64 format (RFC 2849)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_encGSM7bit" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">f_encGSM7bit</a></td>
+<td class=SDescription>GSM 7-bit encoding (GSM 03.38)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_decGSM7bit" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">f_decGSM7bit</a></td>
+<td class=SDescription>GSM 7-bit decoding (GSM 03.38)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_enc_TBCD" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">f_enc_TBCD</a></td>
+<td class=SDescription>Encode charstring to TBCD</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_dec_TBCD" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">f_dec_TBCD</a></td>
+<td class=SDescription>Decode octetstring from TBCD encoding</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="enc_MIME_Base64"></a>enc_MIME_Base64</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function enc_MIME_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>p_msg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Encode message to MIME Base64 format (RFC 2045)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_msg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to encode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>encoded message</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="dec_MIME_Base64"></a>dec_MIME_Base64</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function dec_MIME_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_b64</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Decode message from MIME Base64 format (RFC 2045)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_b64</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - message to decode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>decoded message</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="enc_LDIF_Base64"></a>enc_LDIF_Base64</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function enc_LDIF_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>p_msg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Encode message to LDIF Base64 format (RFC 2849)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_msg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to encode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>encoded message</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="dec_LDIF_Base64"></a>dec_LDIF_Base64</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function dec_LDIF_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_b64</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Decode message from LDIF Base64 format (RFC 2849)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_b64</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - message to decode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>decoded message</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_encGSM7bit"></a>f_encGSM7bit</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_encGSM7bit(</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_str</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>GSM 7-bit encoding (GSM 03.38)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_str</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>universal charstring</b> - USSD string</td></tr></table>
+<h4 class=CHeading>Return value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>*ocetstring*</td>
+<td class=CDLDescription>encoded string</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_decGSM7bit"></a>f_decGSM7bit</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_decGSM7bit(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_gsm7bit</td>
+<td class=PAfterParameters nowrap>) return universal charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>GSM 7-bit decoding (GSM 03.38)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_gsm7bit</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>ocetstring</b> - GSM 7bit encoded string</td></tr></table>
+<h4 class=CHeading>Return value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>*universal charstring*</td>
+<td class=CDLDescription>decoded string</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_enc_TBCD"></a>f_enc_TBCD</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_enc_TBCD(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_char</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Encode charstring to TBCD</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_char</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - message to encode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>TBCD encoding</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_dec_TBCD"></a>f_dec_TBCD</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_dec_TBCD(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_oct</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Decode octetstring from TBCD encoding</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_oct</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to decode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>decoded message</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function enc_MIME_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>p_msg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Encode message to MIME Base64 format (RFC 2045)</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function dec_MIME_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_b64</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Decode message from MIME Base64 format (RFC 2045)</div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function enc_LDIF_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>p_msg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Encode message to LDIF Base64 format (RFC 2849)</div></div>
+<div class=CToolTip id="tt4">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function dec_LDIF_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_b64</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Decode message from LDIF Base64 format (RFC 2849)</div></div>
+<div class=CToolTip id="tt5">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_encGSM7bit(</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_str</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>GSM 7-bit encoding (GSM 03.38)</div></div>
+<div class=CToolTip id="tt6">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_decGSM7bit(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_gsm7bit</td>
+<td class=PAfterParameters nowrap>) return universal charstring</td></tr></table></td></tr></table></blockquote>GSM 7-bit decoding (GSM 03.38)</div></div>
+<div class=CToolTip id="tt7">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_enc_TBCD(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_char</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Encode charstring to TBCD</div></div>
+<div class=CToolTip id="tt8">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_dec_TBCD(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_oct</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Decode octetstring from TBCD encoding</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCEnv-cc.html b/doc/apidoc/html/files/TCCEnv-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..c026f880c868836abffa7f162de215c3de478f47
--- /dev/null
+++ b/doc/apidoc/html/files/TCCEnv-cc.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCEnv.cc - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCEnv.cc"></a>TCCEnv.cc</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCEnv.cc" >TCCEnv.cc</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__GetEnv" >f__GetEnv</a></td>
+<td class=SDescription>Return the environment variable specified via p_env_name</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__PutEnv" >f__PutEnv</a></td>
+<td class=SDescription>Set the environment variable p_env_name to p_env_value.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__GetEnv"></a>f__GetEnv</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the environment variable specified via p_env_name</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p__env__name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the environment variable</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>value of the environment variable</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__PutEnv"></a>f__PutEnv</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Set the environment variable p_env_name to p_env_value.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p__env__name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the environment variable</td></tr>
+<tr>
+<td class=CDLEntry>p__env__value</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - value of the environment variable</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>true if set of environment variable was successful, false else</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCEnv_Functions-ttcn.html b/doc/apidoc/html/files/TCCEnv_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..691d0637ef2b6c9488b89f85e7a09b427fa11126
--- /dev/null
+++ b/doc/apidoc/html/files/TCCEnv_Functions-ttcn.html
@@ -0,0 +1,180 @@
+<html>
+<head>
+<title>TCCEnv_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCEnv_Functions"></a>TCCEnv_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports handling of environment e.g. environment variable operations</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCEnv_Functions" >TCCEnv_Functions</a></td>
+<td class=SDescription>This module supports handling of environment e.g. </td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_GetEnv" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_GetEnv</a></td>
+<td class=SDescription>Return the environment variable specified via p_env_name</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_PutEnv" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_PutEnv</a></td>
+<td class=SDescription>Set the environment variable p_env_name to p_env_value.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_GetEnv"></a>f_GetEnv</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_GetEnv(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_name</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the environment variable specified via p_env_name</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_env_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the environment variable</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>value of the environment variable</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_PutEnv"></a>f_PutEnv</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_PutEnv(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_name,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_value</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Set the environment variable p_env_name to p_env_value.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_env_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the environment variable</td></tr>
+<tr>
+<td class=CDLEntry>p_env_value</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - value of the environment variable</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>true if set of environment variable was successful, false else</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_GetEnv(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_name</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Return the environment variable specified via p_env_name</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_PutEnv(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_name,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_value</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Set the environment variable p_env_name to p_env_value.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCFileIO-cc.html b/doc/apidoc/html/files/TCCFileIO-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..852e1f0fc0650bd4e1f98775e0e214ef72558177
--- /dev/null
+++ b/doc/apidoc/html/files/TCCFileIO-cc.html
@@ -0,0 +1,863 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCFileIO.cc - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCFileIO.cc"></a>TCCFileIO.cc</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCFileIO.cc" >TCCFileIO.cc</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__get__error__string" >f__FIO__get__error__string</a></td>
+<td class=SDescription>Returns the actual error message.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__get__error__code" >f__FIO__get__error__code</a></td>
+<td class=SDescription>Returns the actual error code.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__realize__error" >f__FIO__realize__error</a></td>
+<td class=SDescription>Builds the error message. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__opened" >f__FIO__opened</a></td>
+<td class=SDescription>Checks if the file with the given name is already opened. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__opened" >f__FIO__opened</a></td>
+<td class=SDescription>Checks if there is a file opened with the given file descriptor. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__open" >f__FIO__open</a></td>
+<td class=SDescription>Opens a file with the given name in the given mode. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__open__rdonly" >f__FIO__open__rdonly</a></td>
+<td class=SDescription>A wrapper function for f__FIO__open. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__open__append__wronly" >f__FIO__open__append__wronly</a></td>
+<td class=SDescription>A wrapper function for f__FIO__open. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__open__append__rdwr" >f__FIO__open__append__rdwr</a></td>
+<td class=SDescription>A wrapper function for f__FIO__open. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__open__trunc__wronly" >f__FIO__open__trunc__wronly</a></td>
+<td class=SDescription>A wrapper function for f__FIO__open. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__open__trunc__rdwr" >f__FIO__open__trunc__rdwr</a></td>
+<td class=SDescription>A wrapper function for f__FIO__open. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__close" >f__FIO__close</a></td>
+<td class=SDescription>Closes a file associated with the given file descriptor.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__open__append__wronly__excl" >f__FIO__open__append__wronly__excl</a></td>
+<td class=SDescription>A wrapper function for f__FIO__open. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__open__append__rdwr__excl" >f__FIO__open__append__rdwr__excl</a></td>
+<td class=SDescription>A wrapper function for f__FIO__open. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__open__trunc__wronly__excl" >f__FIO__open__trunc__wronly__excl</a></td>
+<td class=SDescription>A wrapper function for f__FIO__open. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__open__trunc__rdwr__excl" >f__FIO__open__trunc__rdwr__excl</a></td>
+<td class=SDescription>A wrapper function for f__FIO__open. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__seek__home" >f__FIO__seek__home</a></td>
+<td class=SDescription>Moves the file pointer to the beginning of the file.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__seek__end" >f__FIO__seek__end</a></td>
+<td class=SDescription>Moves the file pointer to the end of the file.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__seek__forward" >f__FIO__seek__forward</a></td>
+<td class=SDescription>Moves the file pointer forward with a given number of bytes from the current position.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__seek__backward" >f__FIO__seek__backward</a></td>
+<td class=SDescription>Moves the file pointer backward with a given number of bytes from the current position.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__flush" >f__FIO__flush</a></td>
+<td class=SDescription>Transfers (&ldquo;flushes&rdquo;) all modified in-core data of the file referred to by the file descriptor to the disk device.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__write" >f__FIO__write</a></td>
+<td class=SDescription>Writes the given data to the file associated with the given file descriptor. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__write__text" >f__FIO__write__text</a></td>
+<td class=SDescription>A wrapper function for f__FIO__write. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__write__text__flush" >f__FIO__write__text__flush</a></td>
+<td class=SDescription>A wrapper function for f__FIO__write. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__write__data" >f__FIO__write__data</a></td>
+<td class=SDescription>A wrapper function for f__FIO__write. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__write__data__flush" >f__FIO__write__data__flush</a></td>
+<td class=SDescription>A wrapper function for f__FIO__write. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__read" >f__FIO__read</a></td>
+<td class=SDescription>Reads a given number of bytes to a given buffer from a file associated with the given file descriptor. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__read__text" >f__FIO__read__text</a></td>
+<td class=SDescription>A wrapper function for f__FIO__read. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__read__data" >f__FIO__read__data</a></td>
+<td class=SDescription>A wrapper function for f__FIO__read. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__read__text__until" >f__FIO__read__text__until</a></td>
+<td class=SDescription>It reads textual data until a given pattern is matched.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__read__data__until" >f__FIO__read__data__until</a></td>
+<td class=SDescription>It reads binary data until a given pattern is matched.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__set__filedescriptor__previousline" >f__FIO__set__filedescriptor__previousline</a></td>
+<td class=SDescription>It sets the file descriptor to the begin of the previous line.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__FIO__read__data__TLV" >f__FIO__read__data__TLV</a></td>
+<td class=SDescription>It reads binary data until a full ASN.1 TLV structure is read.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__FIO__chdir" >f__FIO__chdir</a></td>
+<td class=SDescription>It changes the current directory.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_mkdir" >f_FIO_mkdir</a></td>
+<td class=SDescription>Create a new directory</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_rmdir" >f_FIO_rmdir</a></td>
+<td class=SDescription>Removes a directory</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_fileOrDirExists" >f_FIO_fileOrDirExists</a></td>
+<td class=SDescription>Checks the existence of files and directories.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_stat" >f_FIO_stat</a></td>
+<td class=SDescription>Query the permissions of the file or directory.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_chmod" >f_FIO_chmod</a></td>
+<td class=SDescription>Change the permissions of the file or directory.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__get__error__string"></a>f__FIO__get__error__string</h3>
+<div class=CBody>
+<p>Returns the actual error message.</p>
+<h4 class=CHeading>Returns</h4>
+<p>The actual error message as a string.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__get__error__code"></a>f__FIO__get__error__code</h3>
+<div class=CBody>
+<p>Returns the actual error code.</p>
+<h4 class=CHeading>Returns</h4>
+<p>The actual error message as a string.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__realize__error"></a>f__FIO__realize__error</h3>
+<div class=CBody>
+<p>Builds the error message.&nbsp;  (For internal use only.)</p>
+<h4 class=CHeading>Returns</h4>
+<p>Always -1.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__opened"></a>f__FIO__opened</h3>
+<div class=CBody>
+<p>Checks if the file with the given name is already opened.&nbsp;  This function runs in linear time.&nbsp;  (For internal use only.)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>The file descriptor of the file or -1 if the file is not yet opened.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__opened"></a>f__FIO__opened</h3>
+<div class=CBody>
+<p>Checks if there is a file opened with the given file descriptor.&nbsp;  This function runs in logarithmic time.&nbsp;  (For internal use only.)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>The descriptor for the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>The name of the file or an empty string if the file is not yet opened.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__open"></a>f__FIO__open</h3>
+<div class=CBody>
+<p>Opens a file with the given name in the given mode.&nbsp;  It creates the file if it doesn&rsquo;t exist.&nbsp;  (For internal use only.)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr>
+<tr>
+<td class=CDLEntry>FLAGS</td>
+<td class=CDLDescription>The way to open the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>The file descriptor for the file or -1 on error.&nbsp;  The error message is available through the f__FIO__get__error function.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__open__rdonly"></a>f__FIO__open__rdonly</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__open.&nbsp;  It opens the file with the given name for reading only.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__open returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__open__append__wronly"></a>f__FIO__open__append__wronly</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__open.&nbsp;  It opens the file with the given name for writing only.&nbsp;  If the file already exists it is opened in appending mode.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__open returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__open__append__rdwr"></a>f__FIO__open__append__rdwr</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__open.&nbsp;  It opens the file with the given name for reading and writing.&nbsp;  If the file already exists it is opened in appending mode.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__open returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__open__trunc__wronly"></a>f__FIO__open__trunc__wronly</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__open.&nbsp;  It opens the file with the given name for writing only.&nbsp;  If the file was not empty it is truncated.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__open returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__open__trunc__rdwr"></a>f__FIO__open__trunc__rdwr</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__open.&nbsp;  It opens the file with the given name for reading and writing.&nbsp;  If the file was not empty it is truncated.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__open returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__close"></a>f__FIO__close</h3>
+<div class=CBody>
+<p>Closes a file associated with the given file descriptor.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>The file descriptor to close.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function close returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__open__append__wronly__excl"></a>f__FIO__open__append__wronly__excl</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__open.&nbsp;  It opens the file with the given name for writing only in exclusive mode.&nbsp;  If the file already exists it is opened in appending mode.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__open returns or -1 if the file cannot be locked.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__open__append__rdwr__excl"></a>f__FIO__open__append__rdwr__excl</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__open.&nbsp;  It opens the file with the given name for reading and writing in exclusive mode.&nbsp;  If the file already exists it is opened in appending mode.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__open returns or -1 if the file cannot be locked.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__open__trunc__wronly__excl"></a>f__FIO__open__trunc__wronly__excl</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__open.&nbsp;  It opens the file with the given name for writing only in exclusive mode.&nbsp;  If the file was not empty it is truncated.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__open returns or -1 if the file cannot be locked.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__open__trunc__rdwr__excl"></a>f__FIO__open__trunc__rdwr__excl</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__open.&nbsp;  It opens the file with the given name for reading and writing in exclusive mode.&nbsp;  If the file was not empty it is truncated.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__open returns or -1 if the file cannot be locked.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__seek__home"></a>f__FIO__seek__home</h3>
+<div class=CBody>
+<p>Moves the file pointer to the beginning of the file.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function lseek returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__seek__end"></a>f__FIO__seek__end</h3>
+<div class=CBody>
+<p>Moves the file pointer to the end of the file.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function lseek returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__seek__forward"></a>f__FIO__seek__forward</h3>
+<div class=CBody>
+<p>Moves the file pointer forward with a given number of bytes from the current position.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>BYTES</td>
+<td class=CDLDescription>The number of bytes.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function lseek returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__seek__backward"></a>f__FIO__seek__backward</h3>
+<div class=CBody>
+<p>Moves the file pointer backward with a given number of bytes from the current position.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>BYTES</td>
+<td class=CDLDescription>The number of bytes.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function lseek returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__flush"></a>f__FIO__flush</h3>
+<div class=CBody>
+<p>Transfers (&ldquo;flushes&rdquo;) all modified in-core data of the file referred to by the file descriptor to the disk device.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What fsync returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__write"></a>f__FIO__write</h3>
+<div class=CBody>
+<p>Writes the given data to the file associated with the given file descriptor.&nbsp;  It works with textual and binary data.&nbsp;  (For internal use only.)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>DATA</td>
+<td class=CDLDescription>The data to write to the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>The number of bytes written or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__write__text"></a>f__FIO__write__text</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__write.&nbsp;  It writes textual data.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The text to write to the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__write returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__write__text__flush"></a>f__FIO__write__text__flush</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__write.&nbsp;  It writes textual data and calls f__FIO__flush.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The text to write to the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__write returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__write__data"></a>f__FIO__write__data</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__write.&nbsp;  It writes binary data.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>DATA</td>
+<td class=CDLDescription>The data to write to the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__write returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__write__data__flush"></a>f__FIO__write__data__flush</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__write.&nbsp;  It writes binary data and calls f__FIO__flush.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>DATA</td>
+<td class=CDLDescription>The data to write to the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__write returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__read"></a>f__FIO__read</h3>
+<div class=CBody>
+<p>Reads a given number of bytes to a given buffer from a file associated with the given file descriptor.&nbsp;  (For internal use only.)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>DATA</td>
+<td class=CDLDescription>The buffer where the data will be stored.</td></tr>
+<tr>
+<td class=CDLEntry>BYTES</td>
+<td class=CDLDescription>The number of bytes to read.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>The number of bytes read or -1 if the requested number of bytes couldn&rsquo;t be read.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__read__text"></a>f__FIO__read__text</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__read.&nbsp;  It reads textual data.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The buffer for storing the text.</td></tr>
+<tr>
+<td class=CDLEntry>BYTES</td>
+<td class=CDLDescription>The number of bytes to read.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__read returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__read__data"></a>f__FIO__read__data</h3>
+<div class=CBody>
+<p>A wrapper function for f__FIO__read.&nbsp;  It reads binary data.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>DATA</td>
+<td class=CDLDescription>The buffer for storing the data.</td></tr>
+<tr>
+<td class=CDLEntry>BYTES</td>
+<td class=CDLDescription>The number of bytes to read.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What f__FIO__read returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__read__text__until"></a>f__FIO__read__text__until</h3>
+<div class=CBody>
+<p>It reads textual data until a given pattern is matched.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The buffer for storing the text.</td></tr>
+<tr>
+<td class=CDLEntry>SEPARATOR</td>
+<td class=CDLDescription>The separator pattern.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>The number of bytes read from the file, not including the delimiter.&nbsp;  In case of error it returns -1.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__read__data__until"></a>f__FIO__read__data__until</h3>
+<div class=CBody>
+<p>It reads binary data until a given pattern is matched.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The buffer for storing the data.</td></tr>
+<tr>
+<td class=CDLEntry>SEPARATOR</td>
+<td class=CDLDescription>The separator pattern.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>The number of bytes read from the file, not including the delimiter.&nbsp;  In case of error it returns -1.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__set__filedescriptor__previousline"></a>f__FIO__set__filedescriptor__previousline</h3>
+<div class=CBody>
+<p>It sets the file descriptor to the begin of the previous line.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>If there was no problem, then the return value will be 1.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__read__data__TLV"></a>f__FIO__read__data__TLV</h3>
+<div class=CBody>
+<p>It reads binary data until a full ASN.1 TLV structure is read.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The buffer for storing the data.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>The number of bytes read from the file.&nbsp;  In case of error it returns -1.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__FIO__chdir"></a>f__FIO__chdir</h3>
+<div class=CBody>
+<p>It changes the current directory.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the new directory.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Boolean value for successful or unsuccessful directory change</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_mkdir"></a>f_FIO_mkdir</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Create a new directory</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_dir_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the directory to create</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>indicate the successful or unsuccessful directory creation</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>In the case of unsuccessful operation the cause of the error can be queried  by the f_FIO_get_error_code, f_FIO_get_error_string functions</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>The path to the directory must exist, so the existence of the path should be checked, and the missing directories should be created recursively.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_rmdir"></a>f_FIO_rmdir</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Removes a directory</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_dir_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the directory to remove</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>indicate the successful or unsuccessful directory creation</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>In the case of unsuccessful operation the cause of the error can be queried  by the f_FIO_get_error_code, f_FIO_get_error_string functions</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>The directories must be empty, so the child directories should be cleaned and deleted recursively.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_fileOrDirExists"></a>f_FIO_fileOrDirExists</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Checks the existence of files and directories.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file or directory to check</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>indicate the exictense of the file or diectory</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_stat"></a>f_FIO_stat</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Query the permissions of the file or directory.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file or directory to check</td></tr>
+<tr>
+<td class=CDLEntry>p_permissions</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>FIO_permissions</b> - the permissions of the object</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>indicate sucessfull execution</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_chmod"></a>f_FIO_chmod</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Change the permissions of the file or directory.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file or directory to check</td></tr>
+<tr>
+<td class=CDLEntry>p_permissions</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>FIO_permissions</b> - the permissions of the object</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>indicate sucessfull execution</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Change the permissions of the file or directory according to the p_permissions.&nbsp; If the value of the field is:</p>
+<ul>
+<li>true: set the permission</li>
+<li>false: clear the permission</li>
+<li>omit: doesn&rsquo;t change the permission</li></ul></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCFileIO_Functions-ttcn.html b/doc/apidoc/html/files/TCCFileIO_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..a31568992214bb86d167c474b1f9b3a60a7f89f1
--- /dev/null
+++ b/doc/apidoc/html/files/TCCFileIO_Functions-ttcn.html
@@ -0,0 +1,1751 @@
+<html>
+<head>
+<title>TCCFileIO_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCFileIO_Functions"></a>TCCFileIO_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports file I/O handling</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCFileIO_Functions" >TCCFileIO_Functions</a></td>
+<td class=SDescription>This module supports file I/O handling</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_open_rdonly" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_FIO_open_rdonly</a></td>
+<td class=SDescription>A wrapper function for f_FIO_open. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_open_append_wronly" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_FIO_open_append_wronly</a></td>
+<td class=SDescription>A wrapper function for f_FIO_open. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_open_append_rdwr" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_FIO_open_append_rdwr</a></td>
+<td class=SDescription>A wrapper function for f_FIO_open. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_open_trunc_wronly" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">f_FIO_open_trunc_wronly</a></td>
+<td class=SDescription>A wrapper function for f_FIO_open. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_open_trunc_rdwr" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">f_FIO_open_trunc_rdwr</a></td>
+<td class=SDescription>A wrapper function for f_FIO_open. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_open_append_wronly_excl" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">f_FIO_open_append_wronly_excl</a></td>
+<td class=SDescription>A wrapper function for f_FIO_open. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_open_append_rdwr_excl" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">f_FIO_open_append_rdwr_excl</a></td>
+<td class=SDescription>A wrapper function for f_FIO_open. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_open_trunc_wronly_excl" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">f_FIO_open_trunc_wronly_excl</a></td>
+<td class=SDescription>A wrapper function for f_FIO_open. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_open_trunc_rdwr_excl" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">f_FIO_open_trunc_rdwr_excl</a></td>
+<td class=SDescription>A wrapper function for f_FIO_open. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_close" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">f_FIO_close</a></td>
+<td class=SDescription>Closes a file associated with the given file descriptor.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_seek_home" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">f_FIO_seek_home</a></td>
+<td class=SDescription>Moves the file pointer to the beginning of the file.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_seek_end" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">f_FIO_seek_end</a></td>
+<td class=SDescription>Moves the file pointer to the end of the file.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_seek_forward" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">f_FIO_seek_forward</a></td>
+<td class=SDescription>Moves the file pointer forward with a given number of bytes from the current position.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_seek_backward" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">f_FIO_seek_backward</a></td>
+<td class=SDescription>Moves the file pointer backward with a given number of bytes from the current position.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_write_data" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">f_FIO_write_data</a></td>
+<td class=SDescription>A wrapper function for f_FIO_write. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_write_text" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">f_FIO_write_text</a></td>
+<td class=SDescription>A wrapper function for f_FIO_write. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_write_data_flush" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">f_FIO_write_data_flush</a></td>
+<td class=SDescription>A wrapper function for f_FIO_write. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_write_text_flush" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">f_FIO_write_text_flush</a></td>
+<td class=SDescription>A wrapper function for f_FIO_write. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_flush" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">f_FIO_flush</a></td>
+<td class=SDescription>Transfers (&ldquo;flushes&rdquo;) all modified in-core data of the file referred to by the file descriptor to the disk device.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_read_data" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">f_FIO_read_data</a></td>
+<td class=SDescription>A wrapper function for f_FIO_read. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_read_text" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">f_FIO_read_text</a></td>
+<td class=SDescription>A wrapper function for f_FIO_read. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_read_text_until" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">f_FIO_read_text_until</a></td>
+<td class=SDescription>A wrapper function for f_FIO_read_until. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_read_data_until" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">f_FIO_read_data_until</a></td>
+<td class=SDescription>A wrapper function for f_FIO_read_until. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_read_data_TLV" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')">f_FIO_read_data_TLV</a></td>
+<td class=SDescription>A wrapper function for f_FIO_read. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_get_error_string" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')">f_FIO_get_error_string</a></td>
+<td class=SDescription>Returns the actual error message.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_get_error_code" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')">f_FIO_get_error_code</a></td>
+<td class=SDescription>Returns the actual error code.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_set_filedescriptor_previousline" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')">f_FIO_set_filedescriptor_previousline</a></td>
+<td class=SDescription>If there was no problem, then the return value will be 1.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_chdir" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')">f_FIO_chdir</a></td>
+<td class=SDescription>A wrapper function for f_FIO_chdir. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_mkdir" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')">f_FIO_mkdir</a></td>
+<td class=SDescription>Create a new directory</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_rmdir" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')">f_FIO_rmdir</a></td>
+<td class=SDescription>Removes a directory</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_fileOrDirExists" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')">f_FIO_fileOrDirExists</a></td>
+<td class=SDescription>Checks the existence of files and directories.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FIO_stat" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')">f_FIO_stat</a></td>
+<td class=SDescription>Query the permissions of the file or directory.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FIO_chmod" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')">f_FIO_chmod</a></td>
+<td class=SDescription>Change the permissions of the file or directory.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_open_rdonly"></a>f_FIO_open_rdonly</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_rdonly (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_open.&nbsp;  It opens the file with the given name for reading only.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>A valid file descriptor or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_open_append_wronly"></a>f_FIO_open_append_wronly</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_wronly (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_open.&nbsp;  It opens the file with the given name for writing only.&nbsp;  If the file already exists it is opened in appending mode.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>A valid file descriptor or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_open_append_rdwr"></a>f_FIO_open_append_rdwr</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_append_rdwr (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_open.&nbsp;  It opens the file with the given name for reading and writing.&nbsp;  If the file already exists it is opened in appending mode.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>A valid file descriptor or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_open_trunc_wronly"></a>f_FIO_open_trunc_wronly</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_wronly (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_open.&nbsp;  It opens the file with the given name for writing only.&nbsp;  If the file was not empty it is truncated.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>A valid file descriptor or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_open_trunc_rdwr"></a>f_FIO_open_trunc_rdwr</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_trunc_rdwr (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_open.&nbsp;  It opens the file with the given name for reading and writing.&nbsp;  If the file was not empty it is truncated.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>A valid file descriptor or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_open_append_wronly_excl"></a>f_FIO_open_append_wronly_excl</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_wronly_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_open.&nbsp;  It opens the file with the given name for writing only in exclusive mode.&nbsp;  If the file already exists it is opened in appending mode.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>A valid file descriptor or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_open_append_rdwr_excl"></a>f_FIO_open_append_rdwr_excl</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_rdwr_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_open.&nbsp;  It opens the file with the given name for reading and writing in exclusive mode.&nbsp;  If the file already exists it is opened in appending mode.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>A valid file descriptor or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_open_trunc_wronly_excl"></a>f_FIO_open_trunc_wronly_excl</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_wronly_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_open.&nbsp;  It opens the file with the given name for writing only in exclusive mode.&nbsp;  If the file was not empty it is truncated.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>A valid file descriptor or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_open_trunc_rdwr_excl"></a>f_FIO_open_trunc_rdwr_excl</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_rdwr_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_open.&nbsp;  It opens the file with the given name for reading and writing in exclusive mode.&nbsp;  If the file was not empty it is truncated.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>A valid file descriptor or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_close"></a>f_FIO_close</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_close (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>Closes a file associated with the given file descriptor.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>The file descriptor to close.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function close returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_seek_home"></a>f_FIO_seek_home</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_home (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>Moves the file pointer to the beginning of the file.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function lseek returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_seek_end"></a>f_FIO_seek_end</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_end (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>Moves the file pointer to the end of the file.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function lseek returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_seek_forward"></a>f_FIO_seek_forward</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_forward (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>Moves the file pointer forward with a given number of bytes from the current position.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>BYTES</td>
+<td class=CDLDescription>The number of bytes.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function lseek returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_seek_backward"></a>f_FIO_seek_backward</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_backward (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>Moves the file pointer backward with a given number of bytes from the current position.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>BYTES</td>
+<td class=CDLDescription>The number of bytes.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function lseek returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_write_data"></a>f_FIO_write_data</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_data (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_data</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_write.&nbsp;  It writes binary data.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>DATA</td>
+<td class=CDLDescription>The data to write to the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Number of bytes written or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_write_text"></a>f_FIO_write_text</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_text (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_write.&nbsp;  It writes textual data.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The text to write to the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Number of bytes written or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_write_data_flush"></a>f_FIO_write_data_flush</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_write_data_flush (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_write.&nbsp;  It writes binary data and calls f_FIO_flush.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>DATA</td>
+<td class=CDLDescription>The data to write to the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Number of bytes written or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_write_text_flush"></a>f_FIO_write_text_flush</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_text_flush (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_write.&nbsp;  It writes textual data and calls f_FIO_flush.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The text to write to the file.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Number of bytes written or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_flush"></a>f_FIO_flush</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_flush (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>Transfers (&ldquo;flushes&rdquo;) all modified in-core data of the file referred to by the file descriptor to the disk device.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>What the POSIX function fsync returns.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_read_data"></a>f_FIO_read_data</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_read_data (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_data,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_read.&nbsp;  It reads binary data.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>DATA</td>
+<td class=CDLDescription>The buffer for storing the data.</td></tr>
+<tr>
+<td class=CDLEntry>BYTES</td>
+<td class=CDLDescription>The number of bytes to read.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Number of bytes read or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_read_text"></a>f_FIO_read_text</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_read_text (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_read.&nbsp;  It reads textual data.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The buffer for storing the text.</td></tr>
+<tr>
+<td class=CDLEntry>BYTES</td>
+<td class=CDLDescription>The number of bytes to read.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Number of bytes read or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_read_text_until"></a>f_FIO_read_text_until</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_text_until (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_text,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_separator</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_read_until.&nbsp;  It reads textual data.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The buffer for storing the text.</td></tr>
+<tr>
+<td class=CDLEntry>SEPARATOR</td>
+<td class=CDLDescription>The separator pattern.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Number of bytes read or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_read_data_until"></a>f_FIO_read_data_until</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_data_until (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_separator</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_read_until.&nbsp;  It reads binary data.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The buffer for storing the data.</td></tr>
+<tr>
+<td class=CDLEntry>SEPARATOR</td>
+<td class=CDLDescription>The separator pattern.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Number of bytes read or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_read_data_TLV"></a>f_FIO_read_data_TLV</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_data_TLV (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_read.&nbsp;  It reads a full ASN.1 TLV structure in binary data format.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>FD</td>
+<td class=CDLDescription>A file descriptor.</td></tr>
+<tr>
+<td class=CDLEntry>TEXT</td>
+<td class=CDLDescription>The buffer for storing the data.</td></tr>
+<tr>
+<td class=CDLEntry>SEPARATOR</td>
+<td class=CDLDescription>The separator pattern.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Number of bytes read or -1 on error.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_get_error_string"></a>f_FIO_get_error_string</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_FIO_get_error_string () return charstring</td></tr></table></blockquote>
+<p>Returns the actual error message.</p>
+<h4 class=CHeading>Returns</h4>
+<p>The actual error message as a string.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_get_error_code"></a>f_FIO_get_error_code</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_FIO_get_error_code () return integer</td></tr></table></blockquote>
+<p>Returns the actual error code.</p>
+<h4 class=CHeading>Returns</h4>
+<p>The actual error code.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_set_filedescriptor_previousline"></a>f_FIO_set_filedescriptor_previousline</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_set_filedescriptor_previousline (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Returns</h4>
+<p>If there was no problem, then the return value will be 1.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_chdir"></a>f_FIO_chdir</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_chdir (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<p>A wrapper function for f_FIO_chdir.&nbsp;  It changes the current directory.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>NAME</td>
+<td class=CDLDescription>The name of the new directory.</td></tr></table>
+<h4 class=CHeading>Returns</h4>
+<p>Boolean value for successful or unsuccessful directory change</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_mkdir"></a>f_FIO_mkdir</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_mkdir (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_dir_name</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Create a new directory</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_dir_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the directory to create</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>indicate the successful or unsuccessful directory creation</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>In the case of unsuccessful operation the cause of the error can be queried  by the f_FIO_get_error_code, f_FIO_get_error_string functions</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>The path to the directory must exist, so the existence of the path should be checked, and the missing directories should be created recursively.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_rmdir"></a>f_FIO_rmdir</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_rmdir (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_dir_name</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Removes a directory</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_dir_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the directory to remove</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>indicate the successful or unsuccessful directory creation</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>In the case of unsuccessful operation the cause of the error can be queried  by the f_FIO_get_error_code, f_FIO_get_error_string functions</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>The directories must be empty, so the child directories should be cleaned and deleted recursively.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_fileOrDirExists"></a>f_FIO_fileOrDirExists</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_fileOrDirExists (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Checks the existence of files and directories.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file or directory to check</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>indicate the exictense of the file or diectory</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_stat"></a>f_FIO_stat</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_stat (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>FIO_permissions&nbsp;</td>
+<td class=PParameter nowrap>p_permissions</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Query the permissions of the file or directory.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file or directory to check</td></tr>
+<tr>
+<td class=CDLEntry>p_permissions</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>FIO_permissions</b> - the permissions of the object</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>indicate sucessfull execution</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FIO_chmod"></a>f_FIO_chmod</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_chmod (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FIO_permissions&nbsp;</td>
+<td class=PParameter nowrap>p_permissions</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Change the permissions of the file or directory.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file or directory to check</td></tr>
+<tr>
+<td class=CDLEntry>p_permissions</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>FIO_permissions</b> - the permissions of the object</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>boolean</td>
+<td class=CDLDescription>indicate sucessfull execution</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Change the permissions of the file or directory according to the p_permissions.&nbsp; If the value of the field is:</p>
+<ul>
+<li>true: set the permission</li>
+<li>false: clear the permission</li>
+<li>omit: doesn&rsquo;t change the permission</li></ul></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_rdonly (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_wronly (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_append_rdwr (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt4">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_wronly (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt5">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_trunc_rdwr (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt6">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_wronly_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt7">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_rdwr_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt8">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_wronly_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt9">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_rdwr_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt10">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_close (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Closes a file associated with the given file descriptor.</div></div>
+<div class=CToolTip id="tt11">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_home (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer to the beginning of the file.</div></div>
+<div class=CToolTip id="tt12">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_end (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer to the end of the file.</div></div>
+<div class=CToolTip id="tt13">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_forward (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer forward with a given number of bytes from the current position.</div></div>
+<div class=CToolTip id="tt14">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_backward (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer backward with a given number of bytes from the current position.</div></div>
+<div class=CToolTip id="tt15">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_data (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_data</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt16">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_text (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt17">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_write_data_flush (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt18">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_text_flush (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt19">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_flush (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Transfers (&ldquo;flushes&rdquo;) all modified in-core data of the file referred to by the file descriptor to the disk device.</div></div>
+<div class=CToolTip id="tt20">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_read_data (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_data,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read. </div></div>
+<div class=CToolTip id="tt21">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_read_text (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read. </div></div>
+<div class=CToolTip id="tt22">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_text_until (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_text,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_separator</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read_until. </div></div>
+<div class=CToolTip id="tt23">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_data_until (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_separator</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read_until. </div></div>
+<div class=CToolTip id="tt24">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_data_TLV (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read. </div></div>
+<div class=CToolTip id="tt25">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_FIO_get_error_string () return charstring</td></tr></table></blockquote>Returns the actual error message.</div></div>
+<div class=CToolTip id="tt26">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_FIO_get_error_code () return integer</td></tr></table></blockquote>Returns the actual error code.</div></div>
+<div class=CToolTip id="tt27">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_set_filedescriptor_previousline (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>If there was no problem, then the return value will be 1.</div></div>
+<div class=CToolTip id="tt28">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_chdir (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_chdir. </div></div>
+<div class=CToolTip id="tt29">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_mkdir (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_dir_name</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Create a new directory</div></div>
+<div class=CToolTip id="tt30">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_rmdir (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_dir_name</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Removes a directory</div></div>
+<div class=CToolTip id="tt31">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_fileOrDirExists (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Checks the existence of files and directories.</div></div>
+<div class=CToolTip id="tt32">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_stat (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>FIO_permissions&nbsp;</td>
+<td class=PParameter nowrap>p_permissions</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Query the permissions of the file or directory.</div></div>
+<div class=CToolTip id="tt33">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_chmod (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FIO_permissions&nbsp;</td>
+<td class=PParameter nowrap>p_permissions</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Change the permissions of the file or directory.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCFileSystem_Functions-ttcn.html b/doc/apidoc/html/files/TCCFileSystem_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..d5c0220020356d97cc07ff47e3cc57260277f454
--- /dev/null
+++ b/doc/apidoc/html/files/TCCFileSystem_Functions-ttcn.html
@@ -0,0 +1,245 @@
+<html>
+<head>
+<title>TCCFileSystem_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCFileSystem_Functions"></a>TCCFileSystem_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports File System information</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCFileSystem_Functions" >TCCFileSystem_Functions</a></td>
+<td class=SDescription>This module supports File System information</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FS_bsize" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_FS_bsize</a></td>
+<td class=SDescription>Query the file system block size.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FS_blocks" >f_FS_blocks</a></td>
+<td class=SDescription>Query the total number of blocks.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_FS_bfree" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_FS_bfree</a></td>
+<td class=SDescription>Query the total number of free blocks.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_FS_dspacerate" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_FS_dspacerate</a></td>
+<td class=SDescription>Query the free space rate.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FS_bsize"></a>f_FS_bsize</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_bsize (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Query the file system block size.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file or directory to check</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>the file system block size or -1 on error</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FS_blocks"></a>f_FS_blocks</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Query the total number of blocks.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file or directory to check</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>the total number of blocks or -1 on error</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FS_bfree"></a>f_FS_bfree</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_bfree (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Query the total number of free blocks.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file or directory to check</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>the total number of free blocks or -1 on error</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_FS_dspacerate"></a>f_FS_dspacerate</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_dspacerate (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Query the free space rate.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_name</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file or directory to check</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>the free space rate or -1 on error</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_bsize (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Query the file system block size.</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_bfree (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Query the total number of free blocks.</div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_dspacerate (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Query the free space rate.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCIPsec_Definitions-ttcn.html b/doc/apidoc/html/files/TCCIPsec_Definitions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..e71c7db57f111eb2015c519b3e65b291fb5ad17f
--- /dev/null
+++ b/doc/apidoc/html/files/TCCIPsec_Definitions-ttcn.html
@@ -0,0 +1,827 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCIPsec_Definitions.ttcn - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCIPsec_Definitions.ttcn"></a>TCCIPsec_Definitions.ttcn</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCIPsec_Definitions.ttcn" >TCCIPsec_Definitions.ttcn</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Types_and_Constants" >Types and Constants</a></td>
+<td class=SDescription></td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_IPsecResult" >TCCIPsec_IPsecResult</a></td>
+<td class=SDescription>Declares the possible return values of IPsec handling functions</td></tr>
+<tr class="SConstant SIndent1">
+<td class=SEntry>
+<a href="#c_TCCIPsec_anyPort" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">c_TCCIPsec_anyPort</a></td>
+<td class=SDescription>Provides port value representing any port</td></tr>
+<tr class="SConstant SIndent1 SMarked">
+<td class=SEntry>
+<a href="#c_TCCIPsec_prefixAll" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">c_TCCIPsec_prefixAll</a></td>
+<td class=SDescription>Provides port value representing any port</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_Protocol" >TCCIPsec_Protocol</a></td>
+<td class=SDescription>Declares identifiers for the possible security protocols</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_IPsecMode" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">TCCIPsec_IPsecMode</a></td>
+<td class=SDescription>Declares identifiers for the possible security association</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_Extension" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">TCCIPsec_Extension</a></td>
+<td class=SDescription>Defines a union of possible extensions for Security Associations (SAs)</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_ExtensionList" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">TCCIPsec_ExtensionList</a></td>
+<td class=SDescription>Defines a list of extensions for the SA adding function</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_Key" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">TCCIPsec_Key</a></td>
+<td class=SDescription>Defines a union for storing a key for an SA. </td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_EAlgo" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">TCCIPsec_EAlgo</a></td>
+<td class=SDescription>Declares identifiers for the possible encryption algorithms</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_AAlgo" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">TCCIPsec_AAlgo</a></td>
+<td class=SDescription>Declares identifiers for the possible integrity protection algorithms</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_Encr" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">TCCIPsec_Encr</a></td>
+<td class=SDescription>Defines a record for storing the encryption algorithm identifier and key.</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_Auth" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">TCCIPsec_Auth</a></td>
+<td class=SDescription>Defines a record for storing the integrity protection algorithm identifier and key.</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_Auth" >TCCIPsec_Auth</a></td>
+<td class=SDescription>Defines a record for storing the encryption and integrity protection algorithm identifiers and the keys.</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_Algorithm" >TCCIPsec_Algorithm</a></td>
+<td class=SDescription>Defines a union for storing the possible combination of algorithms with its keys. </td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_TranspProto" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">TCCIPsec_TranspProto</a></td>
+<td class=SDescription>Declares identifiers for the possible upper layer protocols</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_TranspProto" >TCCIPsec_TranspProto</a></td>
+<td class=SDescription>Declares identifiers for the possible directions for which a policy is applied.</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_DiscardRule" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">TCCIPsec_DiscardRule</a></td>
+<td class=SDescription>Declares a type to represent the policy rule to discard packets.</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_NoneRule" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">TCCIPsec_NoneRule</a></td>
+<td class=SDescription>Declares a type to represent the policy rule to bypass IPsec.</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_Transport" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">TCCIPsec_Transport</a></td>
+<td class=SDescription>Declares a type to represent the transport IPsec mode - as opposed to tunnel mode</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_Tunnel" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">TCCIPsec_Tunnel</a></td>
+<td class=SDescription>Declares a type to represent the tunnel IPsec mode - as opposed to transport mode</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_Mode" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">TCCIPsec_Mode</a></td>
+<td class=SDescription>Declares an union for storing to IPsec mode</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_DefaultLevel" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">TCCIPsec_DefaultLevel</a></td>
+<td class=SDescription>Declares a type to represent the policy level indicating that system defaults has to be used.</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_UseLevel" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">TCCIPsec_UseLevel</a></td>
+<td class=SDescription>Declares a type to represent the policy level indicating that IPsec should be used if appropriate SA is available. </td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_UseLevel" >TCCIPsec_UseLevel</a></td>
+<td class=SDescription>Declares a type to represent the policy level indicating that IPsec has to be used unconditionally.</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_UseLevel" >TCCIPsec_UseLevel</a></td>
+<td class=SDescription>Declares a type to represent the policy level indicating that IPsec has to be used with the SA or SAs indicated by id.</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_RuleLevel" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">TCCIPsec_RuleLevel</a></td>
+<td class=SDescription>Defines a union for storing rule level.</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_Rule" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">TCCIPsec_Rule</a></td>
+<td class=SDescription>Declares a record for storing an IPsec rule.</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#TCCIPsec_ExtensionList" >TCCIPsec_ExtensionList</a></td>
+<td class=SDescription>Defines a list of IPsec rules</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCIPsec_RuleLevel" >TCCIPsec_RuleLevel</a></td>
+<td class=SDescription>Defines a union for storing a policy rule.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Types_and_Constants"></a>Types and Constants</h3></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_IPsecResult"></a>TCCIPsec_IPsecResult</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares the possible return values of IPsec handling functions</p>
+<h4 class=CHeading>Elements</h4>
+<p>ok: The function finished successfully parameterInvalid: One of the function parameters was invalid The error is indicated either by the library or the kernel. alreadyExisted: Entry already existed while trying to add it notFound: Entry was not found while trying to delete or modify it insufficientPrivilege: The calling process does not have the necessary privilege to use the PF_KEY interface or to handle the databases of IPsec. notImplemented: Not implemented: The library is compiled without IPsec support or with limited support Support for SPD handling is platform dependent socketError: Other type of error during socket operation The logs contain details on the error</p>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CConstant">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="c_TCCIPsec_anyPort"></a>c_TCCIPsec_anyPort</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>const integer c_TCCIPsec_anyPort := 0</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Provides port value representing any port</p>
+<h4 class=CHeading>Value</h4>
+<p>0</p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CConstant">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="c_TCCIPsec_prefixAll"></a>c_TCCIPsec_prefixAll</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>const integer c_TCCIPsec_prefixAll := -1</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Provides port value representing any port</p>
+<h4 class=CHeading>Value</h4>
+<p>0</p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Protocol"></a>TCCIPsec_Protocol</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares identifiers for the possible security protocols</p>
+<h4 class=CHeading>Elements</h4>
+<p>ah: Authentication Header esp: Encapsulated Security Payload</p>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_IPsecMode"></a>TCCIPsec_IPsecMode</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_IPsecMode { anyMode (0), transport (1), tunnel (2) }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares identifiers for the possible security association</p>
+<h4 class=CHeading>Elements</h4>
+<p>anyMode: this is the unspecified, default mode transport: turns on transport mode in security association tunnel: turns on tunneling mode in security association</p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Extension"></a>TCCIPsec_Extension</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Extension { integer policyId, integer hardLifetime, integer softLifetime }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Defines a union of possible extensions for Security Associations (SAs)</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>policyId</td>
+<td class=CDLDescription>
+<b>integer</b>: Identifier to link a Security Association (SA) to Security Policy (SP)</td></tr>
+<tr>
+<td class=CDLEntry>hardLifetime</td>
+<td class=CDLDescription>
+<b>integer</b>: Hard Lifetime in seconds</td></tr>
+<tr>
+<td class=CDLEntry>softLifetime</td>
+<td class=CDLDescription>
+<b>integer</b>: Soft Lifetime in seconds</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_ExtensionList"></a>TCCIPsec_ExtensionList</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of TCCIPsec_Extension TCCIPsec_ExtensionList</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Defines a list of extensions for the SA adding function</p>
+<h4 class=CHeading>Elements</h4>
+<p>record of <b>TCCIPsec_Extension</b></p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Key"></a>TCCIPsec_Key</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Key { hexstring hex, charstring text }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Defines a union for storing a key for an SA.&nbsp; The key is specified inside the <b>TCCIPsec_Algorithm</b> alg parameter of the f_IPsec_SADB_add function.</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>hex</td>
+<td class=CDLDescription>
+<b>hexstring</b>: Key in hexstring format</td></tr>
+<tr>
+<td class=CDLEntry>text</td>
+<td class=CDLDescription>
+<b>charstring</b>: Key in charstring format</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_EAlgo"></a>TCCIPsec_EAlgo</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_EAlgo { EALG_NONE (0), EALG_3DESCBC (3), EALG_NULL(11), EALG_AESCBC (12) }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares identifiers for the possible encryption algorithms</p>
+<h4 class=CHeading>Elements</h4>
+<p>EALG_NONE: The &ldquo;null&rdquo; algorithm EALG_3DESCBC: The &ldquo;3des-cbc&rdquo; algorithm (rfc2451) EALG_NULL: The NULL encryption algorithm (rfc2367) EALG_AESCBC: The &ldquo;aes-cbc&rdquo; algorithm (</p>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_AAlgo"></a>TCCIPsec_AAlgo</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_AAlgo { AALG_NONE (0), AALG_MD5HMAC (2), AALG_SHA1HMAC (3) }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares identifiers for the possible integrity protection algorithms</p>
+<h4 class=CHeading>Elements</h4>
+<p>AALG_NONE: The &ldquo;null&rdquo; algorithm AALG_MD5HMAC: The &ldquo;hmac-md5&rdquo; algorithm (rfc2403) AALG_SHA1HMAC: The &ldquo;hmac-sha1&rdquo; algorithm (rfc2404)</p>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Encr"></a>TCCIPsec_Encr</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Encr { TCCIPsec_EAlgo algo, TCCIPsec_Key key }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Defines a record for storing the encryption algorithm identifier and key.</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>algo</td>
+<td class=CDLDescription>
+<b>TCCIPsec_EAlgo</b>: Identifier of the encryption algorithm</td></tr>
+<tr>
+<td class=CDLEntry>key</td>
+<td class=CDLDescription>
+<b>TCCIPsec_Key</b>: Key for the algorithm</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Auth"></a>TCCIPsec_Auth</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Auth { TCCIPsec_AAlgo algo, TCCIPsec_Key key }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Defines a record for storing the integrity protection algorithm identifier and key.</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>algo</td>
+<td class=CDLDescription>
+<b>TCCIPsec_AAlgo</b>: Identifier of the integrity protection algorithm</td></tr>
+<tr>
+<td class=CDLEntry>key</td>
+<td class=CDLDescription>
+<b>TCCIPsec_Key</b>: Key for the algorithm</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Auth"></a>TCCIPsec_Auth</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Defines a record for storing the encryption and integrity protection algorithm identifiers and the keys.</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>ealgo</td>
+<td class=CDLDescription>
+<b>TCCIPsec_EAlgo</b>: Identifier of the encryption algorithm</td></tr>
+<tr>
+<td class=CDLEntry>ekey</td>
+<td class=CDLDescription>
+<b>TCCIPsec_Key</b>: Key for the encryption algorithm</td></tr>
+<tr>
+<td class=CDLEntry>aalgo</td>
+<td class=CDLDescription>
+<b>TCCIPsec_AAlgo</b>: Identifier of the integrity protection algorithm</td></tr>
+<tr>
+<td class=CDLEntry>akey</td>
+<td class=CDLDescription>
+<b>TCCIPsec_Key</b>: Key for the integrity protection algorithm</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Algorithm"></a>TCCIPsec_Algorithm</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Defines a union for storing the possible combination of algorithms with its keys.&nbsp; It is used as the <b>TCCIPsec_Algorithm</b> alg parameter of the f_IPsec_SADB_add function.</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>encr</td>
+<td class=CDLDescription>
+<b>TCCIPsec_Encr</b>: encryption algorithm data</td></tr>
+<tr>
+<td class=CDLEntry>auth</td>
+<td class=CDLDescription>
+<b>TCCIPsec_Auth</b> integrity protection algorithm data</td></tr>
+<tr>
+<td class=CDLEntry>encrAndAuth</td>
+<td class=CDLDescription>
+<b>TCCIPsec_EncrAndAuth</b> Key in charstring format</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_TranspProto"></a>TCCIPsec_TranspProto</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_TranspProto { anyTranspProto (0), tcpProto (6), udpProto (17) }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares identifiers for the possible upper layer protocols</p>
+<h4 class=CHeading>Elements</h4>
+<p>anyTranspProto: Either TCP or UDP protocol tcpProto: The TCP protocol udpProto: The UDP protocol</p>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_TranspProto"></a>TCCIPsec_TranspProto</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares identifiers for the possible directions for which a policy is applied.</p>
+<h4 class=CHeading>Elements</h4>
+<p>inDir: incoming packets outDir: outgoing packets fwdDir: forwarded packets</p>
+<h4 class=CHeading>Detailed Comments</h4></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_DiscardRule"></a>TCCIPsec_DiscardRule</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_DiscardRule {}</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares a type to represent the policy rule to discard packets.</p>
+<h4 class=CHeading>Elements</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_NoneRule"></a>TCCIPsec_NoneRule</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_NoneRule {}</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares a type to represent the policy rule to bypass IPsec.</p>
+<h4 class=CHeading>Elements</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Transport"></a>TCCIPsec_Transport</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Transport {}</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares a type to represent the transport IPsec mode - as opposed to tunnel mode</p>
+<h4 class=CHeading>Elements</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Tunnel"></a>TCCIPsec_Tunnel</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Tunnel { charstring srcAddr, integer srcPort, charstring dstAddr, integer dstPort }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares a type to represent the tunnel IPsec mode - as opposed to transport mode</p>
+<h4 class=CHeading>Elements</h4>
+<p>srcAddr: source address srcPort: source port dstAddr: destination address dstPort: destination port</p>
+<p>Detailed Comments: Address and port pairs for the tunnel.&nbsp; Used in SPDB rules.</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Mode"></a>TCCIPsec_Mode</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Mode { TCCIPsec_Transport transport, TCCIPsec_Tunnel tunnel }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares an union for storing to IPsec mode</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>transport</td>
+<td class=CDLDescription>
+<b>TCCIPsec_Transport</b>: identifies the transport IPsec mode</td></tr>
+<tr>
+<td class=CDLEntry>tunnel</td>
+<td class=CDLDescription>
+<b>TCCIPsec_Tunnel</b>: identifies the tunnel IPsec mode</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>IPsec supports transport and tunnel mode.</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_DefaultLevel"></a>TCCIPsec_DefaultLevel</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_DefaultLevel {}</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares a type to represent the policy level indicating that system defaults has to be used.</p>
+<h4 class=CHeading>Elements</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_UseLevel"></a>TCCIPsec_UseLevel</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_UseLevel {}</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares a type to represent the policy level indicating that IPsec should be used if appropriate SA is available.&nbsp; If SA is naot available IPsec is bypassed.</p>
+<h4 class=CHeading>Elements</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_UseLevel"></a>TCCIPsec_UseLevel</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares a type to represent the policy level indicating that IPsec has to be used unconditionally.</p>
+<h4 class=CHeading>Elements</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_UseLevel"></a>TCCIPsec_UseLevel</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares a type to represent the policy level indicating that IPsec has to be used with the SA or SAs indicated by id.</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>id</td>
+<td class=CDLDescription>
+<b>integer</b>: link to SAs</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>An SA is linked to an SP when the SA has a policyId extension with the value of the SP&rsquo;s id.</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_RuleLevel"></a>TCCIPsec_RuleLevel</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_RuleLevel { TCCIPsec_DefaultLevel defaultLevel, TCCIPsec_UseLevel use, TCCIPsec_RequireLevel require, TCCIPsec_UniqueLevel unique }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Defines a union for storing rule level.</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>defaultLevel</td>
+<td class=CDLDescription>
+<b>TCCIPsec_DefaultLevel</b>: The level represnting default</td></tr>
+<tr>
+<td class=CDLEntry>use</td>
+<td class=CDLDescription>
+<b>TCCIPsec_UseLevel</b> The use level</td></tr>
+<tr>
+<td class=CDLEntry>require</td>
+<td class=CDLDescription>
+<b>TCCIPsec_RequireLevel</b> The require level</td></tr>
+<tr>
+<td class=CDLEntry>unique</td>
+<td class=CDLDescription>
+<b>TCCIPsec_UniqueLevel</b> The unique level</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_Rule"></a>TCCIPsec_Rule</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Rule { TCCIPsec_Protocol protocol, TCCIPsec_Mode mode, TCCIPsec_RuleLevel level }</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Declares a record for storing an IPsec rule.</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>protocol</td>
+<td class=CDLDescription>
+<b>TCCIPsec_Protocol</b>: The security protocol to use</td></tr>
+<tr>
+<td class=CDLEntry>mode</td>
+<td class=CDLDescription>
+<b>TCCIPsec_Mode</b>: IPsec mode</td></tr>
+<tr>
+<td class=CDLEntry>level</td>
+<td class=CDLDescription>
+<b>TCCIPsec_RuleLevel</b>: rule level</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_ExtensionList"></a>TCCIPsec_ExtensionList</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Defines a list of IPsec rules</p>
+<h4 class=CHeading>Elements</h4>
+<p>record of <b>TCCIPsec_Rule</b></p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCIPsec_RuleLevel"></a>TCCIPsec_RuleLevel</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Defines a union for storing a policy rule.</p>
+<h4 class=CHeading>Elements</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>discard</td>
+<td class=CDLDescription>
+<b>TCCIPsec_DiscardRule</b>: The discard policy rule</td></tr>
+<tr>
+<td class=CDLEntry>noneRule</td>
+<td class=CDLDescription>
+<b>TCCIPsec_NoneRule</b> The none policy rule</td></tr>
+<tr>
+<td class=CDLEntry>require</td>
+<td class=CDLDescription>
+<b>TCCIPsec_RequireLevel</b> The require level</td></tr>
+<tr>
+<td class=CDLEntry>ipSec</td>
+<td class=CDLDescription>
+<b>TCCIPsec_RuleList</b> A list of IPsec policy rules</td></tr></table>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CConstant>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>const integer c_TCCIPsec_anyPort := 0</td></tr></table></blockquote>Provides port value representing any port</div></div>
+<div class=CToolTip id="tt2">
+<div class=CConstant>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>const integer c_TCCIPsec_prefixAll := -1</td></tr></table></blockquote>Provides port value representing any port</div></div>
+<div class=CToolTip id="tt3">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_IPsecMode { anyMode (0), transport (1), tunnel (2) }</td></tr></table></blockquote>Declares identifiers for the possible security association</div></div>
+<div class=CToolTip id="tt4">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Extension { integer policyId, integer hardLifetime, integer softLifetime }</td></tr></table></blockquote>Defines a union of possible extensions for Security Associations (SAs)</div></div>
+<div class=CToolTip id="tt5">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of TCCIPsec_Extension TCCIPsec_ExtensionList</td></tr></table></blockquote>Defines a list of extensions for the SA adding function</div></div>
+<div class=CToolTip id="tt6">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Key { hexstring hex, charstring text }</td></tr></table></blockquote>Defines a union for storing a key for an SA. </div></div>
+<div class=CToolTip id="tt7">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_EAlgo { EALG_NONE (0), EALG_3DESCBC (3), EALG_NULL(11), EALG_AESCBC (12) }</td></tr></table></blockquote>Declares identifiers for the possible encryption algorithms</div></div>
+<div class=CToolTip id="tt8">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_AAlgo { AALG_NONE (0), AALG_MD5HMAC (2), AALG_SHA1HMAC (3) }</td></tr></table></blockquote>Declares identifiers for the possible integrity protection algorithms</div></div>
+<div class=CToolTip id="tt9">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Encr { TCCIPsec_EAlgo algo, TCCIPsec_Key key }</td></tr></table></blockquote>Defines a record for storing the encryption algorithm identifier and key.</div></div>
+<div class=CToolTip id="tt10">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Auth { TCCIPsec_AAlgo algo, TCCIPsec_Key key }</td></tr></table></blockquote>Defines a record for storing the integrity protection algorithm identifier and key.</div></div>
+<div class=CToolTip id="tt11">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_TranspProto { anyTranspProto (0), tcpProto (6), udpProto (17) }</td></tr></table></blockquote>Declares identifiers for the possible upper layer protocols</div></div>
+<div class=CToolTip id="tt12">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_DiscardRule {}</td></tr></table></blockquote>Declares a type to represent the policy rule to discard packets.</div></div>
+<div class=CToolTip id="tt13">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_NoneRule {}</td></tr></table></blockquote>Declares a type to represent the policy rule to bypass IPsec.</div></div>
+<div class=CToolTip id="tt14">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Transport {}</td></tr></table></blockquote>Declares a type to represent the transport IPsec mode - as opposed to tunnel mode</div></div>
+<div class=CToolTip id="tt15">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Tunnel { charstring srcAddr, integer srcPort, charstring dstAddr, integer dstPort }</td></tr></table></blockquote>Declares a type to represent the tunnel IPsec mode - as opposed to transport mode</div></div>
+<div class=CToolTip id="tt16">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Mode { TCCIPsec_Transport transport, TCCIPsec_Tunnel tunnel }</td></tr></table></blockquote>Declares an union for storing to IPsec mode</div></div>
+<div class=CToolTip id="tt17">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_DefaultLevel {}</td></tr></table></blockquote>Declares a type to represent the policy level indicating that system defaults has to be used.</div></div>
+<div class=CToolTip id="tt18">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_UseLevel {}</td></tr></table></blockquote>Declares a type to represent the policy level indicating that IPsec should be used if appropriate SA is available. </div></div>
+<div class=CToolTip id="tt19">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_RuleLevel { TCCIPsec_DefaultLevel defaultLevel, TCCIPsec_UseLevel use, TCCIPsec_RequireLevel require, TCCIPsec_UniqueLevel unique }</td></tr></table></blockquote>Defines a union for storing rule level.</div></div>
+<div class=CToolTip id="tt20">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Rule { TCCIPsec_Protocol protocol, TCCIPsec_Mode mode, TCCIPsec_RuleLevel level }</td></tr></table></blockquote>Declares a record for storing an IPsec rule.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCIPsec_Functions-ttcn.html b/doc/apidoc/html/files/TCCIPsec_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..5abe881353b60ad70e040b643174cd036ed0f6f4
--- /dev/null
+++ b/doc/apidoc/html/files/TCCIPsec_Functions-ttcn.html
@@ -0,0 +1,849 @@
+<html>
+<head>
+<title>TCCIPsec_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCIPsec_Functions"></a>TCCIPsec_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module provides access to the IPsec parameter databases: SADB and SPDB</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCIPsec_Functions" >TCCIPsec_Functions</a></td>
+<td class=SDescription>This module provides access to the IPsec parameter databases: SADB and SPDB</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_IPsec_SADB_add" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_IPsec_SADB_add</a></td>
+<td class=SDescription>Adds a Security Association to the database (SADB)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_IPsec_SADB_delete" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_IPsec_SADB_delete</a></td>
+<td class=SDescription>Deletes a Security Association from the database (SADB)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_IPsec_SADB_flush" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_IPsec_SADB_flush</a></td>
+<td class=SDescription>Deletes all Security Associations from the database (SADB)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_IPsec_SPDB_add" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">f_IPsec_SPDB_add</a></td>
+<td class=SDescription>Adds a Security Policy to the database (SPDB)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_IPsec_SPDB_delete" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">f_IPsec_SPDB_delete</a></td>
+<td class=SDescription>Deletes a Security Policy from the database (SPD)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_IPsec_SPDB_flush" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">f_IPsec_SPDB_flush</a></td>
+<td class=SDescription>Deletes all Security Policies from the database (SPD)</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IPsec_SADB_add"></a>f_IPsec_SADB_add</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SADB_add (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Protocol&nbsp;</td>
+<td class=PParameter nowrap>protocol,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>spi,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_ExtensionList&nbsp;</td>
+<td class=PType nowrap>extensionList&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> {},</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Algorithm&nbsp;</td>
+<td class=PParameter nowrap>alg,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in boolean&nbsp;</td>
+<td class=PType nowrap>setparitybit&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> false,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_IPsecMode&nbsp;</td>
+<td class=PType nowrap>ipSecMode&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyMode</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Adds a Security Association to the database (SADB)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>srcAddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - source IP address</td></tr>
+<tr>
+<td class=CDLEntry>dstAddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - destination IP address</td></tr>
+<tr>
+<td class=CDLEntry>protocol</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCIPsec_Definitions-ttcn.html#TCCIPsec_Protocol" class=LType id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">TCCIPsec_Protocol</a> - security protocol (esp or ah)</td></tr>
+<tr>
+<td class=CDLEntry>spi</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - Security Parameter Index</td></tr>
+<tr>
+<td class=CDLEntry>extensionList</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCIPsec_Definitions-ttcn.html#TCCIPsec_ExtensionList" class=LType id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">TCCIPsec_ExtensionList</a> - list of extensions</td></tr>
+<tr>
+<td class=CDLEntry>alg</td>
+<td class=CDLDescription>
+<b>in</b> - <a href="TCCIPsec_Definitions-ttcn.html#TCCIPsec_Algorithm" class=LType id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">TCCIPsec_Algorithm</a> - encryption and integrity algorithms and keys</td></tr>
+<tr>
+<td class=CDLEntry>setparitybit</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>boolean</b> - paritybit</td></tr>
+<tr>
+<td class=CDLEntry>ipSecMode</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCIPsec_Definitions-ttcn.html#TCCIPsec_IPsecMode" class=LType id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">TCCIPsec_IPsecMode</a> - mode transport, tunnel or anymode</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>TCCIPsec_Result</td>
+<td class=CDLDescription>indicates success (ok) or error</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IPsec_SADB_delete"></a>f_IPsec_SADB_delete</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_IPsec_SADB_delete (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>srcAddress,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>dstAddress,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Protocol&nbsp;</td>
+<td class=PParameter nowrap width=100%>protocol,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>spi</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Deletes a Security Association from the database (SADB)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>srcAddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - source IP address</td></tr>
+<tr>
+<td class=CDLEntry>dstAddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - destination IP address</td></tr>
+<tr>
+<td class=CDLEntry>protocol</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>TCCIPsec_Protocol</b> - security protocol (esp or ah)</td></tr>
+<tr>
+<td class=CDLEntry>spi</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - Security Parameter Index</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>TCCIPsec_Result</td>
+<td class=CDLDescription>indicates success (ok) or error</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IPsec_SADB_flush"></a>f_IPsec_SADB_flush</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_IPsec_SADB_flush () return TCCIPsec_Result</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Deletes all Security Associations from the database (SADB)</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>TCCIPsec_Result</td>
+<td class=CDLDescription>indicates success (ok) or error</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IPsec_SPDB_add"></a>f_IPsec_SPDB_add</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SPDB_add (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto&nbsp;</td>
+<td class=PType nowrap>transpProto&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyTranspProto,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyDirection&nbsp;</td>
+<td class=PParameter nowrap>dir,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyRule&nbsp;</td>
+<td class=PParameter nowrap>rule</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Adds a Security Policy to the database (SPDB)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>srcAddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - source IP address</td></tr>
+<tr>
+<td class=CDLEntry>srcPrefixLen</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - indicates the source address range</td></tr>
+<tr>
+<td class=CDLEntry>srcPort</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - source port</td></tr>
+<tr>
+<td class=CDLEntry>dstAddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - destination IP address</td></tr>
+<tr>
+<td class=CDLEntry>srcPrefixLen</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - indicates the destination address range</td></tr>
+<tr>
+<td class=CDLEntry>srcPort</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - destination port</td></tr>
+<tr>
+<td class=CDLEntry>transpProto</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>TCCIPsec_TranspProto</b> - transport protocol (TCP or UDP)</td></tr>
+<tr>
+<td class=CDLEntry>dir</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>TCCIPsec_PolicyDirection</b> - Direction of data traffic</td></tr>
+<tr>
+<td class=CDLEntry>rule</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>TCCIPsec_PolicyRule</b> - Rule: how to handle the packet</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>TCCIPsec_Result</td>
+<td class=CDLDescription>indicates success (ok) or error</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IPsec_SPDB_delete"></a>f_IPsec_SPDB_delete</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SPDB_delete (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto&nbsp;</td>
+<td class=PType nowrap>transpProto&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyTranspProto,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyDirection&nbsp;</td>
+<td class=PParameter nowrap>dir</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Deletes a Security Policy from the database (SPD)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>srcAddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - source IP address</td></tr>
+<tr>
+<td class=CDLEntry>srcPrefixLen</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - indicates the source address range</td></tr>
+<tr>
+<td class=CDLEntry>srcPort</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - source port</td></tr>
+<tr>
+<td class=CDLEntry>dstAddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - destination IP address</td></tr>
+<tr>
+<td class=CDLEntry>srcPrefixLen</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - indicates the destination address range</td></tr>
+<tr>
+<td class=CDLEntry>srcPort</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - destination port</td></tr>
+<tr>
+<td class=CDLEntry>transpProto</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>TCCIPsec_TranspProto</b> - transport protocol (TCP or UDP)</td></tr>
+<tr>
+<td class=CDLEntry>dir</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>TCCIPsec_PolicyDirection</b> - Direction of data traffic</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>TCCIPsec_Result</td>
+<td class=CDLDescription>indicates success (ok) or error</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IPsec_SPDB_flush"></a>f_IPsec_SPDB_flush</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_IPsec_SPDB_flush () return TCCIPsec_Result</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Deletes all Security Policies from the database (SPD)</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>TCCIPsec_Result</td>
+<td class=CDLDescription>indicates success (ok) or error</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SADB_add (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Protocol&nbsp;</td>
+<td class=PParameter nowrap>protocol,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>spi,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_ExtensionList&nbsp;</td>
+<td class=PType nowrap>extensionList&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> {},</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Algorithm&nbsp;</td>
+<td class=PParameter nowrap>alg,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in boolean&nbsp;</td>
+<td class=PType nowrap>setparitybit&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> false,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_IPsecMode&nbsp;</td>
+<td class=PType nowrap>ipSecMode&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyMode</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Adds a Security Association to the database (SADB)</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_IPsec_SADB_delete (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>srcAddress,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>dstAddress,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Protocol&nbsp;</td>
+<td class=PParameter nowrap width=100%>protocol,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>spi</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Deletes a Security Association from the database (SADB)</div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_IPsec_SADB_flush () return TCCIPsec_Result</td></tr></table></blockquote>Deletes all Security Associations from the database (SADB)</div></div>
+<div class=CToolTip id="tt4">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SPDB_add (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto&nbsp;</td>
+<td class=PType nowrap>transpProto&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyTranspProto,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyDirection&nbsp;</td>
+<td class=PParameter nowrap>dir,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyRule&nbsp;</td>
+<td class=PParameter nowrap>rule</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Adds a Security Policy to the database (SPDB)</div></div>
+<div class=CToolTip id="tt5">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SPDB_delete (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto&nbsp;</td>
+<td class=PType nowrap>transpProto&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyTranspProto,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyDirection&nbsp;</td>
+<td class=PParameter nowrap>dir</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Deletes a Security Policy from the database (SPD)</div></div>
+<div class=CToolTip id="tt6">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_IPsec_SPDB_flush () return TCCIPsec_Result</td></tr></table></blockquote>Deletes all Security Policies from the database (SPD)</div></div>
+<div class=CToolTip id="tt7">
+<div class=CType>Declares identifiers for the possible security protocols</div></div>
+<div class=CToolTip id="tt8">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of TCCIPsec_Extension TCCIPsec_ExtensionList</td></tr></table></blockquote>Defines a list of extensions for the SA adding function</div></div>
+<div class=CToolTip id="tt9">
+<div class=CType>Defines a union for storing the possible combination of algorithms with its keys. </div></div>
+<div class=CToolTip id="tt10">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_IPsecMode { anyMode (0), transport (1), tunnel (2) }</td></tr></table></blockquote>Declares identifiers for the possible security association</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCInterface-cc.html b/doc/apidoc/html/files/TCCInterface-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..68fa718ddf293c8e7d8e17fee079795bf24df7ac
--- /dev/null
+++ b/doc/apidoc/html/files/TCCInterface-cc.html
@@ -0,0 +1,382 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCInterface.cc - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCInterface.cc"></a>TCCInterface.cc</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCInterface.cc" >TCCInterface.cc</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__setIP" >f__setIP</a></td>
+<td class=SDescription>Set IP address, subnet mask and broadcast address in a network inteface If number is set, a range of virtual interfaces are set up with continuous IP address (no subnet mask, broadcast checking)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__deleteIP" >f__deleteIP</a></td>
+<td class=SDescription>Delete IP address from a network inteface</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__getIP" >f__getIP</a></td>
+<td class=SDescription>Get IP address, subnet mask and broadcast address from a network inteface</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__setInterfaceUp" >f__setInterfaceUp</a></td>
+<td class=SDescription>Set up a network interface</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__setInterfaceDown" >f__setInterfaceDown</a></td>
+<td class=SDescription>Set down a network interface</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__getHostName" >f__getHostName</a></td>
+<td class=SDescription>Get name of host</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__getIpAddr" >f__getIpAddr</a></td>
+<td class=SDescription>Get IP address of host</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_setIP_ip" >f_setIP_ip</a></td>
+<td class=SDescription>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_delIP_ip" >f_delIP_ip</a></td>
+<td class=SDescription>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_getIpAddresses" >f_getIpAddresses</a></td>
+<td class=SDescription>Get both IPv4 and IPv6 addresses of the given host</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__setIP"></a>f__setIP</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Set IP address, subnet mask and broadcast address in a network inteface If number is set, a range of virtual interfaces are set up with continuous IP address (no subnet mask, broadcast checking)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>ipaddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - starting IP address</td></tr>
+<tr>
+<td class=CDLEntry>subnetmask</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - subnetmask</td></tr>
+<tr>
+<td class=CDLEntry>broadcast</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - broadcast</td></tr>
+<tr>
+<td class=CDLEntry>number</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - number of interfaces to set up</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__deleteIP"></a>f__deleteIP</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Delete IP address from a network inteface</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__getIP"></a>f__getIP</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Get IP address, subnet mask and broadcast address from a network inteface</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>ip</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>charstring</b> - IP address</td></tr>
+<tr>
+<td class=CDLEntry>netmask</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>charstring</b> - netmask</td></tr>
+<tr>
+<td class=CDLEntry>broadcast</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>charstring</b> - broadcast</td></tr>
+<tr>
+<td class=CDLEntry>addressType</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCInterface_Functions-ttcn.html#TCCInterface_IPAddressType" class=LType id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">TCCInterface_IPAddressType</a> - type of IP addresses (default is IPv4)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__setInterfaceUp"></a>f__setInterfaceUp</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Set up a network interface</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>addressType</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCInterface_Functions-ttcn.html#TCCInterface_IPAddressType" class=LType id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">TCCInterface_IPAddressType</a> - type of IP addresses (default is IPv4)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__setInterfaceDown"></a>f__setInterfaceDown</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Set down a network interface</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>addressType</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCInterface_Functions-ttcn.html#TCCInterface_IPAddressType" class=LType id=link3 onMouseOver="ShowTip(event, 'tt1', 'link3')" onMouseOut="HideTip('tt1')">TCCInterface_IPAddressType</a> - type of IP addresses (default is IPv4)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__getHostName"></a>f__getHostName</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Get name of host</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>name of the host</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__getIpAddr"></a>f__getIpAddr</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Get IP address of host</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>hostname</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the host</td></tr>
+<tr>
+<td class=CDLEntry>addressType</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCInterface_Functions-ttcn.html#TCCInterface_IPAddressType" class=LType id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">TCCInterface_IPAddressType</a> - type of IP addresses (default is IPv4)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>IP address of the host</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_setIP_ip"></a>f_setIP_ip</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>ipaddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - starting IP address</td></tr>
+<tr>
+<td class=CDLEntry>prefix</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - subnetmask of the ipaddress</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>True on success, false in other cases.</p>
+<h4 class=CHeading>Errors</h4>
+<p>Many possibilities, all generates a TTCN_warning</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_delIP_ip"></a>f_delIP_ip</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>ipaddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - starting IP address</td></tr>
+<tr>
+<td class=CDLEntry>prefix</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - subnetmask of the ipaddress</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>True on success, false in other cases.</p>
+<h4 class=CHeading>Errors</h4>
+<p>Many possibilities, all generates a TTCN_warning</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_getIpAddresses"></a>f_getIpAddresses</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Get both IPv4 and IPv6 addresses of the given host</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>hostname</td>
+<td class=CDLDescription>
+<b>charstring</b> - the hostname</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>Initialized IPAddress structure</p>
+<h4 class=CHeading>Errors</h4>
+<p>Many possibilities, all generates a TTCN_warning</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CType>An enum type for setting the type of IP addresses. </div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCInterface_Functions-ttcn.html b/doc/apidoc/html/files/TCCInterface_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..99da293a05ea8603a687a7ece25a84154b799dad
--- /dev/null
+++ b/doc/apidoc/html/files/TCCInterface_Functions-ttcn.html
@@ -0,0 +1,911 @@
+<html>
+<head>
+<title>TCCInterface_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCInterface_Functions"></a>TCCInterface_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports network related operations</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCInterface_Functions" >TCCInterface_Functions</a></td>
+<td class=SDescription>This module supports network related operations</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Enumerations" >Enumerations</a></td>
+<td class=SDescription></td></tr>
+<tr class="SEnumeration SIndent1 SMarked">
+<td class=SEntry>
+<a href="#TCCInterface_IPAddressType" >TCCInterface_IPAddressType</a></td>
+<td class=SDescription>An enum type for setting the type of IP addresses. </td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_setIP" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_setIP</a></td>
+<td class=SDescription>Set IP address, subnet mask and broadcast address in a network inteface If number is set, a range of virtual interfaces are set up with continuous IP address (no subnet mask, broadcast checking)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_setIP_ip" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_setIP_ip</a></td>
+<td class=SDescription>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_delIP_ip" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_delIP_ip</a></td>
+<td class=SDescription>Deletes IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_deleteIP" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">f_deleteIP</a></td>
+<td class=SDescription>Delete IP address from a network inteface</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_getIP" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">f_getIP</a></td>
+<td class=SDescription>Get IP address, subnet mask and broadcast address from a network inteface</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_setInterfaceUp" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">f_setInterfaceUp</a></td>
+<td class=SDescription>Set up a network interface</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_setInterfaceDown" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">f_setInterfaceDown</a></td>
+<td class=SDescription>Set down a network interface</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_getHostName" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">f_getHostName</a></td>
+<td class=SDescription>Get name of host</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_getIpAddr" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">f_getIpAddr</a></td>
+<td class=SDescription>Get IP address of host</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_getIpAddresses" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">f_getIpAddresses</a></td>
+<td class=SDescription>Get both IPv4 and IPv6 addresses of host.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Enumerations"></a>Enumerations</h3></div></div>
+
+<div class="CEnumeration">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="TCCInterface_IPAddressType"></a>TCCInterface_IPAddressType</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>An enum type for setting the type of IP addresses.&nbsp; Possible values: IPv4 - for IPv4 type addresses IPv6 - for IPv6 type addresses etc</p></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_setIP"></a>f_setIP</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_setIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ipaddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>subnetmask,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>broadcast,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>number&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> 1</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Set IP address, subnet mask and broadcast address in a network inteface If number is set, a range of virtual interfaces are set up with continuous IP address (no subnet mask, broadcast checking)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>ipaddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - starting IP address</td></tr>
+<tr>
+<td class=CDLEntry>subnetmask</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - subnetmask</td></tr>
+<tr>
+<td class=CDLEntry>broadcast</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - broadcast</td></tr>
+<tr>
+<td class=CDLEntry>number</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - number of interfaces to set up</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_setIP_ip"></a>f_setIP_ip</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_setIP_ip(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ipaddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>prefix&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> 32,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>v_set&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> 1</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>ipaddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - starting IP address</td></tr>
+<tr>
+<td class=CDLEntry>prefix</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - subnetmask of the ipaddress</td></tr>
+<tr>
+<td class=CDLEntry>v_set</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - Determines behavior, 1 sets, other deletes the IP</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>True on success, false in other cases.</p>
+<h4 class=CHeading>Errors</h4>
+<p>Many possibilities, all generates a TTCN_warning</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_delIP_ip"></a>f_delIP_ip</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_delIP_ip(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ipaddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>prefix&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> 32</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Deletes IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>ipaddress</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - starting IP address</td></tr>
+<tr>
+<td class=CDLEntry>prefix</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - subnetmask of the ipaddress</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>True on success, false in other cases.</p>
+<h4 class=CHeading>Errors</h4>
+<p>Many possibilities, all generates a TTCN_warning</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_deleteIP"></a>f_deleteIP</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_deleteIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Delete IP address from a network inteface</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_getIP"></a>f_getIP</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ip,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>netmask,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>broadcast,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Get IP address, subnet mask and broadcast address from a network inteface</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>ip</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>charstring</b> - IP address</td></tr>
+<tr>
+<td class=CDLEntry>netmask</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>charstring</b> - netmask</td></tr>
+<tr>
+<td class=CDLEntry>broadcast</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>charstring</b> - broadcast</td></tr>
+<tr>
+<td class=CDLEntry>addressType</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="#TCCInterface_IPAddressType" class=LType id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">TCCInterface_IPAddressType</a> - type of IP addresses (default is IPv4)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_setInterfaceUp"></a>f_setInterfaceUp</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_setInterfaceUp(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>)</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Set up a network interface</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>addressType</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="#TCCInterface_IPAddressType" class=LType id=link12 onMouseOver="ShowTip(event, 'tt11', 'link12')" onMouseOut="HideTip('tt11')">TCCInterface_IPAddressType</a> - type of IP addresses (default is IPv4)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_setInterfaceDown"></a>f_setInterfaceDown</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_setInterfaceDown(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>)</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Set down a network interface</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>interface</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - network interface</td></tr>
+<tr>
+<td class=CDLEntry>addressType</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="#TCCInterface_IPAddressType" class=LType id=link13 onMouseOver="ShowTip(event, 'tt11', 'link13')" onMouseOut="HideTip('tt11')">TCCInterface_IPAddressType</a> - type of IP addresses (default is IPv4)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_getHostName"></a>f_getHostName</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_getHostName() return charstring</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Get name of host</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>name of the host</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_getIpAddr"></a>f_getIpAddr</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_getIpAddr(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>hostname,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Get IP address of host</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>hostname</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the host</td></tr>
+<tr>
+<td class=CDLEntry>addressType</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="#TCCInterface_IPAddressType" class=LType id=link14 onMouseOver="ShowTip(event, 'tt11', 'link14')" onMouseOut="HideTip('tt11')">TCCInterface_IPAddressType</a> - type of IP addresses (default is IPv4)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>IP address of the host</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_getIpAddresses"></a>f_getIpAddresses</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getIpAddresses(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>hostname</td>
+<td class=PAfterParameters nowrap>) return IPAddresses</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Get both IPv4 and IPv6 addresses of host.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>hostname</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the host</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>Initialized IPAddresses structure</p>
+<h4 class=CHeading>Errors</h4>
+<p>Drops TTCN_Warnings on fault</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_setIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ipaddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>subnetmask,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>broadcast,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>number&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> 1</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Set IP address, subnet mask and broadcast address in a network inteface If number is set, a range of virtual interfaces are set up with continuous IP address (no subnet mask, broadcast checking)</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_setIP_ip(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ipaddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>prefix&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> 32,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>v_set&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> 1</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_delIP_ip(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ipaddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>prefix&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> 32</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Deletes IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</div></div>
+<div class=CToolTip id="tt4">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_deleteIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Delete IP address from a network inteface</div></div>
+<div class=CToolTip id="tt5">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ip,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>netmask,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>broadcast,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Get IP address, subnet mask and broadcast address from a network inteface</div></div>
+<div class=CToolTip id="tt6">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_setInterfaceUp(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>)</td></tr></table></td></tr></table></blockquote>Set up a network interface</div></div>
+<div class=CToolTip id="tt7">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_setInterfaceDown(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>)</td></tr></table></td></tr></table></blockquote>Set down a network interface</div></div>
+<div class=CToolTip id="tt8">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_getHostName() return charstring</td></tr></table></blockquote>Get name of host</div></div>
+<div class=CToolTip id="tt9">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_getIpAddr(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>hostname,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return charstring</td></tr></table></td></tr></table></blockquote>Get IP address of host</div></div>
+<div class=CToolTip id="tt10">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getIpAddresses(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>hostname</td>
+<td class=PAfterParameters nowrap>) return IPAddresses</td></tr></table></td></tr></table></blockquote>Get both IPv4 and IPv6 addresses of host.</div></div>
+<div class=CToolTip id="tt11">
+<div class=CType>An enum type for setting the type of IP addresses. </div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCMaths-cc.html b/doc/apidoc/html/files/TCCMaths-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..790902fb3bcc23c35235da3490a16504cf23f06c
--- /dev/null
+++ b/doc/apidoc/html/files/TCCMaths-cc.html
@@ -0,0 +1,999 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCMaths.cc - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCMaths.cc"></a>TCCMaths.cc</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCMaths.cc" >TCCMaths.cc</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__maxIL" >f__maxIL</a></td>
+<td class=SDescription>Return an IntegerList with the highest number found at index 0 and the index of ilist where it&rsquo;s found at index 1</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__minIL" >f__minIL</a></td>
+<td class=SDescription>Return an IntegerList with the lowest number found at index 0 and the index of ilist where it&rsquo;s fond at index 1</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__maxFL" >f__maxFL</a></td>
+<td class=SDescription>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__minFL" >f__minFL</a></td>
+<td class=SDescription>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__averageFL" >f__averageFL</a></td>
+<td class=SDescription>Return the average of flist</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__averageIL" >f__averageIL</a></td>
+<td class=SDescription>Return the average of ilist</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__stdFL" >f__stdFL</a></td>
+<td class=SDescription>Return the normalized standard deviation of float list (so the average square distance from the center of elements in the list)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__stdFLL" >f__stdFLL</a></td>
+<td class=SDescription>Return the normalized standard deviation of float list  using custom center (so it is the average square distance from a user defined central value)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__updateFL" >f__updateFL</a></td>
+<td class=SDescription>Append tail to the end of head (head return as inout)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__updateIL" >f__updateIL</a></td>
+<td class=SDescription>Append tail to the end of head (head return as inout)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__stdIL" >f__stdIL</a></td>
+<td class=SDescription>Return the normalized standard deviation of integer list (so the average square distance from the center of points)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__stdILL" >f__stdILL</a></td>
+<td class=SDescription>Return the normalized standard deviation of integer list using custom center (so it is the average square distance from a user defined central value)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__sinVL" >f__sinVL</a></td>
+<td class=SDescription>Return the values of the sin function</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__cosVL" >f__cosVL</a></td>
+<td class=SDescription>Return the values of the cos function</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__sin" >f__sin</a></td>
+<td class=SDescription>Return the sine of angle radians</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__cos" >f__cos</a></td>
+<td class=SDescription>Return the cosine of angle radians</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__asin" >f__asin</a></td>
+<td class=SDescription>Return the arc sine of value in [-pi/2, +pi/2]</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__acos" >f__acos</a></td>
+<td class=SDescription>Return the arc cosine of value in [0, pi]</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__powFF" >f__powFF</a></td>
+<td class=SDescription>Raise to power (float to float power)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__powII" >f__powII</a></td>
+<td class=SDescription>Raise to power (integer to integer power)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__powIF" >f__powIF</a></td>
+<td class=SDescription>Raise to power (integer to float power)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__powFI" >f__powFI</a></td>
+<td class=SDescription>Raise to power (float to integer power)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__sqrF" >f__sqrF</a></td>
+<td class=SDescription>Raise a float value to square</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__sqrI" >f__sqrI</a></td>
+<td class=SDescription>Raise an integer value to square</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__sqrtF" >f__sqrtF</a></td>
+<td class=SDescription>Square root of float value</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__sqrtI" >f__sqrtI</a></td>
+<td class=SDescription>Square root of integer value</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__ceil" >f__ceil</a></td>
+<td class=SDescription>Return the smallest integer value that is not less then value</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__floor" >f__floor</a></td>
+<td class=SDescription>Return the largest integer value that is not greater then value</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__exp" >f__exp</a></td>
+<td class=SDescription>Return the exponential value of the argument</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__log" >f__log</a></td>
+<td class=SDescription>Return the natural logarithm of the argument</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__maxIL"></a>f__maxIL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return an IntegerList with the highest number found at index 0 and the index of ilist where it&rsquo;s found at index 1</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>ilist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">IntegerList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;IntegerList&gt;</td>
+<td class=CDLDescription>integer array: { &lt;max&gt;, &lt;max index&gt; }</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__minIL"></a>f__minIL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return an IntegerList with the lowest number found at index 0 and the index of ilist where it&rsquo;s fond at index 1</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>ilist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">IntegerList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;IntegerList&gt;</td>
+<td class=CDLDescription>integer array: { &lt;min&gt;, &lt;min index&gt; }</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__maxFL"></a>f__maxFL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>flist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">FloatList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;FloatList&gt;</td>
+<td class=CDLDescription>float array: { &lt;max&gt;, &lt;max index&gt; }</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__minFL"></a>f__minFL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>flist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link4 onMouseOver="ShowTip(event, 'tt2', 'link4')" onMouseOut="HideTip('tt2')">FloatList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;FloatList&gt;</td>
+<td class=CDLDescription>float array: { &lt;min&gt;, &lt;min index&gt; }</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__averageFL"></a>f__averageFL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the average of flist</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>flist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link5 onMouseOver="ShowTip(event, 'tt2', 'link5')" onMouseOut="HideTip('tt2')">FloatList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>average of float numbers</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__averageIL"></a>f__averageIL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the average of ilist</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>ilist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">IntegerList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>average of integer numbers</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__stdFL"></a>f__stdFL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the normalized standard deviation of float list (so the average square distance from the center of elements in the list)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>flist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link7 onMouseOver="ShowTip(event, 'tt2', 'link7')" onMouseOut="HideTip('tt2')">FloatList</a> - float list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>normalized, standard derivate</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>E.g.&nbsp;  list = {2.0, 4.0}</p>
+<p>u = (2.0 + 4.0) / 2 &lt;- <b>center of elements in the list</b></p>
+<p>len = sizeof(list)</p>
+<p>[ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__stdFLL"></a>f__stdFLL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the normalized standard deviation of float list  using custom center (so it is the average square distance from a user defined central value)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>u</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - user defined central value</td></tr>
+<tr>
+<td class=CDLEntry>flist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link8 onMouseOver="ShowTip(event, 'tt2', 'link8')" onMouseOut="HideTip('tt2')">FloatList</a> - float list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>normalized, standard derivate</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Note: u is the average value of flist and has to be calculated before a call to this function</p>
+<p>E.g.&nbsp;  list = {2.0, 4.0}</p>
+<p>u &lt;- <b>user input</b></p>
+<p>len = sizeof(list)</p>
+<p>[ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__updateFL"></a>f__updateFL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Append tail to the end of head (head return as inout)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>head</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link9 onMouseOver="ShowTip(event, 'tt2', 'link9')" onMouseOut="HideTip('tt2')">FloatList</a> - first part of the float list</td></tr>
+<tr>
+<td class=CDLEntry>tail</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link10 onMouseOver="ShowTip(event, 'tt2', 'link10')" onMouseOut="HideTip('tt2')">FloatList</a> - second part of the float list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__updateIL"></a>f__updateIL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Append tail to the end of head (head return as inout)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>head</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link11 onMouseOver="ShowTip(event, 'tt1', 'link11')" onMouseOut="HideTip('tt1')">IntegerList</a> - first part of the integer list</td></tr>
+<tr>
+<td class=CDLEntry>tail</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link12 onMouseOver="ShowTip(event, 'tt1', 'link12')" onMouseOut="HideTip('tt1')">IntegerList</a> - second part of the integer list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__stdIL"></a>f__stdIL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the normalized standard deviation of integer list (so the average square distance from the center of points)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>ilist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link13 onMouseOver="ShowTip(event, 'tt1', 'link13')" onMouseOut="HideTip('tt1')">IntegerList</a> - integer list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>normalized, standard derivate</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>E.g.&nbsp;  list = {2.0, 4.0}</p>
+<p>u = (2.0 + 4.0) / 2 &lt;- <b>center of elements in the list</b></p>
+<p>len = sizeof(list)</p>
+<p>[ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__stdILL"></a>f__stdILL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the normalized standard deviation of integer list using custom center (so it is the average square distance from a user defined central value)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>u</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - user defined central value</td></tr>
+<tr>
+<td class=CDLEntry>ilist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link14 onMouseOver="ShowTip(event, 'tt1', 'link14')" onMouseOut="HideTip('tt1')">IntegerList</a> - integer list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>normalized, standard derivate</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Note: u is a user defined value</p>
+<p>E.g.&nbsp;  list = {2.0, 4.0}</p>
+<p>u &lt;- <b>user input</b></p>
+<p>len = sizeof(list)</p>
+<p>[ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__sinVL"></a>f__sinVL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the values of the sin function</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>freq</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the frequency of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>altitude</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the altitude of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>start_val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the starting value passed to the sine function</td></tr>
+<tr>
+<td class=CDLEntry>len</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - the wanted number of points of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>step</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the length between the points on the sine curve</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;FloatList&gt;</td>
+<td class=CDLDescription>the wanted points in a float list</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Generation of one sin value:</p>
+<p>altitude * sin(2 * pi * freq * start_val)</p>
+<p>start_val := start_val + step</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__cosVL"></a>f__cosVL</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the values of the cos function</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>freq</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the frequency of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>altitude</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the altitude of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>start_val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the starting value passed to the sine function</td></tr>
+<tr>
+<td class=CDLEntry>len</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - the wanted number of points of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>step</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the length between the points on the sine curve</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;FloatList&gt;</td>
+<td class=CDLDescription>the wanted points in a float list</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Generation of one cos value:</p>
+<p>altitude * cos(2 * pi * freq * start_val)</p>
+<p>start_val := start_val + step</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__sin"></a>f__sin</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the sine of angle radians</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>angle</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - angle in radians</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>the sine value of angle radians</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__cos"></a>f__cos</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the cosine of angle radians</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>angle</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - angle in radians</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>the cosine value of angle radians</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__asin"></a>f__asin</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the arc sine of value in [-pi/2, +pi/2]</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>the arc sine value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__acos"></a>f__acos</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the arc cosine of value in [0, pi]</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>the arc cosine value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__powFF"></a>f__powFF</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise to power (float to float power)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - base value</td></tr>
+<tr>
+<td class=CDLEntry>expo</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - exponent value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>base raised to power expo</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__powII"></a>f__powII</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise to power (integer to integer power)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - base value</td></tr>
+<tr>
+<td class=CDLEntry>expo</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - exponent value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>base raised to power expo</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__powIF"></a>f__powIF</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise to power (integer to float power)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - base value</td></tr>
+<tr>
+<td class=CDLEntry>expo</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - exponent value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>base raised to power expo</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__powFI"></a>f__powFI</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise to power (float to integer power)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - base value</td></tr>
+<tr>
+<td class=CDLEntry>expo</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - exponent value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>base raised to power expo</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__sqrF"></a>f__sqrF</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise a float value to square</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - base value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>square of base</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__sqrI"></a>f__sqrI</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise an integer value to square</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - base value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>square of base</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__sqrtF"></a>f__sqrtF</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Square root of float value</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - base value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>square root of base</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__sqrtI"></a>f__sqrtI</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Square root of integer value</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - base value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>square root of base</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__ceil"></a>f__ceil</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the smallest integer value that is not less then value</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - float value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>ceil value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__floor"></a>f__floor</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the largest integer value that is not greater then value</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - float value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>floor value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__exp"></a>f__exp</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the exponential value of the argument</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - float value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>exp value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__log"></a>f__log</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the natural logarithm of the argument</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - float value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>ln value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of integer IntegerList</td></tr></table></blockquote>List of integer</div></div>
+<div class=CToolTip id="tt2">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of float FloatList</td></tr></table></blockquote>List of float</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCMaths_Functions-ttcn.html b/doc/apidoc/html/files/TCCMaths_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..88af2062e47704f7f3d37da084b350c344c85b73
--- /dev/null
+++ b/doc/apidoc/html/files/TCCMaths_Functions-ttcn.html
@@ -0,0 +1,2094 @@
+<html>
+<head>
+<title>TCCMaths_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCMaths_Functions"></a>TCCMaths_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports mathematics</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>
+<a href="TCCMaths_GenericTypes-ttcn.html#TCCMaths_GenericTypes" class=LFile id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')">TCCMaths_GenericTypes</a></p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCMaths_Functions" >TCCMaths_Functions</a></td>
+<td class=SDescription>This module supports mathematics</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_maxIL" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_maxIL</a></td>
+<td class=SDescription>Return an IntegerList with the highest number found at index 0 and the index of ilist where it&rsquo;s found at index 1</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_maxFL" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_maxFL</a></td>
+<td class=SDescription>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_minIL" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_minIL</a></td>
+<td class=SDescription>Return an IntegerList with the lowest number found at index 0 and the index of ilist where it&rsquo;s fond at index 1</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_minFL" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">f_minFL</a></td>
+<td class=SDescription>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_averageFL" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">f_averageFL</a></td>
+<td class=SDescription>Return the average of flist</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_averageIL" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">f_averageIL</a></td>
+<td class=SDescription>Return the average of ilist</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_updateFL" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">f_updateFL</a></td>
+<td class=SDescription>Append tail to the end of head (head return as inout)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_updateIL" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">f_updateIL</a></td>
+<td class=SDescription>Append tail to the end of head (head return as inout)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_stdFL" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">f_stdFL</a></td>
+<td class=SDescription>Return the normalized standard devILtion of float list (so the average square distance from the center of elements in the list)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_stdFLL" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">f_stdFLL</a></td>
+<td class=SDescription>Return the normalized standard devILtion of float list  using custom center (so it is the average square distance from a user defined central value)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_stdIL" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">f_stdIL</a></td>
+<td class=SDescription>Return the normalized standard devILtion of integer list (so the average square distance from the center of points)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_stdILL" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">f_stdILL</a></td>
+<td class=SDescription>Return the normalized standard devILtion of integer list using custom center (so it is the average square distance from a user defined central value)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_sinVL" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">f_sinVL</a></td>
+<td class=SDescription>Return the values of the sine function</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_cosVL" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">f_cosVL</a></td>
+<td class=SDescription>Return the values of the cosine function</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_sin" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">f_sin</a></td>
+<td class=SDescription>Return the sine of angle radILns</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_cos" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">f_cos</a></td>
+<td class=SDescription>Return the cosine of angle radILns</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_asin" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">f_asin</a></td>
+<td class=SDescription>Return the arc sine of value in [-pi/2, +pi/2]</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_acos" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">f_acos</a></td>
+<td class=SDescription>Return the arc cosine of value in [0, pi]</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_powFF" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">f_powFF</a></td>
+<td class=SDescription>Raise to power (float to float power)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_powII" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">f_powII</a></td>
+<td class=SDescription>Raise to power (integer to integer power)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_powIF" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">f_powIF</a></td>
+<td class=SDescription>Raise to power (integer to float power)</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_powFI" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">f_powFI</a></td>
+<td class=SDescription>Raise to power (float to integer power)</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_sqrF" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">f_sqrF</a></td>
+<td class=SDescription>Raise a float value to square</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_sqrI" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')">f_sqrI</a></td>
+<td class=SDescription>Raise an integer value to square</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_sqrtF" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')">f_sqrtF</a></td>
+<td class=SDescription>Square root of float value</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_sqrtI" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')">f_sqrtI</a></td>
+<td class=SDescription>Square root of integer value</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_ceil" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')">f_ceil</a></td>
+<td class=SDescription>Return the smallest integer value that is not less then value</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_floor" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')">f_floor</a></td>
+<td class=SDescription>Return the largest integer value that is not greater then value</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_exp" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')">f_exp</a></td>
+<td class=SDescription>Return the exponential value of the argument</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_log" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')">f_log</a></td>
+<td class=SDescription>Return the natural logarithm of the argument</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_generate_poissonTable" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')">f_generate_poissonTable</a></td>
+<td class=SDescription>Returns with an initialized poisson table which is a cumulative probability distribution list for a given lambda.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_getNext_poissonValue" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')">f_getNext_poissonValue</a></td>
+<td class=SDescription>Returns with a random poisson value by the given poisson table and lambda poisson variance.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_gen_Exponential_Distribution(in_float_p_lambda)return_float" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')">f_gen_Exponential_Distribution(in float p_lambda) return float</a></td>
+<td class=SDescription>Returns with the exponential random variable for a given lambda</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_maxIL"></a>f_maxIL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_maxIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return IntegerList</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return an IntegerList with the highest number found at index 0 and the index of ilist where it&rsquo;s found at index 1</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>ilist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')">IntegerList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;IntegerList&gt;</td>
+<td class=CDLDescription>integer array: { &lt;max&gt;, &lt;max index&gt; }</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_maxFL"></a>f_maxFL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_maxFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>flist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')">FloatList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;FloatList&gt;</td>
+<td class=CDLDescription>float array: { &lt;max&gt;, &lt;max index&gt; }</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_minIL"></a>f_minIL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_minIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return IntegerList</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return an IntegerList with the lowest number found at index 0 and the index of ilist where it&rsquo;s fond at index 1</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>ilist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link37 onMouseOver="ShowTip(event, 'tt35', 'link37')" onMouseOut="HideTip('tt35')">IntegerList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;IntegerList&gt;</td>
+<td class=CDLDescription>integer array: { &lt;min&gt;, &lt;min index&gt; }</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_minFL"></a>f_minFL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_minFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>flist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link38 onMouseOver="ShowTip(event, 'tt36', 'link38')" onMouseOut="HideTip('tt36')">FloatList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;FloatList&gt;</td>
+<td class=CDLDescription>float array: { &lt;min&gt;, &lt;min index&gt; }</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_averageFL"></a>f_averageFL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_averageFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the average of flist</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>flist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link39 onMouseOver="ShowTip(event, 'tt36', 'link39')" onMouseOut="HideTip('tt36')">FloatList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>average of float numbers</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_averageIL"></a>f_averageIL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_averageIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the average of ilist</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>ilist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link40 onMouseOver="ShowTip(event, 'tt35', 'link40')" onMouseOut="HideTip('tt35')">IntegerList</a> - integer array</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>average of integer numbers</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_updateFL"></a>f_updateFL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_updateFL(</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>head,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>tail</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Append tail to the end of head (head return as inout)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>head</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link41 onMouseOver="ShowTip(event, 'tt36', 'link41')" onMouseOut="HideTip('tt36')">FloatList</a> - first part of the float list</td></tr>
+<tr>
+<td class=CDLEntry>tail</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link42 onMouseOver="ShowTip(event, 'tt36', 'link42')" onMouseOut="HideTip('tt36')">FloatList</a> - second part of the float list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_updateIL"></a>f_updateIL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_updateIL(</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>head,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>tail</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Append tail to the end of head (head return as inout)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>head</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link43 onMouseOver="ShowTip(event, 'tt35', 'link43')" onMouseOut="HideTip('tt35')">IntegerList</a> - first part of the integer list</td></tr>
+<tr>
+<td class=CDLEntry>tail</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link44 onMouseOver="ShowTip(event, 'tt35', 'link44')" onMouseOut="HideTip('tt35')">IntegerList</a> - second part of the integer list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_stdFL"></a>f_stdFL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the normalized standard devILtion of float list (so the average square distance from the center of elements in the list)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>flist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link45 onMouseOver="ShowTip(event, 'tt36', 'link45')" onMouseOut="HideTip('tt36')">FloatList</a> - float list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>normalized, standard derivate</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>E.g.&nbsp;  list = {2.0, 4.0}</p>
+<p>u = (2.0 + 4.0) / 2 &lt;- <b>center of elements in the list</b></p>
+<p>len = sizeof(list)</p>
+<p>[ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_stdFLL"></a>f_stdFLL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdFLL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>u</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the normalized standard devILtion of float list  using custom center (so it is the average square distance from a user defined central value)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>u</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - user defined central value</td></tr>
+<tr>
+<td class=CDLEntry>flist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#FloatList" class=LType id=link46 onMouseOver="ShowTip(event, 'tt36', 'link46')" onMouseOut="HideTip('tt36')">FloatList</a> - float list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>normalized, standard derivate</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Note: u is the average value of flist and has to be calculated before a call to this function</p>
+<p>E.g.&nbsp;  list = {2.0, 4.0}</p>
+<p>u &lt;- <b>user input</b></p>
+<p>len = sizeof(list)</p>
+<p>[ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_stdIL"></a>f_stdIL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the normalized standard devILtion of integer list (so the average square distance from the center of points)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>ilist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link47 onMouseOver="ShowTip(event, 'tt35', 'link47')" onMouseOut="HideTip('tt35')">IntegerList</a> - integer list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>normalized, standard derivate</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>E.g.&nbsp;  list = {2.0, 4.0}</p>
+<p>u = (2.0 + 4.0) / 2 &lt;- <b>center of elements in the list</b></p>
+<p>len = sizeof(list)</p>
+<p>[ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_stdILL"></a>f_stdILL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdILL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>u</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the normalized standard devILtion of integer list using custom center (so it is the average square distance from a user defined central value)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>u</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - user defined central value</td></tr>
+<tr>
+<td class=CDLEntry>ilist</td>
+<td class=CDLDescription>
+<b>in</b>
+<a href="TCCMaths_GenericTypes-ttcn.html#IntegerList" class=LType id=link48 onMouseOver="ShowTip(event, 'tt35', 'link48')" onMouseOut="HideTip('tt35')">IntegerList</a> - integer list</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>normalized, standard derivate</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Note: u is a user defined value</p>
+<p>E.g.&nbsp;  list = {2.0, 4.0}</p>
+<p>u &lt;- <b>user input</b></p>
+<p>len = sizeof(list)</p>
+<p>[ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_sinVL"></a>f_sinVL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sinVL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>freq,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>altitude,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>start_val,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>len,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>step</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the values of the sine function</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>freq</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the frequency of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>altitude</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the altitude of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>start_val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the starting value passed to the sine function</td></tr>
+<tr>
+<td class=CDLEntry>len</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - the wanted number of points of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>step</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the length between the points on the sine curve</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;FloatList&gt;</td>
+<td class=CDLDescription>the wanted points in a float list</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Generation of one sin value:</p>
+<p>altitude * sin(2 * pi * freq * start_val)</p>
+<p>start_val := start_val + step</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_cosVL"></a>f_cosVL</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_cosVL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>freq,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>altitude,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>start_val,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>len,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>step</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the values of the cosine function</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>freq</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the frequency of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>altitude</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the altitude of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>start_val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the starting value passed to the sine function</td></tr>
+<tr>
+<td class=CDLEntry>len</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - the wanted number of points of the sine curve</td></tr>
+<tr>
+<td class=CDLEntry>step</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the length between the points on the sine curve</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>&lt;FloatList&gt;</td>
+<td class=CDLDescription>the wanted points in a float list</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Generation of one cos value:</p>
+<p>altitude * cos(2 * pi * freq * start_val)</p>
+<p>start_val := start_val + step</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_sin"></a>f_sin</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sin(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>angle</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the sine of angle radILns</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>angle</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - angle in radILns</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>the sine value of angle radILns</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_cos"></a>f_cos</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_cos(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>angle</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the cosine of angle radILns</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>angle</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - angle in radILns</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>the cosine value of angle radILns</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_asin"></a>f_asin</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_asin(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the arc sine of value in [-pi/2, +pi/2]</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>the arc sine value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_acos"></a>f_acos</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_acos(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the arc cosine of value in [0, pi]</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>the arc cosine value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_powFF"></a>f_powFF</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powFF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise to power (float to float power)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - base value</td></tr>
+<tr>
+<td class=CDLEntry>expo</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - exponent value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>base raised to power expo</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_powII"></a>f_powII</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powII(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise to power (integer to integer power)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - base value</td></tr>
+<tr>
+<td class=CDLEntry>expo</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - exponent value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>base raised to power expo</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_powIF"></a>f_powIF</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powIF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise to power (integer to float power)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - base value</td></tr>
+<tr>
+<td class=CDLEntry>expo</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - exponent value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>base raised to power expo</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_powFI"></a>f_powFI</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powFI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise to power (float to integer power)</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - base value</td></tr>
+<tr>
+<td class=CDLEntry>expo</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - exponent value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>base raised to power expo</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_sqrF"></a>f_sqrF</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise a float value to square</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - base value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>square of base</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_sqrI"></a>f_sqrI</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Raise an integer value to square</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - base value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>square of base</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_sqrtF"></a>f_sqrtF</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrtF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Square root of float value</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - base value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>square root of base</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_sqrtI"></a>f_sqrtI</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrtI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Square root of integer value</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>base</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b> - base value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>square root of base</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_ceil"></a>f_ceil</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ceil(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the smallest integer value that is not less then value</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - float value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>ceil value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_floor"></a>f_floor</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_floor(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the largest integer value that is not greater then value</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - float value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>floor value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_exp"></a>f_exp</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_exp(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the exponential value of the argument</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - float value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>exp value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_log"></a>f_log</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_log(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the natural logarithm of the argument</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>val</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - float value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>float</td>
+<td class=CDLDescription>ln value of val</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_generate_poissonTable"></a>f_generate_poissonTable</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_generate_poissonTable(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>t_Poisson_Table&nbsp;</td>
+<td class=PParameter nowrap>p_pTable</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Returns with an initialized poisson table which is a cumulative probability distribution list for a given lambda.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_lambda</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the lambda variance of the poisson distribution</td></tr>
+<tr>
+<td class=CDLEntry>p_pTable</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>t_Poisson_Table</b> - the generated poisson table</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>*boolean*</td>
+<td class=CDLDescription>true if the generation was success</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>If exp(-lambda) is zero than the table generation fails</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>The table used to get a poisson value by a random number indicates the next poisson value that should be use.&nbsp; See <a href="#f_getNext_poissonValue" class=LFunction id=link49 onMouseOver="ShowTip(event, 'tt32', 'link49')" onMouseOut="HideTip('tt32')">f_getNext_poissonValue</a> function for more details.&nbsp; The size of the table will be lambda * 2.&nbsp; Note: With this method we can only generate correct values for lambda-s smaller than about 100-110 This is due to f_powFF(p_lambda, j) is rounded to infinity above lambda-s bigger than about 150</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_getNext_poissonValue"></a>f_getNext_poissonValue</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_getNext_poissonValue(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>t_Poisson_Table&nbsp;</td>
+<td class=PParameter nowrap>p_pTable,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>boolean&nbsp;</td>
+<td class=PParameter nowrap>p_sucess</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Returns with a random poisson value by the given poisson table and lambda poisson variance.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_lambda</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the lambda variance of the poisson distribution</td></tr>
+<tr>
+<td class=CDLEntry>p_pTable</td>
+<td class=CDLDescription>
+<b>inout</b>
+<b>t_Poisson_Table</b> - the poisson table</td></tr>
+<tr>
+<td class=CDLEntry>p_sucess</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>boolean</b> - indicates if the returned value is from a successfully generated poisson table or not If false, an extremly rare error happened under the table generation and this need to be regenerate!</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>*integer*</td>
+<td class=CDLDescription>the selected random poisson value between 0 and sizeof(p_pTable)</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>The function checks the input table if it is initialized or not and if not first of all generates it by the <a href="#f_generate_poissonTable" class=LFunction id=link50 onMouseOver="ShowTip(event, 'tt31', 'link50')" onMouseOut="HideTip('tt31')">f_generate_poissonTable</a> function.&nbsp; If the table was initialized checks the given lambda if it was used to generate the table.&nbsp; If it is different, regenerates the table.&nbsp; After these checks we have the correct initialized poisson table for the given p_lambda.&nbsp; Finally it returns with a random poisson value by the table.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_gen_Exponential_Distribution(in_float_p_lambda)return_float"></a>f_gen_Exponential_Distribution(in float p_lambda) return float</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_gen_Exponential_Distribution(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Returns with the exponential random variable for a given lambda</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>p_lambda</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>float</b> - the lambda variance of the exponential distribution</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>*float*</td>
+<td class=CDLDescription>the exponential random variable for the given lambda</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>The function works as the following:</p>
+<ul>
+<li>generate a random number U~U(0,1)</li>
+<li>since U is uniform in (0,1) then so is U-1</li>
+<li>X = - Log(1-U)/lambda = - Log(U)/lambda</li>
+<li>return with X Note: Log means natural logarithm in this case</li></ul></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_maxIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return IntegerList</td></tr></table></td></tr></table></blockquote>Return an IntegerList with the highest number found at index 0 and the index of ilist where it&rsquo;s found at index 1</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_maxFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_minIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return IntegerList</td></tr></table></td></tr></table></blockquote>Return an IntegerList with the lowest number found at index 0 and the index of ilist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt4">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_minFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt5">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_averageFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the average of flist</div></div>
+<div class=CToolTip id="tt6">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_averageIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the average of ilist</div></div>
+<div class=CToolTip id="tt7">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_updateFL(</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>head,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>tail</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Append tail to the end of head (head return as inout)</div></div>
+<div class=CToolTip id="tt8">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_updateIL(</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>head,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>tail</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Append tail to the end of head (head return as inout)</div></div>
+<div class=CToolTip id="tt9">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of float list (so the average square distance from the center of elements in the list)</div></div>
+<div class=CToolTip id="tt10">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdFLL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>u</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of float list  using custom center (so it is the average square distance from a user defined central value)</div></div>
+<div class=CToolTip id="tt11">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of integer list (so the average square distance from the center of points)</div></div>
+<div class=CToolTip id="tt12">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdILL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>u</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of integer list using custom center (so it is the average square distance from a user defined central value)</div></div>
+<div class=CToolTip id="tt13">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sinVL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>freq,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>altitude,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>start_val,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>len,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>step</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return the values of the sine function</div></div>
+<div class=CToolTip id="tt14">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_cosVL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>freq,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>altitude,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>start_val,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>len,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>step</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return the values of the cosine function</div></div>
+<div class=CToolTip id="tt15">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sin(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>angle</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the sine of angle radILns</div></div>
+<div class=CToolTip id="tt16">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_cos(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>angle</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the cosine of angle radILns</div></div>
+<div class=CToolTip id="tt17">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_asin(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the arc sine of value in [-pi/2, +pi/2]</div></div>
+<div class=CToolTip id="tt18">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_acos(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the arc cosine of value in [0, pi]</div></div>
+<div class=CToolTip id="tt19">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powFF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise to power (float to float power)</div></div>
+<div class=CToolTip id="tt20">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powII(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Raise to power (integer to integer power)</div></div>
+<div class=CToolTip id="tt21">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powIF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise to power (integer to float power)</div></div>
+<div class=CToolTip id="tt22">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powFI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise to power (float to integer power)</div></div>
+<div class=CToolTip id="tt23">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise a float value to square</div></div>
+<div class=CToolTip id="tt24">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Raise an integer value to square</div></div>
+<div class=CToolTip id="tt25">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrtF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Square root of float value</div></div>
+<div class=CToolTip id="tt26">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrtI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Square root of integer value</div></div>
+<div class=CToolTip id="tt27">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ceil(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Return the smallest integer value that is not less then value</div></div>
+<div class=CToolTip id="tt28">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_floor(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Return the largest integer value that is not greater then value</div></div>
+<div class=CToolTip id="tt29">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_exp(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the exponential value of the argument</div></div>
+<div class=CToolTip id="tt30">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_log(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the natural logarithm of the argument</div></div>
+<div class=CToolTip id="tt31">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_generate_poissonTable(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>t_Poisson_Table&nbsp;</td>
+<td class=PParameter nowrap>p_pTable</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Returns with an initialized poisson table which is a cumulative probability distribution list for a given lambda.</div></div>
+<div class=CToolTip id="tt32">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_getNext_poissonValue(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>t_Poisson_Table&nbsp;</td>
+<td class=PParameter nowrap>p_pTable,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>boolean&nbsp;</td>
+<td class=PParameter nowrap>p_sucess</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Returns with a random poisson value by the given poisson table and lambda poisson variance.</div></div>
+<div class=CToolTip id="tt33">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_gen_Exponential_Distribution(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Returns with the exponential random variable for a given lambda</div></div>
+<div class=CToolTip id="tt34">
+<div class=CFile>This module stores generic types for math functions</div></div>
+<div class=CToolTip id="tt35">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of integer IntegerList</td></tr></table></blockquote>List of integer</div></div>
+<div class=CToolTip id="tt36">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of float FloatList</td></tr></table></blockquote>List of float</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCMaths_GenericTypes-ttcn.html b/doc/apidoc/html/files/TCCMaths_GenericTypes-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..bb96eaf77ee8da923a9ef447194bd93167685c32
--- /dev/null
+++ b/doc/apidoc/html/files/TCCMaths_GenericTypes-ttcn.html
@@ -0,0 +1,246 @@
+<html>
+<head>
+<title>TCCMaths_GenericTypes - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCMaths_GenericTypes"></a>TCCMaths_GenericTypes</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module stores generic types for math functions</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<h4 class=CHeading>Current Owner</h4>
+<p>Akos Pernek (EAKOPER)</p>
+<h4 class=CHeading>Last Review Date</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCMaths_GenericTypes" >TCCMaths_GenericTypes</a></td>
+<td class=SDescription>This module stores generic types for math functions</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Constants" >Constants</a></td>
+<td class=SDescription></td></tr>
+<tr class="SConstant SIndent1 SMarked">
+<td class=SEntry>
+<a href="#pi" >pi</a></td>
+<td class=SDescription>Provide the value of pi</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Types" >Types</a></td>
+<td class=SDescription></td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#VerdictList" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">VerdictList</a></td>
+<td class=SDescription>List of verdicttype</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#IntegerList" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">IntegerList</a></td>
+<td class=SDescription>List of integer</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#BooleanList" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">BooleanList</a></td>
+<td class=SDescription>List of boolean</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#FloatList" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">FloatList</a></td>
+<td class=SDescription>List of float</td></tr>
+<tr class="SType SIndent1 SMarked">
+<td class=SEntry>
+<a href="#StringList" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">StringList</a></td>
+<td class=SDescription>List of charstring</td></tr>
+<tr class="SType SIndent1">
+<td class=SEntry>
+<a href="#OctetStringList" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">OctetStringList</a></td>
+<td class=SDescription>List of octetstring</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Constants"></a>Constants</h3></div></div>
+
+<div class="CConstant">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="pi"></a>pi</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Provide the value of pi</p>
+<h4 class=CHeading>Value</h4>
+<p>3.1415926535</p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Types"></a>Types</h3></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="VerdictList"></a>VerdictList</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of verdicttype VerdictList</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>List of verdicttype</p>
+<h4 class=CHeading>Elements</h4>
+<p>record of <b>verdicttype</b></p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="IntegerList"></a>IntegerList</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of integer IntegerList</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>List of integer</p>
+<h4 class=CHeading>Elements</h4>
+<p>record of <b>integer</b></p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="BooleanList"></a>BooleanList</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of boolean BooleanList</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>List of boolean</p>
+<h4 class=CHeading>Elements</h4>
+<p>record of <b>boolean</b></p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="FloatList"></a>FloatList</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of float FloatList</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>List of float</p>
+<h4 class=CHeading>Elements</h4>
+<p>record of <b>float</b></p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="StringList"></a>StringList</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of charstring StringList</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>List of charstring</p>
+<h4 class=CHeading>Elements</h4>
+<p>record of <b>charstring</b></p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+<div class="CType">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="OctetStringList"></a>OctetStringList</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of octetstring OctetStringList</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>List of octetstring</p>
+<h4 class=CHeading>Elements</h4>
+<p>record of <b>octetstring</b></p>
+<h4 class=CHeading>Detailed Comments</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of verdicttype VerdictList</td></tr></table></blockquote>List of verdicttype</div></div>
+<div class=CToolTip id="tt2">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of integer IntegerList</td></tr></table></blockquote>List of integer</div></div>
+<div class=CToolTip id="tt3">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of boolean BooleanList</td></tr></table></blockquote>List of boolean</div></div>
+<div class=CToolTip id="tt4">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of float FloatList</td></tr></table></blockquote>List of float</div></div>
+<div class=CToolTip id="tt5">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of charstring StringList</td></tr></table></blockquote>List of charstring</div></div>
+<div class=CToolTip id="tt6">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of octetstring OctetStringList</td></tr></table></blockquote>List of octetstring</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCMessageHandling_Functions-ttcn.html b/doc/apidoc/html/files/TCCMessageHandling_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..f0bf000ad6eab65c73bed7231cf4235b17f42fe7
--- /dev/null
+++ b/doc/apidoc/html/files/TCCMessageHandling_Functions-ttcn.html
@@ -0,0 +1,200 @@
+<html>
+<head>
+<title>TCCMessageHandling_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCMessageHandling_Functions"></a>TCCMessageHandling_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module provide message handling functions</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<h4 class=CHeading>Current Owner</h4>
+<p>Norbert Pinter (ENORPIN)</p>
+<h4 class=CHeading>Last Review Date</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCMessageHandling_Functions" >TCCMessageHandling_Functions</a></td>
+<td class=SDescription>This module provide message handling functions</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_TCCMessageHandling_getMessageLength" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_TCCMessageHandling_getMessageLength</a></td>
+<td class=SDescription>Function to get the length of the received message.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_TCCMessageHandling_getMessageLength4Diameter" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_TCCMessageHandling_getMessageLength4Diameter</a></td>
+<td class=SDescription>Function to get the length of the received message.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_TCCMessageHandling_getMessageLength4Radius" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_TCCMessageHandling_getMessageLength4Radius</a></td>
+<td class=SDescription>Function to get the length of the received message.</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_TCCMessageHandling_getMessageLength"></a>f_TCCMessageHandling_getMessageLength</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>Function to get the length of the received message.</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Returns</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_TCCMessageHandling_getMessageLength4Diameter"></a>f_TCCMessageHandling_getMessageLength4Diameter</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength4Diameter(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>Function to get the length of the received message.</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Returns</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_TCCMessageHandling_getMessageLength4Radius"></a>f_TCCMessageHandling_getMessageLength4Radius</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength4Radius(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>
+<p>Function to get the length of the received message.</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Returns</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Function to get the length of the received message.</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength4Diameter(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Function to get the length of the received message.</div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength4Radius(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Function to get the length of the received message.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCRegexp_Functions-ttcn.html b/doc/apidoc/html/files/TCCRegexp_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..9bc549964203ac2fc6ce1cdf6bf93477d6d16012
--- /dev/null
+++ b/doc/apidoc/html/files/TCCRegexp_Functions-ttcn.html
@@ -0,0 +1,199 @@
+<html>
+<head>
+<title>Regexp_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="Regexp_Functions"></a>Regexp_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module provides a non TTCN regular expression handling functions</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<h4 class=CHeading>Current Owner</h4>
+<p>-</p>
+<h4 class=CHeading>Last Review Date</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#Regexp_Functions" >Regexp_Functions</a></td>
+<td class=SDescription>This module provides a non TTCN regular expression handling functions</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_pcre_regexp" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_pcre_regexp</a></td>
+<td class=SDescription>Evaulate a Perl compatible regular expression</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_pcre_regexp" id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">f_pcre_regexp</a></td>
+<td class=SDescription>Evaulate a Perl compatible regular expression</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_pcre_regexp"></a>f_pcre_regexp</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_pcre_regexp(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>instr,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>expression,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>groupno</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Evaulate a Perl compatible regular expression</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>instr</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   string to be matched</td></tr>
+<tr>
+<td class=CDLEntry>expression</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  the pattern</td></tr>
+<tr>
+<td class=CDLEntry>groupno</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>inteher</b> - the number of the group to return</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>the matched substring</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>This function returns the substring of the input character string instr, which is the content of n-th group matching to the expression.&nbsp; The expression is a Perl compatible regular expression pattern.&nbsp; The number of the group to be returned is specified by groupno, which shall be a positive integer or zero.&nbsp; Group numbers are assigned by the order of occurrences of the opening bracket of a group and counted starting from 1 by step 1.&nbsp; If the groupno is zero, a substring macthed by the entire pattern is returned.&nbsp; If no substring fulfilling all conditions (i.e. pattern and group number) is found within the input string, an empty string is returned.</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_pcre_regexp"></a>f_pcre_regexp</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>type record of charstring charstring_list external function f_pcre_regexp_list(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>instr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>expression</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring_list</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Evaulate a Perl compatible regular expression</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>instr</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   string to be matched</td></tr>
+<tr>
+<td class=CDLEntry>expression</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  the pattern</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>record of charstring</td>
+<td class=CDLDescription>the matched substrings</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>This function returns the list of the substring of the input character string instr, which is the content of n-th group matching to the expression.&nbsp; The expression is a Perl compatible regular expression pattern.&nbsp; Group numbers are assigned by the order of occurrences of the opening bracket of a group and counted starting from 1 by step 1.&nbsp; If no substring fulfilling all conditions is found within the input string, an empty record of is returned.</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_pcre_regexp(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>instr,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>expression,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>groupno</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Evaulate a Perl compatible regular expression</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCSecurity-cc.html b/doc/apidoc/html/files/TCCSecurity-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..1bba0a1f0f40acd06dae87153001d5f96eac2797
--- /dev/null
+++ b/doc/apidoc/html/files/TCCSecurity-cc.html
@@ -0,0 +1,856 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/TCCSecurity.cc - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCSecurity.cc"></a>TCCSecurity.cc</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCSecurity.cc" >TCCSecurity.cc</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__calculateDigestResponse" >f__calculateDigestResponse</a></td>
+<td class=SDescription>Calculate digest response</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__calculateDigestHA1" >f__calculateDigestHA1</a></td>
+<td class=SDescription>Calculate digest H(A1) hash</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__TCCSecurity__hex2char" >f__TCCSecurity__hex2char</a></td>
+<td class=SDescription>Computes the 8 bit ASCII representation of an hexstring</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__calculateMD5" >f__calculateMD5</a></td>
+<td class=SDescription>Compute MD5 hash value</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__IMSAKA__f1" >f__IMSAKA__f1</a></td>
+<td class=SDescription>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__IMSAKA__f2" >f__IMSAKA__f2</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns response RES.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__IMSAKA__f3" >f__IMSAKA__f3</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns confidentiality key CK.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__IMSAKA__f4" >f__IMSAKA__f4</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns integrity key IK.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__IMSAKA__f2345" >f__IMSAKA__f2345</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns AK, CK, RES</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__IMSAKA__f5" >f__IMSAKA__f5</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns anonymity key AK.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__IMSAKA__f1star" >f__IMSAKA__f1star</a></td>
+<td class=SDescription>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__IMSAKA__f5star" >f__IMSAKA__f5star</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__EAPSIM__A3A8" >f__EAPSIM__A3A8</a></td>
+<td class=SDescription>Takes key Ki and random challenge RAND, and returns Kc and SRES keys</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__IMSAKA__calculateAUTN" >f__IMSAKA__calculateAUTN</a></td>
+<td class=SDescription>Computes authentication token AUTN from anonymity key AK, random challenge RAND, sequence number SQN and authentication management field AMF.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__calculateHMACMD5" >f__calculateHMACMD5</a></td>
+<td class=SDescription>Calculate the HMAC MD5 value of a message with specified 64 bit key.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__calculate__HMAC__MD5" >f__calculate__HMAC__MD5</a></td>
+<td class=SDescription>Calculate the HMAC MD5 value of a message with specified key.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__calculate__HMAC__SHA1" >f__calculate__HMAC__SHA1</a></td>
+<td class=SDescription>Calculate the HMAC SHA1 value of a message with specified key.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f__calculate128__EEA3" >f__calculate128__EEA3</a></td>
+<td class=SDescription>Purpose: Encrypt TTCN-3 message using the confidentiality algorithm 128-EEA3</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__calculate128__EIA3" >f__calculate128__EIA3</a></td>
+<td class=SDescription>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3 for TTCN-3 message</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__calculateDigestResponse"></a>f__calculateDigestResponse</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate digest response</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>nonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   a server-specified data string which may `                                 be uniquely generated each time a 401 response is made</td></tr>
+<tr>
+<td class=CDLEntry>cnonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  client nonce</td></tr>
+<tr>
+<td class=CDLEntry>user</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -    user name</td></tr>
+<tr>
+<td class=CDLEntry>realm</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   user realm</td></tr>
+<tr>
+<td class=CDLEntry>passwd</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  user password</td></tr>
+<tr>
+<td class=CDLEntry>alg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -     a string indicating a pair of algorithms used to produce the digest and a checksum</td></tr>
+<tr>
+<td class=CDLEntry>nonceCount</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - nonce count (8 hex digits)</td></tr>
+<tr>
+<td class=CDLEntry>method</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  method (from the request)</td></tr>
+<tr>
+<td class=CDLEntry>qop</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -     qop-value: &ldquo;&rdquo;, &ldquo;auth&rdquo;, &ldquo;auth-int&rdquo;</td></tr>
+<tr>
+<td class=CDLEntry>URI</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -     digest URI</td></tr>
+<tr>
+<td class=CDLEntry>HEntity</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - H(entity body) if qop=&rdquo;auth-int&rdquo;</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>digest response</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Support HTTP authentication (detailed description in RFC 2617) using uses one-way hash (md5) specified in RFC 1321.&nbsp; When a request arrives to server for an access-protected object, it responds an &ldquo;401 Unauthorized&rdquo; status code and a WWW-Authenticate header (encapsulate nonce and other necessary parameters).&nbsp; The client is expected to retry the request, passing an Authorization header with response field calculated with f_calculateDigestResponse().</p>
+<p>Overview: <a href="http://en.wikipedia.org/wiki/Digest_access_authentication" class=LURL target=_top>http://en.wikipedia.org<wbr>/wiki<wbr>/Digest_access_authentication</a></p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__calculateDigestHA1"></a>f__calculateDigestHA1</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate digest H(A1) hash</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>nonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   a server-specified data string which may `                                 be uniquely generated each time a 401 response is made</td></tr>
+<tr>
+<td class=CDLEntry>cnonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  client nonce</td></tr>
+<tr>
+<td class=CDLEntry>user</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -    user name</td></tr>
+<tr>
+<td class=CDLEntry>realm</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   user realm</td></tr>
+<tr>
+<td class=CDLEntry>passwd</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  user password</td></tr>
+<tr>
+<td class=CDLEntry>alg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -     a string indicating a pair of algorithms used to produce the digest and a checksum</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>digest response</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Overview: <a href="http://en.wikipedia.org/wiki/Digest_access_authentication" class=LURL target=_top>http://en.wikipedia.org<wbr>/wiki<wbr>/Digest_access_authentication</a></p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__TCCSecurity__hex2char"></a>f__TCCSecurity__hex2char</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Computes the 8 bit ASCII representation of an hexstring</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>hex</td>
+<td class=CDLDescription>
+<b>in</b> &lt;char*&gt; -  input value</td></tr>
+<tr>
+<td class=CDLEntry>str</td>
+<td class=CDLDescription>
+<b>out</b> &lt;char*&gt; - output value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__calculateMD5"></a>f__calculateMD5</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Compute MD5 hash value</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pszHashInput</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  input value to compute hash of</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>hashValue</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>charstring</b> -  hexa hash value of input</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__IMSAKA__f1"></a>f__IMSAKA__f1</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__OP</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - the operator variant algorithm configuration field</td></tr>
+<tr>
+<td class=CDLEntry>pl__k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr>
+<tr>
+<td class=CDLEntry>pl__sqn</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  sequence number</td></tr>
+<tr>
+<td class=CDLEntry>pl__amf</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  authentication management field</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>network authentication code MAC-A</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__IMSAKA__f2"></a>f__IMSAKA__f2</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns response RES.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__OP</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - the operator variant algorithm configuration field</td></tr>
+<tr>
+<td class=CDLEntry>pl__k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>response RES</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__IMSAKA__f3"></a>f__IMSAKA__f3</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns confidentiality key CK.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__OP</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - the operator variant algorithm configuration field</td></tr>
+<tr>
+<td class=CDLEntry>pl__k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>confidentiality key CK</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__IMSAKA__f4"></a>f__IMSAKA__f4</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns integrity key IK.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__OP</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - the operator variant algorithm configuration field</td></tr>
+<tr>
+<td class=CDLEntry>pl__k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>integrity key IK</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__IMSAKA__f2345"></a>f__IMSAKA__f2345</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns AK, CK, RES</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__OP</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - the operator variant algorithm configuration field</td></tr>
+<tr>
+<td class=CDLEntry>pl__k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>TCCSecurity_Keys typed value Errors: -</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__IMSAKA__f5"></a>f__IMSAKA__f5</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns anonymity key AK.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__OP</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - the operator variant algorithm configuration field</td></tr>
+<tr>
+<td class=CDLEntry>pl__k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>anonymity key AK</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__IMSAKA__f1star"></a>f__IMSAKA__f1star</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__OP</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - the operator variant algorithm configuration field</td></tr>
+<tr>
+<td class=CDLEntry>pl__k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr>
+<tr>
+<td class=CDLEntry>pl__sqn</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  sequence number</td></tr>
+<tr>
+<td class=CDLEntry>pl__amf</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  authentication management field</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>resynch authentication code MAC-S</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__IMSAKA__f5star"></a>f__IMSAKA__f5star</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__OP</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - the operator variant algorithm configuration field</td></tr>
+<tr>
+<td class=CDLEntry>pl__k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>resynch anonymity key AK</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__EAPSIM__A3A8"></a>f__EAPSIM__A3A8</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key Ki and random challenge RAND, and returns Kc and SRES keys</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__Ki</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - the shared key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr>
+<tr>
+<td class=CDLEntry>pl__sres</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>octetstring</b> -  authentication result param</td></tr>
+<tr>
+<td class=CDLEntry>pl__Kc</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>octetstring</b> - encryption key</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__IMSAKA__calculateAUTN"></a>f__IMSAKA__calculateAUTN</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Computes authentication token AUTN from anonymity key AK, random challenge RAND, sequence number SQN and authentication management field AMF.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__SQN</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - sequence number</td></tr>
+<tr>
+<td class=CDLEntry>pl__AK</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  anonymity key</td></tr>
+<tr>
+<td class=CDLEntry>pl__AMF</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - authentication management field</td></tr>
+<tr>
+<td class=CDLEntry>pl__MAC</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - encryption key</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>Authentication token - AUTN</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__calculateHMACMD5"></a>f__calculateHMACMD5</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate the HMAC MD5 value of a message with specified 64 bit key.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>msg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to be hashed</td></tr>
+<tr>
+<td class=CDLEntry>key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_64</b>      - 64 bit key of the hash function</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>Hash value (16 octet - 128 bit)</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<ul>
+<li>(should be kept because of backward compatibility reasons)</li>
+<li>HMAC() is an openssl specific function, should be found under openssl/hmac.h</li>
+<li>key can only be 64 bit (any other case please use f_calculate_HMAC_MD5)</li>
+<li>the length of generated hash value can only be 128 bit (any other case please use f_calculate_HMAC_MD5)</li></ul></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__calculate__HMAC__MD5"></a>f__calculate__HMAC__MD5</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate the HMAC MD5 value of a message with specified key.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b>   - key of the hash function</td></tr>
+<tr>
+<td class=CDLEntry>pl_input</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to be hashed</td></tr>
+<tr>
+<td class=CDLEntry>pl_length</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b>    - length of the output hash value (should be 16 in most of the cases)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>Hash value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<ul>
+<li>HMAC() is an openssl specific function, should be found under openssl/hmac.h</li></ul></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__calculate__HMAC__SHA1"></a>f__calculate__HMAC__SHA1</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate the HMAC SHA1 value of a message with specified key.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b>   - key of the hash function</td></tr>
+<tr>
+<td class=CDLEntry>pl_input</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to be hashed</td></tr>
+<tr>
+<td class=CDLEntry>pl_length</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b>    - length of the output hash value (should be 16 in most of the cases)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>Hash value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<ul>
+<li>HMAC() is an openssl specific function, should be found under openssl/hmac.h</li></ul></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__calculate128__EEA3"></a>f__calculate128__EEA3</h3>
+<div class=CBody>
+<p>Purpose: Encrypt TTCN-3 message using the confidentiality algorithm 128-EEA3</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT__16</b>   - confidentiality key</td></tr>
+<tr>
+<td class=CDLEntry>count</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT__4</b>    - counter</td></tr>
+<tr>
+<td class=CDLEntry>bearer</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>INT__5</b>    - bearer identity</td></tr>
+<tr>
+<td class=CDLEntry>direction</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>BIT__1</b>    - direction of transmission</td></tr>
+<tr>
+<td class=CDLEntry>msg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>BIT__1__65504</b> - input bit stream (message to be encrypted)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>BIT__1__65504</td>
+<td class=CDLDescription>output bit stream (encrypted message)</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__calculate128__EIA3"></a>f__calculate128__EIA3</h3>
+<div class=CBody>
+<p>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3 for TTCN-3 message</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT__16</b>   - integrity key key</td></tr>
+<tr>
+<td class=CDLEntry>count</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT__4</b>    - counter</td></tr>
+<tr>
+<td class=CDLEntry>bearer</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>INT__5</b>    - bearer identity</td></tr>
+<tr>
+<td class=CDLEntry>direction</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>BIT__1</b>    - direction of transmission</td></tr>
+<tr>
+<td class=CDLEntry>msg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>BIT__1__65504</b> - input bit stream (the message)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>BIT__32</td>
+<td class=CDLDescription>message authentication code (MAC)</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCSecurity_Functions-ttcn.html b/doc/apidoc/html/files/TCCSecurity_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..43b55ade60a43871cfda6f23155f9d015a809c5b
--- /dev/null
+++ b/doc/apidoc/html/files/TCCSecurity_Functions-ttcn.html
@@ -0,0 +1,1665 @@
+<html>
+<head>
+<title>TCCSecurity_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCSecurity_Functions"></a>TCCSecurity_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports security based operations e.g. fingerprint generation</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<h4 class=CHeading>Current Owner</h4>
+<p>EFLOATT</p>
+<h4 class=CHeading>Last Review Date</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCSecurity_Functions" >TCCSecurity_Functions</a></td>
+<td class=SDescription>This module supports security based operations e.g. </td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_calculateDigestResponse" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_calculateDigestResponse</a></td>
+<td class=SDescription>Calculate digest response</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_calculateDigestHA1" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_calculateDigestHA1</a></td>
+<td class=SDescription>Calculate digest H(A1) hash</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f__TCCSecurity__hex2char" >f__TCCSecurity__hex2char</a></td>
+<td class=SDescription>Computes the 8 bit ASCII representation of an hexstring</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_calculateMD5" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_calculateMD5</a></td>
+<td class=SDescription>Compute MD5 hash value</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_IMSAKA_f1" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">f_IMSAKA_f1</a></td>
+<td class=SDescription>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_IMSAKA_f2" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">f_IMSAKA_f2</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns response RES.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_IMSAKA_f3" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">f_IMSAKA_f3</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns confidentiality key CK.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_IMSAKA_f4" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">f_IMSAKA_f4</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns integrity key IK.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_IMSAKA_f2345" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">f_IMSAKA_f2345</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns AK, CK, RES</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_IMSAKA_f5" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">f_IMSAKA_f5</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns anonymity key AK.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_IMSAKA_f1star" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">f_IMSAKA_f1star</a></td>
+<td class=SDescription>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_IMSAKA_f5star" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">f_IMSAKA_f5star</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_EAPSIM_A3A8" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">f_EAPSIM_A3A8</a></td>
+<td class=SDescription>Takes key Ki and random challenge RAND, and returns Kc and SRES keys</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_IMSAKA_calculateAUTN" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">f_IMSAKA_calculateAUTN</a></td>
+<td class=SDescription>Computes authentication token AUTN from anonymity key AK, random challenge RAND, sequence number SQN and authentication management field AMF.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_calculateHMACMD5" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">f_calculateHMACMD5</a></td>
+<td class=SDescription>Calculate the 128 bit HMAC MD5 value of a message with specified 64 bit key.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_calculate_HMAC_MD5" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">f_calculate_HMAC_MD5</a></td>
+<td class=SDescription>Calculate the HMAC MD5 value of a message with specified key.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_calculate_HMAC_SHA1" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">f_calculate_HMAC_SHA1</a></td>
+<td class=SDescription>Calculate the HMAC SHA1 value of a message with specified key.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_calculate128_EEA3" >f_calculate128_EEA3</a></td>
+<td class=SDescription>Purpose: Encrypt message using the confidentiality algorithm 128-EEA3</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_calculate128_EIA3" >f_calculate128_EIA3</a></td>
+<td class=SDescription>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_calculateDigestResponse"></a>f_calculateDigestResponse</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=3>external function f_calculateDigestResponse(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>nonce,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>cnonce,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>user,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>realm,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>passwd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>alg,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>nonceCount,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>method,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>qop,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>URI,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>HEntity</td></tr>
+<tr>
+<td class=PAfterParameters colspan=3>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate digest response</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>nonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   a server-specified data string which may `                                 be uniquely generated each time a 401 response is made</td></tr>
+<tr>
+<td class=CDLEntry>cnonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  client nonce</td></tr>
+<tr>
+<td class=CDLEntry>user</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -    user name</td></tr>
+<tr>
+<td class=CDLEntry>realm</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   user realm</td></tr>
+<tr>
+<td class=CDLEntry>passwd</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  user password</td></tr>
+<tr>
+<td class=CDLEntry>alg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -     a string indicating a pair of algorithms used to produce the digest and a checksum</td></tr>
+<tr>
+<td class=CDLEntry>nonceCount</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - nonce count (8 hex digits)</td></tr>
+<tr>
+<td class=CDLEntry>method</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  method (from the request)</td></tr>
+<tr>
+<td class=CDLEntry>qop</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -     qop-value: &ldquo;&rdquo;, &ldquo;auth&rdquo;, &ldquo;auth-int&rdquo;</td></tr>
+<tr>
+<td class=CDLEntry>URI</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -     digest URI</td></tr>
+<tr>
+<td class=CDLEntry>HEntity</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - H(entity body) if qop=&rdquo;auth-int&rdquo;</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>digest response</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Support HTTP authentication (detailed description in RFC 2617) using uses one-way hash (md5) specified in RFC 1321.&nbsp; When a request arrives to server for an access-protected object, it responds an &ldquo;401 Unauthorized&rdquo; status code and a WWW-Authenticate header (encapsulate nonce and other necessary parameters).&nbsp; The client is expected to retry the request, passing an Authorization header with response field calculated with f_calculateDigestResponse().</p>
+<p>Overview: <a href="http://en.wikipedia.org/wiki/Digest_access_authentication" class=LURL target=_top>http://en.wikipedia.org<wbr>/wiki<wbr>/Digest_access_authentication</a></p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_calculateDigestHA1"></a>f_calculateDigestHA1</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateDigestHA1(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>nonce,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>cnonce,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>user,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>realm,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>passwd,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>alg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate digest H(A1) hash</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>nonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   a server-specified data string which may `                                 be uniquely generated each time a 401 response is made</td></tr>
+<tr>
+<td class=CDLEntry>cnonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  client nonce</td></tr>
+<tr>
+<td class=CDLEntry>user</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -    user name</td></tr>
+<tr>
+<td class=CDLEntry>realm</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   user realm</td></tr>
+<tr>
+<td class=CDLEntry>passwd</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  user password</td></tr>
+<tr>
+<td class=CDLEntry>alg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -     a string indicating a pair of algorithms used to produce the digest and a checksum</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>digest response</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Overview: <a href="http://en.wikipedia.org/wiki/Digest_access_authentication" class=LURL target=_top>http://en.wikipedia.org<wbr>/wiki<wbr>/Digest_access_authentication</a></p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f__TCCSecurity__hex2char"></a>f__TCCSecurity__hex2char</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Computes the 8 bit ASCII representation of an hexstring</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>hex</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  input value</td></tr>
+<tr>
+<td class=CDLEntry>str</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>charstring</b> - output value</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_calculateMD5"></a>f_calculateMD5</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateMD5(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pszHashInput</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Compute MD5 hash value</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pszHashInput</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  input value to compute MD5 hash</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>hexa hash value of input</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<ul>
+<li>MD5() is an openssl specific function, should be found under openssl/md5.h</li></ul></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IMSAKA_f1"></a>f_IMSAKA_f1</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f1(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_sqn,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_amf</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl_rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr>
+<tr>
+<td class=CDLEntry>pl_sqn</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  sequence number</td></tr>
+<tr>
+<td class=CDLEntry>pl_amf</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  authentication management field</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>network authentication code MAC-A</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IMSAKA_f2"></a>f_IMSAKA_f2</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f2 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns response RES.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl_rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>response RES</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IMSAKA_f3"></a>f_IMSAKA_f3</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f3 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns confidentiality key CK.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl_rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>confidentiality key CK</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IMSAKA_f4"></a>f_IMSAKA_f4</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f4 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns integrity key IK.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl_rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>integrity key IK</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IMSAKA_f2345"></a>f_IMSAKA_f2345</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_IMSAKA_f2345 (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_OP,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_k,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_rand</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return TCCSecurity_Keys</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns AK, CK, RES</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__OP</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - the operator variant algorithm configuration field</td></tr>
+<tr>
+<td class=CDLEntry>pl__k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>TCCSecurity_Keys typed value Errors: -</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IMSAKA_f5"></a>f_IMSAKA_f5</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f5 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns anonymity key AK.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl_rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>anonymity key AK</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IMSAKA_f1star"></a>f_IMSAKA_f1star</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f1star (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_sqn,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_amf</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl_rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr>
+<tr>
+<td class=CDLEntry>pl_sqn</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  sequence number</td></tr>
+<tr>
+<td class=CDLEntry>pl_amf</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  authentication management field</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>resynch authentication code MAC-S</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IMSAKA_f5star"></a>f_IMSAKA_f5star</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f5star (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>pl_rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>resynch anonymity key AK</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_EAPSIM_A3A8"></a>f_EAPSIM_A3A8</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_EAPSIM_A3A8(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_16&nbsp;</td>
+<td class=PParameter nowrap>Ki,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap></td>
+<td class=PType nowrap>OCT_16&nbsp;</td>
+<td class=PParameter nowrap>rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>sres,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>Kc</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key Ki and random challenge RAND, and returns Kc and SRES keys</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__Ki</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_16</b> - the shared key</td></tr>
+<tr>
+<td class=CDLEntry>pl__rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> -  random challenge</td></tr>
+<tr>
+<td class=CDLEntry>pl__sres</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>octetstring</b> -  authentication result param</td></tr>
+<tr>
+<td class=CDLEntry>pl__Kc</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>octetstring</b> - encryption key</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_IMSAKA_calculateAUTN"></a>f_IMSAKA_calculateAUTN</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_calculateAUTN(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_6&nbsp;</td>
+<td class=PParameter nowrap>SQN,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_6&nbsp;</td>
+<td class=PParameter nowrap>AK,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_2&nbsp;</td>
+<td class=PParameter nowrap>AMF,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_8&nbsp;</td>
+<td class=PParameter nowrap>MAC</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Computes authentication token AUTN from anonymity key AK, random challenge RAND, sequence number SQN and authentication management field AMF.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl__SQN</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_6</b> - sequence number</td></tr>
+<tr>
+<td class=CDLEntry>pl__AK</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_6</b> -  anonymity key</td></tr>
+<tr>
+<td class=CDLEntry>pl__AMF</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_2</b> - authentication management field</td></tr>
+<tr>
+<td class=CDLEntry>pl__MAC</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_8</b> - encryption key</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>Authentication token - AUTN</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_calculateHMACMD5"></a>f_calculateHMACMD5</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateHMACMD5(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>msg,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_64&nbsp;</td>
+<td class=PParameter nowrap>key</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate the 128 bit HMAC MD5 value of a message with specified 64 bit key.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>msg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to be hashed</td></tr>
+<tr>
+<td class=CDLEntry>key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_64</b>      - 64 bit key of the hash function</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>Hash value (16 octet)</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<ul>
+<li>key should be 64 bit long, output is 128 bit long</li></ul></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_calculate_HMAC_MD5"></a>f_calculate_HMAC_MD5</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_calculate_HMAC_MD5(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_key,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_input,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_length</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate the HMAC MD5 value of a message with specified key.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b>   - key of the hash function</td></tr>
+<tr>
+<td class=CDLEntry>pl_input</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to be hashed</td></tr>
+<tr>
+<td class=CDLEntry>pl_length</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b>    - length of the output hash value (should be 16 in most of the cases)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>Hash value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<ul>
+<li>key can be any length</li>
+<li>the length of output can be set in pl_length</li></ul></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_calculate_HMAC_SHA1"></a>f_calculate_HMAC_SHA1</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_calculate_HMAC_SHA1(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_key,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_input,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_length</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return octetstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate the HMAC SHA1 value of a message with specified key.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b>   - key of the hash function</td></tr>
+<tr>
+<td class=CDLEntry>pl_input</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>octetstring</b> - message to be hashed</td></tr>
+<tr>
+<td class=CDLEntry>pl_length</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>integer</b>    - length of the output hash value (should be 16 in most of the cases)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>octetstring</td>
+<td class=CDLDescription>Hash value</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<ul>
+<li>key can be any length</li>
+<li>the length of output can be set in pl_length</li></ul></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_calculate128_EEA3"></a>f_calculate128_EEA3</h3>
+<div class=CBody>
+<p>Purpose: Encrypt message using the confidentiality algorithm 128-EEA3</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_16</b>   - confidentiality key</td></tr>
+<tr>
+<td class=CDLEntry>count</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_4</b>    - counter</td></tr>
+<tr>
+<td class=CDLEntry>bearer</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>INT_5</b>    - bearer identity</td></tr>
+<tr>
+<td class=CDLEntry>direction</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>BIT_1</b>    - direction of transmission</td></tr>
+<tr>
+<td class=CDLEntry>msg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>BIT_1_65504</b> - input bit stream (message to be encrypted)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>BIT_1_65504</td>
+<td class=CDLDescription>output bit stream (encrypted message)</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_calculate128_EIA3"></a>f_calculate128_EIA3</h3>
+<div class=CBody>
+<p>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_16</b>   - integrity key key</td></tr>
+<tr>
+<td class=CDLEntry>count</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>OCT_4</b>    - counter</td></tr>
+<tr>
+<td class=CDLEntry>bearer</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>INT_5</b>    - bearer identity</td></tr>
+<tr>
+<td class=CDLEntry>direction</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>BIT_1</b>    - direction of transmission</td></tr>
+<tr>
+<td class=CDLEntry>msg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>BIT_1_65504</b> - input bit stream (the message)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>BIT_32</td>
+<td class=CDLDescription>message authentication code (MAC)</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=3>external function f_calculateDigestResponse(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>nonce,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>cnonce,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>user,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>realm,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>passwd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>alg,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>nonceCount,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>method,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>qop,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>URI,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>HEntity</td></tr>
+<tr>
+<td class=PAfterParameters colspan=3>) return charstring</td></tr></table></td></tr></table></blockquote>Calculate digest response</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateDigestHA1(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>nonce,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>cnonce,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>user,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>realm,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>passwd,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>alg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Calculate digest H(A1) hash</div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateMD5(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pszHashInput</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Compute MD5 hash value</div></div>
+<div class=CToolTip id="tt4">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f1(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_sqn,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_amf</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt5">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f2 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns response RES.</div></div>
+<div class=CToolTip id="tt6">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f3 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns confidentiality key CK.</div></div>
+<div class=CToolTip id="tt7">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f4 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns integrity key IK.</div></div>
+<div class=CToolTip id="tt8">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_IMSAKA_f2345 (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_OP,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_k,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_rand</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return TCCSecurity_Keys</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns AK, CK, RES</div></div>
+<div class=CToolTip id="tt9">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f5 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns anonymity key AK.</div></div>
+<div class=CToolTip id="tt10">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f1star (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_sqn,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_amf</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt11">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f5star (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</div></div>
+<div class=CToolTip id="tt12">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_EAPSIM_A3A8(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_16&nbsp;</td>
+<td class=PParameter nowrap>Ki,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap></td>
+<td class=PType nowrap>OCT_16&nbsp;</td>
+<td class=PParameter nowrap>rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>sres,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>Kc</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Takes key Ki and random challenge RAND, and returns Kc and SRES keys</div></div>
+<div class=CToolTip id="tt13">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_calculateAUTN(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_6&nbsp;</td>
+<td class=PParameter nowrap>SQN,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_6&nbsp;</td>
+<td class=PParameter nowrap>AK,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_2&nbsp;</td>
+<td class=PParameter nowrap>AMF,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_8&nbsp;</td>
+<td class=PParameter nowrap>MAC</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Computes authentication token AUTN from anonymity key AK, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt14">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateHMACMD5(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>msg,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_64&nbsp;</td>
+<td class=PParameter nowrap>key</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Calculate the 128 bit HMAC MD5 value of a message with specified 64 bit key.</div></div>
+<div class=CToolTip id="tt15">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_calculate_HMAC_MD5(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_key,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_input,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_length</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return octetstring</td></tr></table></td></tr></table></blockquote>Calculate the HMAC MD5 value of a message with specified key.</div></div>
+<div class=CToolTip id="tt16">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_calculate_HMAC_SHA1(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_key,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_input,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_length</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return octetstring</td></tr></table></td></tr></table></blockquote>Calculate the HMAC SHA1 value of a message with specified key.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCSystem-cc.html b/doc/apidoc/html/files/TCCSystem-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..54feaf5fb218827af677e0f556d66140451fd78f
--- /dev/null
+++ b/doc/apidoc/html/files/TCCSystem-cc.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<title>f_SYS_getpid - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFunction">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="f_SYS_getpid"></a>f_SYS_getpid</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Returns the pid of the process</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>pid</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCSystem_Functions-ttcn.html b/doc/apidoc/html/files/TCCSystem_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..54feaf5fb218827af677e0f556d66140451fd78f
--- /dev/null
+++ b/doc/apidoc/html/files/TCCSystem_Functions-ttcn.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<title>f_SYS_getpid - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFunction">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="f_SYS_getpid"></a>f_SYS_getpid</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Returns the pid of the process</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>integer</td>
+<td class=CDLDescription>pid</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCTemplate_Functions-ttcn.html b/doc/apidoc/html/files/TCCTemplate_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..1a62e16f45dfc036b04360d2f0bfc21e4bf1bbaf
--- /dev/null
+++ b/doc/apidoc/html/files/TCCTemplate_Functions-ttcn.html
@@ -0,0 +1,216 @@
+<html>
+<head>
+<title>TCCTemplate_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCTemplate_Functions"></a>TCCTemplate_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module supports template handling Originally for TitanSIM R2 needs it for substituting substrings in a charstring template.</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<h4 class=CHeading>Current Owner</h4>
+<p>Zsolt Szalai (EZSOSZA)</p>
+<h4 class=CHeading>Last Review Date</h4>
+<p>-</p>
+<h4 class=CHeading>Comments</h4>
+<p>Intruduction of ? regexp like behavior like \(x)? in our own pattern couses many troubles, like with the current templatefunc signature it can be impossible to determine the parameters(using 2 ? pattern) and lookup may need much more and complicated additions or rewrite that we may want at that time;</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCTemplate_Functions" >TCCTemplate_Functions</a></td>
+<td class=SDescription>This module supports template handling Originally for TitanSIM R2 needs it for substituting substrings in a charstring template.</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_Template_substitutetemplate" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_Template_substitutetemplate</a></td>
+<td class=SDescription>Makes the substitutions according to the dictonary given</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f_Template_subsfiletemplate" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_Template_subsfiletemplate</a></td>
+<td class=SDescription>Makes the substitutions in the content of the given file, according to the dictonary</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_Template_substitutetemplate"></a>f_Template_substitutetemplate</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_Template_substitutetemplate(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCSubstitutionList&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_dict,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_string</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Makes the substitutions according to the dictonary given</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_dict</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>TCCSubstitutionList</b> - dictionary</td></tr>
+<tr>
+<td class=CDLEntry>pl_string</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - string to substitute in</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>substituted string</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_Template_subsfiletemplate"></a>f_Template_subsfiletemplate</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_Template_subsfiletemplate(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCSubstitutionList&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_dict,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_file</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Makes the substitutions in the content of the given file, according to the dictonary</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pl_dict</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>TCCSubstitutionList</b> - dictionary</td></tr>
+<tr>
+<td class=CDLEntry>pl_file</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - name of the file containing the template</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>substituted string</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>From FIO</td>
+<td class=CDLDescription>in this case &ldquo;&rdquo; returns</td></tr></table>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_Template_substitutetemplate(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCSubstitutionList&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_dict,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_string</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Makes the substitutions according to the dictonary given</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_Template_subsfiletemplate(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCSubstitutionList&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_dict,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_file</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Makes the substitutions in the content of the given file, according to the dictonary</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCTitanMetadata-cc.html b/doc/apidoc/html/files/TCCTitanMetadata-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..e3c26bac407942241f5f629ff629934700c49412
--- /dev/null
+++ b/doc/apidoc/html/files/TCCTitanMetadata-cc.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<title>f__compilationTime - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFunction">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="f__compilationTime"></a>f__compilationTime</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the compilation time of module</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>compilation time</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCTitanMetadata_Functions-ttcn.html b/doc/apidoc/html/files/TCCTitanMetadata_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..8fdf382a2d4dfa512a91112682fa963e23ce1b94
--- /dev/null
+++ b/doc/apidoc/html/files/TCCTitanMetadata_Functions-ttcn.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<title>TCCTitanMetadata_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCTitanMetadata_Functions"></a>TCCTitanMetadata_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module support handling of Titan related metadata</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<h4 class=CHeading>Current Owner</h4>
+<p>Akos Pernek (EAKOPER)</p>
+<h4 class=CHeading>Last Review Date</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCTitanMetadata_Functions" >TCCTitanMetadata_Functions</a></td>
+<td class=SDescription>This module support handling of Titan related metadata</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f_compilationTime" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_compilationTime</a></td>
+<td class=SDescription>Return the compilation time of module</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f_compilationTime"></a>f_compilationTime</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_compilationTime() return charstring</td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>Return the compilation time of module</p>
+<h4 class=CHeading>Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>charstring</td>
+<td class=CDLDescription>compilation time</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_compilationTime() return charstring</td></tr></table></blockquote>Return the compilation time of module</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCUsefulFunctions.html b/doc/apidoc/html/files/TCCUsefulFunctions.html
new file mode 100644
index 0000000000000000000000000000000000000000..fe184fb81b1077363d1713af78c0d75bab344523
--- /dev/null
+++ b/doc/apidoc/html/files/TCCUsefulFunctions.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+  <title>TCCUsefulFunctions - Info</title>
+  <link rel="stylesheet" type="text/css" href="../styles/main.css">
+  <script language=JavaScript src="../javascript/main.js">
+  </script>
+</head>
+<body class=FramedIndexPage onLoad="NDOnLoad()">
+
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// -->
+</script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+<div class=CFile id=MainTopic>
+<div class=CTopic>
+  <h1 class=CTitle>TCCUsefulFunctions</h1>
+  <div class=CBody>
+     <!--START_INFO -->
+     <div class=Summary>
+     <div class=STitle>Information</div>
+     <div class=SBorder>
+     <table border=0 cellspacing=0 cellpadding=0 class=STable>
+     <tr>
+<td>
+       <b>Welcome to TCCUsefulFunctions Reference Guide pages.</b>
+     </td></tr>
+     </table>
+     </div>
+     </div>
+     </div>
+  </div>
+</div>
+</div>
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// 
+-->
+</script>
+</body>
+</html>
diff --git a/doc/apidoc/html/files/TCCXPathSupport-cc.html b/doc/apidoc/html/files/TCCXPathSupport-cc.html
new file mode 100644
index 0000000000000000000000000000000000000000..eb81cdd6c645c874db1ac417e53a786e0f809e62
--- /dev/null
+++ b/doc/apidoc/html/files/TCCXPathSupport-cc.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<title>XPathQuery - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFunction">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="XPathQuery"></a>XPathQuery</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>apply an XPath query on an XML document</p>
+<h4 class=CHeading>Parameters</h4>
+<p>xml_doc: the XML document to be processed.&nbsp; It is modeled by a pure TTCN-3 universal charstring and passed as an input parameter to this function</p>
+<p>xpath_query: the XPath Query.&nbsp; With this technology we can access a node of the XML tree.&nbsp; It is passed to the function as a universal charstring</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>universal charstring</td>
+<td class=CDLDescription>result of the query (information about one node of the XML tree)</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/TCCXPathSupport_Functions-ttcn.html b/doc/apidoc/html/files/TCCXPathSupport_Functions-ttcn.html
new file mode 100644
index 0000000000000000000000000000000000000000..445f10f559bfdf4600ec0e50f457718e791feb25
--- /dev/null
+++ b/doc/apidoc/html/files/TCCXPathSupport_Functions-ttcn.html
@@ -0,0 +1,129 @@
+<html>
+<head>
+<title>TCCXPathSupport_Functions - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="TCCXPathSupport_Functions"></a>TCCXPathSupport_Functions</h1>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>This module makes it possible to handle XML data throughout processing the XML data structure (tree) with in the way of handling XPath queries.</p>
+<h4 class=CHeading>Module Parameters</h4>
+<p>-</p>
+<h4 class=CHeading>Module depends on</h4>
+<p>-</p>
+<h4 class=CHeading>Current Owner</h4>
+<p>Marton Godar (EMRTGOD)</p>
+<h4 class=CHeading>Last Review Date</h4>
+<p>-</p>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#TCCXPathSupport_Functions" >TCCXPathSupport_Functions</a></td>
+<td class=SDescription>This module makes it possible to handle XML data throughout processing the XML data structure (tree) with in the way of handling XPath queries.</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#XPathQuery" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">XPathQuery</a></td>
+<td class=SDescription>apply an XPath query on an XML document</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="XPathQuery"></a>XPathQuery</h3>
+<div class=CBody>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function XPathQuery (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>xml_doc,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>xpath_query</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return universal charstring</td></tr></table></td></tr></table></blockquote>
+<h4 class=CHeading>Purpose</h4>
+<p>apply an XPath query on an XML document</p>
+<h4 class=CHeading>Parameters</h4>
+<p>xml_doc: the XML document to be processed.&nbsp; It is modeled by a pure TTCN-3 universal charstring and passed as an input parameter to this function</p>
+<p>xpath_query: the XPath Query.&nbsp; With this technology we can access a node of the XML tree.&nbsp; It is passed to the function as a universal charstring</p>
+<h4 class=CHeading>Return Value</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>universal charstring</td>
+<td class=CDLDescription>result of the query (information about one node of the XML tree)</td></tr></table>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function XPathQuery (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>xml_doc,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>xpath_query</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return universal charstring</td></tr></table></td></tr></table></blockquote>apply an XPath query on an XML document</div></div>
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/aka_algorythm_set-h.html b/doc/apidoc/html/files/aka_algorythm_set-h.html
new file mode 100644
index 0000000000000000000000000000000000000000..66b7faf7d2a16c206785ccb0f5fd3e0ceac6730d
--- /dev/null
+++ b/doc/apidoc/html/files/aka_algorythm_set-h.html
@@ -0,0 +1,441 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.h - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="aka_algorythm_set.h"></a>aka_algorythm_set.h</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#aka_algorythm_set.h" >aka_algorythm_set.h</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Variables" >Variables</a></td>
+<td class=SDescription></td></tr>
+<tr class="SVariable SIndent1 SMarked">
+<td class=SEntry>
+<a href="#u8" >u8</a></td>
+<td class=SDescription>type for a byte</td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f1" >f1</a></td>
+<td class=SDescription>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f2345" >f2345</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns response RES, confidentiality key CK, integrity key IK and anonymity key AK.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#f1star" >f1star</a></td>
+<td class=SDescription>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#f5star" >f5star</a></td>
+<td class=SDescription>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#ComputeOPc" >ComputeOPc</a></td>
+<td class=SDescription>Function to compute OPc from OP and K. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#RijndaelKeySchedule" >RijndaelKeySchedule</a></td>
+<td class=SDescription>Rijndael key schedule function. </td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#RijndaelEncrypt" >RijndaelEncrypt</a></td>
+<td class=SDescription>Rijndael encryption function. </td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#KeyAdd" >KeyAdd</a></td>
+<td class=SDescription>Round key addition function</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#ByteSub" >ByteSub</a></td>
+<td class=SDescription>Byte substitution transformation</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#ShiftRow" >ShiftRow</a></td>
+<td class=SDescription>Row shift transformation</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#MixColumn" >MixColumn</a></td>
+<td class=SDescription>MixColumn transformation</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Variables"></a>Variables</h3></div></div>
+
+<div class="CVariable">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="u8"></a>u8</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>type for a byte</p></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f1"></a>f1</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  random challenge</td></tr>
+<tr>
+<td class=CDLEntry>sqn</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  sequence number</td></tr>
+<tr>
+<td class=CDLEntry>amf</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  authentication management field</td></tr>
+<tr>
+<td class=CDLEntry>mac_a</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>unsigned char</b> -  network authentication code</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f2345"></a>f2345</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns response RES, confidentiality key CK, integrity key IK and anonymity key AK.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  random challenge</td></tr>
+<tr>
+<td class=CDLEntry>res</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>unsigned char</b> -  response</td></tr>
+<tr>
+<td class=CDLEntry>ck</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>unsigned char</b> -  confidentiality key</td></tr>
+<tr>
+<td class=CDLEntry>ik</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>unsigned char</b> -  integrity key</td></tr>
+<tr>
+<td class=CDLEntry>ak</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>unsigned char</b> -  anonymity key</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f1star"></a>f1star</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  random challenge</td></tr>
+<tr>
+<td class=CDLEntry>sqn</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  sequence number</td></tr>
+<tr>
+<td class=CDLEntry>amf</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  authentication management field</td></tr>
+<tr>
+<td class=CDLEntry>mac_s</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>unsigned char</b> -  resynch authentication code</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="f5star"></a>f5star</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>k</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  key</td></tr>
+<tr>
+<td class=CDLEntry>rand</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -  random challenge</td></tr>
+<tr>
+<td class=CDLEntry>ak</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>unsigned char</b> -  resynch anonymity key AK</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="ComputeOPc"></a>ComputeOPc</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Function to compute OPc from OP and K.&nbsp;  Assumes key schedule has already been performed.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>op_c</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="RijndaelKeySchedule"></a>RijndaelKeySchedule</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Rijndael key schedule function.&nbsp;  Takes 16-byte key and creates all Rijndael&rsquo;s internal subkeys ready for encryption.</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>key</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> - key</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="RijndaelEncrypt"></a>RijndaelEncrypt</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Rijndael encryption function.&nbsp;  Takes 16-byte input and creates 16-byte output (using round keys already derived from 16-byte key).</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>input</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> - input</td></tr>
+<tr>
+<td class=CDLEntry>output</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> - output</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="KeyAdd"></a>KeyAdd</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Round key addition function</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>state</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -</td></tr>
+<tr>
+<td class=CDLEntry>roundKeys</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -</td></tr>
+<tr>
+<td class=CDLEntry>round</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="ByteSub"></a>ByteSub</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Byte substitution transformation</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>state</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="ShiftRow"></a>ShiftRow</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Row shift transformation</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>state</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="MixColumn"></a>MixColumn</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>MixColumn transformation</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>state</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>unsigned char</b> -</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/digcalc-h.html b/doc/apidoc/html/files/digcalc-h.html
new file mode 100644
index 0000000000000000000000000000000000000000..a42d15dcf33804ee13880280aa5d9848b7b5a517
--- /dev/null
+++ b/doc/apidoc/html/files/digcalc-h.html
@@ -0,0 +1,208 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/digcalc.h - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="digcalc.h"></a>digcalc.h</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#digcalc.h" >digcalc.h</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#CvtHex" >CvtHex</a></td>
+<td class=SDescription>Convert hash value to hexa string</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#DigestCalcHA1" >DigestCalcHA1</a></td>
+<td class=SDescription>Calculate HA1 as defined in HTTP digest specification</td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#DigestCalcResponse" >DigestCalcResponse</a></td>
+<td class=SDescription>Calculate request-digest/response-digest as defined in HTTP Digest specification</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="CvtHex"></a>CvtHex</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Convert hash value to hexa string</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>Bin</td>
+<td class=CDLDescription>
+<b>in</b> &lt;HASH&gt; - hash value to be converted</td></tr>
+<tr>
+<td class=CDLEntry>Hex</td>
+<td class=CDLDescription>
+<b>out</b> &lt;HASHHEX&gt; - HEXA value of hash</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="DigestCalcHA1"></a>DigestCalcHA1</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate HA1 as defined in HTTP digest specification</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pszAlg</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -     a string indicating a pair of algorithms used to produce the digest and a checksum</td></tr>
+<tr>
+<td class=CDLEntry>pszUserName</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -    user name</td></tr>
+<tr>
+<td class=CDLEntry>pszRealm</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   user realm</td></tr>
+<tr>
+<td class=CDLEntry>pszPassword</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  user password</td></tr>
+<tr>
+<td class=CDLEntry>pszpwdlen</td>
+<td class=CDLDescription>
+<b>in</b> integer - lenght of the user password</td></tr>
+<tr>
+<td class=CDLEntry>pszNonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -   a server-specified data string which may be uniquely generated each time a 401 response is made</td></tr>
+<tr>
+<td class=CDLEntry>pszCNonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  client nonce</td></tr>
+<tr>
+<td class=CDLEntry>SessionKey</td>
+<td class=CDLDescription>
+<b>out</b> &lt;HASHHEX&gt; - HEXA value of hash HA1</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>HA1 = MD5(A1) = MD5(username:realm:password)</p>
+<h4 class=CHeading>If algorithm (pszAlg) is md5-sess</h4>
+<p>HA1 = MD5(HA1:nonce:cNonce)</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="DigestCalcResponse"></a>DigestCalcResponse</h3>
+<div class=CBody>
+<h4 class=CHeading>Purpose</h4>
+<p>Calculate request-digest/response-digest as defined in HTTP Digest specification</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>pszNonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  nonce</td></tr>
+<tr>
+<td class=CDLEntry>pszNonceCount</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  nonce count</td></tr>
+<tr>
+<td class=CDLEntry>pszCNonce</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  client nonce</td></tr>
+<tr>
+<td class=CDLEntry>pszQop</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> -  qop-value: &ldquo;&rdquo;, &ldquo;auth&rdquo;, &ldquo;auth-int&rdquo;</td></tr>
+<tr>
+<td class=CDLEntry>pszMethod</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - method (from the request)</td></tr>
+<tr>
+<td class=CDLEntry>pszDigestUri</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - digest URI</td></tr>
+<tr>
+<td class=CDLEntry>HEntity</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>charstring</b> - H(entity body) if qop=&rdquo;auth-int&rdquo;</td></tr>
+<tr>
+<td class=CDLEntry>Response</td>
+<td class=CDLDescription>
+<b>out</b> &lt;HASHHEX&gt; - HEXA Digest response</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>Default: HA2 = MD5(A2) = MD5(method:digestURI)</p>
+<h4 class=CHeading>If qop is &ldquo;auth-init&rdquo;</h4>
+<p>HA2 = MD5(method:digestURI:HEntity)</p>
+<p>Default: response = MD5(HA1:nonce)</p>
+<h4 class=CHeading>If Qop is not empty string</h4>
+<p>
+<b>response</b> = MD5(HA1:nonce:nonceCount:cNonce:Qop:HA2)</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/files/zuc-h.html b/doc/apidoc/html/files/zuc-h.html
new file mode 100644
index 0000000000000000000000000000000000000000..18b4112d1b75c0e6a1c5d02b2838e4d9996c5ce5
--- /dev/null
+++ b/doc/apidoc/html/files/zuc-h.html
@@ -0,0 +1,163 @@
+<html>
+<head>
+<title>/vobs/ttcn/TCC_Common/Libraries/TCCUsefulFunctions_CNL113472/src/zuc.h - TCCUsefulFunctions</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedContentPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content>
+<div class="CFile">
+<div class=CTopic id=MainTopic>
+<h1 class=CTitle>
+<a name="zuc.h"></a>zuc.h</h1>
+<div class=CBody>
+<!--START_ND_SUMMARY-->
+<div class=Summary>
+<div class=STitle>Summary</div>
+<div class=SBorder>
+<table border=0 cellspacing=0 cellpadding=0 class=STable>
+<tr class="SMain">
+<td class=SEntry>
+<a href="#zuc.h" >zuc.h</a></td>
+<td class=SDescription></td></tr>
+<tr class="SGroup">
+<td class=SEntry>
+<a href="#Functions" >Functions</a></td>
+<td class=SDescription></td></tr>
+<tr class="SFunction SIndent1 SMarked">
+<td class=SEntry>
+<a href="#EEA3" >EEA3</a></td>
+<td class=SDescription>Purpose: Encrypt message using the confidentiality algorithm 128-EEA3</td></tr>
+<tr class="SFunction SIndent1">
+<td class=SEntry>
+<a href="#EIA3" >EIA3</a></td>
+<td class=SDescription>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3</td></tr></table></div></div>
+<!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="EEA3"></a>EEA3</h3>
+<div class=CBody>
+<p>Purpose: Encrypt message using the confidentiality algorithm 128-EEA3</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>CK</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u8*</b>    - confidentiality key</td></tr>
+<tr>
+<td class=CDLEntry>COUNT</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u32</b>    - counter</td></tr>
+<tr>
+<td class=CDLEntry>BEARER</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u32</b>    - bearer identity</td></tr>
+<tr>
+<td class=CDLEntry>DIRECTION</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u32</b>    - direction of transmission</td></tr>
+<tr>
+<td class=CDLEntry>LENGTH</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u32</b>    - length of input bit stream</td></tr>
+<tr>
+<td class=CDLEntry>M</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u32*</b>   - input bit stream (message to be encrypted)</td></tr>
+<tr>
+<td class=CDLEntry>C</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>u32*</b>  - output bit stream (encrypted message)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+<div class="CFunction">
+<div class=CTopic>
+<h3 class=CTitle>
+<a name="EIA3"></a>EIA3</h3>
+<div class=CBody>
+<p>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3</p>
+<h4 class=CHeading>Parameters</h4>
+<table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList>
+<tr>
+<td class=CDLEntry>IK</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u8*</b>   - integrity key key</td></tr>
+<tr>
+<td class=CDLEntry>COUNT</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u32</b>   - counter</td></tr>
+<tr>
+<td class=CDLEntry>DIRECTION</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u32</b>   - direction of transmission</td></tr>
+<tr>
+<td class=CDLEntry>BEARER</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u32</b>   - bearer identity</td></tr>
+<tr>
+<td class=CDLEntry>LENGTH</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u32</b>   - length of input bit stream</td></tr>
+<tr>
+<td class=CDLEntry>M</td>
+<td class=CDLDescription>
+<b>in</b>
+<b>u32*</b>  - input bit stream (the message)</td></tr>
+<tr>
+<td class=CDLEntry>MAC</td>
+<td class=CDLDescription>
+<b>out</b>
+<b>u32*</b> - message authentication code (MAC)</td></tr></table>
+<h4 class=CHeading>Return Value</h4>
+<p>-</p>
+<h4 class=CHeading>Errors</h4>
+<p>-</p>
+<h4 class=CHeading>Detailed description</h4>
+<p>-</p></div></div></div>
+
+</div>
+<!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/index.html b/doc/apidoc/html/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..45487b7d687e166716500b7d11dc0335f50a0f86
--- /dev/null
+++ b/doc/apidoc/html/index.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>TCCUsefulFunctions</title></head>
+
+<!--  Copyright (c) 2015 Ericsson AB -->
+
+<frameset cols="250,*">
+  <frame name=Menu src="menu.html">
+  <frame name=Content src="files/TCCUsefulFunctions.html">
+</frameset>
+
+<noframes>
+This documentation was designed for use with frames.  However, you can still use it by <a href="menu.html">starting from the menu page</a>.
+<script language=JavaScript>
+<!--
+location.href="menu.html";
+// -->
+</script>
+</noframes>
+</html>
diff --git a/doc/apidoc/html/index.html~ b/doc/apidoc/html/index.html~
new file mode 100644
index 0000000000000000000000000000000000000000..95dcc7c7b61c7dd89026592594bb94f93dcf5b20
--- /dev/null
+++ b/doc/apidoc/html/index.html~
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>TCCUsefulFunctions</title></head>
+
+<!--  Copyright (c) 2015 Ericsson -->
+
+<frameset cols="250,*">
+  <frame name=Menu src="menu.html">
+  <frame name=Content src="files/TCCUsefulFunctions.html">
+</frameset>
+
+<noframes>
+This documentation was designed for use with frames.  However, you can still use it by <a href="menu.html">starting from the menu page</a>.
+<script language=JavaScript>
+<!--
+location.href="menu.html";
+// -->
+</script>
+</noframes>
+</html>
diff --git a/doc/apidoc/html/index/Constants.html b/doc/apidoc/html/index/Constants.html
new file mode 100644
index 0000000000000000000000000000000000000000..f94e9b9bec70cdffdffd7a7ecd05f21ce0339fcd
--- /dev/null
+++ b/doc/apidoc/html/index/Constants.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>TCCUsefulFunctions - Constant Index</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedIndexPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Constant Index</div>
+<div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; <a href="#C">C</a> &middot; D &middot; E &middot; F &middot; G &middot; H &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; <a href="#P">P</a> &middot; Q &middot; R &middot; S &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=IHeading id=IFirstHeading>
+<a name="C"></a>C</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#c_TCCIPsec_anyPort" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>c_TCCIPsec_anyPort</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#c_TCCIPsec_prefixAll" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>c_TCCIPsec_prefixAll</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="P"></a>P</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#pi" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>pi</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CConstant>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>const integer c_TCCIPsec_anyPort := 0</td></tr></table></blockquote>Provides port value representing any port</div></div>
+<div class=CToolTip id="tt2">
+<div class=CConstant>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>const integer c_TCCIPsec_prefixAll := -1</td></tr></table></blockquote>Provides port value representing any port</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt3">
+<div class=CConstant>Provide the value of pi</div></div>
+<!--END_ND_TOOLTIPS-->
+
+</div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/index/Files.html b/doc/apidoc/html/index/Files.html
new file mode 100644
index 0000000000000000000000000000000000000000..282e94ed2404bb531bd33d2221280ad03de0d438
--- /dev/null
+++ b/doc/apidoc/html/index/Files.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>TCCUsefulFunctions - File Index</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedIndexPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>File Index</div>
+<div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="#A">A</a> &middot; B &middot; C &middot; <a href="#D">D</a> &middot; E &middot; F &middot; G &middot; H &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; <a href="#R">R</a> &middot; S &middot; <a href="#T">T</a> &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; <a href="#Z">Z</a></div>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=IHeading id=IFirstHeading>
+<a name="A"></a>A</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#aka_algorythm_set.h"  class=ISymbol>aka_algorythm_set.h</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="D"></a>D</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/digcalc-h.html#digcalc.h"  class=ISymbol>digcalc.h</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="R"></a>R</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCRegexp_Functions-ttcn.html#Regexp_Functions" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>Regexp_Functions</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="T"></a>T</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCAssertion_Functions-ttcn.html#TCCAssertion_Functions" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>TCCAssertion_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#TCCConversion.cc"  class=ISymbol>TCCConversion.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#TCCConversion_Functions" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>TCCConversion_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#TCCDateTime.cc"  class=ISymbol>TCCDateTime.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#TCCDateTime_Functions" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>TCCDateTime_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#TCCEncoding.cc"  class=ISymbol>TCCEncoding.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#TCCEncoding_Functions" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>TCCEncoding_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv-cc.html#TCCEnv.cc"  class=ISymbol>TCCEnv.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#TCCEnv_Functions" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>TCCEnv_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#TCCFileIO.cc"  class=ISymbol>TCCFileIO.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#TCCFileIO_Functions" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>TCCFileIO_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#TCCFileSystem_Functions" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>TCCFileSystem_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#TCCInterface.cc"  class=ISymbol>TCCInterface.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#TCCInterface_Functions" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>TCCInterface_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Definitions.ttcn"  class=ISymbol>TCCIPsec_Definitions.ttcn</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#TCCIPsec_Functions" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>TCCIPsec_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#TCCMaths.cc"  class=ISymbol>TCCMaths.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#TCCMaths_Functions" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>TCCMaths_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#TCCMaths_GenericTypes" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>TCCMaths_GenericTypes</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#TCCMessageHandling_Functions" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>TCCMessageHandling_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#TCCSecurity.cc"  class=ISymbol>TCCSecurity.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#TCCSecurity_Functions" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>TCCSecurity_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#TCCTemplate_Functions" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>TCCTemplate_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTitanMetadata_Functions-ttcn.html#TCCTitanMetadata_Functions" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>TCCTitanMetadata_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCXPathSupport_Functions-ttcn.html#TCCXPathSupport_Functions" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>TCCXPathSupport_Functions</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="Z"></a>Z</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/zuc-h.html#zuc.h"  class=ISymbol>zuc.h</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFile>This module provides a non TTCN regular expression handling functions</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt2">
+<div class=CFile>This module supports assertion handling</div></div>
+<div class=CToolTip id="tt3">
+<div class=CFile>This module supports string conversions</div></div>
+<div class=CToolTip id="tt4">
+<div class=CFile>This module supports date and time handling</div></div>
+<div class=CToolTip id="tt5">
+<div class=CFile>This module supports message based encoding of certain types</div></div>
+<div class=CToolTip id="tt6">
+<div class=CFile>This module supports handling of environment e.g. </div></div>
+<div class=CToolTip id="tt7">
+<div class=CFile>This module supports file I/O handling</div></div>
+<div class=CToolTip id="tt8">
+<div class=CFile>This module supports File System information</div></div>
+<div class=CToolTip id="tt9">
+<div class=CFile>This module supports network related operations</div></div>
+<div class=CToolTip id="tt10">
+<div class=CFile>This module provides access to the IPsec parameter databases: SADB and SPDB</div></div>
+<div class=CToolTip id="tt11">
+<div class=CFile>This module supports mathematics</div></div>
+<div class=CToolTip id="tt12">
+<div class=CFile>This module stores generic types for math functions</div></div>
+<div class=CToolTip id="tt13">
+<div class=CFile>This module provide message handling functions</div></div>
+<div class=CToolTip id="tt14">
+<div class=CFile>This module supports security based operations e.g. </div></div>
+<div class=CToolTip id="tt15">
+<div class=CFile>This module supports template handling Originally for TitanSIM R2 needs it for substituting substrings in a charstring template.</div></div>
+<div class=CToolTip id="tt16">
+<div class=CFile>This module support handling of Titan related metadata</div></div>
+<div class=CToolTip id="tt17">
+<div class=CFile>This module makes it possible to handle XML data throughout processing the XML data structure (tree) with in the way of handling XPath queries.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+</div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/index/Functions.html b/doc/apidoc/html/index/Functions.html
new file mode 100644
index 0000000000000000000000000000000000000000..bff803c0fe816eceeac2c0ec8b5039ccaa6c81a7
--- /dev/null
+++ b/doc/apidoc/html/index/Functions.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>TCCUsefulFunctions - Function Index</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedIndexPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Function Index</div>
+<div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; <a href="#B">B</a> &middot; <a href="#C">C</a> &middot; <a href="#D">D</a> &middot; <a href="#E">E</a> &middot; <a href="Functions2.html#F">F</a> &middot; G &middot; H &middot; I &middot; J &middot; <a href="Functions3.html#K">K</a> &middot; L &middot; <a href="Functions3.html#M">M</a> &middot; N &middot; O &middot; P &middot; Q &middot; <a href="Functions3.html#R">R</a> &middot; <a href="Functions3.html#S">S</a> &middot; T &middot; U &middot; V &middot; W &middot; <a href="Functions3.html#X">X</a> &middot; Y &middot; Z</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=IHeading id=IFirstHeading>
+<a name="B"></a>B</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ByteSub" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>ByteSub</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="C"></a>C</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ComputeOPc" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>ComputeOPc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/digcalc-h.html#CvtHex" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>CvtHex</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="D"></a>D</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#dec__LDIF__Base64" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>dec__LDIF__Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#dec__MIME__Base64" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>dec__MIME__Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#dec_LDIF_Base64" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>dec_LDIF_Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#dec_MIME_Base64" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>dec_MIME_Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/digcalc-h.html#DigestCalcHA1" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>DigestCalcHA1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/digcalc-h.html#DigestCalcResponse" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>DigestCalcResponse</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="E"></a>E</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/zuc-h.html#EEA3" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>EEA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/zuc-h.html#EIA3" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>EIA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#enc__LDIF__Base64" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>enc__LDIF__Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#enc__MIME__Base64" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>enc__MIME__Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#enc_LDIF_Base64" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>enc_LDIF_Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#enc_MIME_Base64" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>enc_MIME_Base64</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CFunction>Byte substitution transformation</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt2">
+<div class=CFunction>Function to compute OPc from OP and K. </div></div>
+<div class=CToolTip id="tt3">
+<div class=CFunction>Convert hash value to hexa string</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt4">
+<div class=CFunction>Decode message from LDIF Base64 format (RFC 2849)</div></div>
+<div class=CToolTip id="tt5">
+<div class=CFunction>Decode message from MIME Base64 format (RFC 2045)</div></div>
+<div class=CToolTip id="tt6">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function dec_LDIF_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_b64</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Decode message from LDIF Base64 format (RFC 2849)</div></div>
+<div class=CToolTip id="tt7">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function dec_MIME_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_b64</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Decode message from MIME Base64 format (RFC 2045)</div></div>
+<div class=CToolTip id="tt8">
+<div class=CFunction>Calculate HA1 as defined in HTTP digest specification</div></div>
+<div class=CToolTip id="tt9">
+<div class=CFunction>Calculate request-digest/response-digest as defined in HTTP Digest specification</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt10">
+<div class=CFunction>Purpose: Encrypt message using the confidentiality algorithm 128-EEA3</div></div>
+<div class=CToolTip id="tt11">
+<div class=CFunction>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3</div></div>
+<div class=CToolTip id="tt12">
+<div class=CFunction>Encode message to LDIF Base64 format (RFC 2849)</div></div>
+<div class=CToolTip id="tt13">
+<div class=CFunction>Encode message to MIME Base64 format (RFC 2045)</div></div>
+<div class=CToolTip id="tt14">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function enc_LDIF_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>p_msg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Encode message to LDIF Base64 format (RFC 2849)</div></div>
+<div class=CToolTip id="tt15">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function enc_MIME_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>p_msg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Encode message to MIME Base64 format (RFC 2045)</div></div>
+<!--END_ND_TOOLTIPS-->
+
+</div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/index/Functions2.html b/doc/apidoc/html/index/Functions2.html
new file mode 100644
index 0000000000000000000000000000000000000000..b818dadd6f20fa356bfbbe80712b77ab79af5c33
--- /dev/null
+++ b/doc/apidoc/html/index/Functions2.html
@@ -0,0 +1,3878 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>TCCUsefulFunctions - Function Index</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedIndexPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Function Index</div>
+<div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; <a href="Functions.html#B">B</a> &middot; <a href="Functions.html#C">C</a> &middot; <a href="Functions.html#D">D</a> &middot; <a href="Functions.html#E">E</a> &middot; <a href="#F">F</a> &middot; G &middot; H &middot; I &middot; J &middot; <a href="Functions3.html#K">K</a> &middot; L &middot; <a href="Functions3.html#M">M</a> &middot; N &middot; O &middot; P &middot; Q &middot; <a href="Functions3.html#R">R</a> &middot; <a href="Functions3.html#S">S</a> &middot; T &middot; U &middot; V &middot; W &middot; <a href="Functions3.html#X">X</a> &middot; Y &middot; Z</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=IHeading id=IFirstHeading>
+<a name="F"></a>F</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__acos" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>f__acos</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__addOctetstring" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>f__addOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__asin" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>f__asin</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCAssertion-cc.html#f__assert" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>f__assert</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__averageFL" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>f__averageFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__averageIL" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>f__averageIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate__HMAC__MD5" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>f__calculate__HMAC__MD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate__HMAC__SHA1" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>f__calculate__HMAC__SHA1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate128__EEA3" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>f__calculate128__EEA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate128__EIA3" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>f__calculate128__EIA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateDigestHA1" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>f__calculateDigestHA1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateDigestResponse" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>f__calculateDigestResponse</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateHMACMD5" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>f__calculateHMACMD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateMD5" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>f__calculateMD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__ceil" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>f__ceil</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTitanMetadata-cc.html#f__compilationTime" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>f__compilationTime</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__compOctetstring" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>f__compOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__cos" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>f__cos</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__cosVL" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>f__cosVL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__ctime" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>f__ctime</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__ctime__UTC" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>f__ctime__UTC</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#f__dec__TBCD" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>f__dec__TBCD</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__deleteIP" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>f__deleteIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__EAPSIM__A3A8" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>f__EAPSIM__A3A8</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#f__enc__TBCD" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')" class=ISymbol>f__enc__TBCD</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__exp" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')" class=ISymbol>f__exp</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__chdir" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')" class=ISymbol>f__FIO__chdir</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__close" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')" class=ISymbol>f__FIO__close</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__flush" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')" class=ISymbol>f__FIO__flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__get__error__code" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')" class=ISymbol>f__FIO__get__error__code</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__get__error__string" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')" class=ISymbol>f__FIO__get__error__string</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')" class=ISymbol>f__FIO__open</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__rdwr" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')" class=ISymbol>f__FIO__open__append__rdwr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__rdwr__excl" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')" class=ISymbol>f__FIO__open__append__rdwr__excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__wronly" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')" class=ISymbol>f__FIO__open__append__wronly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__wronly__excl" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')" class=ISymbol>f__FIO__open__append__wronly__excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__rdonly" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')" class=ISymbol>f__FIO__open__rdonly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__rdwr" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')" class=ISymbol>f__FIO__open__trunc__rdwr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__rdwr__excl" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')" class=ISymbol>f__FIO__open__trunc__rdwr__excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__wronly" id=link55 onMouseOver="ShowTip(event, 'tt55', 'link55')" onMouseOut="HideTip('tt55')" class=ISymbol>f__FIO__open__trunc__wronly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__wronly__excl" id=link56 onMouseOver="ShowTip(event, 'tt56', 'link56')" onMouseOut="HideTip('tt56')" class=ISymbol>f__FIO__open__trunc__wronly__excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__opened" id=link57 onMouseOver="ShowTip(event, 'tt57', 'link57')" onMouseOut="HideTip('tt57')" class=ISymbol>f__FIO__opened</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read" id=link58 onMouseOver="ShowTip(event, 'tt58', 'link58')" onMouseOut="HideTip('tt58')" class=ISymbol>f__FIO__read</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data" id=link59 onMouseOver="ShowTip(event, 'tt59', 'link59')" onMouseOut="HideTip('tt59')" class=ISymbol>f__FIO__read__data</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data__TLV" id=link60 onMouseOver="ShowTip(event, 'tt60', 'link60')" onMouseOut="HideTip('tt60')" class=ISymbol>f__FIO__read__data__TLV</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data__until" id=link61 onMouseOver="ShowTip(event, 'tt61', 'link61')" onMouseOut="HideTip('tt61')" class=ISymbol>f__FIO__read__data__until</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__text" id=link62 onMouseOver="ShowTip(event, 'tt62', 'link62')" onMouseOut="HideTip('tt62')" class=ISymbol>f__FIO__read__text</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__text__until" id=link63 onMouseOver="ShowTip(event, 'tt63', 'link63')" onMouseOut="HideTip('tt63')" class=ISymbol>f__FIO__read__text__until</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__realize__error" id=link64 onMouseOver="ShowTip(event, 'tt64', 'link64')" onMouseOut="HideTip('tt64')" class=ISymbol>f__FIO__realize__error</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__backward" id=link65 onMouseOver="ShowTip(event, 'tt65', 'link65')" onMouseOut="HideTip('tt65')" class=ISymbol>f__FIO__seek__backward</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__end" id=link66 onMouseOver="ShowTip(event, 'tt66', 'link66')" onMouseOut="HideTip('tt66')" class=ISymbol>f__FIO__seek__end</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__forward" id=link67 onMouseOver="ShowTip(event, 'tt67', 'link67')" onMouseOut="HideTip('tt67')" class=ISymbol>f__FIO__seek__forward</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__home" id=link68 onMouseOver="ShowTip(event, 'tt68', 'link68')" onMouseOut="HideTip('tt68')" class=ISymbol>f__FIO__seek__home</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__set__filedescriptor__previousline" id=link69 onMouseOver="ShowTip(event, 'tt69', 'link69')" onMouseOut="HideTip('tt69')" class=ISymbol>f__FIO__set__filedescriptor__previousline</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write" id=link70 onMouseOver="ShowTip(event, 'tt70', 'link70')" onMouseOut="HideTip('tt70')" class=ISymbol>f__FIO__write</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__data" id=link71 onMouseOver="ShowTip(event, 'tt71', 'link71')" onMouseOut="HideTip('tt71')" class=ISymbol>f__FIO__write__data</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__data__flush" id=link72 onMouseOver="ShowTip(event, 'tt72', 'link72')" onMouseOut="HideTip('tt72')" class=ISymbol>f__FIO__write__data__flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__text" id=link73 onMouseOver="ShowTip(event, 'tt73', 'link73')" onMouseOut="HideTip('tt73')" class=ISymbol>f__FIO__write__text</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__text__flush" id=link74 onMouseOver="ShowTip(event, 'tt74', 'link74')" onMouseOut="HideTip('tt74')" class=ISymbol>f__FIO__write__text__flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__floor" id=link75 onMouseOver="ShowTip(event, 'tt75', 'link75')" onMouseOut="HideTip('tt75')" class=ISymbol>f__floor</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getCurrentDateWithOffset" id=link76 onMouseOver="ShowTip(event, 'tt76', 'link76')" onMouseOut="HideTip('tt76')" class=ISymbol>f__getCurrentDateWithOffset</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getCurrentGMTDate" id=link77 onMouseOver="ShowTip(event, 'tt77', 'link77')" onMouseOut="HideTip('tt77')" class=ISymbol>f__getCurrentGMTDate</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv-cc.html#f__GetEnv" id=link78 onMouseOver="ShowTip(event, 'tt78', 'link78')" onMouseOut="HideTip('tt78')" class=ISymbol>f__GetEnv</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getHostName" id=link79 onMouseOver="ShowTip(event, 'tt79', 'link79')" onMouseOut="HideTip('tt79')" class=ISymbol>f__getHostName</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getIP" id=link80 onMouseOver="ShowTip(event, 'tt80', 'link80')" onMouseOut="HideTip('tt80')" class=ISymbol>f__getIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getIpAddr" id=link81 onMouseOver="ShowTip(event, 'tt81', 'link81')" onMouseOut="HideTip('tt81')" class=ISymbol>f__getIpAddr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getTimeFormatted" id=link82 onMouseOver="ShowTip(event, 'tt82', 'link82')" onMouseOut="HideTip('tt82')" class=ISymbol>f__getTimeFormatted</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__calculateAUTN" id=link83 onMouseOver="ShowTip(event, 'tt83', 'link83')" onMouseOut="HideTip('tt83')" class=ISymbol>f__IMSAKA__calculateAUTN</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f1" id=link84 onMouseOver="ShowTip(event, 'tt84', 'link84')" onMouseOut="HideTip('tt84')" class=ISymbol>f__IMSAKA__f1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f1star" id=link85 onMouseOver="ShowTip(event, 'tt85', 'link85')" onMouseOut="HideTip('tt85')" class=ISymbol>f__IMSAKA__f1star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f2" id=link86 onMouseOver="ShowTip(event, 'tt86', 'link86')" onMouseOut="HideTip('tt86')" class=ISymbol>f__IMSAKA__f2</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f2345" id=link87 onMouseOver="ShowTip(event, 'tt87', 'link87')" onMouseOut="HideTip('tt87')" class=ISymbol>f__IMSAKA__f2345</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f3" id=link88 onMouseOver="ShowTip(event, 'tt88', 'link88')" onMouseOut="HideTip('tt88')" class=ISymbol>f__IMSAKA__f3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f4" id=link89 onMouseOver="ShowTip(event, 'tt89', 'link89')" onMouseOut="HideTip('tt89')" class=ISymbol>f__IMSAKA__f4</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f5" id=link90 onMouseOver="ShowTip(event, 'tt90', 'link90')" onMouseOut="HideTip('tt90')" class=ISymbol>f__IMSAKA__f5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f5star" id=link91 onMouseOver="ShowTip(event, 'tt91', 'link91')" onMouseOut="HideTip('tt91')" class=ISymbol>f__IMSAKA__f5star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__log" id=link92 onMouseOver="ShowTip(event, 'tt92', 'link92')" onMouseOut="HideTip('tt92')" class=ISymbol>f__log</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__maxFL" id=link93 onMouseOver="ShowTip(event, 'tt93', 'link93')" onMouseOut="HideTip('tt93')" class=ISymbol>f__maxFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__maxIL" id=link94 onMouseOver="ShowTip(event, 'tt94', 'link94')" onMouseOut="HideTip('tt94')" class=ISymbol>f__maxIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__minFL" id=link95 onMouseOver="ShowTip(event, 'tt95', 'link95')" onMouseOut="HideTip('tt95')" class=ISymbol>f__minFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__minIL" id=link96 onMouseOver="ShowTip(event, 'tt96', 'link96')" onMouseOut="HideTip('tt96')" class=ISymbol>f__minIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powFF" id=link97 onMouseOver="ShowTip(event, 'tt97', 'link97')" onMouseOut="HideTip('tt97')" class=ISymbol>f__powFF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powFI" id=link98 onMouseOver="ShowTip(event, 'tt98', 'link98')" onMouseOut="HideTip('tt98')" class=ISymbol>f__powFI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powIF" id=link99 onMouseOver="ShowTip(event, 'tt99', 'link99')" onMouseOut="HideTip('tt99')" class=ISymbol>f__powIF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powII" id=link100 onMouseOver="ShowTip(event, 'tt100', 'link100')" onMouseOut="HideTip('tt100')" class=ISymbol>f__powII</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv-cc.html#f__PutEnv" id=link101 onMouseOver="ShowTip(event, 'tt101', 'link101')" onMouseOut="HideTip('tt101')" class=ISymbol>f__PutEnv</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__putInLowercase" id=link102 onMouseOver="ShowTip(event, 'tt102', 'link102')" onMouseOut="HideTip('tt102')" class=ISymbol>f__putInLowercase</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__putInUppercase" id=link103 onMouseOver="ShowTip(event, 'tt103', 'link103')" onMouseOut="HideTip('tt103')" class=ISymbol>f__putInUppercase</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setInterfaceDown" id=link104 onMouseOver="ShowTip(event, 'tt104', 'link104')" onMouseOut="HideTip('tt104')" class=ISymbol>f__setInterfaceDown</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setInterfaceUp" id=link105 onMouseOver="ShowTip(event, 'tt105', 'link105')" onMouseOut="HideTip('tt105')" class=ISymbol>f__setInterfaceUp</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setIP" id=link106 onMouseOver="ShowTip(event, 'tt106', 'link106')" onMouseOut="HideTip('tt106')" class=ISymbol>f__setIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sin" id=link107 onMouseOver="ShowTip(event, 'tt107', 'link107')" onMouseOut="HideTip('tt107')" class=ISymbol>f__sin</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sinVL" id=link108 onMouseOver="ShowTip(event, 'tt108', 'link108')" onMouseOut="HideTip('tt108')" class=ISymbol>f__sinVL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrF" id=link109 onMouseOver="ShowTip(event, 'tt109', 'link109')" onMouseOut="HideTip('tt109')" class=ISymbol>f__sqrF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrI" id=link110 onMouseOver="ShowTip(event, 'tt110', 'link110')" onMouseOut="HideTip('tt110')" class=ISymbol>f__sqrI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrtF" id=link111 onMouseOver="ShowTip(event, 'tt111', 'link111')" onMouseOut="HideTip('tt111')" class=ISymbol>f__sqrtF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrtI" id=link112 onMouseOver="ShowTip(event, 'tt112', 'link112')" onMouseOut="HideTip('tt112')" class=ISymbol>f__sqrtI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdFL" id=link113 onMouseOver="ShowTip(event, 'tt113', 'link113')" onMouseOut="HideTip('tt113')" class=ISymbol>f__stdFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdFLL" id=link114 onMouseOver="ShowTip(event, 'tt114', 'link114')" onMouseOut="HideTip('tt114')" class=ISymbol>f__stdFLL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdIL" id=link115 onMouseOver="ShowTip(event, 'tt115', 'link115')" onMouseOut="HideTip('tt115')" class=ISymbol>f__stdIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdILL" id=link116 onMouseOver="ShowTip(event, 'tt116', 'link116')" onMouseOut="HideTip('tt116')" class=ISymbol>f__stdILL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__subOctetstring" id=link117 onMouseOver="ShowTip(event, 'tt117', 'link117')" onMouseOut="HideTip('tt117')" class=ISymbol>f__subOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f__TCCSecurity__hex2char</span>
+<div class=ISubIndex>
+<a href="../files/TCCSecurity-cc.html#f__TCCSecurity__hex2char" id=link118 onMouseOver="ShowTip(event, 'tt118', 'link118')" onMouseOut="HideTip('tt118')" class=IFile>TCCSecurity.cc</a>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f__TCCSecurity__hex2char" id=link119 onMouseOver="ShowTip(event, 'tt118', 'link119')" onMouseOut="HideTip('tt118')" class=IFile>TCCSecurity_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__tic" id=link120 onMouseOver="ShowTip(event, 'tt119', 'link120')" onMouseOut="HideTip('tt119')" class=ISymbol>f__tic</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time" id=link121 onMouseOver="ShowTip(event, 'tt120', 'link121')" onMouseOut="HideTip('tt120')" class=ISymbol>f__time</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time2sec" id=link122 onMouseOver="ShowTip(event, 'tt121', 'link122')" onMouseOut="HideTip('tt121')" class=ISymbol>f__time2sec</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time2sec__UTC" id=link123 onMouseOver="ShowTip(event, 'tt122', 'link123')" onMouseOut="HideTip('tt122')" class=ISymbol>f__time2sec__UTC</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__timeDiff" id=link124 onMouseOver="ShowTip(event, 'tt123', 'link124')" onMouseOut="HideTip('tt123')" class=ISymbol>f__timeDiff</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__toc" id=link125 onMouseOver="ShowTip(event, 'tt124', 'link125')" onMouseOut="HideTip('tt124')" class=ISymbol>f__toc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__updateFL" id=link126 onMouseOver="ShowTip(event, 'tt125', 'link126')" onMouseOut="HideTip('tt125')" class=ISymbol>f__updateFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__updateIL" id=link127 onMouseOver="ShowTip(event, 'tt126', 'link127')" onMouseOut="HideTip('tt126')" class=ISymbol>f__updateIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_acos" id=link128 onMouseOver="ShowTip(event, 'tt127', 'link128')" onMouseOut="HideTip('tt127')" class=ISymbol>f_acos</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_addOctetstring" id=link129 onMouseOver="ShowTip(event, 'tt128', 'link129')" onMouseOut="HideTip('tt128')" class=ISymbol>f_addOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_asin" id=link130 onMouseOver="ShowTip(event, 'tt129', 'link130')" onMouseOut="HideTip('tt129')" class=ISymbol>f_asin</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCAssertion_Functions-ttcn.html#f_assert" id=link131 onMouseOver="ShowTip(event, 'tt130', 'link131')" onMouseOut="HideTip('tt130')" class=ISymbol>f_assert</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_averageFL" id=link132 onMouseOver="ShowTip(event, 'tt131', 'link132')" onMouseOut="HideTip('tt131')" class=ISymbol>f_averageFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_averageIL" id=link133 onMouseOver="ShowTip(event, 'tt132', 'link133')" onMouseOut="HideTip('tt132')" class=ISymbol>f_averageIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate_HMAC_MD5" id=link134 onMouseOver="ShowTip(event, 'tt133', 'link134')" onMouseOut="HideTip('tt133')" class=ISymbol>f_calculate_HMAC_MD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate_HMAC_SHA1" id=link135 onMouseOver="ShowTip(event, 'tt134', 'link135')" onMouseOut="HideTip('tt134')" class=ISymbol>f_calculate_HMAC_SHA1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate128_EEA3" id=link136 onMouseOver="ShowTip(event, 'tt135', 'link136')" onMouseOut="HideTip('tt135')" class=ISymbol>f_calculate128_EEA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate128_EIA3" id=link137 onMouseOver="ShowTip(event, 'tt136', 'link137')" onMouseOut="HideTip('tt136')" class=ISymbol>f_calculate128_EIA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateDigestHA1" id=link138 onMouseOver="ShowTip(event, 'tt137', 'link138')" onMouseOut="HideTip('tt137')" class=ISymbol>f_calculateDigestHA1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateDigestResponse" id=link139 onMouseOver="ShowTip(event, 'tt138', 'link139')" onMouseOut="HideTip('tt138')" class=ISymbol>f_calculateDigestResponse</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateHMACMD5" id=link140 onMouseOver="ShowTip(event, 'tt139', 'link140')" onMouseOut="HideTip('tt139')" class=ISymbol>f_calculateHMACMD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateMD5" id=link141 onMouseOver="ShowTip(event, 'tt140', 'link141')" onMouseOut="HideTip('tt140')" class=ISymbol>f_calculateMD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_ceil" id=link142 onMouseOver="ShowTip(event, 'tt141', 'link142')" onMouseOut="HideTip('tt141')" class=ISymbol>f_ceil</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_charstr2unichar" id=link143 onMouseOver="ShowTip(event, 'tt142', 'link143')" onMouseOut="HideTip('tt142')" class=ISymbol>f_charstr2unichar</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTitanMetadata_Functions-ttcn.html#f_compilationTime" id=link144 onMouseOver="ShowTip(event, 'tt143', 'link144')" onMouseOut="HideTip('tt143')" class=ISymbol>f_compilationTime</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_compOctetstring" id=link145 onMouseOver="ShowTip(event, 'tt144', 'link145')" onMouseOut="HideTip('tt144')" class=ISymbol>f_compOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_convertIPAddrToBinary</span>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_convertIPAddrToBinary" id=link146 onMouseOver="ShowTip(event, 'tt145', 'link146')" onMouseOut="HideTip('tt145')" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_convertIPAddrToBinary" id=link147 onMouseOver="ShowTip(event, 'tt145', 'link147')" onMouseOut="HideTip('tt145')" class=IFile>TCCConversion_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_cos" id=link148 onMouseOver="ShowTip(event, 'tt146', 'link148')" onMouseOut="HideTip('tt146')" class=ISymbol>f_cos</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_cosVL" id=link149 onMouseOver="ShowTip(event, 'tt147', 'link149')" onMouseOut="HideTip('tt147')" class=ISymbol>f_cosVL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_ctime" id=link150 onMouseOver="ShowTip(event, 'tt148', 'link150')" onMouseOut="HideTip('tt148')" class=ISymbol>f_ctime</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_ctime_UTC" id=link151 onMouseOver="ShowTip(event, 'tt149', 'link151')" onMouseOut="HideTip('tt149')" class=ISymbol>f_ctime_UTC</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_dec_TBCD" id=link152 onMouseOver="ShowTip(event, 'tt150', 'link152')" onMouseOut="HideTip('tt150')" class=ISymbol>f_dec_TBCD</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_decGSM7bit" id=link153 onMouseOver="ShowTip(event, 'tt151', 'link153')" onMouseOut="HideTip('tt151')" class=ISymbol>f_decGSM7bit</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_deleteIP" id=link154 onMouseOver="ShowTip(event, 'tt152', 'link154')" onMouseOut="HideTip('tt152')" class=ISymbol>f_deleteIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_delIP_ip</span>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_delIP_ip" id=link155 onMouseOver="ShowTip(event, 'tt153', 'link155')" onMouseOut="HideTip('tt153')" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_delIP_ip" id=link156 onMouseOver="ShowTip(event, 'tt153', 'link156')" onMouseOut="HideTip('tt153')" class=IFile>TCCInterface_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_EAPSIM_A3A8" id=link157 onMouseOver="ShowTip(event, 'tt154', 'link157')" onMouseOut="HideTip('tt154')" class=ISymbol>f_EAPSIM_A3A8</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_enc_TBCD" id=link158 onMouseOver="ShowTip(event, 'tt155', 'link158')" onMouseOut="HideTip('tt155')" class=ISymbol>f_enc_TBCD</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_encGSM7bit" id=link159 onMouseOver="ShowTip(event, 'tt156', 'link159')" onMouseOut="HideTip('tt156')" class=ISymbol>f_encGSM7bit</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_exp" id=link160 onMouseOver="ShowTip(event, 'tt157', 'link160')" onMouseOut="HideTip('tt157')" class=ISymbol>f_exp</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_chdir" id=link161 onMouseOver="ShowTip(event, 'tt158', 'link161')" onMouseOut="HideTip('tt158')" class=ISymbol>f_FIO_chdir</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_FIO_chmod</span>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_chmod" id=link162 onMouseOver="ShowTip(event, 'tt159', 'link162')" onMouseOut="HideTip('tt159')" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_chmod" id=link163 onMouseOver="ShowTip(event, 'tt159', 'link163')" onMouseOut="HideTip('tt159')" class=IFile>TCCFileIO_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_close" id=link164 onMouseOver="ShowTip(event, 'tt160', 'link164')" onMouseOut="HideTip('tt160')" class=ISymbol>f_FIO_close</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_FIO_fileOrDirExists</span>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_fileOrDirExists" id=link165 onMouseOver="ShowTip(event, 'tt161', 'link165')" onMouseOut="HideTip('tt161')" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_fileOrDirExists" id=link166 onMouseOver="ShowTip(event, 'tt161', 'link166')" onMouseOut="HideTip('tt161')" class=IFile>TCCFileIO_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_flush" id=link167 onMouseOver="ShowTip(event, 'tt162', 'link167')" onMouseOut="HideTip('tt162')" class=ISymbol>f_FIO_flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_get_error_code" id=link168 onMouseOver="ShowTip(event, 'tt163', 'link168')" onMouseOut="HideTip('tt163')" class=ISymbol>f_FIO_get_error_code</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_get_error_string" id=link169 onMouseOver="ShowTip(event, 'tt164', 'link169')" onMouseOut="HideTip('tt164')" class=ISymbol>f_FIO_get_error_string</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_FIO_mkdir</span>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_mkdir" id=link170 onMouseOver="ShowTip(event, 'tt165', 'link170')" onMouseOut="HideTip('tt165')" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_mkdir" id=link171 onMouseOver="ShowTip(event, 'tt165', 'link171')" onMouseOut="HideTip('tt165')" class=IFile>TCCFileIO_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_rdwr" id=link172 onMouseOver="ShowTip(event, 'tt166', 'link172')" onMouseOut="HideTip('tt166')" class=ISymbol>f_FIO_open_append_rdwr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_rdwr_excl" id=link173 onMouseOver="ShowTip(event, 'tt167', 'link173')" onMouseOut="HideTip('tt167')" class=ISymbol>f_FIO_open_append_rdwr_excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_wronly" id=link174 onMouseOver="ShowTip(event, 'tt168', 'link174')" onMouseOut="HideTip('tt168')" class=ISymbol>f_FIO_open_append_wronly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_wronly_excl" id=link175 onMouseOver="ShowTip(event, 'tt169', 'link175')" onMouseOut="HideTip('tt169')" class=ISymbol>f_FIO_open_append_wronly_excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_rdonly" id=link176 onMouseOver="ShowTip(event, 'tt170', 'link176')" onMouseOut="HideTip('tt170')" class=ISymbol>f_FIO_open_rdonly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_rdwr" id=link177 onMouseOver="ShowTip(event, 'tt171', 'link177')" onMouseOut="HideTip('tt171')" class=ISymbol>f_FIO_open_trunc_rdwr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_rdwr_excl" id=link178 onMouseOver="ShowTip(event, 'tt172', 'link178')" onMouseOut="HideTip('tt172')" class=ISymbol>f_FIO_open_trunc_rdwr_excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_wronly" id=link179 onMouseOver="ShowTip(event, 'tt173', 'link179')" onMouseOut="HideTip('tt173')" class=ISymbol>f_FIO_open_trunc_wronly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_wronly_excl" id=link180 onMouseOver="ShowTip(event, 'tt174', 'link180')" onMouseOut="HideTip('tt174')" class=ISymbol>f_FIO_open_trunc_wronly_excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data" id=link181 onMouseOver="ShowTip(event, 'tt175', 'link181')" onMouseOut="HideTip('tt175')" class=ISymbol>f_FIO_read_data</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data_TLV" id=link182 onMouseOver="ShowTip(event, 'tt176', 'link182')" onMouseOut="HideTip('tt176')" class=ISymbol>f_FIO_read_data_TLV</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data_until" id=link183 onMouseOver="ShowTip(event, 'tt177', 'link183')" onMouseOut="HideTip('tt177')" class=ISymbol>f_FIO_read_data_until</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_text" id=link184 onMouseOver="ShowTip(event, 'tt178', 'link184')" onMouseOut="HideTip('tt178')" class=ISymbol>f_FIO_read_text</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_text_until" id=link185 onMouseOver="ShowTip(event, 'tt179', 'link185')" onMouseOut="HideTip('tt179')" class=ISymbol>f_FIO_read_text_until</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_FIO_rmdir</span>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_rmdir" id=link186 onMouseOver="ShowTip(event, 'tt180', 'link186')" onMouseOut="HideTip('tt180')" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_rmdir" id=link187 onMouseOver="ShowTip(event, 'tt180', 'link187')" onMouseOut="HideTip('tt180')" class=IFile>TCCFileIO_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_backward" id=link188 onMouseOver="ShowTip(event, 'tt181', 'link188')" onMouseOut="HideTip('tt181')" class=ISymbol>f_FIO_seek_backward</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_end" id=link189 onMouseOver="ShowTip(event, 'tt182', 'link189')" onMouseOut="HideTip('tt182')" class=ISymbol>f_FIO_seek_end</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_forward" id=link190 onMouseOver="ShowTip(event, 'tt183', 'link190')" onMouseOut="HideTip('tt183')" class=ISymbol>f_FIO_seek_forward</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_home" id=link191 onMouseOver="ShowTip(event, 'tt184', 'link191')" onMouseOut="HideTip('tt184')" class=ISymbol>f_FIO_seek_home</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_set_filedescriptor_previousline" id=link192 onMouseOver="ShowTip(event, 'tt185', 'link192')" onMouseOut="HideTip('tt185')" class=ISymbol>f_FIO_set_filedescriptor_previousline</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_FIO_stat</span>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_stat" id=link193 onMouseOver="ShowTip(event, 'tt186', 'link193')" onMouseOut="HideTip('tt186')" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_stat" id=link194 onMouseOver="ShowTip(event, 'tt186', 'link194')" onMouseOut="HideTip('tt186')" class=IFile>TCCFileIO_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_data" id=link195 onMouseOver="ShowTip(event, 'tt187', 'link195')" onMouseOut="HideTip('tt187')" class=ISymbol>f_FIO_write_data</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_data_flush" id=link196 onMouseOver="ShowTip(event, 'tt188', 'link196')" onMouseOut="HideTip('tt188')" class=ISymbol>f_FIO_write_data_flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_text" id=link197 onMouseOver="ShowTip(event, 'tt189', 'link197')" onMouseOut="HideTip('tt189')" class=ISymbol>f_FIO_write_text</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_text_flush" id=link198 onMouseOver="ShowTip(event, 'tt190', 'link198')" onMouseOut="HideTip('tt190')" class=ISymbol>f_FIO_write_text_flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_floor" id=link199 onMouseOver="ShowTip(event, 'tt191', 'link199')" onMouseOut="HideTip('tt191')" class=ISymbol>f_floor</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_bfree" id=link200 onMouseOver="ShowTip(event, 'tt192', 'link200')" onMouseOut="HideTip('tt192')" class=ISymbol>f_FS_bfree</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_blocks" id=link201 onMouseOver="ShowTip(event, 'tt193', 'link201')" onMouseOut="HideTip('tt193')" class=ISymbol>f_FS_blocks</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_bsize" id=link202 onMouseOver="ShowTip(event, 'tt194', 'link202')" onMouseOut="HideTip('tt194')" class=ISymbol>f_FS_bsize</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_dspacerate" id=link203 onMouseOver="ShowTip(event, 'tt195', 'link203')" onMouseOut="HideTip('tt195')" class=ISymbol>f_FS_dspacerate</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_gen_Exponential_Distribution(in_float_p_lambda)return_float" id=link204 onMouseOver="ShowTip(event, 'tt196', 'link204')" onMouseOut="HideTip('tt196')" class=ISymbol>f_gen_Exponential_Distribution(in float p_lambda)return float</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_generate_poissonTable" id=link205 onMouseOver="ShowTip(event, 'tt197', 'link205')" onMouseOut="HideTip('tt197')" class=ISymbol>f_generate_poissonTable</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getCurrentDateWithOffset" id=link206 onMouseOver="ShowTip(event, 'tt198', 'link206')" onMouseOut="HideTip('tt198')" class=ISymbol>f_getCurrentDateWithOffset</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getCurrentGMTDate" id=link207 onMouseOver="ShowTip(event, 'tt199', 'link207')" onMouseOut="HideTip('tt199')" class=ISymbol>f_getCurrentGMTDate</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#f_GetEnv" id=link208 onMouseOver="ShowTip(event, 'tt200', 'link208')" onMouseOut="HideTip('tt200')" class=ISymbol>f_GetEnv</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getHostName" id=link209 onMouseOver="ShowTip(event, 'tt201', 'link209')" onMouseOut="HideTip('tt201')" class=ISymbol>f_getHostName</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIP" id=link210 onMouseOver="ShowTip(event, 'tt202', 'link210')" onMouseOut="HideTip('tt202')" class=ISymbol>f_getIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIpAddr" id=link211 onMouseOver="ShowTip(event, 'tt203', 'link211')" onMouseOut="HideTip('tt203')" class=ISymbol>f_getIpAddr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_getIpAddresses</span>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_getIpAddresses" id=link212 onMouseOver="ShowTip(event, 'tt204', 'link212')" onMouseOut="HideTip('tt204')" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIpAddresses" id=link213 onMouseOver="ShowTip(event, 'tt204', 'link213')" onMouseOut="HideTip('tt204')" class=IFile>TCCInterface_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_getNext_poissonValue" id=link214 onMouseOver="ShowTip(event, 'tt205', 'link214')" onMouseOut="HideTip('tt205')" class=ISymbol>f_getNext_poissonValue</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getTimeFormatted" id=link215 onMouseOver="ShowTip(event, 'tt206', 'link215')" onMouseOut="HideTip('tt206')" class=ISymbol>f_getTimeFormatted</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_calculateAUTN" id=link216 onMouseOver="ShowTip(event, 'tt207', 'link216')" onMouseOut="HideTip('tt207')" class=ISymbol>f_IMSAKA_calculateAUTN</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f1" id=link217 onMouseOver="ShowTip(event, 'tt208', 'link217')" onMouseOut="HideTip('tt208')" class=ISymbol>f_IMSAKA_f1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f1star" id=link218 onMouseOver="ShowTip(event, 'tt209', 'link218')" onMouseOut="HideTip('tt209')" class=ISymbol>f_IMSAKA_f1star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f2" id=link219 onMouseOver="ShowTip(event, 'tt210', 'link219')" onMouseOut="HideTip('tt210')" class=ISymbol>f_IMSAKA_f2</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f2345" id=link220 onMouseOver="ShowTip(event, 'tt211', 'link220')" onMouseOut="HideTip('tt211')" class=ISymbol>f_IMSAKA_f2345</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f3" id=link221 onMouseOver="ShowTip(event, 'tt212', 'link221')" onMouseOut="HideTip('tt212')" class=ISymbol>f_IMSAKA_f3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f4" id=link222 onMouseOver="ShowTip(event, 'tt213', 'link222')" onMouseOut="HideTip('tt213')" class=ISymbol>f_IMSAKA_f4</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f5" id=link223 onMouseOver="ShowTip(event, 'tt214', 'link223')" onMouseOut="HideTip('tt214')" class=ISymbol>f_IMSAKA_f5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f5star" id=link224 onMouseOver="ShowTip(event, 'tt215', 'link224')" onMouseOut="HideTip('tt215')" class=ISymbol>f_IMSAKA_f5star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_add" id=link225 onMouseOver="ShowTip(event, 'tt216', 'link225')" onMouseOut="HideTip('tt216')" class=ISymbol>f_IPsec_SADB_add</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_delete" id=link226 onMouseOver="ShowTip(event, 'tt217', 'link226')" onMouseOut="HideTip('tt217')" class=ISymbol>f_IPsec_SADB_delete</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_flush" id=link227 onMouseOver="ShowTip(event, 'tt218', 'link227')" onMouseOut="HideTip('tt218')" class=ISymbol>f_IPsec_SADB_flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_add" id=link228 onMouseOver="ShowTip(event, 'tt219', 'link228')" onMouseOut="HideTip('tt219')" class=ISymbol>f_IPsec_SPDB_add</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_delete" id=link229 onMouseOver="ShowTip(event, 'tt220', 'link229')" onMouseOut="HideTip('tt220')" class=ISymbol>f_IPsec_SPDB_delete</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_flush" id=link230 onMouseOver="ShowTip(event, 'tt221', 'link230')" onMouseOut="HideTip('tt221')" class=ISymbol>f_IPsec_SPDB_flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_log" id=link231 onMouseOver="ShowTip(event, 'tt222', 'link231')" onMouseOut="HideTip('tt222')" class=ISymbol>f_log</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_maxFL" id=link232 onMouseOver="ShowTip(event, 'tt223', 'link232')" onMouseOut="HideTip('tt223')" class=ISymbol>f_maxFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_maxIL" id=link233 onMouseOver="ShowTip(event, 'tt224', 'link233')" onMouseOut="HideTip('tt224')" class=ISymbol>f_maxIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_minFL" id=link234 onMouseOver="ShowTip(event, 'tt225', 'link234')" onMouseOut="HideTip('tt225')" class=ISymbol>f_minFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_minIL" id=link235 onMouseOver="ShowTip(event, 'tt226', 'link235')" onMouseOut="HideTip('tt226')" class=ISymbol>f_minIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_oct2char_safe</span>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_oct2char_safe" id=link236 onMouseOver="ShowTip(event, 'tt227', 'link236')" onMouseOut="HideTip('tt227')" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_oct2char_safe" id=link237 onMouseOver="ShowTip(event, 'tt227', 'link237')" onMouseOut="HideTip('tt227')" class=IFile>TCCConversion_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_OctetIpv4" id=link238 onMouseOver="ShowTip(event, 'tt228', 'link238')" onMouseOut="HideTip('tt228')" class=ISymbol>f_OctetIpv4</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCRegexp_Functions-ttcn.html#f_pcre_regexp" id=link239 onMouseOver="ShowTip(event, 'tt229', 'link239')" onMouseOut="HideTip('tt229')" class=ISymbol>f_pcre_regexp</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powFF" id=link240 onMouseOver="ShowTip(event, 'tt230', 'link240')" onMouseOut="HideTip('tt230')" class=ISymbol>f_powFF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powFI" id=link241 onMouseOver="ShowTip(event, 'tt231', 'link241')" onMouseOut="HideTip('tt231')" class=ISymbol>f_powFI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powIF" id=link242 onMouseOver="ShowTip(event, 'tt232', 'link242')" onMouseOut="HideTip('tt232')" class=ISymbol>f_powIF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powII" id=link243 onMouseOver="ShowTip(event, 'tt233', 'link243')" onMouseOut="HideTip('tt233')" class=ISymbol>f_powII</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#f_PutEnv" id=link244 onMouseOver="ShowTip(event, 'tt234', 'link244')" onMouseOut="HideTip('tt234')" class=ISymbol>f_PutEnv</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_putInLowercase" id=link245 onMouseOver="ShowTip(event, 'tt235', 'link245')" onMouseOut="HideTip('tt235')" class=ISymbol>f_putInLowercase</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_putInUppercase" id=link246 onMouseOver="ShowTip(event, 'tt236', 'link246')" onMouseOut="HideTip('tt236')" class=ISymbol>f_putInUppercase</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceEveryOccurenceOfPattern" id=link247 onMouseOver="ShowTip(event, 'tt237', 'link247')" onMouseOut="HideTip('tt237')" class=ISymbol>f_replaceEveryOccurenceOfPattern</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceEveryOccurenceOfSubstring" id=link248 onMouseOver="ShowTip(event, 'tt238', 'link248')" onMouseOut="HideTip('tt238')" class=ISymbol>f_replaceEveryOccurenceOfSubstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceFirstOccurenceOfPattern" id=link249 onMouseOver="ShowTip(event, 'tt239', 'link249')" onMouseOut="HideTip('tt239')" class=ISymbol>f_replaceFirstOccurenceOfPattern</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceFirstOccurenceOfSubstring" id=link250 onMouseOver="ShowTip(event, 'tt240', 'link250')" onMouseOut="HideTip('tt240')" class=ISymbol>f_replaceFirstOccurenceOfSubstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setInterfaceDown" id=link251 onMouseOver="ShowTip(event, 'tt241', 'link251')" onMouseOut="HideTip('tt241')" class=ISymbol>f_setInterfaceDown</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setInterfaceUp" id=link252 onMouseOver="ShowTip(event, 'tt242', 'link252')" onMouseOut="HideTip('tt242')" class=ISymbol>f_setInterfaceUp</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setIP" id=link253 onMouseOver="ShowTip(event, 'tt243', 'link253')" onMouseOut="HideTip('tt243')" class=ISymbol>f_setIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_setIP_ip</span>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_setIP_ip" id=link254 onMouseOver="ShowTip(event, 'tt244', 'link254')" onMouseOut="HideTip('tt244')" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setIP_ip" id=link255 onMouseOver="ShowTip(event, 'tt244', 'link255')" onMouseOut="HideTip('tt244')" class=IFile>TCCInterface_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sin" id=link256 onMouseOver="ShowTip(event, 'tt245', 'link256')" onMouseOut="HideTip('tt245')" class=ISymbol>f_sin</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sinVL" id=link257 onMouseOver="ShowTip(event, 'tt246', 'link257')" onMouseOut="HideTip('tt246')" class=ISymbol>f_sinVL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrF" id=link258 onMouseOver="ShowTip(event, 'tt247', 'link258')" onMouseOut="HideTip('tt247')" class=ISymbol>f_sqrF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrI" id=link259 onMouseOver="ShowTip(event, 'tt248', 'link259')" onMouseOut="HideTip('tt248')" class=ISymbol>f_sqrI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrtF" id=link260 onMouseOver="ShowTip(event, 'tt249', 'link260')" onMouseOut="HideTip('tt249')" class=ISymbol>f_sqrtF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrtI" id=link261 onMouseOver="ShowTip(event, 'tt250', 'link261')" onMouseOut="HideTip('tt250')" class=ISymbol>f_sqrtI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdFL" id=link262 onMouseOver="ShowTip(event, 'tt251', 'link262')" onMouseOut="HideTip('tt251')" class=ISymbol>f_stdFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdFLL" id=link263 onMouseOver="ShowTip(event, 'tt252', 'link263')" onMouseOut="HideTip('tt252')" class=ISymbol>f_stdFLL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdIL" id=link264 onMouseOver="ShowTip(event, 'tt253', 'link264')" onMouseOut="HideTip('tt253')" class=ISymbol>f_stdIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdILL" id=link265 onMouseOver="ShowTip(event, 'tt254', 'link265')" onMouseOut="HideTip('tt254')" class=ISymbol>f_stdILL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_strstr</span>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_strstr" id=link266 onMouseOver="ShowTip(event, 'tt255', 'link266')" onMouseOut="HideTip('tt255')" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_strstr" id=link267 onMouseOver="ShowTip(event, 'tt255', 'link267')" onMouseOut="HideTip('tt255')" class=IFile>TCCConversion_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_subOctetstring" id=link268 onMouseOver="ShowTip(event, 'tt256', 'link268')" onMouseOut="HideTip('tt256')" class=ISymbol>f_subOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_substr_token</span>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_substr_token" id=link269 onMouseOver="ShowTip(event, 'tt257', 'link269')" onMouseOut="HideTip('tt257')" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_substr_token" id=link270 onMouseOver="ShowTip(event, 'tt257', 'link270')" onMouseOut="HideTip('tt257')" class=IFile>TCCConversion_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_SYS_getpid</span>
+<div class=ISubIndex>
+<a href="../files/TCCSystem-cc.html#f_SYS_getpid" id=link271 onMouseOver="ShowTip(event, 'tt258', 'link271')" onMouseOut="HideTip('tt258')" class=IFile>TCCSystem.cc</a>
+<a href="../files/TCCSystem_Functions-ttcn.html#f_SYS_getpid" id=link272 onMouseOver="ShowTip(event, 'tt258', 'link272')" onMouseOut="HideTip('tt258')" class=IFile>TCCSystem_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength" id=link273 onMouseOver="ShowTip(event, 'tt259', 'link273')" onMouseOut="HideTip('tt259')" class=ISymbol>f_TCCMessageHandling_getMessageLength</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength4Diameter" id=link274 onMouseOver="ShowTip(event, 'tt260', 'link274')" onMouseOut="HideTip('tt260')" class=ISymbol>f_TCCMessageHandling_getMessageLength4Diameter</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength4Radius" id=link275 onMouseOver="ShowTip(event, 'tt261', 'link275')" onMouseOut="HideTip('tt261')" class=ISymbol>f_TCCMessageHandling_getMessageLength4Radius</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#f_Template_subsfiletemplate" id=link276 onMouseOver="ShowTip(event, 'tt262', 'link276')" onMouseOut="HideTip('tt262')" class=ISymbol>f_Template_subsfiletemplate</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#f_Template_substitutetemplate" id=link277 onMouseOver="ShowTip(event, 'tt263', 'link277')" onMouseOut="HideTip('tt263')" class=ISymbol>f_Template_substitutetemplate</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_tic" id=link278 onMouseOver="ShowTip(event, 'tt264', 'link278')" onMouseOut="HideTip('tt264')" class=ISymbol>f_tic</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time" id=link279 onMouseOver="ShowTip(event, 'tt265', 'link279')" onMouseOut="HideTip('tt265')" class=ISymbol>f_time</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time2sec" id=link280 onMouseOver="ShowTip(event, 'tt266', 'link280')" onMouseOut="HideTip('tt266')" class=ISymbol>f_time2sec</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time2sec_UTC" id=link281 onMouseOver="ShowTip(event, 'tt267', 'link281')" onMouseOut="HideTip('tt267')" class=ISymbol>f_time2sec_UTC</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_timeDiff" id=link282 onMouseOver="ShowTip(event, 'tt268', 'link282')" onMouseOut="HideTip('tt268')" class=ISymbol>f_timeDiff</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_toc" id=link283 onMouseOver="ShowTip(event, 'tt269', 'link283')" onMouseOut="HideTip('tt269')" class=ISymbol>f_toc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_unichar2charstr" id=link284 onMouseOver="ShowTip(event, 'tt270', 'link284')" onMouseOut="HideTip('tt270')" class=ISymbol>f_unichar2charstr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_updateFL" id=link285 onMouseOver="ShowTip(event, 'tt271', 'link285')" onMouseOut="HideTip('tt271')" class=ISymbol>f_updateFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_updateIL" id=link286 onMouseOver="ShowTip(event, 'tt272', 'link286')" onMouseOut="HideTip('tt272')" class=ISymbol>f_updateIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f1" id=link287 onMouseOver="ShowTip(event, 'tt273', 'link287')" onMouseOut="HideTip('tt273')" class=ISymbol>f1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f1star" id=link288 onMouseOver="ShowTip(event, 'tt274', 'link288')" onMouseOut="HideTip('tt274')" class=ISymbol>f1star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f2345" id=link289 onMouseOver="ShowTip(event, 'tt275', 'link289')" onMouseOut="HideTip('tt275')" class=ISymbol>f2345</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f5star" id=link290 onMouseOver="ShowTip(event, 'tt276', 'link290')" onMouseOut="HideTip('tt276')" class=ISymbol>f5star</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt16">
+<div class=CFunction>Return the arc cosine of value in [0, pi]</div></div>
+<div class=CToolTip id="tt17">
+<div class=CFunction>Add two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt18">
+<div class=CFunction>Return the arc sine of value in [-pi/2, +pi/2]</div></div>
+<div class=CToolTip id="tt19">
+<div class=CFunction>Implement TTCN assertion.</div></div>
+<div class=CToolTip id="tt20">
+<div class=CFunction>Return the average of flist</div></div>
+<div class=CToolTip id="tt21">
+<div class=CFunction>Return the average of ilist</div></div>
+<div class=CToolTip id="tt22">
+<div class=CFunction>Calculate the HMAC MD5 value of a message with specified key.</div></div>
+<div class=CToolTip id="tt23">
+<div class=CFunction>Calculate the HMAC SHA1 value of a message with specified key.</div></div>
+<div class=CToolTip id="tt24">
+<div class=CFunction>Purpose: Encrypt TTCN-3 message using the confidentiality algorithm 128-EEA3</div></div>
+<div class=CToolTip id="tt25">
+<div class=CFunction>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3 for TTCN-3 message</div></div>
+<div class=CToolTip id="tt26">
+<div class=CFunction>Calculate digest H(A1) hash</div></div>
+<div class=CToolTip id="tt27">
+<div class=CFunction>Calculate digest response</div></div>
+<div class=CToolTip id="tt28">
+<div class=CFunction>Calculate the HMAC MD5 value of a message with specified 64 bit key.</div></div>
+<div class=CToolTip id="tt29">
+<div class=CFunction>Compute MD5 hash value</div></div>
+<div class=CToolTip id="tt30">
+<div class=CFunction>Return the smallest integer value that is not less then value</div></div>
+<div class=CToolTip id="tt31">
+<div class=CFunction>Return the compilation time of module</div></div>
+<div class=CToolTip id="tt32">
+<div class=CFunction>Compare two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt33">
+<div class=CFunction>Return the cosine of angle radians</div></div>
+<div class=CToolTip id="tt34">
+<div class=CFunction>Return the values of the cos function</div></div>
+<div class=CToolTip id="tt35">
+<div class=CFunction>Convert a time value in seconds to human readable string. </div></div>
+<div class=CToolTip id="tt36">
+<div class=CFunction>Convert a time value in seconds to human readable string. </div></div>
+<div class=CToolTip id="tt37">
+<div class=CFunction>Decode octetstring from TBCD encoding</div></div>
+<div class=CToolTip id="tt38">
+<div class=CFunction>Delete IP address from a network inteface</div></div>
+<div class=CToolTip id="tt39">
+<div class=CFunction>Takes key Ki and random challenge RAND, and returns Kc and SRES keys</div></div>
+<div class=CToolTip id="tt40">
+<div class=CFunction>Encode charstring to TBCD</div></div>
+<div class=CToolTip id="tt41">
+<div class=CFunction>Return the exponential value of the argument</div></div>
+<div class=CToolTip id="tt42">
+<div class=CFunction>It changes the current directory.</div></div>
+<div class=CToolTip id="tt43">
+<div class=CFunction>Closes a file associated with the given file descriptor.</div></div>
+<div class=CToolTip id="tt44">
+<div class=CFunction>Transfers (&ldquo;flushes&rdquo;) all modified in-core data of the file referred to by the file descriptor to the disk device.</div></div>
+<div class=CToolTip id="tt45">
+<div class=CFunction>Returns the actual error code.</div></div>
+<div class=CToolTip id="tt46">
+<div class=CFunction>Returns the actual error message.</div></div>
+<div class=CToolTip id="tt47">
+<div class=CFunction>Opens a file with the given name in the given mode. </div></div>
+<div class=CToolTip id="tt48">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt49">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt50">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt51">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt52">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt53">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt54">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt55">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt56">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt57">
+<div class=CFunction>Checks if the file with the given name is already opened. </div></div>
+<div class=CToolTip id="tt58">
+<div class=CFunction>Reads a given number of bytes to a given buffer from a file associated with the given file descriptor. </div></div>
+<div class=CToolTip id="tt59">
+<div class=CFunction>A wrapper function for f__FIO__read. </div></div>
+<div class=CToolTip id="tt60">
+<div class=CFunction>It reads binary data until a full ASN.1 TLV structure is read.</div></div>
+<div class=CToolTip id="tt61">
+<div class=CFunction>It reads binary data until a given pattern is matched.</div></div>
+<div class=CToolTip id="tt62">
+<div class=CFunction>A wrapper function for f__FIO__read. </div></div>
+<div class=CToolTip id="tt63">
+<div class=CFunction>It reads textual data until a given pattern is matched.</div></div>
+<div class=CToolTip id="tt64">
+<div class=CFunction>Builds the error message. </div></div>
+<div class=CToolTip id="tt65">
+<div class=CFunction>Moves the file pointer backward with a given number of bytes from the current position.</div></div>
+<div class=CToolTip id="tt66">
+<div class=CFunction>Moves the file pointer to the end of the file.</div></div>
+<div class=CToolTip id="tt67">
+<div class=CFunction>Moves the file pointer forward with a given number of bytes from the current position.</div></div>
+<div class=CToolTip id="tt68">
+<div class=CFunction>Moves the file pointer to the beginning of the file.</div></div>
+<div class=CToolTip id="tt69">
+<div class=CFunction>It sets the file descriptor to the begin of the previous line.</div></div>
+<div class=CToolTip id="tt70">
+<div class=CFunction>Writes the given data to the file associated with the given file descriptor. </div></div>
+<div class=CToolTip id="tt71">
+<div class=CFunction>A wrapper function for f__FIO__write. </div></div>
+<div class=CToolTip id="tt72">
+<div class=CFunction>A wrapper function for f__FIO__write. </div></div>
+<div class=CToolTip id="tt73">
+<div class=CFunction>A wrapper function for f__FIO__write. </div></div>
+<div class=CToolTip id="tt74">
+<div class=CFunction>A wrapper function for f__FIO__write. </div></div>
+<div class=CToolTip id="tt75">
+<div class=CFunction>Return the largest integer value that is not greater then value</div></div>
+<div class=CToolTip id="tt76">
+<div class=CFunction>Generate a date from the actual date and time plus the parameter in seconds e.g. </div></div>
+<div class=CToolTip id="tt77">
+<div class=CFunction>Return the current GMT date in format RFC 1123-Date e.g.:Sat, 13 Nov 2010 23:30:02 GMT</div></div>
+<div class=CToolTip id="tt78">
+<div class=CFunction>Return the environment variable specified via p_env_name</div></div>
+<div class=CToolTip id="tt79">
+<div class=CFunction>Get name of host</div></div>
+<div class=CToolTip id="tt80">
+<div class=CFunction>Get IP address, subnet mask and broadcast address from a network inteface</div></div>
+<div class=CToolTip id="tt81">
+<div class=CFunction>Get IP address of host</div></div>
+<div class=CToolTip id="tt82">
+<div class=CFunction>Return the current calendar time in a formatted way</div></div>
+<div class=CToolTip id="tt83">
+<div class=CFunction>Computes authentication token AUTN from anonymity key AK, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt84">
+<div class=CFunction>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt85">
+<div class=CFunction>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt86">
+<div class=CFunction>Takes key K and random challenge RAND, and returns response RES.</div></div>
+<div class=CToolTip id="tt87">
+<div class=CFunction>Takes key K and random challenge RAND, and returns AK, CK, RES</div></div>
+<div class=CToolTip id="tt88">
+<div class=CFunction>Takes key K and random challenge RAND, and returns confidentiality key CK.</div></div>
+<div class=CToolTip id="tt89">
+<div class=CFunction>Takes key K and random challenge RAND, and returns integrity key IK.</div></div>
+<div class=CToolTip id="tt90">
+<div class=CFunction>Takes key K and random challenge RAND, and returns anonymity key AK.</div></div>
+<div class=CToolTip id="tt91">
+<div class=CFunction>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</div></div>
+<div class=CToolTip id="tt92">
+<div class=CFunction>Return the natural logarithm of the argument</div></div>
+<div class=CToolTip id="tt93">
+<div class=CFunction>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt94">
+<div class=CFunction>Return an IntegerList with the highest number found at index 0 and the index of ilist where it&rsquo;s found at index 1</div></div>
+<div class=CToolTip id="tt95">
+<div class=CFunction>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt96">
+<div class=CFunction>Return an IntegerList with the lowest number found at index 0 and the index of ilist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt97">
+<div class=CFunction>Raise to power (float to float power)</div></div>
+<div class=CToolTip id="tt98">
+<div class=CFunction>Raise to power (float to integer power)</div></div>
+<div class=CToolTip id="tt99">
+<div class=CFunction>Raise to power (integer to float power)</div></div>
+<div class=CToolTip id="tt100">
+<div class=CFunction>Raise to power (integer to integer power)</div></div>
+<div class=CToolTip id="tt101">
+<div class=CFunction>Set the environment variable p_env_name to p_env_value.</div></div>
+<div class=CToolTip id="tt102">
+<div class=CFunction>Put charstring to lowercase</div></div>
+<div class=CToolTip id="tt103">
+<div class=CFunction>Put charstring to uppercase</div></div>
+<div class=CToolTip id="tt104">
+<div class=CFunction>Set down a network interface</div></div>
+<div class=CToolTip id="tt105">
+<div class=CFunction>Set up a network interface</div></div>
+<div class=CToolTip id="tt106">
+<div class=CFunction>Set IP address, subnet mask and broadcast address in a network inteface If number is set, a range of virtual interfaces are set up with continuous IP address (no subnet mask, broadcast checking)</div></div>
+<div class=CToolTip id="tt107">
+<div class=CFunction>Return the sine of angle radians</div></div>
+<div class=CToolTip id="tt108">
+<div class=CFunction>Return the values of the sin function</div></div>
+<div class=CToolTip id="tt109">
+<div class=CFunction>Raise a float value to square</div></div>
+<div class=CToolTip id="tt110">
+<div class=CFunction>Raise an integer value to square</div></div>
+<div class=CToolTip id="tt111">
+<div class=CFunction>Square root of float value</div></div>
+<div class=CToolTip id="tt112">
+<div class=CFunction>Square root of integer value</div></div>
+<div class=CToolTip id="tt113">
+<div class=CFunction>Return the normalized standard deviation of float list (so the average square distance from the center of elements in the list)</div></div>
+<div class=CToolTip id="tt114">
+<div class=CFunction>Return the normalized standard deviation of float list  using custom center (so it is the average square distance from a user defined central value)</div></div>
+<div class=CToolTip id="tt115">
+<div class=CFunction>Return the normalized standard deviation of integer list (so the average square distance from the center of points)</div></div>
+<div class=CToolTip id="tt116">
+<div class=CFunction>Return the normalized standard deviation of integer list using custom center (so it is the average square distance from a user defined central value)</div></div>
+<div class=CToolTip id="tt117">
+<div class=CFunction>Substract two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt118">
+<div class=CFunction>Computes the 8 bit ASCII representation of an hexstring</div></div>
+<div class=CToolTip id="tt119">
+<div class=CFunction>Return the number of clock ticks used by the application since the program was launched</div></div>
+<div class=CToolTip id="tt120">
+<div class=CFunction>Current calendar time of the system in seconds</div></div>
+<div class=CToolTip id="tt121">
+<div class=CFunction>Function to convert a formated time value to seconds. </div></div>
+<div class=CToolTip id="tt122">
+<div class=CFunction>Function to convert a formated time value to seconds. </div></div>
+<div class=CToolTip id="tt123">
+<div class=CFunction>Difference between two time</div></div>
+<div class=CToolTip id="tt124">
+<div class=CFunction>Elapsed seconds since time t (only when f__tic() returns the number of clock ticks elapsed since the program was launched)</div></div>
+<div class=CToolTip id="tt125">
+<div class=CFunction>Append tail to the end of head (head return as inout)</div></div>
+<div class=CToolTip id="tt126">
+<div class=CFunction>Append tail to the end of head (head return as inout)</div></div>
+<div class=CToolTip id="tt127">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_acos(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the arc cosine of value in [0, pi]</div></div>
+<div class=CToolTip id="tt128">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_addOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Add two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt129">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_asin(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the arc sine of value in [-pi/2, +pi/2]</div></div>
+<div class=CToolTip id="tt130">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_assert(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_assertMessage,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>boolean&nbsp;</td>
+<td class=PParameter nowrap>pl_predicate</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Implement TTCN assertion.</div></div>
+<div class=CToolTip id="tt131">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_averageFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the average of flist</div></div>
+<div class=CToolTip id="tt132">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_averageIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the average of ilist</div></div>
+<div class=CToolTip id="tt133">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_calculate_HMAC_MD5(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_key,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_input,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_length</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return octetstring</td></tr></table></td></tr></table></blockquote>Calculate the HMAC MD5 value of a message with specified key.</div></div>
+<div class=CToolTip id="tt134">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_calculate_HMAC_SHA1(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_key,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_input,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_length</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return octetstring</td></tr></table></td></tr></table></blockquote>Calculate the HMAC SHA1 value of a message with specified key.</div></div>
+<div class=CToolTip id="tt135">
+<div class=CFunction>Purpose: Encrypt message using the confidentiality algorithm 128-EEA3</div></div>
+<div class=CToolTip id="tt136">
+<div class=CFunction>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3</div></div>
+<div class=CToolTip id="tt137">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateDigestHA1(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>nonce,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>cnonce,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>user,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>realm,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>passwd,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>alg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Calculate digest H(A1) hash</div></div>
+<div class=CToolTip id="tt138">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=3>external function f_calculateDigestResponse(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>nonce,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>cnonce,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>user,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>realm,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>passwd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>alg,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>nonceCount,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>method,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>qop,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>URI,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>HEntity</td></tr>
+<tr>
+<td class=PAfterParameters colspan=3>) return charstring</td></tr></table></td></tr></table></blockquote>Calculate digest response</div></div>
+<div class=CToolTip id="tt139">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateHMACMD5(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>msg,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_64&nbsp;</td>
+<td class=PParameter nowrap>key</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Calculate the 128 bit HMAC MD5 value of a message with specified 64 bit key.</div></div>
+<div class=CToolTip id="tt140">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateMD5(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pszHashInput</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Compute MD5 hash value</div></div>
+<div class=CToolTip id="tt141">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ceil(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Return the smallest integer value that is not less then value</div></div>
+<div class=CToolTip id="tt142">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_charstr2unichar (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_char</td>
+<td class=PAfterParameters nowrap>) return universal charstring</td></tr></table></td></tr></table></blockquote>Convert charstring 2 universal charstring</div></div>
+<div class=CToolTip id="tt143">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_compilationTime() return charstring</td></tr></table></blockquote>Return the compilation time of module</div></div>
+<div class=CToolTip id="tt144">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_compOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Compare two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt145">
+<div class=CFunction>Converts an IPv4 and IPv6 address to its hex representation. </div></div>
+<div class=CToolTip id="tt146">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_cos(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>angle</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the cosine of angle radILns</div></div>
+<div class=CToolTip id="tt147">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_cosVL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>freq,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>altitude,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>start_val,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>len,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>step</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return the values of the cosine function</div></div>
+<div class=CToolTip id="tt148">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ctime(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Convert a time value in seconds to human readable string The time represented as local time</div></div>
+<div class=CToolTip id="tt149">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ctime_UTC(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Convert a time value in seconds to human readable string The time represented as UTC</div></div>
+<div class=CToolTip id="tt150">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_dec_TBCD(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_oct</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Decode octetstring from TBCD encoding</div></div>
+<div class=CToolTip id="tt151">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_decGSM7bit(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_gsm7bit</td>
+<td class=PAfterParameters nowrap>) return universal charstring</td></tr></table></td></tr></table></blockquote>GSM 7-bit decoding (GSM 03.38)</div></div>
+<div class=CToolTip id="tt152">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_deleteIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Delete IP address from a network inteface</div></div>
+<div class=CToolTip id="tt153">
+<div class=CFunction>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</div></div>
+<div class=CToolTip id="tt154">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_EAPSIM_A3A8(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_16&nbsp;</td>
+<td class=PParameter nowrap>Ki,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap></td>
+<td class=PType nowrap>OCT_16&nbsp;</td>
+<td class=PParameter nowrap>rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>sres,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>Kc</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Takes key Ki and random challenge RAND, and returns Kc and SRES keys</div></div>
+<div class=CToolTip id="tt155">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_enc_TBCD(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_char</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Encode charstring to TBCD</div></div>
+<div class=CToolTip id="tt156">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_encGSM7bit(</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_str</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>GSM 7-bit encoding (GSM 03.38)</div></div>
+<div class=CToolTip id="tt157">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_exp(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the exponential value of the argument</div></div>
+<div class=CToolTip id="tt158">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_chdir (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_chdir. </div></div>
+<div class=CToolTip id="tt159">
+<div class=CFunction>Change the permissions of the file or directory.</div></div>
+<div class=CToolTip id="tt160">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_close (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Closes a file associated with the given file descriptor.</div></div>
+<div class=CToolTip id="tt161">
+<div class=CFunction>Checks the existence of files and directories.</div></div>
+<div class=CToolTip id="tt162">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_flush (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Transfers (&ldquo;flushes&rdquo;) all modified in-core data of the file referred to by the file descriptor to the disk device.</div></div>
+<div class=CToolTip id="tt163">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_FIO_get_error_code () return integer</td></tr></table></blockquote>Returns the actual error code.</div></div>
+<div class=CToolTip id="tt164">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_FIO_get_error_string () return charstring</td></tr></table></blockquote>Returns the actual error message.</div></div>
+<div class=CToolTip id="tt165">
+<div class=CFunction>Create a new directory</div></div>
+<div class=CToolTip id="tt166">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_append_rdwr (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt167">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_rdwr_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt168">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_wronly (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt169">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_wronly_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt170">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_rdonly (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt171">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_trunc_rdwr (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt172">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_rdwr_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt173">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_wronly (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt174">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_wronly_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt175">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_read_data (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_data,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read. </div></div>
+<div class=CToolTip id="tt176">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_data_TLV (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read. </div></div>
+<div class=CToolTip id="tt177">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_data_until (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_separator</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read_until. </div></div>
+<div class=CToolTip id="tt178">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_read_text (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read. </div></div>
+<div class=CToolTip id="tt179">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_text_until (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_text,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_separator</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read_until. </div></div>
+<div class=CToolTip id="tt180">
+<div class=CFunction>Removes a directory</div></div>
+<div class=CToolTip id="tt181">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_backward (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer backward with a given number of bytes from the current position.</div></div>
+<div class=CToolTip id="tt182">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_end (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer to the end of the file.</div></div>
+<div class=CToolTip id="tt183">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_forward (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer forward with a given number of bytes from the current position.</div></div>
+<div class=CToolTip id="tt184">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_home (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer to the beginning of the file.</div></div>
+<div class=CToolTip id="tt185">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_set_filedescriptor_previousline (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>If there was no problem, then the return value will be 1.</div></div>
+<div class=CToolTip id="tt186">
+<div class=CFunction>Query the permissions of the file or directory.</div></div>
+<div class=CToolTip id="tt187">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_data (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_data</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt188">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_write_data_flush (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt189">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_text (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt190">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_text_flush (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt191">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_floor(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Return the largest integer value that is not greater then value</div></div>
+<div class=CToolTip id="tt192">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_bfree (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Query the total number of free blocks.</div></div>
+<div class=CToolTip id="tt193">
+<div class=CFunction>Query the total number of blocks.</div></div>
+<div class=CToolTip id="tt194">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_bsize (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Query the file system block size.</div></div>
+<div class=CToolTip id="tt195">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_dspacerate (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Query the free space rate.</div></div>
+<div class=CToolTip id="tt196">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_gen_Exponential_Distribution(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Returns with the exponential random variable for a given lambda</div></div>
+<div class=CToolTip id="tt197">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_generate_poissonTable(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>t_Poisson_Table&nbsp;</td>
+<td class=PParameter nowrap>p_pTable</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Returns with an initialized poisson table which is a cumulative probability distribution list for a given lambda.</div></div>
+<div class=CToolTip id="tt198">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getCurrentDateWithOffset(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Generate a date from the actual date and time plus the parameter in seconds e.g. </div></div>
+<div class=CToolTip id="tt199">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_getCurrentGMTDate() return charstring</td></tr></table></blockquote>Return the current GMT date in format RFC 1123-Date ex :Sat, 13 Nov 2010 23:30:02 GMT</div></div>
+<div class=CToolTip id="tt200">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_GetEnv(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_name</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Return the environment variable specified via p_env_name</div></div>
+<div class=CToolTip id="tt201">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_getHostName() return charstring</td></tr></table></blockquote>Get name of host</div></div>
+<div class=CToolTip id="tt202">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ip,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>netmask,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>broadcast,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Get IP address, subnet mask and broadcast address from a network inteface</div></div>
+<div class=CToolTip id="tt203">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_getIpAddr(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>hostname,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return charstring</td></tr></table></td></tr></table></blockquote>Get IP address of host</div></div>
+<div class=CToolTip id="tt204">
+<div class=CFunction>Get both IPv4 and IPv6 addresses of the given host</div></div>
+<div class=CToolTip id="tt205">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_getNext_poissonValue(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>t_Poisson_Table&nbsp;</td>
+<td class=PParameter nowrap>p_pTable,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>boolean&nbsp;</td>
+<td class=PParameter nowrap>p_sucess</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Returns with a random poisson value by the given poisson table and lambda poisson variance.</div></div>
+<div class=CToolTip id="tt206">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getTimeFormatted(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_format</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Return the current calendar time in a formatted way</div></div>
+<div class=CToolTip id="tt207">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_calculateAUTN(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_6&nbsp;</td>
+<td class=PParameter nowrap>SQN,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_6&nbsp;</td>
+<td class=PParameter nowrap>AK,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_2&nbsp;</td>
+<td class=PParameter nowrap>AMF,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_8&nbsp;</td>
+<td class=PParameter nowrap>MAC</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Computes authentication token AUTN from anonymity key AK, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt208">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f1(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_sqn,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_amf</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt209">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f1star (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_sqn,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_amf</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt210">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f2 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns response RES.</div></div>
+<div class=CToolTip id="tt211">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_IMSAKA_f2345 (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_OP,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_k,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_rand</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return TCCSecurity_Keys</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns AK, CK, RES</div></div>
+<div class=CToolTip id="tt212">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f3 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns confidentiality key CK.</div></div>
+<div class=CToolTip id="tt213">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f4 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns integrity key IK.</div></div>
+<div class=CToolTip id="tt214">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f5 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns anonymity key AK.</div></div>
+<div class=CToolTip id="tt215">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f5star (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</div></div>
+<div class=CToolTip id="tt216">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SADB_add (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Protocol&nbsp;</td>
+<td class=PParameter nowrap>protocol,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>spi,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_ExtensionList&nbsp;</td>
+<td class=PType nowrap>extensionList&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> {},</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Algorithm&nbsp;</td>
+<td class=PParameter nowrap>alg,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in boolean&nbsp;</td>
+<td class=PType nowrap>setparitybit&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> false,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_IPsecMode&nbsp;</td>
+<td class=PType nowrap>ipSecMode&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyMode</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Adds a Security Association to the database (SADB)</div></div>
+<div class=CToolTip id="tt217">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_IPsec_SADB_delete (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>srcAddress,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>dstAddress,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Protocol&nbsp;</td>
+<td class=PParameter nowrap width=100%>protocol,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>spi</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Deletes a Security Association from the database (SADB)</div></div>
+<div class=CToolTip id="tt218">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_IPsec_SADB_flush () return TCCIPsec_Result</td></tr></table></blockquote>Deletes all Security Associations from the database (SADB)</div></div>
+<div class=CToolTip id="tt219">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SPDB_add (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto&nbsp;</td>
+<td class=PType nowrap>transpProto&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyTranspProto,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyDirection&nbsp;</td>
+<td class=PParameter nowrap>dir,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyRule&nbsp;</td>
+<td class=PParameter nowrap>rule</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Adds a Security Policy to the database (SPDB)</div></div>
+<div class=CToolTip id="tt220">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SPDB_delete (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto&nbsp;</td>
+<td class=PType nowrap>transpProto&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyTranspProto,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyDirection&nbsp;</td>
+<td class=PParameter nowrap>dir</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Deletes a Security Policy from the database (SPD)</div></div>
+<div class=CToolTip id="tt221">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_IPsec_SPDB_flush () return TCCIPsec_Result</td></tr></table></blockquote>Deletes all Security Policies from the database (SPD)</div></div>
+<div class=CToolTip id="tt222">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_log(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the natural logarithm of the argument</div></div>
+<div class=CToolTip id="tt223">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_maxFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt224">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_maxIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return IntegerList</td></tr></table></td></tr></table></blockquote>Return an IntegerList with the highest number found at index 0 and the index of ilist where it&rsquo;s found at index 1</div></div>
+<div class=CToolTip id="tt225">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_minFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt226">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_minIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return IntegerList</td></tr></table></td></tr></table></blockquote>Return an IntegerList with the lowest number found at index 0 and the index of ilist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt227">
+<div class=CFunction>Fault tolerant version of the oct2str Titan built-in function.</div></div>
+<div class=CToolTip id="tt228">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_OctetIpv4(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_ip</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>convertes an IPv4 address given in dotted notation to its hex representation</div></div>
+<div class=CToolTip id="tt229">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_pcre_regexp(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>instr,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>expression,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>groupno</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Evaulate a Perl compatible regular expression</div></div>
+<div class=CToolTip id="tt230">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powFF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise to power (float to float power)</div></div>
+<div class=CToolTip id="tt231">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powFI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise to power (float to integer power)</div></div>
+<div class=CToolTip id="tt232">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powIF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise to power (integer to float power)</div></div>
+<div class=CToolTip id="tt233">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powII(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Raise to power (integer to integer power)</div></div>
+<div class=CToolTip id="tt234">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_PutEnv(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_name,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_value</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Set the environment variable p_env_name to p_env_value.</div></div>
+<div class=CToolTip id="tt235">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_putInLowercase(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_string</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Put charstring to lowercase</div></div>
+<div class=CToolTip id="tt236">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_putInUppercase(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_string</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Put charstring to uppercase</div></div>
+<div class=CToolTip id="tt237">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceEveryOccurenceOfPattern(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace every occurance of pattern parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt238">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceEveryOccurenceOfSubstring(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace every occurance of parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt239">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceFirstOccurenceOfPattern(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace first occurance of pattern parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt240">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceFirstOccurenceOfSubstring(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in charstring&nbsp;</td>
+<td class=PType nowrap>parInStr&nbsp;</td>
+<td class=PParameter nowrap width=100%>,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace first occurance of parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt241">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_setInterfaceDown(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>)</td></tr></table></td></tr></table></blockquote>Set down a network interface</div></div>
+<div class=CToolTip id="tt242">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_setInterfaceUp(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>)</td></tr></table></td></tr></table></blockquote>Set up a network interface</div></div>
+<div class=CToolTip id="tt243">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_setIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ipaddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>subnetmask,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>broadcast,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>number&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> 1</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Set IP address, subnet mask and broadcast address in a network inteface If number is set, a range of virtual interfaces are set up with continuous IP address (no subnet mask, broadcast checking)</div></div>
+<div class=CToolTip id="tt244">
+<div class=CFunction>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</div></div>
+<div class=CToolTip id="tt245">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sin(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>angle</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the sine of angle radILns</div></div>
+<div class=CToolTip id="tt246">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sinVL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>freq,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>altitude,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>start_val,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>len,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>step</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return the values of the sine function</div></div>
+<div class=CToolTip id="tt247">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise a float value to square</div></div>
+<div class=CToolTip id="tt248">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Raise an integer value to square</div></div>
+<div class=CToolTip id="tt249">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrtF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Square root of float value</div></div>
+<div class=CToolTip id="tt250">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrtI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Square root of integer value</div></div>
+<div class=CToolTip id="tt251">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of float list (so the average square distance from the center of elements in the list)</div></div>
+<div class=CToolTip id="tt252">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdFLL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>u</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of float list  using custom center (so it is the average square distance from a user defined central value)</div></div>
+<div class=CToolTip id="tt253">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of integer list (so the average square distance from the center of points)</div></div>
+<div class=CToolTip id="tt254">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdILL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>u</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of integer list using custom center (so it is the average square distance from a user defined central value)</div></div>
+<div class=CToolTip id="tt255">
+<div class=CFunction>The f_strstr function locates the first  occurrence  of  the string  s2 in string s1 and returns an index of starting pont of the located string, or  -1 if the string is not found. </div></div>
+<div class=CToolTip id="tt256">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_subOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Substract two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt257">
+<div class=CFunction>The function returns a substring from a value. </div></div>
+<div class=CToolTip id="tt258">
+<div class=CFunction>Returns the pid of the process</div></div>
+<div class=CToolTip id="tt259">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Function to get the length of the received message.</div></div>
+<div class=CToolTip id="tt260">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength4Diameter(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Function to get the length of the received message.</div></div>
+<div class=CToolTip id="tt261">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength4Radius(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Function to get the length of the received message.</div></div>
+<div class=CToolTip id="tt262">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_Template_subsfiletemplate(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCSubstitutionList&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_dict,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_file</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Makes the substitutions in the content of the given file, according to the dictonary</div></div>
+<div class=CToolTip id="tt263">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_Template_substitutetemplate(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCSubstitutionList&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_dict,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_string</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Makes the substitutions according to the dictonary given</div></div>
+<div class=CToolTip id="tt264">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_tic() return integer</td></tr></table></blockquote>Return the number of clock ticks used by the application since the program was launched</div></div>
+<div class=CToolTip id="tt265">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_time() return integer</td></tr></table></blockquote>Current calendar time of the system in seconds</div></div>
+<div class=CToolTip id="tt266">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_time2sec(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_year,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_mon,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_day,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_hour,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_min,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>function to convert a formated time value to seconds The time represented as local time</div></div>
+<div class=CToolTip id="tt267">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_time2sec_UTC(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_year,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_mon,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_day,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_hour,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_min,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>function to convert a formated time value to seconds The time represented as UTC</div></div>
+<div class=CToolTip id="tt268">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_timeDiff(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t_stop,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t_start</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Difference between two time</div></div>
+<div class=CToolTip id="tt269">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_toc(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Elapsed seconds since time t (only when f_tic() returns the number of clock ticks elapsed since the program was launched)</div></div>
+<div class=CToolTip id="tt270">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_unichar2charstr (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>p_unichar</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Convert universal charstring 2 charstring</div></div>
+<div class=CToolTip id="tt271">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_updateFL(</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>head,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>tail</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Append tail to the end of head (head return as inout)</div></div>
+<div class=CToolTip id="tt272">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_updateIL(</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>head,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>tail</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Append tail to the end of head (head return as inout)</div></div>
+<div class=CToolTip id="tt273">
+<div class=CFunction>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt274">
+<div class=CFunction>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt275">
+<div class=CFunction>Takes key K and random challenge RAND, and returns response RES, confidentiality key CK, integrity key IK and anonymity key AK.</div></div>
+<div class=CToolTip id="tt276">
+<div class=CFunction>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+</div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/index/Functions3.html b/doc/apidoc/html/index/Functions3.html
new file mode 100644
index 0000000000000000000000000000000000000000..e515fda0f9d9649b90fa4d79d50a577489f6cd09
--- /dev/null
+++ b/doc/apidoc/html/index/Functions3.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>TCCUsefulFunctions - Function Index</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedIndexPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Function Index</div>
+<div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; <a href="Functions.html#B">B</a> &middot; <a href="Functions.html#C">C</a> &middot; <a href="Functions.html#D">D</a> &middot; <a href="Functions.html#E">E</a> &middot; <a href="Functions2.html#F">F</a> &middot; G &middot; H &middot; I &middot; J &middot; <a href="#K">K</a> &middot; L &middot; <a href="#M">M</a> &middot; N &middot; O &middot; P &middot; Q &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &middot; T &middot; U &middot; V &middot; W &middot; <a href="#X">X</a> &middot; Y &middot; Z</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=IHeading id=IFirstHeading>
+<a name="K"></a>K</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#KeyAdd" id=link291 onMouseOver="ShowTip(event, 'tt277', 'link291')" onMouseOut="HideTip('tt277')" class=ISymbol>KeyAdd</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="M"></a>M</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#MixColumn" id=link292 onMouseOver="ShowTip(event, 'tt278', 'link292')" onMouseOut="HideTip('tt278')" class=ISymbol>MixColumn</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="R"></a>R</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#RijndaelEncrypt" id=link293 onMouseOver="ShowTip(event, 'tt279', 'link293')" onMouseOut="HideTip('tt279')" class=ISymbol>RijndaelEncrypt</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#RijndaelKeySchedule" id=link294 onMouseOver="ShowTip(event, 'tt280', 'link294')" onMouseOut="HideTip('tt280')" class=ISymbol>RijndaelKeySchedule</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="S"></a>S</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ShiftRow" id=link295 onMouseOver="ShowTip(event, 'tt281', 'link295')" onMouseOut="HideTip('tt281')" class=ISymbol>ShiftRow</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="X"></a>X</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>XPathQuery</span>
+<div class=ISubIndex>
+<a href="../files/TCCXPathSupport-cc.html#XPathQuery" id=link296 onMouseOver="ShowTip(event, 'tt282', 'link296')" onMouseOut="HideTip('tt282')" class=IFile>TCCXPathSupport.cc</a>
+<a href="../files/TCCXPathSupport_Functions-ttcn.html#XPathQuery" id=link297 onMouseOver="ShowTip(event, 'tt282', 'link297')" onMouseOut="HideTip('tt282')" class=IFile>TCCXPathSupport_Functions.ttcn</a></div></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt277">
+<div class=CFunction>Round key addition function</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt278">
+<div class=CFunction>MixColumn transformation</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt279">
+<div class=CFunction>Rijndael encryption function. </div></div>
+<div class=CToolTip id="tt280">
+<div class=CFunction>Rijndael key schedule function. </div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt281">
+<div class=CFunction>Row shift transformation</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt282">
+<div class=CFunction>apply an XPath query on an XML document</div></div>
+<!--END_ND_TOOLTIPS-->
+
+</div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/index/General.html b/doc/apidoc/html/index/General.html
new file mode 100644
index 0000000000000000000000000000000000000000..6e7cf58ec87ac2c83dc65ba0280d3e558ea7d5c7
--- /dev/null
+++ b/doc/apidoc/html/index/General.html
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>TCCUsefulFunctions - Index</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedIndexPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Index</div>
+<div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="#A">A</a> &middot; <a href="#B">B</a> &middot; <a href="#C">C</a> &middot; <a href="#D">D</a> &middot; <a href="#E">E</a> &middot; <a href="General2.html#F">F</a> &middot; G &middot; H &middot; <a href="General3.html#I">I</a> &middot; J &middot; <a href="General3.html#K">K</a> &middot; L &middot; <a href="General3.html#M">M</a> &middot; N &middot; <a href="General3.html#O">O</a> &middot; <a href="General3.html#P">P</a> &middot; Q &middot; <a href="General3.html#R">R</a> &middot; <a href="General3.html#S">S</a> &middot; <a href="General3.html#T">T</a> &middot; <a href="General3.html#U">U</a> &middot; <a href="General3.html#V">V</a> &middot; W &middot; <a href="General3.html#X">X</a> &middot; Y &middot; <a href="General3.html#Z">Z</a></div>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=IHeading id=IFirstHeading>
+<a name="A"></a>A</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#aka_algorythm_set.h"  class=ISymbol>aka_algorythm_set.h</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="B"></a>B</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#BooleanList" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>BooleanList</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ByteSub" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>ByteSub</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="C"></a>C</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#c_TCCIPsec_anyPort" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>c_TCCIPsec_anyPort</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#c_TCCIPsec_prefixAll" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>c_TCCIPsec_prefixAll</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ComputeOPc" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>ComputeOPc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#Constants"  class=ISymbol>Constants</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/digcalc-h.html#CvtHex" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>CvtHex</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="D"></a>D</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#dec__LDIF__Base64" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>dec__LDIF__Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#dec__MIME__Base64" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>dec__MIME__Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#dec_LDIF_Base64" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>dec_LDIF_Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#dec_MIME_Base64" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>dec_MIME_Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/digcalc-h.html#digcalc.h"  class=ISymbol>digcalc.h</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/digcalc-h.html#DigestCalcHA1" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>DigestCalcHA1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/digcalc-h.html#DigestCalcResponse" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>DigestCalcResponse</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="E"></a>E</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/zuc-h.html#EEA3" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>EEA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/zuc-h.html#EIA3" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>EIA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#enc__LDIF__Base64" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>enc__LDIF__Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#enc__MIME__Base64" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>enc__MIME__Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#enc_LDIF_Base64" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>enc_LDIF_Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#enc_MIME_Base64" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>enc_MIME_Base64</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#Enumerations"  class=ISymbol>Enumerations</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of boolean BooleanList</td></tr></table></blockquote>List of boolean</div></div>
+<div class=CToolTip id="tt2">
+<div class=CFunction>Byte substitution transformation</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt3">
+<div class=CConstant>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>const integer c_TCCIPsec_anyPort := 0</td></tr></table></blockquote>Provides port value representing any port</div></div>
+<div class=CToolTip id="tt4">
+<div class=CConstant>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>const integer c_TCCIPsec_prefixAll := -1</td></tr></table></blockquote>Provides port value representing any port</div></div>
+<div class=CToolTip id="tt5">
+<div class=CFunction>Function to compute OPc from OP and K. </div></div>
+<div class=CToolTip id="tt6">
+<div class=CFunction>Convert hash value to hexa string</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt7">
+<div class=CFunction>Decode message from LDIF Base64 format (RFC 2849)</div></div>
+<div class=CToolTip id="tt8">
+<div class=CFunction>Decode message from MIME Base64 format (RFC 2045)</div></div>
+<div class=CToolTip id="tt9">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function dec_LDIF_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_b64</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Decode message from LDIF Base64 format (RFC 2849)</div></div>
+<div class=CToolTip id="tt10">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function dec_MIME_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_b64</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Decode message from MIME Base64 format (RFC 2045)</div></div>
+<div class=CToolTip id="tt11">
+<div class=CFunction>Calculate HA1 as defined in HTTP digest specification</div></div>
+<div class=CToolTip id="tt12">
+<div class=CFunction>Calculate request-digest/response-digest as defined in HTTP Digest specification</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt13">
+<div class=CFunction>Purpose: Encrypt message using the confidentiality algorithm 128-EEA3</div></div>
+<div class=CToolTip id="tt14">
+<div class=CFunction>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3</div></div>
+<div class=CToolTip id="tt15">
+<div class=CFunction>Encode message to LDIF Base64 format (RFC 2849)</div></div>
+<div class=CToolTip id="tt16">
+<div class=CFunction>Encode message to MIME Base64 format (RFC 2045)</div></div>
+<div class=CToolTip id="tt17">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function enc_LDIF_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>p_msg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Encode message to LDIF Base64 format (RFC 2849)</div></div>
+<div class=CToolTip id="tt18">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function enc_MIME_Base64(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>p_msg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Encode message to MIME Base64 format (RFC 2045)</div></div>
+<!--END_ND_TOOLTIPS-->
+
+</div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/index/General2.html b/doc/apidoc/html/index/General2.html
new file mode 100644
index 0000000000000000000000000000000000000000..a197ca0a02c31efb87cd06f707d42ed2413fade5
--- /dev/null
+++ b/doc/apidoc/html/index/General2.html
@@ -0,0 +1,3920 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>TCCUsefulFunctions - Index</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedIndexPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Index</div>
+<div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="General.html#A">A</a> &middot; <a href="General.html#B">B</a> &middot; <a href="General.html#C">C</a> &middot; <a href="General.html#D">D</a> &middot; <a href="General.html#E">E</a> &middot; <a href="#F">F</a> &middot; G &middot; H &middot; <a href="General3.html#I">I</a> &middot; J &middot; <a href="General3.html#K">K</a> &middot; L &middot; <a href="General3.html#M">M</a> &middot; N &middot; <a href="General3.html#O">O</a> &middot; <a href="General3.html#P">P</a> &middot; Q &middot; <a href="General3.html#R">R</a> &middot; <a href="General3.html#S">S</a> &middot; <a href="General3.html#T">T</a> &middot; <a href="General3.html#U">U</a> &middot; <a href="General3.html#V">V</a> &middot; W &middot; <a href="General3.html#X">X</a> &middot; Y &middot; <a href="General3.html#Z">Z</a></div>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=IHeading id=IFirstHeading>
+<a name="F"></a>F</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__acos" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>f__acos</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__addOctetstring" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>f__addOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__asin" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>f__asin</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCAssertion-cc.html#f__assert" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>f__assert</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__averageFL" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>f__averageFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__averageIL" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>f__averageIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate__HMAC__MD5" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>f__calculate__HMAC__MD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate__HMAC__SHA1" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>f__calculate__HMAC__SHA1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate128__EEA3" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>f__calculate128__EEA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate128__EIA3" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>f__calculate128__EIA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateDigestHA1" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>f__calculateDigestHA1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateDigestResponse" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>f__calculateDigestResponse</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateHMACMD5" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>f__calculateHMACMD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateMD5" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>f__calculateMD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__ceil" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>f__ceil</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTitanMetadata-cc.html#f__compilationTime" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>f__compilationTime</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__compOctetstring" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>f__compOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__cos" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>f__cos</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__cosVL" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>f__cosVL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__ctime" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>f__ctime</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__ctime__UTC" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>f__ctime__UTC</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#f__dec__TBCD" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')" class=ISymbol>f__dec__TBCD</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__deleteIP" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')" class=ISymbol>f__deleteIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__EAPSIM__A3A8" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')" class=ISymbol>f__EAPSIM__A3A8</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#f__enc__TBCD" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')" class=ISymbol>f__enc__TBCD</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__exp" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')" class=ISymbol>f__exp</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__chdir" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')" class=ISymbol>f__FIO__chdir</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__close" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')" class=ISymbol>f__FIO__close</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__flush" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')" class=ISymbol>f__FIO__flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__get__error__code" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')" class=ISymbol>f__FIO__get__error__code</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__get__error__string" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')" class=ISymbol>f__FIO__get__error__string</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')" class=ISymbol>f__FIO__open</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__rdwr" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')" class=ISymbol>f__FIO__open__append__rdwr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__rdwr__excl" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')" class=ISymbol>f__FIO__open__append__rdwr__excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__wronly" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')" class=ISymbol>f__FIO__open__append__wronly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__wronly__excl" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')" class=ISymbol>f__FIO__open__append__wronly__excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__rdonly" id=link55 onMouseOver="ShowTip(event, 'tt55', 'link55')" onMouseOut="HideTip('tt55')" class=ISymbol>f__FIO__open__rdonly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__rdwr" id=link56 onMouseOver="ShowTip(event, 'tt56', 'link56')" onMouseOut="HideTip('tt56')" class=ISymbol>f__FIO__open__trunc__rdwr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__rdwr__excl" id=link57 onMouseOver="ShowTip(event, 'tt57', 'link57')" onMouseOut="HideTip('tt57')" class=ISymbol>f__FIO__open__trunc__rdwr__excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__wronly" id=link58 onMouseOver="ShowTip(event, 'tt58', 'link58')" onMouseOut="HideTip('tt58')" class=ISymbol>f__FIO__open__trunc__wronly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__wronly__excl" id=link59 onMouseOver="ShowTip(event, 'tt59', 'link59')" onMouseOut="HideTip('tt59')" class=ISymbol>f__FIO__open__trunc__wronly__excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__opened" id=link60 onMouseOver="ShowTip(event, 'tt60', 'link60')" onMouseOut="HideTip('tt60')" class=ISymbol>f__FIO__opened</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read" id=link61 onMouseOver="ShowTip(event, 'tt61', 'link61')" onMouseOut="HideTip('tt61')" class=ISymbol>f__FIO__read</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data" id=link62 onMouseOver="ShowTip(event, 'tt62', 'link62')" onMouseOut="HideTip('tt62')" class=ISymbol>f__FIO__read__data</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data__TLV" id=link63 onMouseOver="ShowTip(event, 'tt63', 'link63')" onMouseOut="HideTip('tt63')" class=ISymbol>f__FIO__read__data__TLV</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data__until" id=link64 onMouseOver="ShowTip(event, 'tt64', 'link64')" onMouseOut="HideTip('tt64')" class=ISymbol>f__FIO__read__data__until</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__text" id=link65 onMouseOver="ShowTip(event, 'tt65', 'link65')" onMouseOut="HideTip('tt65')" class=ISymbol>f__FIO__read__text</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__text__until" id=link66 onMouseOver="ShowTip(event, 'tt66', 'link66')" onMouseOut="HideTip('tt66')" class=ISymbol>f__FIO__read__text__until</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__realize__error" id=link67 onMouseOver="ShowTip(event, 'tt67', 'link67')" onMouseOut="HideTip('tt67')" class=ISymbol>f__FIO__realize__error</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__backward" id=link68 onMouseOver="ShowTip(event, 'tt68', 'link68')" onMouseOut="HideTip('tt68')" class=ISymbol>f__FIO__seek__backward</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__end" id=link69 onMouseOver="ShowTip(event, 'tt69', 'link69')" onMouseOut="HideTip('tt69')" class=ISymbol>f__FIO__seek__end</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__forward" id=link70 onMouseOver="ShowTip(event, 'tt70', 'link70')" onMouseOut="HideTip('tt70')" class=ISymbol>f__FIO__seek__forward</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__home" id=link71 onMouseOver="ShowTip(event, 'tt71', 'link71')" onMouseOut="HideTip('tt71')" class=ISymbol>f__FIO__seek__home</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__set__filedescriptor__previousline" id=link72 onMouseOver="ShowTip(event, 'tt72', 'link72')" onMouseOut="HideTip('tt72')" class=ISymbol>f__FIO__set__filedescriptor__previousline</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write" id=link73 onMouseOver="ShowTip(event, 'tt73', 'link73')" onMouseOut="HideTip('tt73')" class=ISymbol>f__FIO__write</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__data" id=link74 onMouseOver="ShowTip(event, 'tt74', 'link74')" onMouseOut="HideTip('tt74')" class=ISymbol>f__FIO__write__data</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__data__flush" id=link75 onMouseOver="ShowTip(event, 'tt75', 'link75')" onMouseOut="HideTip('tt75')" class=ISymbol>f__FIO__write__data__flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__text" id=link76 onMouseOver="ShowTip(event, 'tt76', 'link76')" onMouseOut="HideTip('tt76')" class=ISymbol>f__FIO__write__text</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__text__flush" id=link77 onMouseOver="ShowTip(event, 'tt77', 'link77')" onMouseOut="HideTip('tt77')" class=ISymbol>f__FIO__write__text__flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__floor" id=link78 onMouseOver="ShowTip(event, 'tt78', 'link78')" onMouseOut="HideTip('tt78')" class=ISymbol>f__floor</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getCurrentDateWithOffset" id=link79 onMouseOver="ShowTip(event, 'tt79', 'link79')" onMouseOut="HideTip('tt79')" class=ISymbol>f__getCurrentDateWithOffset</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getCurrentGMTDate" id=link80 onMouseOver="ShowTip(event, 'tt80', 'link80')" onMouseOut="HideTip('tt80')" class=ISymbol>f__getCurrentGMTDate</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv-cc.html#f__GetEnv" id=link81 onMouseOver="ShowTip(event, 'tt81', 'link81')" onMouseOut="HideTip('tt81')" class=ISymbol>f__GetEnv</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getHostName" id=link82 onMouseOver="ShowTip(event, 'tt82', 'link82')" onMouseOut="HideTip('tt82')" class=ISymbol>f__getHostName</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getIP" id=link83 onMouseOver="ShowTip(event, 'tt83', 'link83')" onMouseOut="HideTip('tt83')" class=ISymbol>f__getIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getIpAddr" id=link84 onMouseOver="ShowTip(event, 'tt84', 'link84')" onMouseOut="HideTip('tt84')" class=ISymbol>f__getIpAddr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getTimeFormatted" id=link85 onMouseOver="ShowTip(event, 'tt85', 'link85')" onMouseOut="HideTip('tt85')" class=ISymbol>f__getTimeFormatted</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__calculateAUTN" id=link86 onMouseOver="ShowTip(event, 'tt86', 'link86')" onMouseOut="HideTip('tt86')" class=ISymbol>f__IMSAKA__calculateAUTN</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f1" id=link87 onMouseOver="ShowTip(event, 'tt87', 'link87')" onMouseOut="HideTip('tt87')" class=ISymbol>f__IMSAKA__f1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f1star" id=link88 onMouseOver="ShowTip(event, 'tt88', 'link88')" onMouseOut="HideTip('tt88')" class=ISymbol>f__IMSAKA__f1star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f2" id=link89 onMouseOver="ShowTip(event, 'tt89', 'link89')" onMouseOut="HideTip('tt89')" class=ISymbol>f__IMSAKA__f2</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f2345" id=link90 onMouseOver="ShowTip(event, 'tt90', 'link90')" onMouseOut="HideTip('tt90')" class=ISymbol>f__IMSAKA__f2345</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f3" id=link91 onMouseOver="ShowTip(event, 'tt91', 'link91')" onMouseOut="HideTip('tt91')" class=ISymbol>f__IMSAKA__f3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f4" id=link92 onMouseOver="ShowTip(event, 'tt92', 'link92')" onMouseOut="HideTip('tt92')" class=ISymbol>f__IMSAKA__f4</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f5" id=link93 onMouseOver="ShowTip(event, 'tt93', 'link93')" onMouseOut="HideTip('tt93')" class=ISymbol>f__IMSAKA__f5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f5star" id=link94 onMouseOver="ShowTip(event, 'tt94', 'link94')" onMouseOut="HideTip('tt94')" class=ISymbol>f__IMSAKA__f5star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__log" id=link95 onMouseOver="ShowTip(event, 'tt95', 'link95')" onMouseOut="HideTip('tt95')" class=ISymbol>f__log</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__maxFL" id=link96 onMouseOver="ShowTip(event, 'tt96', 'link96')" onMouseOut="HideTip('tt96')" class=ISymbol>f__maxFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__maxIL" id=link97 onMouseOver="ShowTip(event, 'tt97', 'link97')" onMouseOut="HideTip('tt97')" class=ISymbol>f__maxIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__minFL" id=link98 onMouseOver="ShowTip(event, 'tt98', 'link98')" onMouseOut="HideTip('tt98')" class=ISymbol>f__minFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__minIL" id=link99 onMouseOver="ShowTip(event, 'tt99', 'link99')" onMouseOut="HideTip('tt99')" class=ISymbol>f__minIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powFF" id=link100 onMouseOver="ShowTip(event, 'tt100', 'link100')" onMouseOut="HideTip('tt100')" class=ISymbol>f__powFF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powFI" id=link101 onMouseOver="ShowTip(event, 'tt101', 'link101')" onMouseOut="HideTip('tt101')" class=ISymbol>f__powFI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powIF" id=link102 onMouseOver="ShowTip(event, 'tt102', 'link102')" onMouseOut="HideTip('tt102')" class=ISymbol>f__powIF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powII" id=link103 onMouseOver="ShowTip(event, 'tt103', 'link103')" onMouseOut="HideTip('tt103')" class=ISymbol>f__powII</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv-cc.html#f__PutEnv" id=link104 onMouseOver="ShowTip(event, 'tt104', 'link104')" onMouseOut="HideTip('tt104')" class=ISymbol>f__PutEnv</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__putInLowercase" id=link105 onMouseOver="ShowTip(event, 'tt105', 'link105')" onMouseOut="HideTip('tt105')" class=ISymbol>f__putInLowercase</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__putInUppercase" id=link106 onMouseOver="ShowTip(event, 'tt106', 'link106')" onMouseOut="HideTip('tt106')" class=ISymbol>f__putInUppercase</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setInterfaceDown" id=link107 onMouseOver="ShowTip(event, 'tt107', 'link107')" onMouseOut="HideTip('tt107')" class=ISymbol>f__setInterfaceDown</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setInterfaceUp" id=link108 onMouseOver="ShowTip(event, 'tt108', 'link108')" onMouseOut="HideTip('tt108')" class=ISymbol>f__setInterfaceUp</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setIP" id=link109 onMouseOver="ShowTip(event, 'tt109', 'link109')" onMouseOut="HideTip('tt109')" class=ISymbol>f__setIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sin" id=link110 onMouseOver="ShowTip(event, 'tt110', 'link110')" onMouseOut="HideTip('tt110')" class=ISymbol>f__sin</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sinVL" id=link111 onMouseOver="ShowTip(event, 'tt111', 'link111')" onMouseOut="HideTip('tt111')" class=ISymbol>f__sinVL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrF" id=link112 onMouseOver="ShowTip(event, 'tt112', 'link112')" onMouseOut="HideTip('tt112')" class=ISymbol>f__sqrF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrI" id=link113 onMouseOver="ShowTip(event, 'tt113', 'link113')" onMouseOut="HideTip('tt113')" class=ISymbol>f__sqrI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrtF" id=link114 onMouseOver="ShowTip(event, 'tt114', 'link114')" onMouseOut="HideTip('tt114')" class=ISymbol>f__sqrtF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrtI" id=link115 onMouseOver="ShowTip(event, 'tt115', 'link115')" onMouseOut="HideTip('tt115')" class=ISymbol>f__sqrtI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdFL" id=link116 onMouseOver="ShowTip(event, 'tt116', 'link116')" onMouseOut="HideTip('tt116')" class=ISymbol>f__stdFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdFLL" id=link117 onMouseOver="ShowTip(event, 'tt117', 'link117')" onMouseOut="HideTip('tt117')" class=ISymbol>f__stdFLL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdIL" id=link118 onMouseOver="ShowTip(event, 'tt118', 'link118')" onMouseOut="HideTip('tt118')" class=ISymbol>f__stdIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdILL" id=link119 onMouseOver="ShowTip(event, 'tt119', 'link119')" onMouseOut="HideTip('tt119')" class=ISymbol>f__stdILL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__subOctetstring" id=link120 onMouseOver="ShowTip(event, 'tt120', 'link120')" onMouseOut="HideTip('tt120')" class=ISymbol>f__subOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f__TCCSecurity__hex2char</span>
+<div class=ISubIndex>
+<a href="../files/TCCSecurity-cc.html#f__TCCSecurity__hex2char" id=link121 onMouseOver="ShowTip(event, 'tt121', 'link121')" onMouseOut="HideTip('tt121')" class=IFile>TCCSecurity.cc</a>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f__TCCSecurity__hex2char" id=link122 onMouseOver="ShowTip(event, 'tt121', 'link122')" onMouseOut="HideTip('tt121')" class=IFile>TCCSecurity_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__tic" id=link123 onMouseOver="ShowTip(event, 'tt122', 'link123')" onMouseOut="HideTip('tt122')" class=ISymbol>f__tic</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time" id=link124 onMouseOver="ShowTip(event, 'tt123', 'link124')" onMouseOut="HideTip('tt123')" class=ISymbol>f__time</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time2sec" id=link125 onMouseOver="ShowTip(event, 'tt124', 'link125')" onMouseOut="HideTip('tt124')" class=ISymbol>f__time2sec</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time2sec__UTC" id=link126 onMouseOver="ShowTip(event, 'tt125', 'link126')" onMouseOut="HideTip('tt125')" class=ISymbol>f__time2sec__UTC</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__timeDiff" id=link127 onMouseOver="ShowTip(event, 'tt126', 'link127')" onMouseOut="HideTip('tt126')" class=ISymbol>f__timeDiff</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__toc" id=link128 onMouseOver="ShowTip(event, 'tt127', 'link128')" onMouseOut="HideTip('tt127')" class=ISymbol>f__toc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__updateFL" id=link129 onMouseOver="ShowTip(event, 'tt128', 'link129')" onMouseOut="HideTip('tt128')" class=ISymbol>f__updateFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__updateIL" id=link130 onMouseOver="ShowTip(event, 'tt129', 'link130')" onMouseOut="HideTip('tt129')" class=ISymbol>f__updateIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_acos" id=link131 onMouseOver="ShowTip(event, 'tt130', 'link131')" onMouseOut="HideTip('tt130')" class=ISymbol>f_acos</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_addOctetstring" id=link132 onMouseOver="ShowTip(event, 'tt131', 'link132')" onMouseOut="HideTip('tt131')" class=ISymbol>f_addOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_asin" id=link133 onMouseOver="ShowTip(event, 'tt132', 'link133')" onMouseOut="HideTip('tt132')" class=ISymbol>f_asin</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCAssertion_Functions-ttcn.html#f_assert" id=link134 onMouseOver="ShowTip(event, 'tt133', 'link134')" onMouseOut="HideTip('tt133')" class=ISymbol>f_assert</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_averageFL" id=link135 onMouseOver="ShowTip(event, 'tt134', 'link135')" onMouseOut="HideTip('tt134')" class=ISymbol>f_averageFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_averageIL" id=link136 onMouseOver="ShowTip(event, 'tt135', 'link136')" onMouseOut="HideTip('tt135')" class=ISymbol>f_averageIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate_HMAC_MD5" id=link137 onMouseOver="ShowTip(event, 'tt136', 'link137')" onMouseOut="HideTip('tt136')" class=ISymbol>f_calculate_HMAC_MD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate_HMAC_SHA1" id=link138 onMouseOver="ShowTip(event, 'tt137', 'link138')" onMouseOut="HideTip('tt137')" class=ISymbol>f_calculate_HMAC_SHA1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate128_EEA3" id=link139 onMouseOver="ShowTip(event, 'tt138', 'link139')" onMouseOut="HideTip('tt138')" class=ISymbol>f_calculate128_EEA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate128_EIA3" id=link140 onMouseOver="ShowTip(event, 'tt139', 'link140')" onMouseOut="HideTip('tt139')" class=ISymbol>f_calculate128_EIA3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateDigestHA1" id=link141 onMouseOver="ShowTip(event, 'tt140', 'link141')" onMouseOut="HideTip('tt140')" class=ISymbol>f_calculateDigestHA1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateDigestResponse" id=link142 onMouseOver="ShowTip(event, 'tt141', 'link142')" onMouseOut="HideTip('tt141')" class=ISymbol>f_calculateDigestResponse</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateHMACMD5" id=link143 onMouseOver="ShowTip(event, 'tt142', 'link143')" onMouseOut="HideTip('tt142')" class=ISymbol>f_calculateHMACMD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateMD5" id=link144 onMouseOver="ShowTip(event, 'tt143', 'link144')" onMouseOut="HideTip('tt143')" class=ISymbol>f_calculateMD5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_ceil" id=link145 onMouseOver="ShowTip(event, 'tt144', 'link145')" onMouseOut="HideTip('tt144')" class=ISymbol>f_ceil</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_charstr2unichar" id=link146 onMouseOver="ShowTip(event, 'tt145', 'link146')" onMouseOut="HideTip('tt145')" class=ISymbol>f_charstr2unichar</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTitanMetadata_Functions-ttcn.html#f_compilationTime" id=link147 onMouseOver="ShowTip(event, 'tt146', 'link147')" onMouseOut="HideTip('tt146')" class=ISymbol>f_compilationTime</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_compOctetstring" id=link148 onMouseOver="ShowTip(event, 'tt147', 'link148')" onMouseOut="HideTip('tt147')" class=ISymbol>f_compOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_convertIPAddrToBinary</span>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_convertIPAddrToBinary" id=link149 onMouseOver="ShowTip(event, 'tt148', 'link149')" onMouseOut="HideTip('tt148')" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_convertIPAddrToBinary" id=link150 onMouseOver="ShowTip(event, 'tt148', 'link150')" onMouseOut="HideTip('tt148')" class=IFile>TCCConversion_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_cos" id=link151 onMouseOver="ShowTip(event, 'tt149', 'link151')" onMouseOut="HideTip('tt149')" class=ISymbol>f_cos</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_cosVL" id=link152 onMouseOver="ShowTip(event, 'tt150', 'link152')" onMouseOut="HideTip('tt150')" class=ISymbol>f_cosVL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_ctime" id=link153 onMouseOver="ShowTip(event, 'tt151', 'link153')" onMouseOut="HideTip('tt151')" class=ISymbol>f_ctime</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_ctime_UTC" id=link154 onMouseOver="ShowTip(event, 'tt152', 'link154')" onMouseOut="HideTip('tt152')" class=ISymbol>f_ctime_UTC</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_dec_TBCD" id=link155 onMouseOver="ShowTip(event, 'tt153', 'link155')" onMouseOut="HideTip('tt153')" class=ISymbol>f_dec_TBCD</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_decGSM7bit" id=link156 onMouseOver="ShowTip(event, 'tt154', 'link156')" onMouseOut="HideTip('tt154')" class=ISymbol>f_decGSM7bit</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_deleteIP" id=link157 onMouseOver="ShowTip(event, 'tt155', 'link157')" onMouseOut="HideTip('tt155')" class=ISymbol>f_deleteIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_delIP_ip</span>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_delIP_ip" id=link158 onMouseOver="ShowTip(event, 'tt156', 'link158')" onMouseOut="HideTip('tt156')" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_delIP_ip" id=link159 onMouseOver="ShowTip(event, 'tt156', 'link159')" onMouseOut="HideTip('tt156')" class=IFile>TCCInterface_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_EAPSIM_A3A8" id=link160 onMouseOver="ShowTip(event, 'tt157', 'link160')" onMouseOut="HideTip('tt157')" class=ISymbol>f_EAPSIM_A3A8</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_enc_TBCD" id=link161 onMouseOver="ShowTip(event, 'tt158', 'link161')" onMouseOut="HideTip('tt158')" class=ISymbol>f_enc_TBCD</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_encGSM7bit" id=link162 onMouseOver="ShowTip(event, 'tt159', 'link162')" onMouseOut="HideTip('tt159')" class=ISymbol>f_encGSM7bit</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_exp" id=link163 onMouseOver="ShowTip(event, 'tt160', 'link163')" onMouseOut="HideTip('tt160')" class=ISymbol>f_exp</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_chdir" id=link164 onMouseOver="ShowTip(event, 'tt161', 'link164')" onMouseOut="HideTip('tt161')" class=ISymbol>f_FIO_chdir</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_FIO_chmod</span>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_chmod" id=link165 onMouseOver="ShowTip(event, 'tt162', 'link165')" onMouseOut="HideTip('tt162')" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_chmod" id=link166 onMouseOver="ShowTip(event, 'tt162', 'link166')" onMouseOut="HideTip('tt162')" class=IFile>TCCFileIO_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_close" id=link167 onMouseOver="ShowTip(event, 'tt163', 'link167')" onMouseOut="HideTip('tt163')" class=ISymbol>f_FIO_close</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_FIO_fileOrDirExists</span>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_fileOrDirExists" id=link168 onMouseOver="ShowTip(event, 'tt164', 'link168')" onMouseOut="HideTip('tt164')" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_fileOrDirExists" id=link169 onMouseOver="ShowTip(event, 'tt164', 'link169')" onMouseOut="HideTip('tt164')" class=IFile>TCCFileIO_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_flush" id=link170 onMouseOver="ShowTip(event, 'tt165', 'link170')" onMouseOut="HideTip('tt165')" class=ISymbol>f_FIO_flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_get_error_code" id=link171 onMouseOver="ShowTip(event, 'tt166', 'link171')" onMouseOut="HideTip('tt166')" class=ISymbol>f_FIO_get_error_code</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_get_error_string" id=link172 onMouseOver="ShowTip(event, 'tt167', 'link172')" onMouseOut="HideTip('tt167')" class=ISymbol>f_FIO_get_error_string</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_FIO_mkdir</span>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_mkdir" id=link173 onMouseOver="ShowTip(event, 'tt168', 'link173')" onMouseOut="HideTip('tt168')" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_mkdir" id=link174 onMouseOver="ShowTip(event, 'tt168', 'link174')" onMouseOut="HideTip('tt168')" class=IFile>TCCFileIO_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_rdwr" id=link175 onMouseOver="ShowTip(event, 'tt169', 'link175')" onMouseOut="HideTip('tt169')" class=ISymbol>f_FIO_open_append_rdwr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_rdwr_excl" id=link176 onMouseOver="ShowTip(event, 'tt170', 'link176')" onMouseOut="HideTip('tt170')" class=ISymbol>f_FIO_open_append_rdwr_excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_wronly" id=link177 onMouseOver="ShowTip(event, 'tt171', 'link177')" onMouseOut="HideTip('tt171')" class=ISymbol>f_FIO_open_append_wronly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_wronly_excl" id=link178 onMouseOver="ShowTip(event, 'tt172', 'link178')" onMouseOut="HideTip('tt172')" class=ISymbol>f_FIO_open_append_wronly_excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_rdonly" id=link179 onMouseOver="ShowTip(event, 'tt173', 'link179')" onMouseOut="HideTip('tt173')" class=ISymbol>f_FIO_open_rdonly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_rdwr" id=link180 onMouseOver="ShowTip(event, 'tt174', 'link180')" onMouseOut="HideTip('tt174')" class=ISymbol>f_FIO_open_trunc_rdwr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_rdwr_excl" id=link181 onMouseOver="ShowTip(event, 'tt175', 'link181')" onMouseOut="HideTip('tt175')" class=ISymbol>f_FIO_open_trunc_rdwr_excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_wronly" id=link182 onMouseOver="ShowTip(event, 'tt176', 'link182')" onMouseOut="HideTip('tt176')" class=ISymbol>f_FIO_open_trunc_wronly</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_wronly_excl" id=link183 onMouseOver="ShowTip(event, 'tt177', 'link183')" onMouseOut="HideTip('tt177')" class=ISymbol>f_FIO_open_trunc_wronly_excl</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data" id=link184 onMouseOver="ShowTip(event, 'tt178', 'link184')" onMouseOut="HideTip('tt178')" class=ISymbol>f_FIO_read_data</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data_TLV" id=link185 onMouseOver="ShowTip(event, 'tt179', 'link185')" onMouseOut="HideTip('tt179')" class=ISymbol>f_FIO_read_data_TLV</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data_until" id=link186 onMouseOver="ShowTip(event, 'tt180', 'link186')" onMouseOut="HideTip('tt180')" class=ISymbol>f_FIO_read_data_until</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_text" id=link187 onMouseOver="ShowTip(event, 'tt181', 'link187')" onMouseOut="HideTip('tt181')" class=ISymbol>f_FIO_read_text</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_text_until" id=link188 onMouseOver="ShowTip(event, 'tt182', 'link188')" onMouseOut="HideTip('tt182')" class=ISymbol>f_FIO_read_text_until</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_FIO_rmdir</span>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_rmdir" id=link189 onMouseOver="ShowTip(event, 'tt183', 'link189')" onMouseOut="HideTip('tt183')" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_rmdir" id=link190 onMouseOver="ShowTip(event, 'tt183', 'link190')" onMouseOut="HideTip('tt183')" class=IFile>TCCFileIO_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_backward" id=link191 onMouseOver="ShowTip(event, 'tt184', 'link191')" onMouseOut="HideTip('tt184')" class=ISymbol>f_FIO_seek_backward</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_end" id=link192 onMouseOver="ShowTip(event, 'tt185', 'link192')" onMouseOut="HideTip('tt185')" class=ISymbol>f_FIO_seek_end</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_forward" id=link193 onMouseOver="ShowTip(event, 'tt186', 'link193')" onMouseOut="HideTip('tt186')" class=ISymbol>f_FIO_seek_forward</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_home" id=link194 onMouseOver="ShowTip(event, 'tt187', 'link194')" onMouseOut="HideTip('tt187')" class=ISymbol>f_FIO_seek_home</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_set_filedescriptor_previousline" id=link195 onMouseOver="ShowTip(event, 'tt188', 'link195')" onMouseOut="HideTip('tt188')" class=ISymbol>f_FIO_set_filedescriptor_previousline</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_FIO_stat</span>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_stat" id=link196 onMouseOver="ShowTip(event, 'tt189', 'link196')" onMouseOut="HideTip('tt189')" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_stat" id=link197 onMouseOver="ShowTip(event, 'tt189', 'link197')" onMouseOut="HideTip('tt189')" class=IFile>TCCFileIO_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_data" id=link198 onMouseOver="ShowTip(event, 'tt190', 'link198')" onMouseOut="HideTip('tt190')" class=ISymbol>f_FIO_write_data</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_data_flush" id=link199 onMouseOver="ShowTip(event, 'tt191', 'link199')" onMouseOut="HideTip('tt191')" class=ISymbol>f_FIO_write_data_flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_text" id=link200 onMouseOver="ShowTip(event, 'tt192', 'link200')" onMouseOut="HideTip('tt192')" class=ISymbol>f_FIO_write_text</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_text_flush" id=link201 onMouseOver="ShowTip(event, 'tt193', 'link201')" onMouseOut="HideTip('tt193')" class=ISymbol>f_FIO_write_text_flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_floor" id=link202 onMouseOver="ShowTip(event, 'tt194', 'link202')" onMouseOut="HideTip('tt194')" class=ISymbol>f_floor</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_bfree" id=link203 onMouseOver="ShowTip(event, 'tt195', 'link203')" onMouseOut="HideTip('tt195')" class=ISymbol>f_FS_bfree</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_blocks" id=link204 onMouseOver="ShowTip(event, 'tt196', 'link204')" onMouseOut="HideTip('tt196')" class=ISymbol>f_FS_blocks</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_bsize" id=link205 onMouseOver="ShowTip(event, 'tt197', 'link205')" onMouseOut="HideTip('tt197')" class=ISymbol>f_FS_bsize</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_dspacerate" id=link206 onMouseOver="ShowTip(event, 'tt198', 'link206')" onMouseOut="HideTip('tt198')" class=ISymbol>f_FS_dspacerate</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_gen_Exponential_Distribution(in_float_p_lambda)return_float" id=link207 onMouseOver="ShowTip(event, 'tt199', 'link207')" onMouseOut="HideTip('tt199')" class=ISymbol>f_gen_Exponential_Distribution(in float p_lambda)return float</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_generate_poissonTable" id=link208 onMouseOver="ShowTip(event, 'tt200', 'link208')" onMouseOut="HideTip('tt200')" class=ISymbol>f_generate_poissonTable</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getCurrentDateWithOffset" id=link209 onMouseOver="ShowTip(event, 'tt201', 'link209')" onMouseOut="HideTip('tt201')" class=ISymbol>f_getCurrentDateWithOffset</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getCurrentGMTDate" id=link210 onMouseOver="ShowTip(event, 'tt202', 'link210')" onMouseOut="HideTip('tt202')" class=ISymbol>f_getCurrentGMTDate</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#f_GetEnv" id=link211 onMouseOver="ShowTip(event, 'tt203', 'link211')" onMouseOut="HideTip('tt203')" class=ISymbol>f_GetEnv</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getHostName" id=link212 onMouseOver="ShowTip(event, 'tt204', 'link212')" onMouseOut="HideTip('tt204')" class=ISymbol>f_getHostName</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIP" id=link213 onMouseOver="ShowTip(event, 'tt205', 'link213')" onMouseOut="HideTip('tt205')" class=ISymbol>f_getIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIpAddr" id=link214 onMouseOver="ShowTip(event, 'tt206', 'link214')" onMouseOut="HideTip('tt206')" class=ISymbol>f_getIpAddr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_getIpAddresses</span>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_getIpAddresses" id=link215 onMouseOver="ShowTip(event, 'tt207', 'link215')" onMouseOut="HideTip('tt207')" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIpAddresses" id=link216 onMouseOver="ShowTip(event, 'tt207', 'link216')" onMouseOut="HideTip('tt207')" class=IFile>TCCInterface_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_getNext_poissonValue" id=link217 onMouseOver="ShowTip(event, 'tt208', 'link217')" onMouseOut="HideTip('tt208')" class=ISymbol>f_getNext_poissonValue</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getTimeFormatted" id=link218 onMouseOver="ShowTip(event, 'tt209', 'link218')" onMouseOut="HideTip('tt209')" class=ISymbol>f_getTimeFormatted</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_calculateAUTN" id=link219 onMouseOver="ShowTip(event, 'tt210', 'link219')" onMouseOut="HideTip('tt210')" class=ISymbol>f_IMSAKA_calculateAUTN</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f1" id=link220 onMouseOver="ShowTip(event, 'tt211', 'link220')" onMouseOut="HideTip('tt211')" class=ISymbol>f_IMSAKA_f1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f1star" id=link221 onMouseOver="ShowTip(event, 'tt212', 'link221')" onMouseOut="HideTip('tt212')" class=ISymbol>f_IMSAKA_f1star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f2" id=link222 onMouseOver="ShowTip(event, 'tt213', 'link222')" onMouseOut="HideTip('tt213')" class=ISymbol>f_IMSAKA_f2</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f2345" id=link223 onMouseOver="ShowTip(event, 'tt214', 'link223')" onMouseOut="HideTip('tt214')" class=ISymbol>f_IMSAKA_f2345</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f3" id=link224 onMouseOver="ShowTip(event, 'tt215', 'link224')" onMouseOut="HideTip('tt215')" class=ISymbol>f_IMSAKA_f3</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f4" id=link225 onMouseOver="ShowTip(event, 'tt216', 'link225')" onMouseOut="HideTip('tt216')" class=ISymbol>f_IMSAKA_f4</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f5" id=link226 onMouseOver="ShowTip(event, 'tt217', 'link226')" onMouseOut="HideTip('tt217')" class=ISymbol>f_IMSAKA_f5</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f5star" id=link227 onMouseOver="ShowTip(event, 'tt218', 'link227')" onMouseOut="HideTip('tt218')" class=ISymbol>f_IMSAKA_f5star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_add" id=link228 onMouseOver="ShowTip(event, 'tt219', 'link228')" onMouseOut="HideTip('tt219')" class=ISymbol>f_IPsec_SADB_add</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_delete" id=link229 onMouseOver="ShowTip(event, 'tt220', 'link229')" onMouseOut="HideTip('tt220')" class=ISymbol>f_IPsec_SADB_delete</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_flush" id=link230 onMouseOver="ShowTip(event, 'tt221', 'link230')" onMouseOut="HideTip('tt221')" class=ISymbol>f_IPsec_SADB_flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_add" id=link231 onMouseOver="ShowTip(event, 'tt222', 'link231')" onMouseOut="HideTip('tt222')" class=ISymbol>f_IPsec_SPDB_add</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_delete" id=link232 onMouseOver="ShowTip(event, 'tt223', 'link232')" onMouseOut="HideTip('tt223')" class=ISymbol>f_IPsec_SPDB_delete</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_flush" id=link233 onMouseOver="ShowTip(event, 'tt224', 'link233')" onMouseOut="HideTip('tt224')" class=ISymbol>f_IPsec_SPDB_flush</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_log" id=link234 onMouseOver="ShowTip(event, 'tt225', 'link234')" onMouseOut="HideTip('tt225')" class=ISymbol>f_log</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_maxFL" id=link235 onMouseOver="ShowTip(event, 'tt226', 'link235')" onMouseOut="HideTip('tt226')" class=ISymbol>f_maxFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_maxIL" id=link236 onMouseOver="ShowTip(event, 'tt227', 'link236')" onMouseOut="HideTip('tt227')" class=ISymbol>f_maxIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_minFL" id=link237 onMouseOver="ShowTip(event, 'tt228', 'link237')" onMouseOut="HideTip('tt228')" class=ISymbol>f_minFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_minIL" id=link238 onMouseOver="ShowTip(event, 'tt229', 'link238')" onMouseOut="HideTip('tt229')" class=ISymbol>f_minIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_oct2char_safe</span>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_oct2char_safe" id=link239 onMouseOver="ShowTip(event, 'tt230', 'link239')" onMouseOut="HideTip('tt230')" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_oct2char_safe" id=link240 onMouseOver="ShowTip(event, 'tt230', 'link240')" onMouseOut="HideTip('tt230')" class=IFile>TCCConversion_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_OctetIpv4" id=link241 onMouseOver="ShowTip(event, 'tt231', 'link241')" onMouseOut="HideTip('tt231')" class=ISymbol>f_OctetIpv4</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCRegexp_Functions-ttcn.html#f_pcre_regexp" id=link242 onMouseOver="ShowTip(event, 'tt232', 'link242')" onMouseOut="HideTip('tt232')" class=ISymbol>f_pcre_regexp</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powFF" id=link243 onMouseOver="ShowTip(event, 'tt233', 'link243')" onMouseOut="HideTip('tt233')" class=ISymbol>f_powFF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powFI" id=link244 onMouseOver="ShowTip(event, 'tt234', 'link244')" onMouseOut="HideTip('tt234')" class=ISymbol>f_powFI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powIF" id=link245 onMouseOver="ShowTip(event, 'tt235', 'link245')" onMouseOut="HideTip('tt235')" class=ISymbol>f_powIF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powII" id=link246 onMouseOver="ShowTip(event, 'tt236', 'link246')" onMouseOut="HideTip('tt236')" class=ISymbol>f_powII</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#f_PutEnv" id=link247 onMouseOver="ShowTip(event, 'tt237', 'link247')" onMouseOut="HideTip('tt237')" class=ISymbol>f_PutEnv</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_putInLowercase" id=link248 onMouseOver="ShowTip(event, 'tt238', 'link248')" onMouseOut="HideTip('tt238')" class=ISymbol>f_putInLowercase</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_putInUppercase" id=link249 onMouseOver="ShowTip(event, 'tt239', 'link249')" onMouseOut="HideTip('tt239')" class=ISymbol>f_putInUppercase</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceEveryOccurenceOfPattern" id=link250 onMouseOver="ShowTip(event, 'tt240', 'link250')" onMouseOut="HideTip('tt240')" class=ISymbol>f_replaceEveryOccurenceOfPattern</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceEveryOccurenceOfSubstring" id=link251 onMouseOver="ShowTip(event, 'tt241', 'link251')" onMouseOut="HideTip('tt241')" class=ISymbol>f_replaceEveryOccurenceOfSubstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceFirstOccurenceOfPattern" id=link252 onMouseOver="ShowTip(event, 'tt242', 'link252')" onMouseOut="HideTip('tt242')" class=ISymbol>f_replaceFirstOccurenceOfPattern</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceFirstOccurenceOfSubstring" id=link253 onMouseOver="ShowTip(event, 'tt243', 'link253')" onMouseOut="HideTip('tt243')" class=ISymbol>f_replaceFirstOccurenceOfSubstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setInterfaceDown" id=link254 onMouseOver="ShowTip(event, 'tt244', 'link254')" onMouseOut="HideTip('tt244')" class=ISymbol>f_setInterfaceDown</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setInterfaceUp" id=link255 onMouseOver="ShowTip(event, 'tt245', 'link255')" onMouseOut="HideTip('tt245')" class=ISymbol>f_setInterfaceUp</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setIP" id=link256 onMouseOver="ShowTip(event, 'tt246', 'link256')" onMouseOut="HideTip('tt246')" class=ISymbol>f_setIP</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_setIP_ip</span>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_setIP_ip" id=link257 onMouseOver="ShowTip(event, 'tt247', 'link257')" onMouseOut="HideTip('tt247')" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setIP_ip" id=link258 onMouseOver="ShowTip(event, 'tt247', 'link258')" onMouseOut="HideTip('tt247')" class=IFile>TCCInterface_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sin" id=link259 onMouseOver="ShowTip(event, 'tt248', 'link259')" onMouseOut="HideTip('tt248')" class=ISymbol>f_sin</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sinVL" id=link260 onMouseOver="ShowTip(event, 'tt249', 'link260')" onMouseOut="HideTip('tt249')" class=ISymbol>f_sinVL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrF" id=link261 onMouseOver="ShowTip(event, 'tt250', 'link261')" onMouseOut="HideTip('tt250')" class=ISymbol>f_sqrF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrI" id=link262 onMouseOver="ShowTip(event, 'tt251', 'link262')" onMouseOut="HideTip('tt251')" class=ISymbol>f_sqrI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrtF" id=link263 onMouseOver="ShowTip(event, 'tt252', 'link263')" onMouseOut="HideTip('tt252')" class=ISymbol>f_sqrtF</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrtI" id=link264 onMouseOver="ShowTip(event, 'tt253', 'link264')" onMouseOut="HideTip('tt253')" class=ISymbol>f_sqrtI</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdFL" id=link265 onMouseOver="ShowTip(event, 'tt254', 'link265')" onMouseOut="HideTip('tt254')" class=ISymbol>f_stdFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdFLL" id=link266 onMouseOver="ShowTip(event, 'tt255', 'link266')" onMouseOut="HideTip('tt255')" class=ISymbol>f_stdFLL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdIL" id=link267 onMouseOver="ShowTip(event, 'tt256', 'link267')" onMouseOut="HideTip('tt256')" class=ISymbol>f_stdIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdILL" id=link268 onMouseOver="ShowTip(event, 'tt257', 'link268')" onMouseOut="HideTip('tt257')" class=ISymbol>f_stdILL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_strstr</span>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_strstr" id=link269 onMouseOver="ShowTip(event, 'tt258', 'link269')" onMouseOut="HideTip('tt258')" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_strstr" id=link270 onMouseOver="ShowTip(event, 'tt258', 'link270')" onMouseOut="HideTip('tt258')" class=IFile>TCCConversion_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_subOctetstring" id=link271 onMouseOver="ShowTip(event, 'tt259', 'link271')" onMouseOut="HideTip('tt259')" class=ISymbol>f_subOctetstring</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_substr_token</span>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_substr_token" id=link272 onMouseOver="ShowTip(event, 'tt260', 'link272')" onMouseOut="HideTip('tt260')" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_substr_token" id=link273 onMouseOver="ShowTip(event, 'tt260', 'link273')" onMouseOut="HideTip('tt260')" class=IFile>TCCConversion_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>f_SYS_getpid</span>
+<div class=ISubIndex>
+<a href="../files/TCCSystem-cc.html#f_SYS_getpid" id=link274 onMouseOver="ShowTip(event, 'tt261', 'link274')" onMouseOut="HideTip('tt261')" class=IFile>TCCSystem.cc</a>
+<a href="../files/TCCSystem_Functions-ttcn.html#f_SYS_getpid" id=link275 onMouseOver="ShowTip(event, 'tt261', 'link275')" onMouseOut="HideTip('tt261')" class=IFile>TCCSystem_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength" id=link276 onMouseOver="ShowTip(event, 'tt262', 'link276')" onMouseOut="HideTip('tt262')" class=ISymbol>f_TCCMessageHandling_getMessageLength</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength4Diameter" id=link277 onMouseOver="ShowTip(event, 'tt263', 'link277')" onMouseOut="HideTip('tt263')" class=ISymbol>f_TCCMessageHandling_getMessageLength4Diameter</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength4Radius" id=link278 onMouseOver="ShowTip(event, 'tt264', 'link278')" onMouseOut="HideTip('tt264')" class=ISymbol>f_TCCMessageHandling_getMessageLength4Radius</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#f_Template_subsfiletemplate" id=link279 onMouseOver="ShowTip(event, 'tt265', 'link279')" onMouseOut="HideTip('tt265')" class=ISymbol>f_Template_subsfiletemplate</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#f_Template_substitutetemplate" id=link280 onMouseOver="ShowTip(event, 'tt266', 'link280')" onMouseOut="HideTip('tt266')" class=ISymbol>f_Template_substitutetemplate</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_tic" id=link281 onMouseOver="ShowTip(event, 'tt267', 'link281')" onMouseOut="HideTip('tt267')" class=ISymbol>f_tic</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time" id=link282 onMouseOver="ShowTip(event, 'tt268', 'link282')" onMouseOut="HideTip('tt268')" class=ISymbol>f_time</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time2sec" id=link283 onMouseOver="ShowTip(event, 'tt269', 'link283')" onMouseOut="HideTip('tt269')" class=ISymbol>f_time2sec</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time2sec_UTC" id=link284 onMouseOver="ShowTip(event, 'tt270', 'link284')" onMouseOut="HideTip('tt270')" class=ISymbol>f_time2sec_UTC</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_timeDiff" id=link285 onMouseOver="ShowTip(event, 'tt271', 'link285')" onMouseOut="HideTip('tt271')" class=ISymbol>f_timeDiff</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_toc" id=link286 onMouseOver="ShowTip(event, 'tt272', 'link286')" onMouseOut="HideTip('tt272')" class=ISymbol>f_toc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_unichar2charstr" id=link287 onMouseOver="ShowTip(event, 'tt273', 'link287')" onMouseOut="HideTip('tt273')" class=ISymbol>f_unichar2charstr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_updateFL" id=link288 onMouseOver="ShowTip(event, 'tt274', 'link288')" onMouseOut="HideTip('tt274')" class=ISymbol>f_updateFL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_updateIL" id=link289 onMouseOver="ShowTip(event, 'tt275', 'link289')" onMouseOut="HideTip('tt275')" class=ISymbol>f_updateIL</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f1" id=link290 onMouseOver="ShowTip(event, 'tt276', 'link290')" onMouseOut="HideTip('tt276')" class=ISymbol>f1</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f1star" id=link291 onMouseOver="ShowTip(event, 'tt277', 'link291')" onMouseOut="HideTip('tt277')" class=ISymbol>f1star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f2345" id=link292 onMouseOver="ShowTip(event, 'tt278', 'link292')" onMouseOut="HideTip('tt278')" class=ISymbol>f2345</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f5star" id=link293 onMouseOver="ShowTip(event, 'tt279', 'link293')" onMouseOut="HideTip('tt279')" class=ISymbol>f5star</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#FloatList" id=link294 onMouseOver="ShowTip(event, 'tt280', 'link294')" onMouseOut="HideTip('tt280')" class=ISymbol>FloatList</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>Functions</span>
+<div class=ISubIndex>
+<a href="../files/aka_algorythm_set-h.html#Functions"  class=IFile>aka_algorythm_set.h</a>
+<a href="../files/digcalc-h.html#Functions"  class=IFile>digcalc.h</a>
+<a href="../files/TCCAssertion_Functions-ttcn.html#Functions"  class=IFile>TCCAssertion_Functions.ttcn</a>
+<a href="../files/TCCConversion-cc.html#Functions"  class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#Functions"  class=IFile>TCCConversion_Functions.ttcn</a>
+<a href="../files/TCCDateTime-cc.html#Functions"  class=IFile>TCCDateTime.cc</a>
+<a href="../files/TCCDateTime_Functions-ttcn.html#Functions"  class=IFile>TCCDateTime_Functions.ttcn</a>
+<a href="../files/TCCEncoding-cc.html#Functions"  class=IFile>TCCEncoding.cc</a>
+<a href="../files/TCCEncoding_Functions-ttcn.html#Functions"  class=IFile>TCCEncoding_Functions.ttcn</a>
+<a href="../files/TCCEnv-cc.html#Functions"  class=IFile>TCCEnv.cc</a>
+<a href="../files/TCCEnv_Functions-ttcn.html#Functions"  class=IFile>TCCEnv_Functions.ttcn</a>
+<a href="../files/TCCFileIO-cc.html#Functions"  class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#Functions"  class=IFile>TCCFileIO_Functions.ttcn</a>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#Functions"  class=IFile>TCCFileSystem_Functions.ttcn</a>
+<a href="../files/TCCInterface-cc.html#Functions"  class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#Functions"  class=IFile>TCCInterface_Functions.ttcn</a>
+<a href="../files/TCCIPsec_Functions-ttcn.html#Functions"  class=IFile>TCCIPsec_Functions.ttcn</a>
+<a href="../files/TCCMaths-cc.html#Functions"  class=IFile>TCCMaths.cc</a>
+<a href="../files/TCCMaths_Functions-ttcn.html#Functions"  class=IFile>TCCMaths_Functions.ttcn</a>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#Functions"  class=IFile>TCCMessageHandling_Functions.ttcn</a>
+<a href="../files/TCCRegexp_Functions-ttcn.html#Functions"  class=IFile>TCCRegexp_Functions.ttcn</a>
+<a href="../files/TCCSecurity-cc.html#Functions"  class=IFile>TCCSecurity.cc</a>
+<a href="../files/TCCSecurity_Functions-ttcn.html#Functions"  class=IFile>TCCSecurity_Functions.ttcn</a>
+<a href="../files/TCCTemplate_Functions-ttcn.html#Functions"  class=IFile>TCCTemplate_Functions.ttcn</a>
+<a href="../files/TCCTitanMetadata_Functions-ttcn.html#Functions"  class=IFile>TCCTitanMetadata_Functions.ttcn</a>
+<a href="../files/TCCXPathSupport_Functions-ttcn.html#Functions"  class=IFile>TCCXPathSupport_Functions.ttcn</a>
+<a href="../files/zuc-h.html#Functions"  class=IFile>zuc.h</a></div></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt19">
+<div class=CFunction>Return the arc cosine of value in [0, pi]</div></div>
+<div class=CToolTip id="tt20">
+<div class=CFunction>Add two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt21">
+<div class=CFunction>Return the arc sine of value in [-pi/2, +pi/2]</div></div>
+<div class=CToolTip id="tt22">
+<div class=CFunction>Implement TTCN assertion.</div></div>
+<div class=CToolTip id="tt23">
+<div class=CFunction>Return the average of flist</div></div>
+<div class=CToolTip id="tt24">
+<div class=CFunction>Return the average of ilist</div></div>
+<div class=CToolTip id="tt25">
+<div class=CFunction>Calculate the HMAC MD5 value of a message with specified key.</div></div>
+<div class=CToolTip id="tt26">
+<div class=CFunction>Calculate the HMAC SHA1 value of a message with specified key.</div></div>
+<div class=CToolTip id="tt27">
+<div class=CFunction>Purpose: Encrypt TTCN-3 message using the confidentiality algorithm 128-EEA3</div></div>
+<div class=CToolTip id="tt28">
+<div class=CFunction>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3 for TTCN-3 message</div></div>
+<div class=CToolTip id="tt29">
+<div class=CFunction>Calculate digest H(A1) hash</div></div>
+<div class=CToolTip id="tt30">
+<div class=CFunction>Calculate digest response</div></div>
+<div class=CToolTip id="tt31">
+<div class=CFunction>Calculate the HMAC MD5 value of a message with specified 64 bit key.</div></div>
+<div class=CToolTip id="tt32">
+<div class=CFunction>Compute MD5 hash value</div></div>
+<div class=CToolTip id="tt33">
+<div class=CFunction>Return the smallest integer value that is not less then value</div></div>
+<div class=CToolTip id="tt34">
+<div class=CFunction>Return the compilation time of module</div></div>
+<div class=CToolTip id="tt35">
+<div class=CFunction>Compare two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt36">
+<div class=CFunction>Return the cosine of angle radians</div></div>
+<div class=CToolTip id="tt37">
+<div class=CFunction>Return the values of the cos function</div></div>
+<div class=CToolTip id="tt38">
+<div class=CFunction>Convert a time value in seconds to human readable string. </div></div>
+<div class=CToolTip id="tt39">
+<div class=CFunction>Convert a time value in seconds to human readable string. </div></div>
+<div class=CToolTip id="tt40">
+<div class=CFunction>Decode octetstring from TBCD encoding</div></div>
+<div class=CToolTip id="tt41">
+<div class=CFunction>Delete IP address from a network inteface</div></div>
+<div class=CToolTip id="tt42">
+<div class=CFunction>Takes key Ki and random challenge RAND, and returns Kc and SRES keys</div></div>
+<div class=CToolTip id="tt43">
+<div class=CFunction>Encode charstring to TBCD</div></div>
+<div class=CToolTip id="tt44">
+<div class=CFunction>Return the exponential value of the argument</div></div>
+<div class=CToolTip id="tt45">
+<div class=CFunction>It changes the current directory.</div></div>
+<div class=CToolTip id="tt46">
+<div class=CFunction>Closes a file associated with the given file descriptor.</div></div>
+<div class=CToolTip id="tt47">
+<div class=CFunction>Transfers (&ldquo;flushes&rdquo;) all modified in-core data of the file referred to by the file descriptor to the disk device.</div></div>
+<div class=CToolTip id="tt48">
+<div class=CFunction>Returns the actual error code.</div></div>
+<div class=CToolTip id="tt49">
+<div class=CFunction>Returns the actual error message.</div></div>
+<div class=CToolTip id="tt50">
+<div class=CFunction>Opens a file with the given name in the given mode. </div></div>
+<div class=CToolTip id="tt51">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt52">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt53">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt54">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt55">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt56">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt57">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt58">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt59">
+<div class=CFunction>A wrapper function for f__FIO__open. </div></div>
+<div class=CToolTip id="tt60">
+<div class=CFunction>Checks if the file with the given name is already opened. </div></div>
+<div class=CToolTip id="tt61">
+<div class=CFunction>Reads a given number of bytes to a given buffer from a file associated with the given file descriptor. </div></div>
+<div class=CToolTip id="tt62">
+<div class=CFunction>A wrapper function for f__FIO__read. </div></div>
+<div class=CToolTip id="tt63">
+<div class=CFunction>It reads binary data until a full ASN.1 TLV structure is read.</div></div>
+<div class=CToolTip id="tt64">
+<div class=CFunction>It reads binary data until a given pattern is matched.</div></div>
+<div class=CToolTip id="tt65">
+<div class=CFunction>A wrapper function for f__FIO__read. </div></div>
+<div class=CToolTip id="tt66">
+<div class=CFunction>It reads textual data until a given pattern is matched.</div></div>
+<div class=CToolTip id="tt67">
+<div class=CFunction>Builds the error message. </div></div>
+<div class=CToolTip id="tt68">
+<div class=CFunction>Moves the file pointer backward with a given number of bytes from the current position.</div></div>
+<div class=CToolTip id="tt69">
+<div class=CFunction>Moves the file pointer to the end of the file.</div></div>
+<div class=CToolTip id="tt70">
+<div class=CFunction>Moves the file pointer forward with a given number of bytes from the current position.</div></div>
+<div class=CToolTip id="tt71">
+<div class=CFunction>Moves the file pointer to the beginning of the file.</div></div>
+<div class=CToolTip id="tt72">
+<div class=CFunction>It sets the file descriptor to the begin of the previous line.</div></div>
+<div class=CToolTip id="tt73">
+<div class=CFunction>Writes the given data to the file associated with the given file descriptor. </div></div>
+<div class=CToolTip id="tt74">
+<div class=CFunction>A wrapper function for f__FIO__write. </div></div>
+<div class=CToolTip id="tt75">
+<div class=CFunction>A wrapper function for f__FIO__write. </div></div>
+<div class=CToolTip id="tt76">
+<div class=CFunction>A wrapper function for f__FIO__write. </div></div>
+<div class=CToolTip id="tt77">
+<div class=CFunction>A wrapper function for f__FIO__write. </div></div>
+<div class=CToolTip id="tt78">
+<div class=CFunction>Return the largest integer value that is not greater then value</div></div>
+<div class=CToolTip id="tt79">
+<div class=CFunction>Generate a date from the actual date and time plus the parameter in seconds e.g. </div></div>
+<div class=CToolTip id="tt80">
+<div class=CFunction>Return the current GMT date in format RFC 1123-Date e.g.:Sat, 13 Nov 2010 23:30:02 GMT</div></div>
+<div class=CToolTip id="tt81">
+<div class=CFunction>Return the environment variable specified via p_env_name</div></div>
+<div class=CToolTip id="tt82">
+<div class=CFunction>Get name of host</div></div>
+<div class=CToolTip id="tt83">
+<div class=CFunction>Get IP address, subnet mask and broadcast address from a network inteface</div></div>
+<div class=CToolTip id="tt84">
+<div class=CFunction>Get IP address of host</div></div>
+<div class=CToolTip id="tt85">
+<div class=CFunction>Return the current calendar time in a formatted way</div></div>
+<div class=CToolTip id="tt86">
+<div class=CFunction>Computes authentication token AUTN from anonymity key AK, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt87">
+<div class=CFunction>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt88">
+<div class=CFunction>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt89">
+<div class=CFunction>Takes key K and random challenge RAND, and returns response RES.</div></div>
+<div class=CToolTip id="tt90">
+<div class=CFunction>Takes key K and random challenge RAND, and returns AK, CK, RES</div></div>
+<div class=CToolTip id="tt91">
+<div class=CFunction>Takes key K and random challenge RAND, and returns confidentiality key CK.</div></div>
+<div class=CToolTip id="tt92">
+<div class=CFunction>Takes key K and random challenge RAND, and returns integrity key IK.</div></div>
+<div class=CToolTip id="tt93">
+<div class=CFunction>Takes key K and random challenge RAND, and returns anonymity key AK.</div></div>
+<div class=CToolTip id="tt94">
+<div class=CFunction>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</div></div>
+<div class=CToolTip id="tt95">
+<div class=CFunction>Return the natural logarithm of the argument</div></div>
+<div class=CToolTip id="tt96">
+<div class=CFunction>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt97">
+<div class=CFunction>Return an IntegerList with the highest number found at index 0 and the index of ilist where it&rsquo;s found at index 1</div></div>
+<div class=CToolTip id="tt98">
+<div class=CFunction>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt99">
+<div class=CFunction>Return an IntegerList with the lowest number found at index 0 and the index of ilist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt100">
+<div class=CFunction>Raise to power (float to float power)</div></div>
+<div class=CToolTip id="tt101">
+<div class=CFunction>Raise to power (float to integer power)</div></div>
+<div class=CToolTip id="tt102">
+<div class=CFunction>Raise to power (integer to float power)</div></div>
+<div class=CToolTip id="tt103">
+<div class=CFunction>Raise to power (integer to integer power)</div></div>
+<div class=CToolTip id="tt104">
+<div class=CFunction>Set the environment variable p_env_name to p_env_value.</div></div>
+<div class=CToolTip id="tt105">
+<div class=CFunction>Put charstring to lowercase</div></div>
+<div class=CToolTip id="tt106">
+<div class=CFunction>Put charstring to uppercase</div></div>
+<div class=CToolTip id="tt107">
+<div class=CFunction>Set down a network interface</div></div>
+<div class=CToolTip id="tt108">
+<div class=CFunction>Set up a network interface</div></div>
+<div class=CToolTip id="tt109">
+<div class=CFunction>Set IP address, subnet mask and broadcast address in a network inteface If number is set, a range of virtual interfaces are set up with continuous IP address (no subnet mask, broadcast checking)</div></div>
+<div class=CToolTip id="tt110">
+<div class=CFunction>Return the sine of angle radians</div></div>
+<div class=CToolTip id="tt111">
+<div class=CFunction>Return the values of the sin function</div></div>
+<div class=CToolTip id="tt112">
+<div class=CFunction>Raise a float value to square</div></div>
+<div class=CToolTip id="tt113">
+<div class=CFunction>Raise an integer value to square</div></div>
+<div class=CToolTip id="tt114">
+<div class=CFunction>Square root of float value</div></div>
+<div class=CToolTip id="tt115">
+<div class=CFunction>Square root of integer value</div></div>
+<div class=CToolTip id="tt116">
+<div class=CFunction>Return the normalized standard deviation of float list (so the average square distance from the center of elements in the list)</div></div>
+<div class=CToolTip id="tt117">
+<div class=CFunction>Return the normalized standard deviation of float list  using custom center (so it is the average square distance from a user defined central value)</div></div>
+<div class=CToolTip id="tt118">
+<div class=CFunction>Return the normalized standard deviation of integer list (so the average square distance from the center of points)</div></div>
+<div class=CToolTip id="tt119">
+<div class=CFunction>Return the normalized standard deviation of integer list using custom center (so it is the average square distance from a user defined central value)</div></div>
+<div class=CToolTip id="tt120">
+<div class=CFunction>Substract two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt121">
+<div class=CFunction>Computes the 8 bit ASCII representation of an hexstring</div></div>
+<div class=CToolTip id="tt122">
+<div class=CFunction>Return the number of clock ticks used by the application since the program was launched</div></div>
+<div class=CToolTip id="tt123">
+<div class=CFunction>Current calendar time of the system in seconds</div></div>
+<div class=CToolTip id="tt124">
+<div class=CFunction>Function to convert a formated time value to seconds. </div></div>
+<div class=CToolTip id="tt125">
+<div class=CFunction>Function to convert a formated time value to seconds. </div></div>
+<div class=CToolTip id="tt126">
+<div class=CFunction>Difference between two time</div></div>
+<div class=CToolTip id="tt127">
+<div class=CFunction>Elapsed seconds since time t (only when f__tic() returns the number of clock ticks elapsed since the program was launched)</div></div>
+<div class=CToolTip id="tt128">
+<div class=CFunction>Append tail to the end of head (head return as inout)</div></div>
+<div class=CToolTip id="tt129">
+<div class=CFunction>Append tail to the end of head (head return as inout)</div></div>
+<div class=CToolTip id="tt130">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_acos(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the arc cosine of value in [0, pi]</div></div>
+<div class=CToolTip id="tt131">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_addOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Add two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt132">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_asin(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the arc sine of value in [-pi/2, +pi/2]</div></div>
+<div class=CToolTip id="tt133">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_assert(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_assertMessage,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>boolean&nbsp;</td>
+<td class=PParameter nowrap>pl_predicate</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Implement TTCN assertion.</div></div>
+<div class=CToolTip id="tt134">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_averageFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the average of flist</div></div>
+<div class=CToolTip id="tt135">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_averageIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the average of ilist</div></div>
+<div class=CToolTip id="tt136">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_calculate_HMAC_MD5(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_key,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_input,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_length</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return octetstring</td></tr></table></td></tr></table></blockquote>Calculate the HMAC MD5 value of a message with specified key.</div></div>
+<div class=CToolTip id="tt137">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_calculate_HMAC_SHA1(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_key,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_input,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_length</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return octetstring</td></tr></table></td></tr></table></blockquote>Calculate the HMAC SHA1 value of a message with specified key.</div></div>
+<div class=CToolTip id="tt138">
+<div class=CFunction>Purpose: Encrypt message using the confidentiality algorithm 128-EEA3</div></div>
+<div class=CToolTip id="tt139">
+<div class=CFunction>Purpose: Calculate 32 bit message authentication code (MAC) using integrity algorithm 128-EIA3</div></div>
+<div class=CToolTip id="tt140">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateDigestHA1(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>nonce,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>cnonce,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>user,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>realm,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>passwd,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>alg</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Calculate digest H(A1) hash</div></div>
+<div class=CToolTip id="tt141">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=3>external function f_calculateDigestResponse(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>nonce,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>cnonce,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>user,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>realm,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>passwd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>alg,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>nonceCount,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>method,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>qop,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>URI,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>HEntity</td></tr>
+<tr>
+<td class=PAfterParameters colspan=3>) return charstring</td></tr></table></td></tr></table></blockquote>Calculate digest response</div></div>
+<div class=CToolTip id="tt142">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateHMACMD5(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>msg,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_64&nbsp;</td>
+<td class=PParameter nowrap>key</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Calculate the 128 bit HMAC MD5 value of a message with specified 64 bit key.</div></div>
+<div class=CToolTip id="tt143">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_calculateMD5(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pszHashInput</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Compute MD5 hash value</div></div>
+<div class=CToolTip id="tt144">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ceil(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Return the smallest integer value that is not less then value</div></div>
+<div class=CToolTip id="tt145">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_charstr2unichar (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_char</td>
+<td class=PAfterParameters nowrap>) return universal charstring</td></tr></table></td></tr></table></blockquote>Convert charstring 2 universal charstring</div></div>
+<div class=CToolTip id="tt146">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_compilationTime() return charstring</td></tr></table></blockquote>Return the compilation time of module</div></div>
+<div class=CToolTip id="tt147">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_compOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Compare two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt148">
+<div class=CFunction>Converts an IPv4 and IPv6 address to its hex representation. </div></div>
+<div class=CToolTip id="tt149">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_cos(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>angle</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the cosine of angle radILns</div></div>
+<div class=CToolTip id="tt150">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_cosVL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>freq,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>altitude,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>start_val,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>len,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>step</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return the values of the cosine function</div></div>
+<div class=CToolTip id="tt151">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ctime(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Convert a time value in seconds to human readable string The time represented as local time</div></div>
+<div class=CToolTip id="tt152">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_ctime_UTC(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Convert a time value in seconds to human readable string The time represented as UTC</div></div>
+<div class=CToolTip id="tt153">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_dec_TBCD(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_oct</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Decode octetstring from TBCD encoding</div></div>
+<div class=CToolTip id="tt154">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_decGSM7bit(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_gsm7bit</td>
+<td class=PAfterParameters nowrap>) return universal charstring</td></tr></table></td></tr></table></blockquote>GSM 7-bit decoding (GSM 03.38)</div></div>
+<div class=CToolTip id="tt155">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_deleteIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Delete IP address from a network inteface</div></div>
+<div class=CToolTip id="tt156">
+<div class=CFunction>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</div></div>
+<div class=CToolTip id="tt157">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_EAPSIM_A3A8(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_16&nbsp;</td>
+<td class=PParameter nowrap>Ki,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap></td>
+<td class=PType nowrap>OCT_16&nbsp;</td>
+<td class=PParameter nowrap>rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>sres,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>Kc</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Takes key Ki and random challenge RAND, and returns Kc and SRES keys</div></div>
+<div class=CToolTip id="tt158">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_enc_TBCD(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_char</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Encode charstring to TBCD</div></div>
+<div class=CToolTip id="tt159">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_encGSM7bit(</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_str</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>GSM 7-bit encoding (GSM 03.38)</div></div>
+<div class=CToolTip id="tt160">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_exp(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the exponential value of the argument</div></div>
+<div class=CToolTip id="tt161">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_chdir (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_chdir. </div></div>
+<div class=CToolTip id="tt162">
+<div class=CFunction>Change the permissions of the file or directory.</div></div>
+<div class=CToolTip id="tt163">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_close (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Closes a file associated with the given file descriptor.</div></div>
+<div class=CToolTip id="tt164">
+<div class=CFunction>Checks the existence of files and directories.</div></div>
+<div class=CToolTip id="tt165">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_flush (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Transfers (&ldquo;flushes&rdquo;) all modified in-core data of the file referred to by the file descriptor to the disk device.</div></div>
+<div class=CToolTip id="tt166">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_FIO_get_error_code () return integer</td></tr></table></blockquote>Returns the actual error code.</div></div>
+<div class=CToolTip id="tt167">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_FIO_get_error_string () return charstring</td></tr></table></blockquote>Returns the actual error message.</div></div>
+<div class=CToolTip id="tt168">
+<div class=CFunction>Create a new directory</div></div>
+<div class=CToolTip id="tt169">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_append_rdwr (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt170">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_rdwr_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt171">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_wronly (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt172">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_append_wronly_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt173">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_rdonly (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt174">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_open_trunc_rdwr (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt175">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_rdwr_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt176">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_wronly (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt177">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_open_trunc_wronly_excl (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_name</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_open. </div></div>
+<div class=CToolTip id="tt178">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_read_data (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_data,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read. </div></div>
+<div class=CToolTip id="tt179">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_data_TLV (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read. </div></div>
+<div class=CToolTip id="tt180">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_data_until (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_separator</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read_until. </div></div>
+<div class=CToolTip id="tt181">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_read_text (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read. </div></div>
+<div class=CToolTip id="tt182">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_read_text_until (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_text,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_separator</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_read_until. </div></div>
+<div class=CToolTip id="tt183">
+<div class=CFunction>Removes a directory</div></div>
+<div class=CToolTip id="tt184">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_backward (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer backward with a given number of bytes from the current position.</div></div>
+<div class=CToolTip id="tt185">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_end (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer to the end of the file.</div></div>
+<div class=CToolTip id="tt186">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_forward (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_bytes</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer forward with a given number of bytes from the current position.</div></div>
+<div class=CToolTip id="tt187">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_seek_home (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Moves the file pointer to the beginning of the file.</div></div>
+<div class=CToolTip id="tt188">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_set_filedescriptor_previousline (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>If there was no problem, then the return value will be 1.</div></div>
+<div class=CToolTip id="tt189">
+<div class=CFunction>Query the permissions of the file or directory.</div></div>
+<div class=CToolTip id="tt190">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_data (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_data</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt191">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_FIO_write_data_flush (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_fd,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_data</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt192">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_text (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt193">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FIO_write_text_flush (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_fd,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_text</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>A wrapper function for f_FIO_write. </div></div>
+<div class=CToolTip id="tt194">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_floor(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Return the largest integer value that is not greater then value</div></div>
+<div class=CToolTip id="tt195">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_bfree (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Query the total number of free blocks.</div></div>
+<div class=CToolTip id="tt196">
+<div class=CFunction>Query the total number of blocks.</div></div>
+<div class=CToolTip id="tt197">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_bsize (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Query the file system block size.</div></div>
+<div class=CToolTip id="tt198">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_FS_dspacerate (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_name</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Query the free space rate.</div></div>
+<div class=CToolTip id="tt199">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_gen_Exponential_Distribution(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Returns with the exponential random variable for a given lambda</div></div>
+<div class=CToolTip id="tt200">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_generate_poissonTable(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>t_Poisson_Table&nbsp;</td>
+<td class=PParameter nowrap>p_pTable</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Returns with an initialized poisson table which is a cumulative probability distribution list for a given lambda.</div></div>
+<div class=CToolTip id="tt201">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getCurrentDateWithOffset(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Generate a date from the actual date and time plus the parameter in seconds e.g. </div></div>
+<div class=CToolTip id="tt202">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_getCurrentGMTDate() return charstring</td></tr></table></blockquote>Return the current GMT date in format RFC 1123-Date ex :Sat, 13 Nov 2010 23:30:02 GMT</div></div>
+<div class=CToolTip id="tt203">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_GetEnv(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_name</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Return the environment variable specified via p_env_name</div></div>
+<div class=CToolTip id="tt204">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_getHostName() return charstring</td></tr></table></blockquote>Get name of host</div></div>
+<div class=CToolTip id="tt205">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ip,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>netmask,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>broadcast,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Get IP address, subnet mask and broadcast address from a network inteface</div></div>
+<div class=CToolTip id="tt206">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_getIpAddr(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>hostname,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return charstring</td></tr></table></td></tr></table></blockquote>Get IP address of host</div></div>
+<div class=CToolTip id="tt207">
+<div class=CFunction>Get both IPv4 and IPv6 addresses of the given host</div></div>
+<div class=CToolTip id="tt208">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_getNext_poissonValue(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>p_lambda,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>t_Poisson_Table&nbsp;</td>
+<td class=PParameter nowrap>p_pTable,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>out&nbsp;</td>
+<td class=PType nowrap>boolean&nbsp;</td>
+<td class=PParameter nowrap>p_sucess</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Returns with a random poisson value by the given poisson table and lambda poisson variance.</div></div>
+<div class=CToolTip id="tt209">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_getTimeFormatted(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_format</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Return the current calendar time in a formatted way</div></div>
+<div class=CToolTip id="tt210">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_calculateAUTN(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_6&nbsp;</td>
+<td class=PParameter nowrap>SQN,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_6&nbsp;</td>
+<td class=PParameter nowrap>AK,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_2&nbsp;</td>
+<td class=PParameter nowrap>AMF,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>OCT_8&nbsp;</td>
+<td class=PParameter nowrap>MAC</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Computes authentication token AUTN from anonymity key AK, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt211">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f1(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_sqn,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_amf</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt212">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f1star (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_sqn,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_amf</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt213">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f2 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns response RES.</div></div>
+<div class=CToolTip id="tt214">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_IMSAKA_f2345 (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_OP,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_k,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_rand</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return TCCSecurity_Keys</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns AK, CK, RES</div></div>
+<div class=CToolTip id="tt215">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f3 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns confidentiality key CK.</div></div>
+<div class=CToolTip id="tt216">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f4 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns integrity key IK.</div></div>
+<div class=CToolTip id="tt217">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f5 (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns anonymity key AK.</div></div>
+<div class=CToolTip id="tt218">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_IMSAKA_f5star (</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_OP,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_k,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>pl_rand</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</div></div>
+<div class=CToolTip id="tt219">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SADB_add (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Protocol&nbsp;</td>
+<td class=PParameter nowrap>protocol,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>spi,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_ExtensionList&nbsp;</td>
+<td class=PType nowrap>extensionList&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> {},</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Algorithm&nbsp;</td>
+<td class=PParameter nowrap>alg,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in boolean&nbsp;</td>
+<td class=PType nowrap>setparitybit&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> false,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_IPsecMode&nbsp;</td>
+<td class=PType nowrap>ipSecMode&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyMode</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Adds a Security Association to the database (SADB)</div></div>
+<div class=CToolTip id="tt220">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_IPsec_SADB_delete (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>srcAddress,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>dstAddress,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_Protocol&nbsp;</td>
+<td class=PParameter nowrap width=100%>protocol,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap width=100%>spi</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Deletes a Security Association from the database (SADB)</div></div>
+<div class=CToolTip id="tt221">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_IPsec_SADB_flush () return TCCIPsec_Result</td></tr></table></blockquote>Deletes all Security Associations from the database (SADB)</div></div>
+<div class=CToolTip id="tt222">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SPDB_add (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto&nbsp;</td>
+<td class=PType nowrap>transpProto&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyTranspProto,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyDirection&nbsp;</td>
+<td class=PParameter nowrap>dir,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyRule&nbsp;</td>
+<td class=PParameter nowrap>rule</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Adds a Security Policy to the database (SPDB)</div></div>
+<div class=CToolTip id="tt223">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_IPsec_SPDB_delete (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>srcAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>srcPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>dstAddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPrefixLen&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>dstPort&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto&nbsp;</td>
+<td class=PType nowrap>transpProto&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> anyTranspProto,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCIPsec_PolicyDirection&nbsp;</td>
+<td class=PParameter nowrap>dir</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>) return TCCIPsec_Result</td></tr></table></td></tr></table></blockquote>Deletes a Security Policy from the database (SPD)</div></div>
+<div class=CToolTip id="tt224">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_IPsec_SPDB_flush () return TCCIPsec_Result</td></tr></table></blockquote>Deletes all Security Policies from the database (SPD)</div></div>
+<div class=CToolTip id="tt225">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_log(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>val</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the natural logarithm of the argument</div></div>
+<div class=CToolTip id="tt226">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_maxFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt227">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_maxIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return IntegerList</td></tr></table></td></tr></table></blockquote>Return an IntegerList with the highest number found at index 0 and the index of ilist where it&rsquo;s found at index 1</div></div>
+<div class=CToolTip id="tt228">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_minFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return an FloatList with the highest number found at index 0 and the index of flist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt229">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_minIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return IntegerList</td></tr></table></td></tr></table></blockquote>Return an IntegerList with the lowest number found at index 0 and the index of ilist where it&rsquo;s fond at index 1</div></div>
+<div class=CToolTip id="tt230">
+<div class=CFunction>Fault tolerant version of the oct2str Titan built-in function.</div></div>
+<div class=CToolTip id="tt231">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>function f_OctetIpv4(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_ip</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>convertes an IPv4 address given in dotted notation to its hex representation</div></div>
+<div class=CToolTip id="tt232">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_pcre_regexp(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>instr,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>expression,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>groupno</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Evaulate a Perl compatible regular expression</div></div>
+<div class=CToolTip id="tt233">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powFF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise to power (float to float power)</div></div>
+<div class=CToolTip id="tt234">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powFI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise to power (float to integer power)</div></div>
+<div class=CToolTip id="tt235">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powIF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise to power (integer to float power)</div></div>
+<div class=CToolTip id="tt236">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_powII(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>expo</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Raise to power (integer to integer power)</div></div>
+<div class=CToolTip id="tt237">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_PutEnv(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_name,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>p_env_value</td>
+<td class=PAfterParameters nowrap>) return boolean</td></tr></table></td></tr></table></blockquote>Set the environment variable p_env_name to p_env_value.</div></div>
+<div class=CToolTip id="tt238">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_putInLowercase(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_string</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Put charstring to lowercase</div></div>
+<div class=CToolTip id="tt239">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_putInUppercase(</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>pl_string</td>
+<td class=PAfterParameters nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Put charstring to uppercase</div></div>
+<div class=CToolTip id="tt240">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceEveryOccurenceOfPattern(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace every occurance of pattern parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt241">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceEveryOccurenceOfSubstring(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace every occurance of parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt242">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceFirstOccurenceOfPattern(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parInStr,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace first occurance of pattern parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt243">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_replaceFirstOccurenceOfSubstring(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in charstring&nbsp;</td>
+<td class=PType nowrap>parInStr&nbsp;</td>
+<td class=PParameter nowrap width=100%>,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrA,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>parSubStrB</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Replace first occurance of parSubStrA with parSubStrB in parInStr</div></div>
+<div class=CToolTip id="tt244">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_setInterfaceDown(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>)</td></tr></table></td></tr></table></blockquote>Set down a network interface</div></div>
+<div class=CToolTip id="tt245">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=6>external function f_setInterfaceUp(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCInterface_IPAddressType&nbsp;</td>
+<td class=PParameter nowrap>addressType:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%>IPv4</td></tr>
+<tr>
+<td class=PAfterParameters colspan=6>)</td></tr></table></td></tr></table></blockquote>Set up a network interface</div></div>
+<div class=CToolTip id="tt246">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_setIP(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>interface,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>ipaddress,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>subnetmask,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap>broadcast,</td>
+<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
+<td class=PDefaultValue width=100%></td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in integer&nbsp;</td>
+<td class=PType nowrap>number&nbsp;</td>
+<td class=PParameter nowrap>:</td>
+<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
+<td class=PDefaultValue width=100%> 1</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Set IP address, subnet mask and broadcast address in a network inteface If number is set, a range of virtual interfaces are set up with continuous IP address (no subnet mask, broadcast checking)</div></div>
+<div class=CToolTip id="tt247">
+<div class=CFunction>Set IP address, subnet mask in a network inteface Uses RTLN netlink interface on linux, which is faster than original POSIX.</div></div>
+<div class=CToolTip id="tt248">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sin(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>angle</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the sine of angle radILns</div></div>
+<div class=CToolTip id="tt249">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sinVL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>freq,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>altitude,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>start_val,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>len,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>step</td>
+<td class=PAfterParameters nowrap>) return FloatList</td></tr></table></td></tr></table></blockquote>Return the values of the sine function</div></div>
+<div class=CToolTip id="tt250">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Raise a float value to square</div></div>
+<div class=CToolTip id="tt251">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Raise an integer value to square</div></div>
+<div class=CToolTip id="tt252">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrtF(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Square root of float value</div></div>
+<div class=CToolTip id="tt253">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_sqrtI(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>base</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Square root of integer value</div></div>
+<div class=CToolTip id="tt254">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdFL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of float list (so the average square distance from the center of elements in the list)</div></div>
+<div class=CToolTip id="tt255">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdFLL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>flist,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>u</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of float list  using custom center (so it is the average square distance from a user defined central value)</div></div>
+<div class=CToolTip id="tt256">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdIL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of integer list (so the average square distance from the center of points)</div></div>
+<div class=CToolTip id="tt257">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_stdILL(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>ilist,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>float&nbsp;</td>
+<td class=PParameter nowrap>u</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Return the normalized standard devILtion of integer list using custom center (so it is the average square distance from a user defined central value)</div></div>
+<div class=CToolTip id="tt258">
+<div class=CFunction>The f_strstr function locates the first  occurrence  of  the string  s2 in string s1 and returns an index of starting pont of the located string, or  -1 if the string is not found. </div></div>
+<div class=CToolTip id="tt259">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_subOctetstring(</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par1,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap>par2</td>
+<td class=PAfterParameters nowrap>) return octetstring</td></tr></table></td></tr></table></blockquote>Substract two integer values represented in OCTETSTRING</div></div>
+<div class=CToolTip id="tt260">
+<div class=CFunction>The function returns a substring from a value. </div></div>
+<div class=CToolTip id="tt261">
+<div class=CFunction>Returns the pid of the process</div></div>
+<div class=CToolTip id="tt262">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Function to get the length of the received message.</div></div>
+<div class=CToolTip id="tt263">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength4Diameter(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Function to get the length of the received message.</div></div>
+<div class=CToolTip id="tt264">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>external function f_TCCMessageHandling_getMessageLength4Radius(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>octetstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>stream</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Function to get the length of the received message.</div></div>
+<div class=CToolTip id="tt265">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_Template_subsfiletemplate(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCSubstitutionList&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_dict,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_file</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Makes the substitutions in the content of the given file, according to the dictonary</div></div>
+<div class=CToolTip id="tt266">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_Template_substitutetemplate(</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>TCCSubstitutionList&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_dict,</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>pl_string</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Makes the substitutions according to the dictonary given</div></div>
+<div class=CToolTip id="tt267">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_tic() return integer</td></tr></table></blockquote>Return the number of clock ticks used by the application since the program was launched</div></div>
+<div class=CToolTip id="tt268">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>external function f_time() return integer</td></tr></table></blockquote>Current calendar time of the system in seconds</div></div>
+<div class=CToolTip id="tt269">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_time2sec(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_year,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_mon,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_day,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_hour,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_min,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>function to convert a formated time value to seconds The time represented as local time</div></div>
+<div class=CToolTip id="tt270">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_time2sec_UTC(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_year,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_mon,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_day,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_hour,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_min,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>pl_sec</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>function to convert a formated time value to seconds The time represented as UTC</div></div>
+<div class=CToolTip id="tt271">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_timeDiff(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t_stop,</td></tr>
+<tr>
+<td></td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t_start</td>
+<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Difference between two time</div></div>
+<div class=CToolTip id="tt272">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_toc(</td>
+<td class=PType nowrap>integer&nbsp;</td>
+<td class=PParameter nowrap>t</td>
+<td class=PAfterParameters nowrap>) return float</td></tr></table></td></tr></table></blockquote>Elapsed seconds since time t (only when f_tic() returns the number of clock ticks elapsed since the program was launched)</div></div>
+<div class=CToolTip id="tt273">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters colspan=4>function f_unichar2charstr (</td></tr>
+<tr>
+<td>&nbsp;&nbsp;&nbsp;</td>
+<td class=PTypePrefix nowrap>in universal&nbsp;</td>
+<td class=PType nowrap>charstring&nbsp;</td>
+<td class=PParameter nowrap width=100%>p_unichar</td></tr>
+<tr>
+<td class=PAfterParameters colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Convert universal charstring 2 charstring</div></div>
+<div class=CToolTip id="tt274">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_updateFL(</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>head,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>FloatList&nbsp;</td>
+<td class=PParameter nowrap>tail</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Append tail to the end of head (head return as inout)</div></div>
+<div class=CToolTip id="tt275">
+<div class=CFunction>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=PBeforeParameters nowrap>external function f_updateIL(</td>
+<td class=PTypePrefix nowrap>inout&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>head,</td></tr>
+<tr>
+<td></td>
+<td class=PTypePrefix nowrap>in&nbsp;</td>
+<td class=PType nowrap>IntegerList&nbsp;</td>
+<td class=PParameter nowrap>tail</td>
+<td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Append tail to the end of head (head return as inout)</div></div>
+<div class=CToolTip id="tt276">
+<div class=CFunction>Computes network authentication code MAC-A from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt277">
+<div class=CFunction>Computes resynch authentication code MAC-S from key K, random challenge RAND, sequence number SQN and authentication management field AMF.</div></div>
+<div class=CToolTip id="tt278">
+<div class=CFunction>Takes key K and random challenge RAND, and returns response RES, confidentiality key CK, integrity key IK and anonymity key AK.</div></div>
+<div class=CToolTip id="tt279">
+<div class=CFunction>Takes key K and random challenge RAND, and returns resynch anonymity key AK.</div></div>
+<div class=CToolTip id="tt280">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of float FloatList</td></tr></table></blockquote>List of float</div></div>
+<!--END_ND_TOOLTIPS-->
+
+</div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/index/General3.html b/doc/apidoc/html/index/General3.html
new file mode 100644
index 0000000000000000000000000000000000000000..ca65fa1fb66780098e71d7355e3b9becfc4e6483
--- /dev/null
+++ b/doc/apidoc/html/index/General3.html
@@ -0,0 +1,578 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>TCCUsefulFunctions - Index</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedIndexPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Index</div>
+<div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="General.html#A">A</a> &middot; <a href="General.html#B">B</a> &middot; <a href="General.html#C">C</a> &middot; <a href="General.html#D">D</a> &middot; <a href="General.html#E">E</a> &middot; <a href="General2.html#F">F</a> &middot; G &middot; H &middot; <a href="#I">I</a> &middot; J &middot; <a href="#K">K</a> &middot; L &middot; <a href="#M">M</a> &middot; N &middot; <a href="#O">O</a> &middot; <a href="#P">P</a> &middot; Q &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; <a href="#U">U</a> &middot; <a href="#V">V</a> &middot; W &middot; <a href="#X">X</a> &middot; Y &middot; <a href="#Z">Z</a></div>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=IHeading id=IFirstHeading>
+<a name="I"></a>I</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#IntegerList" id=link295 onMouseOver="ShowTip(event, 'tt281', 'link295')" onMouseOut="HideTip('tt281')" class=ISymbol>IntegerList</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="K"></a>K</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#KeyAdd" id=link296 onMouseOver="ShowTip(event, 'tt282', 'link296')" onMouseOut="HideTip('tt282')" class=ISymbol>KeyAdd</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="M"></a>M</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#MixColumn" id=link297 onMouseOver="ShowTip(event, 'tt283', 'link297')" onMouseOut="HideTip('tt283')" class=ISymbol>MixColumn</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="O"></a>O</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#OctetStringList" id=link298 onMouseOver="ShowTip(event, 'tt284', 'link298')" onMouseOut="HideTip('tt284')" class=ISymbol>OctetStringList</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="P"></a>P</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#pi" id=link299 onMouseOver="ShowTip(event, 'tt285', 'link299')" onMouseOut="HideTip('tt285')" class=ISymbol>pi</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="R"></a>R</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCRegexp_Functions-ttcn.html#Regexp_Functions" id=link300 onMouseOver="ShowTip(event, 'tt286', 'link300')" onMouseOut="HideTip('tt286')" class=ISymbol>Regexp_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#RijndaelEncrypt" id=link301 onMouseOver="ShowTip(event, 'tt287', 'link301')" onMouseOut="HideTip('tt287')" class=ISymbol>RijndaelEncrypt</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#RijndaelKeySchedule" id=link302 onMouseOver="ShowTip(event, 'tt288', 'link302')" onMouseOut="HideTip('tt288')" class=ISymbol>RijndaelKeySchedule</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="S"></a>S</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ShiftRow" id=link303 onMouseOver="ShowTip(event, 'tt289', 'link303')" onMouseOut="HideTip('tt289')" class=ISymbol>ShiftRow</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#StringList" id=link304 onMouseOver="ShowTip(event, 'tt290', 'link304')" onMouseOut="HideTip('tt290')" class=ISymbol>StringList</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="T"></a>T</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCAssertion_Functions-ttcn.html#TCCAssertion_Functions" id=link305 onMouseOver="ShowTip(event, 'tt291', 'link305')" onMouseOut="HideTip('tt291')" class=ISymbol>TCCAssertion_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion-cc.html#TCCConversion.cc"  class=ISymbol>TCCConversion.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#TCCConversion_Functions" id=link306 onMouseOver="ShowTip(event, 'tt292', 'link306')" onMouseOut="HideTip('tt292')" class=ISymbol>TCCConversion_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime-cc.html#TCCDateTime.cc"  class=ISymbol>TCCDateTime.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#TCCDateTime_Functions" id=link307 onMouseOver="ShowTip(event, 'tt293', 'link307')" onMouseOut="HideTip('tt293')" class=ISymbol>TCCDateTime_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding-cc.html#TCCEncoding.cc"  class=ISymbol>TCCEncoding.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#TCCEncoding_Functions" id=link308 onMouseOver="ShowTip(event, 'tt294', 'link308')" onMouseOut="HideTip('tt294')" class=ISymbol>TCCEncoding_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv-cc.html#TCCEnv.cc"  class=ISymbol>TCCEnv.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#TCCEnv_Functions" id=link309 onMouseOver="ShowTip(event, 'tt295', 'link309')" onMouseOut="HideTip('tt295')" class=ISymbol>TCCEnv_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO-cc.html#TCCFileIO.cc"  class=ISymbol>TCCFileIO.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#TCCFileIO_Functions" id=link310 onMouseOver="ShowTip(event, 'tt296', 'link310')" onMouseOut="HideTip('tt296')" class=ISymbol>TCCFileIO_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#TCCFileSystem_Functions" id=link311 onMouseOver="ShowTip(event, 'tt297', 'link311')" onMouseOut="HideTip('tt297')" class=ISymbol>TCCFileSystem_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface-cc.html#TCCInterface.cc"  class=ISymbol>TCCInterface.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#TCCInterface_Functions" id=link312 onMouseOver="ShowTip(event, 'tt298', 'link312')" onMouseOut="HideTip('tt298')" class=ISymbol>TCCInterface_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#TCCInterface_IPAddressType" id=link313 onMouseOver="ShowTip(event, 'tt299', 'link313')" onMouseOut="HideTip('tt299')" class=ISymbol>TCCInterface_IPAddressType</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_AAlgo" id=link314 onMouseOver="ShowTip(event, 'tt300', 'link314')" onMouseOut="HideTip('tt300')" class=ISymbol>TCCIPsec_AAlgo</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Algorithm" id=link315 onMouseOver="ShowTip(event, 'tt301', 'link315')" onMouseOut="HideTip('tt301')" class=ISymbol>TCCIPsec_Algorithm</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Auth" id=link316 onMouseOver="ShowTip(event, 'tt302', 'link316')" onMouseOut="HideTip('tt302')" class=ISymbol>TCCIPsec_Auth</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_DefaultLevel" id=link317 onMouseOver="ShowTip(event, 'tt303', 'link317')" onMouseOut="HideTip('tt303')" class=ISymbol>TCCIPsec_DefaultLevel</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Definitions.ttcn"  class=ISymbol>TCCIPsec_Definitions.ttcn</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_DiscardRule" id=link318 onMouseOver="ShowTip(event, 'tt304', 'link318')" onMouseOut="HideTip('tt304')" class=ISymbol>TCCIPsec_DiscardRule</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_EAlgo" id=link319 onMouseOver="ShowTip(event, 'tt305', 'link319')" onMouseOut="HideTip('tt305')" class=ISymbol>TCCIPsec_EAlgo</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Encr" id=link320 onMouseOver="ShowTip(event, 'tt306', 'link320')" onMouseOut="HideTip('tt306')" class=ISymbol>TCCIPsec_Encr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Extension" id=link321 onMouseOver="ShowTip(event, 'tt307', 'link321')" onMouseOut="HideTip('tt307')" class=ISymbol>TCCIPsec_Extension</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_ExtensionList" id=link322 onMouseOver="ShowTip(event, 'tt308', 'link322')" onMouseOut="HideTip('tt308')" class=ISymbol>TCCIPsec_ExtensionList</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#TCCIPsec_Functions" id=link323 onMouseOver="ShowTip(event, 'tt309', 'link323')" onMouseOut="HideTip('tt309')" class=ISymbol>TCCIPsec_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_IPsecMode" id=link324 onMouseOver="ShowTip(event, 'tt310', 'link324')" onMouseOut="HideTip('tt310')" class=ISymbol>TCCIPsec_IPsecMode</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_IPsecResult" id=link325 onMouseOver="ShowTip(event, 'tt311', 'link325')" onMouseOut="HideTip('tt311')" class=ISymbol>TCCIPsec_IPsecResult</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Key" id=link326 onMouseOver="ShowTip(event, 'tt312', 'link326')" onMouseOut="HideTip('tt312')" class=ISymbol>TCCIPsec_Key</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Mode" id=link327 onMouseOver="ShowTip(event, 'tt313', 'link327')" onMouseOut="HideTip('tt313')" class=ISymbol>TCCIPsec_Mode</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_NoneRule" id=link328 onMouseOver="ShowTip(event, 'tt314', 'link328')" onMouseOut="HideTip('tt314')" class=ISymbol>TCCIPsec_NoneRule</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Protocol" id=link329 onMouseOver="ShowTip(event, 'tt315', 'link329')" onMouseOut="HideTip('tt315')" class=ISymbol>TCCIPsec_Protocol</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Rule" id=link330 onMouseOver="ShowTip(event, 'tt316', 'link330')" onMouseOut="HideTip('tt316')" class=ISymbol>TCCIPsec_Rule</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_RuleLevel" id=link331 onMouseOver="ShowTip(event, 'tt317', 'link331')" onMouseOut="HideTip('tt317')" class=ISymbol>TCCIPsec_RuleLevel</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Transport" id=link332 onMouseOver="ShowTip(event, 'tt318', 'link332')" onMouseOut="HideTip('tt318')" class=ISymbol>TCCIPsec_Transport</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_TranspProto" id=link333 onMouseOver="ShowTip(event, 'tt319', 'link333')" onMouseOut="HideTip('tt319')" class=ISymbol>TCCIPsec_TranspProto</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Tunnel" id=link334 onMouseOver="ShowTip(event, 'tt320', 'link334')" onMouseOut="HideTip('tt320')" class=ISymbol>TCCIPsec_Tunnel</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_UseLevel" id=link335 onMouseOver="ShowTip(event, 'tt321', 'link335')" onMouseOut="HideTip('tt321')" class=ISymbol>TCCIPsec_UseLevel</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths-cc.html#TCCMaths.cc"  class=ISymbol>TCCMaths.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#TCCMaths_Functions" id=link336 onMouseOver="ShowTip(event, 'tt322', 'link336')" onMouseOut="HideTip('tt322')" class=ISymbol>TCCMaths_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#TCCMaths_GenericTypes" id=link337 onMouseOver="ShowTip(event, 'tt323', 'link337')" onMouseOut="HideTip('tt323')" class=ISymbol>TCCMaths_GenericTypes</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#TCCMessageHandling_Functions" id=link338 onMouseOver="ShowTip(event, 'tt324', 'link338')" onMouseOut="HideTip('tt324')" class=ISymbol>TCCMessageHandling_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity-cc.html#TCCSecurity.cc"  class=ISymbol>TCCSecurity.cc</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#TCCSecurity_Functions" id=link339 onMouseOver="ShowTip(event, 'tt325', 'link339')" onMouseOut="HideTip('tt325')" class=ISymbol>TCCSecurity_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#TCCTemplate_Functions" id=link340 onMouseOver="ShowTip(event, 'tt326', 'link340')" onMouseOut="HideTip('tt326')" class=ISymbol>TCCTemplate_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCTitanMetadata_Functions-ttcn.html#TCCTitanMetadata_Functions" id=link341 onMouseOver="ShowTip(event, 'tt327', 'link341')" onMouseOut="HideTip('tt327')" class=ISymbol>TCCTitanMetadata_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCXPathSupport_Functions-ttcn.html#TCCXPathSupport_Functions" id=link342 onMouseOver="ShowTip(event, 'tt328', 'link342')" onMouseOut="HideTip('tt328')" class=ISymbol>TCCXPathSupport_Functions</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#Types"  class=ISymbol>Types</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#Types_and_Constants"  class=ISymbol>Types and Constants</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="U"></a>U</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#u8" id=link343 onMouseOver="ShowTip(event, 'tt329', 'link343')" onMouseOut="HideTip('tt329')" class=ISymbol>u8</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="V"></a>V</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#Variables"  class=ISymbol>Variables</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#VerdictList" id=link344 onMouseOver="ShowTip(event, 'tt330', 'link344')" onMouseOut="HideTip('tt330')" class=ISymbol>VerdictList</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="X"></a>X</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<span class=ISymbol>XPathQuery</span>
+<div class=ISubIndex>
+<a href="../files/TCCXPathSupport-cc.html#XPathQuery" id=link345 onMouseOver="ShowTip(event, 'tt331', 'link345')" onMouseOut="HideTip('tt331')" class=IFile>TCCXPathSupport.cc</a>
+<a href="../files/TCCXPathSupport_Functions-ttcn.html#XPathQuery" id=link346 onMouseOver="ShowTip(event, 'tt331', 'link346')" onMouseOut="HideTip('tt331')" class=IFile>TCCXPathSupport_Functions.ttcn</a></div></td></tr>
+<tr>
+<td class=IHeading>
+<a name="Z"></a>Z</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/zuc-h.html#zuc.h"  class=ISymbol>zuc.h</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt281">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of integer IntegerList</td></tr></table></blockquote>List of integer</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt282">
+<div class=CFunction>Round key addition function</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt283">
+<div class=CFunction>MixColumn transformation</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt284">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of octetstring OctetStringList</td></tr></table></blockquote>List of octetstring</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt285">
+<div class=CConstant>Provide the value of pi</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt286">
+<div class=CFile>This module provides a non TTCN regular expression handling functions</div></div>
+<div class=CToolTip id="tt287">
+<div class=CFunction>Rijndael encryption function. </div></div>
+<div class=CToolTip id="tt288">
+<div class=CFunction>Rijndael key schedule function. </div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt289">
+<div class=CFunction>Row shift transformation</div></div>
+<div class=CToolTip id="tt290">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of charstring StringList</td></tr></table></blockquote>List of charstring</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt291">
+<div class=CFile>This module supports assertion handling</div></div>
+<div class=CToolTip id="tt292">
+<div class=CFile>This module supports string conversions</div></div>
+<div class=CToolTip id="tt293">
+<div class=CFile>This module supports date and time handling</div></div>
+<div class=CToolTip id="tt294">
+<div class=CFile>This module supports message based encoding of certain types</div></div>
+<div class=CToolTip id="tt295">
+<div class=CFile>This module supports handling of environment e.g. </div></div>
+<div class=CToolTip id="tt296">
+<div class=CFile>This module supports file I/O handling</div></div>
+<div class=CToolTip id="tt297">
+<div class=CFile>This module supports File System information</div></div>
+<div class=CToolTip id="tt298">
+<div class=CFile>This module supports network related operations</div></div>
+<div class=CToolTip id="tt299">
+<div class=CType>An enum type for setting the type of IP addresses. </div></div>
+<div class=CToolTip id="tt300">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_AAlgo { AALG_NONE (0), AALG_MD5HMAC (2), AALG_SHA1HMAC (3) }</td></tr></table></blockquote>Declares identifiers for the possible integrity protection algorithms</div></div>
+<div class=CToolTip id="tt301">
+<div class=CType>Defines a union for storing the possible combination of algorithms with its keys. </div></div>
+<div class=CToolTip id="tt302">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Auth { TCCIPsec_AAlgo algo, TCCIPsec_Key key }</td></tr></table></blockquote>Defines a record for storing the integrity protection algorithm identifier and key.</div></div>
+<div class=CToolTip id="tt303">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_DefaultLevel {}</td></tr></table></blockquote>Declares a type to represent the policy level indicating that system defaults has to be used.</div></div>
+<div class=CToolTip id="tt304">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_DiscardRule {}</td></tr></table></blockquote>Declares a type to represent the policy rule to discard packets.</div></div>
+<div class=CToolTip id="tt305">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_EAlgo { EALG_NONE (0), EALG_3DESCBC (3), EALG_NULL(11), EALG_AESCBC (12) }</td></tr></table></blockquote>Declares identifiers for the possible encryption algorithms</div></div>
+<div class=CToolTip id="tt306">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Encr { TCCIPsec_EAlgo algo, TCCIPsec_Key key }</td></tr></table></blockquote>Defines a record for storing the encryption algorithm identifier and key.</div></div>
+<div class=CToolTip id="tt307">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Extension { integer policyId, integer hardLifetime, integer softLifetime }</td></tr></table></blockquote>Defines a union of possible extensions for Security Associations (SAs)</div></div>
+<div class=CToolTip id="tt308">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of TCCIPsec_Extension TCCIPsec_ExtensionList</td></tr></table></blockquote>Defines a list of extensions for the SA adding function</div></div>
+<div class=CToolTip id="tt309">
+<div class=CFile>This module provides access to the IPsec parameter databases: SADB and SPDB</div></div>
+<div class=CToolTip id="tt310">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_IPsecMode { anyMode (0), transport (1), tunnel (2) }</td></tr></table></blockquote>Declares identifiers for the possible security association</div></div>
+<div class=CToolTip id="tt311">
+<div class=CType>Declares the possible return values of IPsec handling functions</div></div>
+<div class=CToolTip id="tt312">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Key { hexstring hex, charstring text }</td></tr></table></blockquote>Defines a union for storing a key for an SA. </div></div>
+<div class=CToolTip id="tt313">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Mode { TCCIPsec_Transport transport, TCCIPsec_Tunnel tunnel }</td></tr></table></blockquote>Declares an union for storing to IPsec mode</div></div>
+<div class=CToolTip id="tt314">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_NoneRule {}</td></tr></table></blockquote>Declares a type to represent the policy rule to bypass IPsec.</div></div>
+<div class=CToolTip id="tt315">
+<div class=CType>Declares identifiers for the possible security protocols</div></div>
+<div class=CToolTip id="tt316">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Rule { TCCIPsec_Protocol protocol, TCCIPsec_Mode mode, TCCIPsec_RuleLevel level }</td></tr></table></blockquote>Declares a record for storing an IPsec rule.</div></div>
+<div class=CToolTip id="tt317">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_RuleLevel { TCCIPsec_DefaultLevel defaultLevel, TCCIPsec_UseLevel use, TCCIPsec_RequireLevel require, TCCIPsec_UniqueLevel unique }</td></tr></table></blockquote>Defines a union for storing rule level.</div></div>
+<div class=CToolTip id="tt318">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Transport {}</td></tr></table></blockquote>Declares a type to represent the transport IPsec mode - as opposed to tunnel mode</div></div>
+<div class=CToolTip id="tt319">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_TranspProto { anyTranspProto (0), tcpProto (6), udpProto (17) }</td></tr></table></blockquote>Declares identifiers for the possible upper layer protocols</div></div>
+<div class=CToolTip id="tt320">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Tunnel { charstring srcAddr, integer srcPort, charstring dstAddr, integer dstPort }</td></tr></table></blockquote>Declares a type to represent the tunnel IPsec mode - as opposed to transport mode</div></div>
+<div class=CToolTip id="tt321">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_UseLevel {}</td></tr></table></blockquote>Declares a type to represent the policy level indicating that IPsec should be used if appropriate SA is available. </div></div>
+<div class=CToolTip id="tt322">
+<div class=CFile>This module supports mathematics</div></div>
+<div class=CToolTip id="tt323">
+<div class=CFile>This module stores generic types for math functions</div></div>
+<div class=CToolTip id="tt324">
+<div class=CFile>This module provide message handling functions</div></div>
+<div class=CToolTip id="tt325">
+<div class=CFile>This module supports security based operations e.g. </div></div>
+<div class=CToolTip id="tt326">
+<div class=CFile>This module supports template handling Originally for TitanSIM R2 needs it for substituting substrings in a charstring template.</div></div>
+<div class=CToolTip id="tt327">
+<div class=CFile>This module support handling of Titan related metadata</div></div>
+<div class=CToolTip id="tt328">
+<div class=CFile>This module makes it possible to handle XML data throughout processing the XML data structure (tree) with in the way of handling XPath queries.</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt329">
+<div class=CVariable>type for a byte</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt330">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of verdicttype VerdictList</td></tr></table></blockquote>List of verdicttype</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt331">
+<div class=CFunction>apply an XPath query on an XML document</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+</div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/index/Types.html b/doc/apidoc/html/index/Types.html
new file mode 100644
index 0000000000000000000000000000000000000000..6d8bf19c80ce089f61b0c450a48eb8bdc858aa86
--- /dev/null
+++ b/doc/apidoc/html/index/Types.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>TCCUsefulFunctions - Type Index</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedIndexPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Type Index</div>
+<div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; <a href="#B">B</a> &middot; C &middot; D &middot; E &middot; <a href="#F">F</a> &middot; G &middot; H &middot; <a href="#I">I</a> &middot; J &middot; K &middot; L &middot; M &middot; N &middot; <a href="#O">O</a> &middot; P &middot; Q &middot; R &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; U &middot; <a href="#V">V</a> &middot; W &middot; X &middot; Y &middot; Z</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=IHeading id=IFirstHeading>
+<a name="B"></a>B</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#BooleanList" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>BooleanList</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="F"></a>F</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#FloatList" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>FloatList</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="I"></a>I</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#IntegerList" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>IntegerList</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="O"></a>O</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#OctetStringList" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>OctetStringList</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="S"></a>S</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#StringList" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>StringList</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="T"></a>T</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#TCCInterface_IPAddressType" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>TCCInterface_IPAddressType</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_AAlgo" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>TCCIPsec_AAlgo</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Algorithm" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>TCCIPsec_Algorithm</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Auth" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>TCCIPsec_Auth</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_DefaultLevel" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>TCCIPsec_DefaultLevel</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_DiscardRule" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>TCCIPsec_DiscardRule</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_EAlgo" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>TCCIPsec_EAlgo</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Encr" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>TCCIPsec_Encr</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Extension" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>TCCIPsec_Extension</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_ExtensionList" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>TCCIPsec_ExtensionList</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_IPsecMode" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>TCCIPsec_IPsecMode</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_IPsecResult" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>TCCIPsec_IPsecResult</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Key" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>TCCIPsec_Key</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Mode" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>TCCIPsec_Mode</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_NoneRule" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>TCCIPsec_NoneRule</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Protocol" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>TCCIPsec_Protocol</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Rule" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>TCCIPsec_Rule</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_RuleLevel" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>TCCIPsec_RuleLevel</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Transport" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>TCCIPsec_Transport</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_TranspProto" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>TCCIPsec_TranspProto</a></td></tr>
+<tr>
+<td class=ISymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Tunnel" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>TCCIPsec_Tunnel</a></td></tr>
+<tr>
+<td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_UseLevel" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>TCCIPsec_UseLevel</a></td></tr>
+<tr>
+<td class=IHeading>
+<a name="V"></a>V</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#VerdictList" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>VerdictList</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of boolean BooleanList</td></tr></table></blockquote>List of boolean</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt2">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of float FloatList</td></tr></table></blockquote>List of float</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt3">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of integer IntegerList</td></tr></table></blockquote>List of integer</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt4">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of octetstring OctetStringList</td></tr></table></blockquote>List of octetstring</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt5">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of charstring StringList</td></tr></table></blockquote>List of charstring</div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt6">
+<div class=CType>An enum type for setting the type of IP addresses. </div></div>
+<div class=CToolTip id="tt7">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_AAlgo { AALG_NONE (0), AALG_MD5HMAC (2), AALG_SHA1HMAC (3) }</td></tr></table></blockquote>Declares identifiers for the possible integrity protection algorithms</div></div>
+<div class=CToolTip id="tt8">
+<div class=CType>Defines a union for storing the possible combination of algorithms with its keys. </div></div>
+<div class=CToolTip id="tt9">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Auth { TCCIPsec_AAlgo algo, TCCIPsec_Key key }</td></tr></table></blockquote>Defines a record for storing the integrity protection algorithm identifier and key.</div></div>
+<div class=CToolTip id="tt10">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_DefaultLevel {}</td></tr></table></blockquote>Declares a type to represent the policy level indicating that system defaults has to be used.</div></div>
+<div class=CToolTip id="tt11">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_DiscardRule {}</td></tr></table></blockquote>Declares a type to represent the policy rule to discard packets.</div></div>
+<div class=CToolTip id="tt12">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_EAlgo { EALG_NONE (0), EALG_3DESCBC (3), EALG_NULL(11), EALG_AESCBC (12) }</td></tr></table></blockquote>Declares identifiers for the possible encryption algorithms</div></div>
+<div class=CToolTip id="tt13">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Encr { TCCIPsec_EAlgo algo, TCCIPsec_Key key }</td></tr></table></blockquote>Defines a record for storing the encryption algorithm identifier and key.</div></div>
+<div class=CToolTip id="tt14">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Extension { integer policyId, integer hardLifetime, integer softLifetime }</td></tr></table></blockquote>Defines a union of possible extensions for Security Associations (SAs)</div></div>
+<div class=CToolTip id="tt15">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of TCCIPsec_Extension TCCIPsec_ExtensionList</td></tr></table></blockquote>Defines a list of extensions for the SA adding function</div></div>
+<div class=CToolTip id="tt16">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_IPsecMode { anyMode (0), transport (1), tunnel (2) }</td></tr></table></blockquote>Declares identifiers for the possible security association</div></div>
+<div class=CToolTip id="tt17">
+<div class=CType>Declares the possible return values of IPsec handling functions</div></div>
+<div class=CToolTip id="tt18">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Key { hexstring hex, charstring text }</td></tr></table></blockquote>Defines a union for storing a key for an SA. </div></div>
+<div class=CToolTip id="tt19">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_Mode { TCCIPsec_Transport transport, TCCIPsec_Tunnel tunnel }</td></tr></table></blockquote>Declares an union for storing to IPsec mode</div></div>
+<div class=CToolTip id="tt20">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_NoneRule {}</td></tr></table></blockquote>Declares a type to represent the policy rule to bypass IPsec.</div></div>
+<div class=CToolTip id="tt21">
+<div class=CType>Declares identifiers for the possible security protocols</div></div>
+<div class=CToolTip id="tt22">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Rule { TCCIPsec_Protocol protocol, TCCIPsec_Mode mode, TCCIPsec_RuleLevel level }</td></tr></table></blockquote>Declares a record for storing an IPsec rule.</div></div>
+<div class=CToolTip id="tt23">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type union TCCIPsec_RuleLevel { TCCIPsec_DefaultLevel defaultLevel, TCCIPsec_UseLevel use, TCCIPsec_RequireLevel require, TCCIPsec_UniqueLevel unique }</td></tr></table></blockquote>Defines a union for storing rule level.</div></div>
+<div class=CToolTip id="tt24">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Transport {}</td></tr></table></blockquote>Declares a type to represent the transport IPsec mode - as opposed to tunnel mode</div></div>
+<div class=CToolTip id="tt25">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type enumerated TCCIPsec_TranspProto { anyTranspProto (0), tcpProto (6), udpProto (17) }</td></tr></table></blockquote>Declares identifiers for the possible upper layer protocols</div></div>
+<div class=CToolTip id="tt26">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_Tunnel { charstring srcAddr, integer srcPort, charstring dstAddr, integer dstPort }</td></tr></table></blockquote>Declares a type to represent the tunnel IPsec mode - as opposed to transport mode</div></div>
+<div class=CToolTip id="tt27">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record TCCIPsec_UseLevel {}</td></tr></table></blockquote>Declares a type to represent the policy level indicating that IPsec should be used if appropriate SA is available. </div></div>
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt28">
+<div class=CType>
+<blockquote>
+<table border=0 cellspacing=0 cellpadding=0 class=Prototype>
+<tr>
+<td>type record of verdicttype VerdictList</td></tr></table></blockquote>List of verdicttype</div></div>
+<!--END_ND_TOOLTIPS-->
+
+</div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/index/Variables.html b/doc/apidoc/html/index/Variables.html
new file mode 100644
index 0000000000000000000000000000000000000000..2ac9ac000d1ef9824ef9085299160c7246a6da01
--- /dev/null
+++ b/doc/apidoc/html/index/Variables.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>TCCUsefulFunctions - Variable Index</title>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script></head>
+<body class="FramedIndexPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Variable Index</div>
+<div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; D &middot; E &middot; F &middot; G &middot; H &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; R &middot; S &middot; T &middot; <a href="#U">U</a> &middot; V &middot; W &middot; X &middot; Y &middot; Z</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+<td class=IHeading id=IFirstHeading>
+<a name="U"></a>U</td>
+<td></td></tr>
+<tr>
+<td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td>
+<td class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#u8" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>u8</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1">
+<div class=CVariable>type for a byte</div></div>
+<!--END_ND_TOOLTIPS-->
+
+</div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/javascript/main.js b/doc/apidoc/html/javascript/main.js
new file mode 100755
index 0000000000000000000000000000000000000000..efcdca96691d487eca065b78d7a867844ae7eaf4
--- /dev/null
+++ b/doc/apidoc/html/javascript/main.js
@@ -0,0 +1,836 @@
+// This file is part of Natural Docs, which is Copyright (C) 2003-2008 Greg Valure
+// Natural Docs is licensed under the GPL
+
+
+//
+//  Browser Styles
+// ____________________________________________________________________________
+
+var agt=navigator.userAgent.toLowerCase();
+var browserType;
+var browserVer;
+
+if (agt.indexOf("opera") != -1)
+    {
+    browserType = "Opera";
+
+    if (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1)
+        {  browserVer = "Opera7";  }
+    else if (agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1)
+        {  browserVer = "Opera8";  }
+    else if (agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1)
+        {  browserVer = "Opera9";  }
+    }
+
+else if (agt.indexOf("applewebkit") != -1)
+    {
+    browserType = "Safari";
+
+    if (agt.indexOf("version/3") != -1)
+        {  browserVer = "Safari3";  }
+    else if (agt.indexOf("safari/4") != -1)
+        {  browserVer = "Safari2";  }
+    }
+
+else if (agt.indexOf("khtml") != -1)
+    {
+    browserType = "Konqueror";
+    }
+
+else if (agt.indexOf("msie") != -1)
+    {
+    browserType = "IE";
+
+    if (agt.indexOf("msie 6") != -1)
+        {  browserVer = "IE6";  }
+    else if (agt.indexOf("msie 7") != -1)
+        {  browserVer = "IE7";  }
+    }
+
+else if (agt.indexOf("gecko") != -1)
+    {
+    browserType = "Firefox";
+
+    if (agt.indexOf("rv:1.7") != -1)
+        {  browserVer = "Firefox1";  }
+    else if (agt.indexOf("rv:1.8)") != -1 || agt.indexOf("rv:1.8.0") != -1)
+        {  browserVer = "Firefox15";  }
+    else if (agt.indexOf("rv:1.8.1") != -1)
+        {  browserVer = "Firefox2";  }
+    }
+
+
+//
+//  Support Functions
+// ____________________________________________________________________________
+
+
+function GetXPosition(item)
+    {
+    var position = 0;
+
+    if (item.offsetWidth != null)
+        {
+        while (item != document.body && item != null)
+            {
+            position += item.offsetLeft;
+            item = item.offsetParent;
+            };
+        };
+
+    return position;
+    };
+
+
+function GetYPosition(item)
+    {
+    var position = 0;
+
+    if (item.offsetWidth != null)
+        {
+        while (item != document.body && item != null)
+            {
+            position += item.offsetTop;
+            item = item.offsetParent;
+            };
+        };
+
+    return position;
+    };
+
+
+function MoveToPosition(item, x, y)
+    {
+    // Opera 5 chokes on the px extension, so it can use the Microsoft one instead.
+
+    if (item.style.left != null)
+        {
+        item.style.left = x + "px";
+        item.style.top = y + "px";
+        }
+    else if (item.style.pixelLeft != null)
+        {
+        item.style.pixelLeft = x;
+        item.style.pixelTop = y;
+        };
+    };
+
+
+//
+//  Menu
+// ____________________________________________________________________________
+
+
+function ToggleMenu(id)
+    {
+    if (!window.document.getElementById)
+        {  return;  };
+
+    var display = window.document.getElementById(id).style.display;
+
+    if (display == "none")
+        {  display = "block";  }
+    else
+        {  display = "none";  }
+
+    window.document.getElementById(id).style.display = display;
+    }
+
+function HideAllBut(ids, max)
+    {
+    if (document.getElementById)
+        {
+        ids.sort( function(a,b) { return a - b; } );
+        var number = 1;
+
+        while (number < max)
+            {
+            if (ids.length > 0 && number == ids[0])
+                {  ids.shift();  }
+            else
+                {
+                document.getElementById("MGroupContent" + number).style.display = "none";
+                };
+
+            number++;
+            };
+        };
+    }
+
+
+//
+//  Tooltips
+// ____________________________________________________________________________
+
+
+var tooltipTimer = 0;
+
+function ShowTip(event, tooltipID, linkID)
+    {
+    if (tooltipTimer)
+        {  clearTimeout(tooltipTimer);  };
+
+    var docX = event.clientX + window.pageXOffset;
+    var docY = event.clientY + window.pageYOffset;
+
+    var showCommand = "ReallyShowTip('" + tooltipID + "', '" + linkID + "', " + docX + ", " + docY + ")";
+
+    tooltipTimer = setTimeout(showCommand, 1000);
+    }
+
+function ReallyShowTip(tooltipID, linkID, docX, docY)
+    {
+    tooltipTimer = 0;
+
+    var tooltip;
+    var link;
+
+    if (document.getElementById)
+        {
+        tooltip = document.getElementById(tooltipID);
+        link = document.getElementById(linkID);
+        }
+/*    else if (document.all)
+        {
+        tooltip = eval("document.all['" + tooltipID + "']");
+        link = eval("document.all['" + linkID + "']");
+        }
+*/
+    if (tooltip)
+        {
+        var left = GetXPosition(link);
+        var top = GetYPosition(link);
+        top += link.offsetHeight;
+
+
+        // The fallback method is to use the mouse X and Y relative to the document.  We use a separate if and test if its a number
+        // in case some browser snuck through the above if statement but didn't support everything.
+
+        if (!isFinite(top) || top == 0)
+            {
+            left = docX;
+            top = docY;
+            }
+
+        // Some spacing to get it out from under the cursor.
+
+        top += 10;
+
+        // Make sure the tooltip doesnt get smushed by being too close to the edge, or in some browsers, go off the edge of the
+        // page.  We do it here because Konqueror does get offsetWidth right even if it doesnt get the positioning right.
+
+        if (tooltip.offsetWidth != null)
+            {
+            var width = tooltip.offsetWidth;
+            var docWidth = document.body.clientWidth;
+
+            if (left + width > docWidth)
+                {  left = docWidth - width - 1;  }
+
+            // If there's a horizontal scroll bar we could go past zero because it's using the page width, not the window width.
+            if (left < 0)
+                {  left = 0;  };
+            }
+
+        MoveToPosition(tooltip, left, top);
+        tooltip.style.visibility = "visible";
+        }
+    }
+
+function HideTip(tooltipID)
+    {
+    if (tooltipTimer)
+        {
+        clearTimeout(tooltipTimer);
+        tooltipTimer = 0;
+        }
+
+    var tooltip;
+
+    if (document.getElementById)
+        {  tooltip = document.getElementById(tooltipID); }
+    else if (document.all)
+        {  tooltip = eval("document.all['" + tooltipID + "']");  }
+
+    if (tooltip)
+        {  tooltip.style.visibility = "hidden";  }
+    }
+
+
+//
+//  Blockquote fix for IE
+// ____________________________________________________________________________
+
+
+function NDOnLoad()
+    {
+    if (browserVer == "IE6")
+        {
+        var scrollboxes = document.getElementsByTagName('blockquote');
+
+        if (scrollboxes.item(0))
+            {
+            NDDoResize();
+            window.onresize=NDOnResize;
+            };
+        };
+    };
+
+
+var resizeTimer = 0;
+
+function NDOnResize()
+    {
+    if (resizeTimer != 0)
+        {  clearTimeout(resizeTimer);  };
+
+    resizeTimer = setTimeout(NDDoResize, 250);
+    };
+
+
+function NDDoResize()
+    {
+    var scrollboxes = document.getElementsByTagName('blockquote');
+
+    var i;
+    var item;
+
+    i = 0;
+    while (item = scrollboxes.item(i))
+        {
+        item.style.width = 100;
+        i++;
+        };
+
+    i = 0;
+    while (item = scrollboxes.item(i))
+        {
+        item.style.width = item.parentNode.offsetWidth;
+        i++;
+        };
+
+    clearTimeout(resizeTimer);
+    resizeTimer = 0;
+    }
+
+
+
+/* ________________________________________________________________________________________________________
+
+    Class: SearchPanel
+    ________________________________________________________________________________________________________
+
+    A class handling everything associated with the search panel.
+
+    Parameters:
+
+        name - The name of the global variable that will be storing this instance.  Is needed to be able to set timeouts.
+        mode - The mode the search is going to work in.  Pass <NaturalDocs::Builder::Base->CommandLineOption()>, so the
+                   value will be something like "HTML" or "FramedHTML".
+
+    ________________________________________________________________________________________________________
+*/
+
+
+function SearchPanel(name, mode, resultsPath)
+    {
+    if (!name || !mode || !resultsPath)
+        {  alert("Incorrect parameters to SearchPanel.");  };
+
+
+    // Group: Variables
+    // ________________________________________________________________________
+
+    /*
+        var: name
+        The name of the global variable that will be storing this instance of the class.
+    */
+    this.name = name;
+
+    /*
+        var: mode
+        The mode the search is going to work in, such as "HTML" or "FramedHTML".
+    */
+    this.mode = mode;
+
+    /*
+        var: resultsPath
+        The relative path from the current HTML page to the results page directory.
+    */
+    this.resultsPath = resultsPath;
+
+    /*
+        var: keyTimeout
+        The timeout used between a keystroke and when a search is performed.
+    */
+    this.keyTimeout = 0;
+
+    /*
+        var: keyTimeoutLength
+        The length of <keyTimeout> in thousandths of a second.
+    */
+    this.keyTimeoutLength = 500;
+
+    /*
+        var: lastSearchValue
+        The last search string executed, or an empty string if none.
+    */
+    this.lastSearchValue = "";
+
+    /*
+        var: lastResultsPage
+        The last results page.  The value is only relevant if <lastSearchValue> is set.
+    */
+    this.lastResultsPage = "";
+
+    /*
+        var: deactivateTimeout
+
+        The timeout used between when a control is deactivated and when the entire panel is deactivated.  Is necessary
+        because a control may be deactivated in favor of another control in the same panel, in which case it should stay
+        active.
+    */
+    this.deactivateTimout = 0;
+
+    /*
+        var: deactivateTimeoutLength
+        The length of <deactivateTimeout> in thousandths of a second.
+    */
+    this.deactivateTimeoutLength = 200;
+
+
+
+
+    // Group: DOM Elements
+    // ________________________________________________________________________
+
+
+    // Function: DOMSearchField
+    this.DOMSearchField = function()
+        {  return document.getElementById("MSearchField");  };
+
+    // Function: DOMSearchType
+    this.DOMSearchType = function()
+        {  return document.getElementById("MSearchType");  };
+
+    // Function: DOMPopupSearchResults
+    this.DOMPopupSearchResults = function()
+        {  return document.getElementById("MSearchResults");  };
+
+    // Function: DOMPopupSearchResultsWindow
+    this.DOMPopupSearchResultsWindow = function()
+        {  return document.getElementById("MSearchResultsWindow");  };
+
+    // Function: DOMSearchPanel
+    this.DOMSearchPanel = function()
+        {  return document.getElementById("MSearchPanel");  };
+
+
+
+
+    // Group: Event Handlers
+    // ________________________________________________________________________
+
+
+    /*
+        Function: OnSearchFieldFocus
+        Called when focus is added or removed from the search field.
+    */
+    this.OnSearchFieldFocus = function(isActive)
+        {
+        this.Activate(isActive);
+        };
+
+
+    /*
+        Function: OnSearchFieldChange
+        Called when the content of the search field is changed.
+    */
+    this.OnSearchFieldChange = function()
+        {
+        if (this.keyTimeout)
+            {
+            clearTimeout(this.keyTimeout);
+            this.keyTimeout = 0;
+            };
+
+        var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+        if (searchValue != this.lastSearchValue)
+            {
+            if (searchValue != "")
+                {
+                this.keyTimeout = setTimeout(this.name + ".Search()", this.keyTimeoutLength);
+                }
+            else
+                {
+                if (this.mode == "HTML")
+                    {  this.DOMPopupSearchResultsWindow().style.display = "none";  };
+                this.lastSearchValue = "";
+                };
+            };
+        };
+
+
+    /*
+        Function: OnSearchTypeFocus
+        Called when focus is added or removed from the search type.
+    */
+    this.OnSearchTypeFocus = function(isActive)
+        {
+        this.Activate(isActive);
+        };
+
+
+    /*
+        Function: OnSearchTypeChange
+        Called when the search type is changed.
+    */
+    this.OnSearchTypeChange = function()
+        {
+        var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+        if (searchValue != "")
+            {
+            this.Search();
+            };
+        };
+
+
+
+    // Group: Action Functions
+    // ________________________________________________________________________
+
+
+    /*
+        Function: CloseResultsWindow
+        Closes the results window.
+    */
+    this.CloseResultsWindow = function()
+        {
+        this.DOMPopupSearchResultsWindow().style.display = "none";
+        this.Activate(false, true);
+        };
+
+
+    /*
+        Function: Search
+        Performs a search.
+    */
+    this.Search = function()
+        {
+        this.keyTimeout = 0;
+
+        var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+        var searchTopic = this.DOMSearchType().value;
+
+        var pageExtension = searchValue.substr(0,1);
+
+        if (pageExtension.match(/^[a-z]/i))
+            {  pageExtension = pageExtension.toUpperCase();  }
+        else if (pageExtension.match(/^[0-9]/))
+            {  pageExtension = 'Numbers';  }
+        else
+            {  pageExtension = "Symbols";  };
+
+        var resultsPage;
+        var resultsPageWithSearch;
+        var hasResultsPage;
+
+        // indexSectionsWithContent is defined in searchdata.js
+        if (indexSectionsWithContent[searchTopic][pageExtension] == true)
+            {
+            resultsPage = this.resultsPath + '/' + searchTopic + pageExtension + '.html';
+            resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+            hasResultsPage = true;
+            }
+        else
+            {
+            resultsPage = this.resultsPath + '/NoResults.html';
+            resultsPageWithSearch = resultsPage;
+            hasResultsPage = false;
+            };
+
+        var resultsFrame;
+        if (this.mode == "HTML")
+            {  resultsFrame = window.frames.MSearchResults;  }
+        else if (this.mode == "FramedHTML")
+            {  resultsFrame = window.top.frames['Content'];  };
+
+
+        if (resultsPage != this.lastResultsPage ||
+
+            // Bug in IE.  If everything becomes hidden in a run, none of them will be able to be reshown in the next for some
+            // reason.  It counts the right number of results, and you can even read the display as "block" after setting it, but it
+            // just doesn't work in IE 6 or IE 7.  So if we're on the right page but the previous search had no results, reload the
+            // page anyway to get around the bug.
+            (browserType == "IE" && hasResultsPage &&
+            	(!resultsFrame.searchResults || resultsFrame.searchResults.lastMatchCount == 0)) )
+
+            {
+            resultsFrame.location.href = resultsPageWithSearch;
+            }
+
+        // So if the results page is right and there's no IE bug, reperform the search on the existing page.  We have to check if there
+        // are results because NoResults.html doesn't have any JavaScript, and it would be useless to do anything on that page even
+        // if it did.
+        else if (hasResultsPage)
+            {
+            // We need to check if this exists in case the frame is present but didn't finish loading.
+            if (resultsFrame.searchResults)
+                {  resultsFrame.searchResults.Search(searchValue);  }
+
+            // Otherwise just reload instead of waiting.
+            else
+                {  resultsFrame.location.href = resultsPageWithSearch;  };
+            };
+
+
+        var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+        if (this.mode == "HTML" && domPopupSearchResultsWindow.style.display != "block")
+            {
+            var domSearchType = this.DOMSearchType();
+
+            var left = GetXPosition(domSearchType);
+            var top = GetYPosition(domSearchType) + domSearchType.offsetHeight;
+
+            MoveToPosition(domPopupSearchResultsWindow, left, top);
+            domPopupSearchResultsWindow.style.display = 'block';
+            };
+
+
+        this.lastSearchValue = searchValue;
+        this.lastResultsPage = resultsPage;
+        };
+
+
+
+    // Group: Activation Functions
+    // Functions that handle whether the entire panel is active or not.
+    // ________________________________________________________________________
+
+
+    /*
+        Function: Activate
+
+        Activates or deactivates the search panel, resetting things to their default values if necessary.  You can call this on every
+        control's OnBlur() and it will handle not deactivating the entire panel when focus is just switching between them transparently.
+
+        Parameters:
+
+            isActive - Whether you're activating or deactivating the panel.
+            ignoreDeactivateDelay - Set if you're positive the action will deactivate the panel and thus want to skip the delay.
+    */
+    this.Activate = function(isActive, ignoreDeactivateDelay)
+        {
+        // We want to ignore isActive being false while the results window is open.
+        if (isActive || (this.mode == "HTML" && this.DOMPopupSearchResultsWindow().style.display == "block"))
+            {
+            if (this.inactivateTimeout)
+                {
+                clearTimeout(this.inactivateTimeout);
+                this.inactivateTimeout = 0;
+                };
+
+            this.DOMSearchPanel().className = 'MSearchPanelActive';
+
+            var searchField = this.DOMSearchField();
+
+            if (searchField.value == 'Search')
+                 {  searchField.value = "";  }
+            }
+        else if (!ignoreDeactivateDelay)
+            {
+            this.inactivateTimeout = setTimeout(this.name + ".InactivateAfterTimeout()", this.inactivateTimeoutLength);
+            }
+        else
+            {
+            this.InactivateAfterTimeout();
+            };
+        };
+
+
+    /*
+        Function: InactivateAfterTimeout
+
+        Called by <inactivateTimeout>, which is set by <Activate()>.  Inactivation occurs on a timeout because a control may
+        receive OnBlur() when focus is really transferring to another control in the search panel.  In this case we don't want to
+        actually deactivate the panel because not only would that cause a visible flicker but it could also reset the search value.
+        So by doing it on a timeout instead, there's a short period where the second control's OnFocus() can cancel the deactivation.
+    */
+    this.InactivateAfterTimeout = function()
+        {
+        this.inactivateTimeout = 0;
+
+        this.DOMSearchPanel().className = 'MSearchPanelInactive';
+        this.DOMSearchField().value = "Search";
+
+	    this.lastSearchValue = "";
+	    this.lastResultsPage = "";
+        };
+    };
+
+
+
+
+/* ________________________________________________________________________________________________________
+
+   Class: SearchResults
+   _________________________________________________________________________________________________________
+
+   The class that handles everything on the search results page.
+   _________________________________________________________________________________________________________
+*/
+
+
+function SearchResults(name, mode)
+    {
+    /*
+        var: mode
+        The mode the search is going to work in, such as "HTML" or "FramedHTML".
+    */
+    this.mode = mode;
+
+    /*
+        var: lastMatchCount
+        The number of matches from the last run of <Search()>.
+    */
+    this.lastMatchCount = 0;
+
+
+    /*
+        Function: Toggle
+        Toggles the visibility of the passed element ID.
+    */
+    this.Toggle = function(id)
+        {
+        if (this.mode == "FramedHTML")
+            {  return;  };
+
+        var parentElement = document.getElementById(id);
+
+        var element = parentElement.firstChild;
+
+        while (element && element != parentElement)
+            {
+            if (element.nodeName == 'DIV' && element.className == 'ISubIndex')
+                {
+                if (element.style.display == 'block')
+                    {  element.style.display = "none";  }
+                else
+                    {  element.style.display = 'block';  }
+                };
+
+            if (element.nodeName == 'DIV' && element.hasChildNodes())
+                {  element = element.firstChild;  }
+            else if (element.nextSibling)
+                {  element = element.nextSibling;  }
+            else
+                {
+                do
+                    {
+                    element = element.parentNode;
+                    }
+                while (element && element != parentElement && !element.nextSibling);
+
+                if (element && element != parentElement)
+                    {  element = element.nextSibling;  };
+                };
+            };
+        };
+
+
+    /*
+        Function: Search
+
+        Searches for the passed string.  If there is no parameter, it takes it from the URL query.
+
+        Always returns true, since other documents may try to call it and that may or may not be possible.
+    */
+    this.Search = function(search)
+        {
+        if (!search)
+            {
+            search = window.location.search;
+            search = search.substring(1);  // Remove the leading ?
+            search = unescape(search);
+            };
+
+        search = search.replace(/^ +/, "");
+        search = search.replace(/ +$/, "");
+        search = search.toLowerCase();
+
+        if (search.match(/[^a-z0-9]/)) // Just a little speedup so it doesn't have to go through the below unnecessarily.
+            {
+            search = search.replace(/\_/g, "_und");
+            search = search.replace(/\ +/gi, "_spc");
+            search = search.replace(/\~/g, "_til");
+            search = search.replace(/\!/g, "_exc");
+            search = search.replace(/\@/g, "_att");
+            search = search.replace(/\#/g, "_num");
+            search = search.replace(/\$/g, "_dol");
+            search = search.replace(/\%/g, "_pct");
+            search = search.replace(/\^/g, "_car");
+            search = search.replace(/\&/g, "_amp");
+            search = search.replace(/\*/g, "_ast");
+            search = search.replace(/\(/g, "_lpa");
+            search = search.replace(/\)/g, "_rpa");
+            search = search.replace(/\-/g, "_min");
+            search = search.replace(/\+/g, "_plu");
+            search = search.replace(/\=/g, "_equ");
+            search = search.replace(/\{/g, "_lbc");
+            search = search.replace(/\}/g, "_rbc");
+            search = search.replace(/\[/g, "_lbk");
+            search = search.replace(/\]/g, "_rbk");
+            search = search.replace(/\:/g, "_col");
+            search = search.replace(/\;/g, "_sco");
+            search = search.replace(/\"/g, "_quo");
+            search = search.replace(/\'/g, "_apo");
+            search = search.replace(/\</g, "_lan");
+            search = search.replace(/\>/g, "_ran");
+            search = search.replace(/\,/g, "_com");
+            search = search.replace(/\./g, "_per");
+            search = search.replace(/\?/g, "_que");
+            search = search.replace(/\//g, "_sla");
+            search = search.replace(/[^a-z0-9\_]i/gi, "_zzz");
+            };
+
+        var resultRows = document.getElementsByTagName("div");
+        var matches = 0;
+
+        var i = 0;
+        while (i < resultRows.length)
+            {
+            var row = resultRows.item(i);
+
+            if (row.className == "SRResult")
+                {
+                var rowMatchName = row.id.toLowerCase();
+                rowMatchName = rowMatchName.replace(/^sr\d*_/, '');
+
+                if (search.length <= rowMatchName.length && rowMatchName.substr(0, search.length) == search)
+                    {
+                    row.style.display = "block";
+                    matches++;
+                    }
+                else
+                    {  row.style.display = "none";  };
+                };
+
+            i++;
+            };
+
+        document.getElementById("Searching").style.display="none";
+
+        if (matches == 0)
+            {  document.getElementById("NoMatches").style.display="block";  }
+        else
+            {  document.getElementById("NoMatches").style.display="none";  }
+
+        this.lastMatchCount = matches;
+
+        return true;
+        };
+    };
+
diff --git a/doc/apidoc/html/javascript/searchdata.js b/doc/apidoc/html/javascript/searchdata.js
new file mode 100755
index 0000000000000000000000000000000000000000..1b51108a36e60fc1f1f160a06b84ce402dce6803
--- /dev/null
+++ b/doc/apidoc/html/javascript/searchdata.js
@@ -0,0 +1,182 @@
+var indexSectionsWithContent = {
+   "General": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": true,
+      "B": true,
+      "C": true,
+      "D": true,
+      "E": true,
+      "F": true,
+      "G": false,
+      "H": false,
+      "I": true,
+      "J": false,
+      "K": true,
+      "L": false,
+      "M": true,
+      "N": false,
+      "O": true,
+      "P": true,
+      "Q": false,
+      "R": true,
+      "S": true,
+      "T": true,
+      "U": true,
+      "V": true,
+      "W": false,
+      "X": true,
+      "Y": false,
+      "Z": true
+      },
+   "Variables": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": false,
+      "B": false,
+      "C": false,
+      "D": false,
+      "E": false,
+      "F": false,
+      "G": false,
+      "H": false,
+      "I": false,
+      "J": false,
+      "K": false,
+      "L": false,
+      "M": false,
+      "N": false,
+      "O": false,
+      "P": false,
+      "Q": false,
+      "R": false,
+      "S": false,
+      "T": false,
+      "U": true,
+      "V": false,
+      "W": false,
+      "X": false,
+      "Y": false,
+      "Z": false
+      },
+   "Functions": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": false,
+      "B": true,
+      "C": true,
+      "D": true,
+      "E": true,
+      "F": true,
+      "G": false,
+      "H": false,
+      "I": false,
+      "J": false,
+      "K": true,
+      "L": false,
+      "M": true,
+      "N": false,
+      "O": false,
+      "P": false,
+      "Q": false,
+      "R": true,
+      "S": true,
+      "T": false,
+      "U": false,
+      "V": false,
+      "W": false,
+      "X": true,
+      "Y": false,
+      "Z": false
+      },
+   "Files": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": true,
+      "B": false,
+      "C": false,
+      "D": true,
+      "E": false,
+      "F": false,
+      "G": false,
+      "H": false,
+      "I": false,
+      "J": false,
+      "K": false,
+      "L": false,
+      "M": false,
+      "N": false,
+      "O": false,
+      "P": false,
+      "Q": false,
+      "R": true,
+      "S": false,
+      "T": true,
+      "U": false,
+      "V": false,
+      "W": false,
+      "X": false,
+      "Y": false,
+      "Z": true
+      },
+   "Types": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": false,
+      "B": true,
+      "C": false,
+      "D": false,
+      "E": false,
+      "F": true,
+      "G": false,
+      "H": false,
+      "I": true,
+      "J": false,
+      "K": false,
+      "L": false,
+      "M": false,
+      "N": false,
+      "O": true,
+      "P": false,
+      "Q": false,
+      "R": false,
+      "S": true,
+      "T": true,
+      "U": false,
+      "V": true,
+      "W": false,
+      "X": false,
+      "Y": false,
+      "Z": false
+      },
+   "Constants": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": false,
+      "B": false,
+      "C": true,
+      "D": false,
+      "E": false,
+      "F": false,
+      "G": false,
+      "H": false,
+      "I": false,
+      "J": false,
+      "K": false,
+      "L": false,
+      "M": false,
+      "N": false,
+      "O": false,
+      "P": true,
+      "Q": false,
+      "R": false,
+      "S": false,
+      "T": false,
+      "U": false,
+      "V": false,
+      "W": false,
+      "X": false,
+      "Y": false,
+      "Z": false
+      }
+   }
\ No newline at end of file
diff --git a/doc/apidoc/html/menu.html b/doc/apidoc/html/menu.html
new file mode 100644
index 0000000000000000000000000000000000000000..31b8457d9595279c954c5436db03425bc6cac44a
--- /dev/null
+++ b/doc/apidoc/html/menu.html
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>Menu - TCCUsefulFunctions</title>
+<base target="Content">
+<link rel="stylesheet" type="text/css" href="styles/main.css">
+<script language=JavaScript src="javascript/main.js"></script>
+<script language=JavaScript src="javascript/searchdata.js"></script></head>
+<body class="FramedMenuPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Menu>
+<div class=MTitle>TCCUsefulFunctions<div class=MSubTitle>R12A02</div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent1')" target="_self">Aka-algorythm</a>
+<div class=MGroupContent id=MGroupContent1>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/aka_algorythm_set-h.html">aka_algorythm_set.h</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent2')" target="_self">Assertion</a>
+<div class=MGroupContent id=MGroupContent2>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCAssertion-cc.html">f__assert</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCAssertion_Functions-ttcn.html">TCCAssertion_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent3')" target="_self">Conversion</a>
+<div class=MGroupContent id=MGroupContent3>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCConversion-cc.html">TCCConversion.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCConversion_Functions-ttcn.html">TCCConversion_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent4')" target="_self">Date-Time</a>
+<div class=MGroupContent id=MGroupContent4>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCDateTime-cc.html">TCCDateTime.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCDateTime_Functions-ttcn.html">TCCDateTime_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent5')" target="_self">Digcalc</a>
+<div class=MGroupContent id=MGroupContent5>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/digcalc-h.html">digcalc.h</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent6')" target="_self">Encoding</a>
+<div class=MGroupContent id=MGroupContent6>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCEncoding-cc.html">TCCEncoding.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCEncoding_Functions-ttcn.html">TCCEncoding_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent7')" target="_self">Env</a>
+<div class=MGroupContent id=MGroupContent7>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCEnv-cc.html">TCCEnv.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCEnv_Functions-ttcn.html">TCCEnv_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent8')" target="_self">File</a>
+<div class=MGroupContent id=MGroupContent8>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCFileIO-cc.html">TCCFileIO.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCFileIO_Functions-ttcn.html">TCCFileIO_Functions</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCFileSystem_Functions-ttcn.html">TCCFileSystem_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent9')" target="_self">IP</a>
+<div class=MGroupContent id=MGroupContent9>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCIPsec_Definitions-ttcn.html">TCCIPsec_Definitions.ttcn</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCIPsec_Functions-ttcn.html">TCCIPsec_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent10')" target="_self">Interface</a>
+<div class=MGroupContent id=MGroupContent10>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCInterface-cc.html">TCCInterface.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCInterface_Functions-ttcn.html">TCCInterface_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent11')" target="_self">Math</a>
+<div class=MGroupContent id=MGroupContent11>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCMaths-cc.html">TCCMaths.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCMaths_Functions-ttcn.html">TCCMaths_Functions</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCMaths_GenericTypes-ttcn.html">TCCMaths_GenericTypes</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent12')" target="_self">Message-Handling</a>
+<div class=MGroupContent id=MGroupContent12>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCMessageHandling_Functions-ttcn.html">TCCMessageHandling_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent13')" target="_self">Regexp</a>
+<div class=MGroupContent id=MGroupContent13>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCRegexp_Functions-ttcn.html">Regexp_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent14')" target="_self">Security</a>
+<div class=MGroupContent id=MGroupContent14>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCSecurity-cc.html">TCCSecurity.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCSecurity_Functions-ttcn.html">TCCSecurity_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent15')" target="_self">System</a>
+<div class=MGroupContent id=MGroupContent15>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCSystem-cc.html">f_SYS_getpid</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCSystem_Functions-ttcn.html">f_SYS_getpid</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent16')" target="_self">Template</a>
+<div class=MGroupContent id=MGroupContent16>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCTemplate_Functions-ttcn.html">TCCTemplate_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent17')" target="_self">Titan-Metadata</a>
+<div class=MGroupContent id=MGroupContent17>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCTitanMetadata-cc.html">f__compilationTime</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCTitanMetadata_Functions-ttcn.html">TCCTitanMetadata_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent18')" target="_self">XPath-Support</a>
+<div class=MGroupContent id=MGroupContent18>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCXPathSupport_Functions-ttcn.html">TCCXPathSupport_Functions</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCXPathSupport-cc.html">XPathQuery</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent19')" target="_self">Zuc</a>
+<div class=MGroupContent id=MGroupContent19>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/zuc-h.html">zuc.h</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent20')" target="_self">Index</a>
+<div class=MGroupContent id=MGroupContent20>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/General.html">Everything</a></div></div>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/Constants.html">Constants</a></div></div>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/Files.html">Files</a></div></div>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/Functions.html">Functions</a></div></div>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/Types.html">Types</a></div></div>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/Variables.html">Variables</a></div></div></div></div></div>
+<script type="text/javascript">
+<!--
+var searchPanel = new SearchPanel("searchPanel", "FramedHTML", "search");
+--></script>
+<div id=MSearchPanel class=MSearchPanelInactive>
+<input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()">
+<select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()">
+<option  id=MSearchEverything selected value="General">Everything</option>
+<option value="Constants">Constants</option>
+<option value="Files">Files</option>
+<option value="Functions">Functions</option>
+<option value="Types">Types</option>
+<option value="Variables">Variables</option></select></div>
+<script language=JavaScript>
+<!--
+HideAllBut([], 21);// --></script></div>
+<!--Menu-->
+
+
+<div id=Footer>
+<p>Copyright 2015 Ericsson AB<br/>
+<a href="http://ttcn.ericsson.se/">http://ttcn.ericsson.se</a></p>
+<p>
+<a href="http://www.naturaldocs.org">Generated by Natural Docs</a></p></div>
+<!--Footer-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
diff --git a/doc/apidoc/html/menu.html~ b/doc/apidoc/html/menu.html~
new file mode 100644
index 0000000000000000000000000000000000000000..f637c1d4b9919c7893daa1f38953b25a20fa078f
--- /dev/null
+++ b/doc/apidoc/html/menu.html~
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<title>Menu - TCCUsefulFunctions</title>
+<base target="Content">
+<link rel="stylesheet" type="text/css" href="styles/main.css">
+<script language=JavaScript src="javascript/main.js"></script>
+<script language=JavaScript src="javascript/searchdata.js"></script></head>
+<body class="FramedMenuPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Menu>
+<div class=MTitle>TCCUsefulFunctions<div class=MSubTitle>R12A02</div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent1')" target="_self">Aka-algorythm</a>
+<div class=MGroupContent id=MGroupContent1>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/aka_algorythm_set-h.html">aka_algorythm_set.h</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent2')" target="_self">Assertion</a>
+<div class=MGroupContent id=MGroupContent2>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCAssertion-cc.html">f__assert</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCAssertion_Functions-ttcn.html">TCCAssertion_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent3')" target="_self">Conversion</a>
+<div class=MGroupContent id=MGroupContent3>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCConversion-cc.html">TCCConversion.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCConversion_Functions-ttcn.html">TCCConversion_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent4')" target="_self">Date-Time</a>
+<div class=MGroupContent id=MGroupContent4>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCDateTime-cc.html">TCCDateTime.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCDateTime_Functions-ttcn.html">TCCDateTime_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent5')" target="_self">Digcalc</a>
+<div class=MGroupContent id=MGroupContent5>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/digcalc-h.html">digcalc.h</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent6')" target="_self">Encoding</a>
+<div class=MGroupContent id=MGroupContent6>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCEncoding-cc.html">TCCEncoding.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCEncoding_Functions-ttcn.html">TCCEncoding_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent7')" target="_self">Env</a>
+<div class=MGroupContent id=MGroupContent7>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCEnv-cc.html">TCCEnv.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCEnv_Functions-ttcn.html">TCCEnv_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent8')" target="_self">File</a>
+<div class=MGroupContent id=MGroupContent8>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCFileIO-cc.html">TCCFileIO.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCFileIO_Functions-ttcn.html">TCCFileIO_Functions</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCFileSystem_Functions-ttcn.html">TCCFileSystem_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent9')" target="_self">IP</a>
+<div class=MGroupContent id=MGroupContent9>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCIPsec_Definitions-ttcn.html">TCCIPsec_Definitions.ttcn</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCIPsec_Functions-ttcn.html">TCCIPsec_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent10')" target="_self">Interface</a>
+<div class=MGroupContent id=MGroupContent10>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCInterface-cc.html">TCCInterface.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCInterface_Functions-ttcn.html">TCCInterface_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent11')" target="_self">Math</a>
+<div class=MGroupContent id=MGroupContent11>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCMaths-cc.html">TCCMaths.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCMaths_Functions-ttcn.html">TCCMaths_Functions</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCMaths_GenericTypes-ttcn.html">TCCMaths_GenericTypes</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent12')" target="_self">Message-Handling</a>
+<div class=MGroupContent id=MGroupContent12>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCMessageHandling_Functions-ttcn.html">TCCMessageHandling_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent13')" target="_self">Regexp</a>
+<div class=MGroupContent id=MGroupContent13>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCRegexp_Functions-ttcn.html">Regexp_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent14')" target="_self">Security</a>
+<div class=MGroupContent id=MGroupContent14>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCSecurity-cc.html">TCCSecurity.cc</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCSecurity_Functions-ttcn.html">TCCSecurity_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent15')" target="_self">System</a>
+<div class=MGroupContent id=MGroupContent15>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCSystem-cc.html">f_SYS_getpid</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCSystem_Functions-ttcn.html">f_SYS_getpid</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent16')" target="_self">Template</a>
+<div class=MGroupContent id=MGroupContent16>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCTemplate_Functions-ttcn.html">TCCTemplate_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent17')" target="_self">Titan-Metadata</a>
+<div class=MGroupContent id=MGroupContent17>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCTitanMetadata-cc.html">f__compilationTime</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCTitanMetadata_Functions-ttcn.html">TCCTitanMetadata_Functions</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent18')" target="_self">XPath-Support</a>
+<div class=MGroupContent id=MGroupContent18>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCXPathSupport_Functions-ttcn.html">TCCXPathSupport_Functions</a></div></div>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/TCCXPathSupport-cc.html">XPathQuery</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent19')" target="_self">Zuc</a>
+<div class=MGroupContent id=MGroupContent19>
+<div class=MEntry>
+<div class=MFile>
+<a href="files/zuc-h.html">zuc.h</a></div></div></div></div></div>
+<div class=MEntry>
+<div class=MGroup>
+<a href="javascript:ToggleMenu('MGroupContent20')" target="_self">Index</a>
+<div class=MGroupContent id=MGroupContent20>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/General.html">Everything</a></div></div>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/Constants.html">Constants</a></div></div>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/Files.html">Files</a></div></div>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/Functions.html">Functions</a></div></div>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/Types.html">Types</a></div></div>
+<div class=MEntry>
+<div class=MIndex>
+<a href="index/Variables.html">Variables</a></div></div></div></div></div>
+<script type="text/javascript">
+<!--
+var searchPanel = new SearchPanel("searchPanel", "FramedHTML", "search");
+--></script>
+<div id=MSearchPanel class=MSearchPanelInactive>
+<input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()">
+<select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()">
+<option  id=MSearchEverything selected value="General">Everything</option>
+<option value="Constants">Constants</option>
+<option value="Files">Files</option>
+<option value="Functions">Functions</option>
+<option value="Types">Types</option>
+<option value="Variables">Variables</option></select></div>
+<script language=JavaScript>
+<!--
+HideAllBut([], 21);// --></script></div>
+<!--Menu-->
+
+
+<div id=Footer>
+<p>Copyright 2012 Test Competence Center<br/>
+<a href="http://ttcn.ericsson.se/">http://ttcn.ericsson.se</a></p>
+<p>
+<a href="http://www.naturaldocs.org">Generated by Natural Docs</a></p></div>
+<!--Footer-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/ConstantsC.html b/doc/apidoc/html/search/ConstantsC.html
new file mode 100644
index 0000000000000000000000000000000000000000..d2ec85e1b8e5052188cafe860b1a113d102f0a76
--- /dev/null
+++ b/doc/apidoc/html/search/ConstantsC.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_c_undTCCIPsec_undanyPort>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#c_TCCIPsec_anyPort" class=ISymbol>c_TCCIPsec_anyPort</a></div></div>
+<div class=SRResult id=SR_c_undTCCIPsec_undprefixAll>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#c_TCCIPsec_prefixAll" class=ISymbol>c_TCCIPsec_prefixAll</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/ConstantsP.html b/doc/apidoc/html/search/ConstantsP.html
new file mode 100644
index 0000000000000000000000000000000000000000..0c96976a125ef66f4f683ceb054351edefb4dbe9
--- /dev/null
+++ b/doc/apidoc/html/search/ConstantsP.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_pi>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#pi" class=ISymbol>pi</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FilesA.html b/doc/apidoc/html/search/FilesA.html
new file mode 100644
index 0000000000000000000000000000000000000000..3a342c3608bf799f0ef8d6bb97608283b80102e7
--- /dev/null
+++ b/doc/apidoc/html/search/FilesA.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_aka_undalgorythm_undset_perh>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#aka_algorythm_set.h" class=ISymbol>aka_algorythm_set.h</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FilesD.html b/doc/apidoc/html/search/FilesD.html
new file mode 100644
index 0000000000000000000000000000000000000000..566ccb3a7aa349efdffcd556aa3426f141246c2c
--- /dev/null
+++ b/doc/apidoc/html/search/FilesD.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_digcalc_perh>
+<div class=IEntry>
+<a href="../files/digcalc-h.html#digcalc.h" class=ISymbol>digcalc.h</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FilesR.html b/doc/apidoc/html/search/FilesR.html
new file mode 100644
index 0000000000000000000000000000000000000000..442fc8d7c284f54c4bbd95011390448250d2a630
--- /dev/null
+++ b/doc/apidoc/html/search/FilesR.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_Regexp_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCRegexp_Functions-ttcn.html#Regexp_Functions" class=ISymbol>Regexp_Functions</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FilesT.html b/doc/apidoc/html/search/FilesT.html
new file mode 100644
index 0000000000000000000000000000000000000000..4ae7d842d702862f9c3d04431af37843e93c8a45
--- /dev/null
+++ b/doc/apidoc/html/search/FilesT.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_TCCAssertion_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCAssertion_Functions-ttcn.html#TCCAssertion_Functions" class=ISymbol>TCCAssertion_Functions</a></div></div>
+<div class=SRResult id=SR_TCCConversion_percc>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#TCCConversion.cc" class=ISymbol>TCCConversion.cc</a></div></div>
+<div class=SRResult id=SR_TCCConversion_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#TCCConversion_Functions" class=ISymbol>TCCConversion_Functions</a></div></div>
+<div class=SRResult id=SR_TCCDateTime_percc>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#TCCDateTime.cc" class=ISymbol>TCCDateTime.cc</a></div></div>
+<div class=SRResult id=SR_TCCDateTime_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#TCCDateTime_Functions" class=ISymbol>TCCDateTime_Functions</a></div></div>
+<div class=SRResult id=SR_TCCEncoding_percc>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#TCCEncoding.cc" class=ISymbol>TCCEncoding.cc</a></div></div>
+<div class=SRResult id=SR_TCCEncoding_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#TCCEncoding_Functions" class=ISymbol>TCCEncoding_Functions</a></div></div>
+<div class=SRResult id=SR_TCCEnv_percc>
+<div class=IEntry>
+<a href="../files/TCCEnv-cc.html#TCCEnv.cc" class=ISymbol>TCCEnv.cc</a></div></div>
+<div class=SRResult id=SR_TCCEnv_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#TCCEnv_Functions" class=ISymbol>TCCEnv_Functions</a></div></div>
+<div class=SRResult id=SR_TCCFileIO_percc>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#TCCFileIO.cc" class=ISymbol>TCCFileIO.cc</a></div></div>
+<div class=SRResult id=SR_TCCFileIO_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#TCCFileIO_Functions" class=ISymbol>TCCFileIO_Functions</a></div></div>
+<div class=SRResult id=SR_TCCFileSystem_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#TCCFileSystem_Functions" class=ISymbol>TCCFileSystem_Functions</a></div></div>
+<div class=SRResult id=SR_TCCInterface_percc>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#TCCInterface.cc" class=ISymbol>TCCInterface.cc</a></div></div>
+<div class=SRResult id=SR_TCCInterface_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#TCCInterface_Functions" class=ISymbol>TCCInterface_Functions</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undDefinitions_perttcn>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Definitions.ttcn" class=ISymbol>TCCIPsec_Definitions.ttcn</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#TCCIPsec_Functions" class=ISymbol>TCCIPsec_Functions</a></div></div>
+<div class=SRResult id=SR_TCCMaths_percc>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#TCCMaths.cc" class=ISymbol>TCCMaths.cc</a></div></div>
+<div class=SRResult id=SR_TCCMaths_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#TCCMaths_Functions" class=ISymbol>TCCMaths_Functions</a></div></div>
+<div class=SRResult id=SR_TCCMaths_undGenericTypes>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#TCCMaths_GenericTypes" class=ISymbol>TCCMaths_GenericTypes</a></div></div>
+<div class=SRResult id=SR_TCCMessageHandling_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#TCCMessageHandling_Functions" class=ISymbol>TCCMessageHandling_Functions</a></div></div>
+<div class=SRResult id=SR_TCCSecurity_percc>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#TCCSecurity.cc" class=ISymbol>TCCSecurity.cc</a></div></div>
+<div class=SRResult id=SR_TCCSecurity_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#TCCSecurity_Functions" class=ISymbol>TCCSecurity_Functions</a></div></div>
+<div class=SRResult id=SR_TCCTemplate_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#TCCTemplate_Functions" class=ISymbol>TCCTemplate_Functions</a></div></div>
+<div class=SRResult id=SR_TCCTitanMetadata_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCTitanMetadata_Functions-ttcn.html#TCCTitanMetadata_Functions" class=ISymbol>TCCTitanMetadata_Functions</a></div></div>
+<div class=SRResult id=SR_TCCXPathSupport_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCXPathSupport_Functions-ttcn.html#TCCXPathSupport_Functions" class=ISymbol>TCCXPathSupport_Functions</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FilesZ.html b/doc/apidoc/html/search/FilesZ.html
new file mode 100644
index 0000000000000000000000000000000000000000..56d2ab3c073821b06d1dec3dffc783196bef627d
--- /dev/null
+++ b/doc/apidoc/html/search/FilesZ.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_zuc_perh>
+<div class=IEntry>
+<a href="../files/zuc-h.html#zuc.h" class=ISymbol>zuc.h</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FunctionsB.html b/doc/apidoc/html/search/FunctionsB.html
new file mode 100644
index 0000000000000000000000000000000000000000..5b5ebe99a13cf88a7260003dbc430cab008ae82e
--- /dev/null
+++ b/doc/apidoc/html/search/FunctionsB.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_ByteSub>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ByteSub" class=ISymbol>ByteSub</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FunctionsC.html b/doc/apidoc/html/search/FunctionsC.html
new file mode 100644
index 0000000000000000000000000000000000000000..cc49eac2f8936d09771e8a994932a92bbb8933ee
--- /dev/null
+++ b/doc/apidoc/html/search/FunctionsC.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_ComputeOPc>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ComputeOPc" class=ISymbol>ComputeOPc</a></div></div>
+<div class=SRResult id=SR_CvtHex>
+<div class=IEntry>
+<a href="../files/digcalc-h.html#CvtHex" class=ISymbol>CvtHex</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FunctionsD.html b/doc/apidoc/html/search/FunctionsD.html
new file mode 100644
index 0000000000000000000000000000000000000000..8463c60d55fd621017c978ef554de944dd8c4416
--- /dev/null
+++ b/doc/apidoc/html/search/FunctionsD.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_dec_und_undLDIF_und_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#dec__LDIF__Base64" class=ISymbol>dec__LDIF__Base64</a></div></div>
+<div class=SRResult id=SR_dec_und_undMIME_und_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#dec__MIME__Base64" class=ISymbol>dec__MIME__Base64</a></div></div>
+<div class=SRResult id=SR_dec_undLDIF_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#dec_LDIF_Base64" class=ISymbol>dec_LDIF_Base64</a></div></div>
+<div class=SRResult id=SR_dec_undMIME_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#dec_MIME_Base64" class=ISymbol>dec_MIME_Base64</a></div></div>
+<div class=SRResult id=SR_DigestCalcHA1>
+<div class=IEntry>
+<a href="../files/digcalc-h.html#DigestCalcHA1" class=ISymbol>DigestCalcHA1</a></div></div>
+<div class=SRResult id=SR_DigestCalcResponse>
+<div class=IEntry>
+<a href="../files/digcalc-h.html#DigestCalcResponse" class=ISymbol>DigestCalcResponse</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FunctionsE.html b/doc/apidoc/html/search/FunctionsE.html
new file mode 100644
index 0000000000000000000000000000000000000000..dd0e2a2b591126a7940f59b4fe5802ad09313928
--- /dev/null
+++ b/doc/apidoc/html/search/FunctionsE.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_EEA3>
+<div class=IEntry>
+<a href="../files/zuc-h.html#EEA3" class=ISymbol>EEA3</a></div></div>
+<div class=SRResult id=SR_EIA3>
+<div class=IEntry>
+<a href="../files/zuc-h.html#EIA3" class=ISymbol>EIA3</a></div></div>
+<div class=SRResult id=SR_enc_und_undLDIF_und_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#enc__LDIF__Base64" class=ISymbol>enc__LDIF__Base64</a></div></div>
+<div class=SRResult id=SR_enc_und_undMIME_und_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#enc__MIME__Base64" class=ISymbol>enc__MIME__Base64</a></div></div>
+<div class=SRResult id=SR_enc_undLDIF_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#enc_LDIF_Base64" class=ISymbol>enc_LDIF_Base64</a></div></div>
+<div class=SRResult id=SR_enc_undMIME_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#enc_MIME_Base64" class=ISymbol>enc_MIME_Base64</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FunctionsF.html b/doc/apidoc/html/search/FunctionsF.html
new file mode 100644
index 0000000000000000000000000000000000000000..69d76c03c5cfb2679a3a303216bd19f74ac46474
--- /dev/null
+++ b/doc/apidoc/html/search/FunctionsF.html
@@ -0,0 +1,867 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_f_und_undacos>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__acos" class=ISymbol>f__acos</a></div></div>
+<div class=SRResult id=SR_f_und_undaddOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__addOctetstring" class=ISymbol>f__addOctetstring</a></div></div>
+<div class=SRResult id=SR_f_und_undasin>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__asin" class=ISymbol>f__asin</a></div></div>
+<div class=SRResult id=SR_f_und_undassert>
+<div class=IEntry>
+<a href="../files/TCCAssertion-cc.html#f__assert" class=ISymbol>f__assert</a></div></div>
+<div class=SRResult id=SR_f_und_undaverageFL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__averageFL" class=ISymbol>f__averageFL</a></div></div>
+<div class=SRResult id=SR_f_und_undaverageIL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__averageIL" class=ISymbol>f__averageIL</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculate_und_undHMAC_und_undMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate__HMAC__MD5" class=ISymbol>f__calculate__HMAC__MD5</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculate_und_undHMAC_und_undSHA1>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate__HMAC__SHA1" class=ISymbol>f__calculate__HMAC__SHA1</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculate128_und_undEEA3>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate128__EEA3" class=ISymbol>f__calculate128__EEA3</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculate128_und_undEIA3>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate128__EIA3" class=ISymbol>f__calculate128__EIA3</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculateDigestHA1>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateDigestHA1" class=ISymbol>f__calculateDigestHA1</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculateDigestResponse>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateDigestResponse" class=ISymbol>f__calculateDigestResponse</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculateHMACMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateHMACMD5" class=ISymbol>f__calculateHMACMD5</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculateMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateMD5" class=ISymbol>f__calculateMD5</a></div></div>
+<div class=SRResult id=SR_f_und_undceil>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__ceil" class=ISymbol>f__ceil</a></div></div>
+<div class=SRResult id=SR_f_und_undcompilationTime>
+<div class=IEntry>
+<a href="../files/TCCTitanMetadata-cc.html#f__compilationTime" class=ISymbol>f__compilationTime</a></div></div>
+<div class=SRResult id=SR_f_und_undcompOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__compOctetstring" class=ISymbol>f__compOctetstring</a></div></div>
+<div class=SRResult id=SR_f_und_undcos>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__cos" class=ISymbol>f__cos</a></div></div>
+<div class=SRResult id=SR_f_und_undcosVL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__cosVL" class=ISymbol>f__cosVL</a></div></div>
+<div class=SRResult id=SR_f_und_undctime>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__ctime" class=ISymbol>f__ctime</a></div></div>
+<div class=SRResult id=SR_f_und_undctime_und_undUTC>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__ctime__UTC" class=ISymbol>f__ctime__UTC</a></div></div>
+<div class=SRResult id=SR_f_und_unddec_und_undTBCD>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#f__dec__TBCD" class=ISymbol>f__dec__TBCD</a></div></div>
+<div class=SRResult id=SR_f_und_unddeleteIP>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__deleteIP" class=ISymbol>f__deleteIP</a></div></div>
+<div class=SRResult id=SR_f_und_undEAPSIM_und_undA3A8>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__EAPSIM__A3A8" class=ISymbol>f__EAPSIM__A3A8</a></div></div>
+<div class=SRResult id=SR_f_und_undenc_und_undTBCD>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#f__enc__TBCD" class=ISymbol>f__enc__TBCD</a></div></div>
+<div class=SRResult id=SR_f_und_undexp>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__exp" class=ISymbol>f__exp</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undchdir>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__chdir" class=ISymbol>f__FIO__chdir</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undclose>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__close" class=ISymbol>f__FIO__close</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__flush" class=ISymbol>f__FIO__flush</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undget_und_underror_und_undcode>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__get__error__code" class=ISymbol>f__FIO__get__error__code</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undget_und_underror_und_undstring>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__get__error__string" class=ISymbol>f__FIO__get__error__string</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open" class=ISymbol>f__FIO__open</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undappend_und_undrdwr>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__rdwr" class=ISymbol>f__FIO__open__append__rdwr</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undappend_und_undrdwr_und_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__rdwr__excl" class=ISymbol>f__FIO__open__append__rdwr__excl</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undappend_und_undwronly>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__wronly" class=ISymbol>f__FIO__open__append__wronly</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undappend_und_undwronly_und_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__wronly__excl" class=ISymbol>f__FIO__open__append__wronly__excl</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undrdonly>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__rdonly" class=ISymbol>f__FIO__open__rdonly</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undtrunc_und_undrdwr>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__rdwr" class=ISymbol>f__FIO__open__trunc__rdwr</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undtrunc_und_undrdwr_und_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__rdwr__excl" class=ISymbol>f__FIO__open__trunc__rdwr__excl</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undtrunc_und_undwronly>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__wronly" class=ISymbol>f__FIO__open__trunc__wronly</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undtrunc_und_undwronly_und_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__wronly__excl" class=ISymbol>f__FIO__open__trunc__wronly__excl</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopened>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__opened" class=ISymbol>f__FIO__opened</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read" class=ISymbol>f__FIO__read</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread_und_unddata>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data" class=ISymbol>f__FIO__read__data</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread_und_unddata_und_undTLV>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data__TLV" class=ISymbol>f__FIO__read__data__TLV</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread_und_unddata_und_unduntil>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data__until" class=ISymbol>f__FIO__read__data__until</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread_und_undtext>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__text" class=ISymbol>f__FIO__read__text</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread_und_undtext_und_unduntil>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__text__until" class=ISymbol>f__FIO__read__text__until</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undrealize_und_underror>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__realize__error" class=ISymbol>f__FIO__realize__error</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undseek_und_undbackward>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__backward" class=ISymbol>f__FIO__seek__backward</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undseek_und_undend>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__end" class=ISymbol>f__FIO__seek__end</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undseek_und_undforward>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__forward" class=ISymbol>f__FIO__seek__forward</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undseek_und_undhome>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__home" class=ISymbol>f__FIO__seek__home</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undset_und_undfiledescriptor_und_undpreviousline>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__set__filedescriptor__previousline" class=ISymbol>f__FIO__set__filedescriptor__previousline</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undwrite>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write" class=ISymbol>f__FIO__write</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undwrite_und_unddata>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__data" class=ISymbol>f__FIO__write__data</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undwrite_und_unddata_und_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__data__flush" class=ISymbol>f__FIO__write__data__flush</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undwrite_und_undtext>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__text" class=ISymbol>f__FIO__write__text</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undwrite_und_undtext_und_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__text__flush" class=ISymbol>f__FIO__write__text__flush</a></div></div>
+<div class=SRResult id=SR_f_und_undfloor>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__floor" class=ISymbol>f__floor</a></div></div>
+<div class=SRResult id=SR_f_und_undgetCurrentDateWithOffset>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getCurrentDateWithOffset" class=ISymbol>f__getCurrentDateWithOffset</a></div></div>
+<div class=SRResult id=SR_f_und_undgetCurrentGMTDate>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getCurrentGMTDate" class=ISymbol>f__getCurrentGMTDate</a></div></div>
+<div class=SRResult id=SR_f_und_undGetEnv>
+<div class=IEntry>
+<a href="../files/TCCEnv-cc.html#f__GetEnv" class=ISymbol>f__GetEnv</a></div></div>
+<div class=SRResult id=SR_f_und_undgetHostName>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getHostName" class=ISymbol>f__getHostName</a></div></div>
+<div class=SRResult id=SR_f_und_undgetIP>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getIP" class=ISymbol>f__getIP</a></div></div>
+<div class=SRResult id=SR_f_und_undgetIpAddr>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getIpAddr" class=ISymbol>f__getIpAddr</a></div></div>
+<div class=SRResult id=SR_f_und_undgetTimeFormatted>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getTimeFormatted" class=ISymbol>f__getTimeFormatted</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undcalculateAUTN>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__calculateAUTN" class=ISymbol>f__IMSAKA__calculateAUTN</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf1>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f1" class=ISymbol>f__IMSAKA__f1</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf1star>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f1star" class=ISymbol>f__IMSAKA__f1star</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf2>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f2" class=ISymbol>f__IMSAKA__f2</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf2345>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f2345" class=ISymbol>f__IMSAKA__f2345</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf3>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f3" class=ISymbol>f__IMSAKA__f3</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf4>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f4" class=ISymbol>f__IMSAKA__f4</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf5>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f5" class=ISymbol>f__IMSAKA__f5</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf5star>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f5star" class=ISymbol>f__IMSAKA__f5star</a></div></div>
+<div class=SRResult id=SR_f_und_undlog>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__log" class=ISymbol>f__log</a></div></div>
+<div class=SRResult id=SR_f_und_undmaxFL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__maxFL" class=ISymbol>f__maxFL</a></div></div>
+<div class=SRResult id=SR_f_und_undmaxIL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__maxIL" class=ISymbol>f__maxIL</a></div></div>
+<div class=SRResult id=SR_f_und_undminFL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__minFL" class=ISymbol>f__minFL</a></div></div>
+<div class=SRResult id=SR_f_und_undminIL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__minIL" class=ISymbol>f__minIL</a></div></div>
+<div class=SRResult id=SR_f_und_undpowFF>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powFF" class=ISymbol>f__powFF</a></div></div>
+<div class=SRResult id=SR_f_und_undpowFI>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powFI" class=ISymbol>f__powFI</a></div></div>
+<div class=SRResult id=SR_f_und_undpowIF>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powIF" class=ISymbol>f__powIF</a></div></div>
+<div class=SRResult id=SR_f_und_undpowII>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powII" class=ISymbol>f__powII</a></div></div>
+<div class=SRResult id=SR_f_und_undPutEnv>
+<div class=IEntry>
+<a href="../files/TCCEnv-cc.html#f__PutEnv" class=ISymbol>f__PutEnv</a></div></div>
+<div class=SRResult id=SR_f_und_undputInLowercase>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__putInLowercase" class=ISymbol>f__putInLowercase</a></div></div>
+<div class=SRResult id=SR_f_und_undputInUppercase>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__putInUppercase" class=ISymbol>f__putInUppercase</a></div></div>
+<div class=SRResult id=SR_f_und_undsetInterfaceDown>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setInterfaceDown" class=ISymbol>f__setInterfaceDown</a></div></div>
+<div class=SRResult id=SR_f_und_undsetInterfaceUp>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setInterfaceUp" class=ISymbol>f__setInterfaceUp</a></div></div>
+<div class=SRResult id=SR_f_und_undsetIP>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setIP" class=ISymbol>f__setIP</a></div></div>
+<div class=SRResult id=SR_f_und_undsin>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sin" class=ISymbol>f__sin</a></div></div>
+<div class=SRResult id=SR_f_und_undsinVL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sinVL" class=ISymbol>f__sinVL</a></div></div>
+<div class=SRResult id=SR_f_und_undsqrF>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrF" class=ISymbol>f__sqrF</a></div></div>
+<div class=SRResult id=SR_f_und_undsqrI>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrI" class=ISymbol>f__sqrI</a></div></div>
+<div class=SRResult id=SR_f_und_undsqrtF>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrtF" class=ISymbol>f__sqrtF</a></div></div>
+<div class=SRResult id=SR_f_und_undsqrtI>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrtI" class=ISymbol>f__sqrtI</a></div></div>
+<div class=SRResult id=SR_f_und_undstdFL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdFL" class=ISymbol>f__stdFL</a></div></div>
+<div class=SRResult id=SR_f_und_undstdFLL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdFLL" class=ISymbol>f__stdFLL</a></div></div>
+<div class=SRResult id=SR_f_und_undstdIL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdIL" class=ISymbol>f__stdIL</a></div></div>
+<div class=SRResult id=SR_f_und_undstdILL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdILL" class=ISymbol>f__stdILL</a></div></div>
+<div class=SRResult id=SR_f_und_undsubOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__subOctetstring" class=ISymbol>f__subOctetstring</a></div></div>
+<div class=SRResult id=SR_f_und_undTCCSecurity_und_undhex2char>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_und_undTCCSecurity_und_undhex2char')" class=ISymbol>f__TCCSecurity__hex2char</a>
+<div class=ISubIndex>
+<a href="../files/TCCSecurity-cc.html#f__TCCSecurity__hex2char" class=IFile>TCCSecurity.cc</a>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f__TCCSecurity__hex2char" class=IFile>TCCSecurity_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_und_undtic>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__tic" class=ISymbol>f__tic</a></div></div>
+<div class=SRResult id=SR_f_und_undtime>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time" class=ISymbol>f__time</a></div></div>
+<div class=SRResult id=SR_f_und_undtime2sec>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time2sec" class=ISymbol>f__time2sec</a></div></div>
+<div class=SRResult id=SR_f_und_undtime2sec_und_undUTC>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time2sec__UTC" class=ISymbol>f__time2sec__UTC</a></div></div>
+<div class=SRResult id=SR_f_und_undtimeDiff>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__timeDiff" class=ISymbol>f__timeDiff</a></div></div>
+<div class=SRResult id=SR_f_und_undtoc>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__toc" class=ISymbol>f__toc</a></div></div>
+<div class=SRResult id=SR_f_und_undupdateFL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__updateFL" class=ISymbol>f__updateFL</a></div></div>
+<div class=SRResult id=SR_f_und_undupdateIL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__updateIL" class=ISymbol>f__updateIL</a></div></div>
+<div class=SRResult id=SR_f_undacos>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_acos" class=ISymbol>f_acos</a></div></div>
+<div class=SRResult id=SR_f_undaddOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_addOctetstring" class=ISymbol>f_addOctetstring</a></div></div>
+<div class=SRResult id=SR_f_undasin>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_asin" class=ISymbol>f_asin</a></div></div>
+<div class=SRResult id=SR_f_undassert>
+<div class=IEntry>
+<a href="../files/TCCAssertion_Functions-ttcn.html#f_assert" class=ISymbol>f_assert</a></div></div>
+<div class=SRResult id=SR_f_undaverageFL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_averageFL" class=ISymbol>f_averageFL</a></div></div>
+<div class=SRResult id=SR_f_undaverageIL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_averageIL" class=ISymbol>f_averageIL</a></div></div>
+<div class=SRResult id=SR_f_undcalculate_undHMAC_undMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate_HMAC_MD5" class=ISymbol>f_calculate_HMAC_MD5</a></div></div>
+<div class=SRResult id=SR_f_undcalculate_undHMAC_undSHA1>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate_HMAC_SHA1" class=ISymbol>f_calculate_HMAC_SHA1</a></div></div>
+<div class=SRResult id=SR_f_undcalculate128_undEEA3>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate128_EEA3" class=ISymbol>f_calculate128_EEA3</a></div></div>
+<div class=SRResult id=SR_f_undcalculate128_undEIA3>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate128_EIA3" class=ISymbol>f_calculate128_EIA3</a></div></div>
+<div class=SRResult id=SR_f_undcalculateDigestHA1>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateDigestHA1" class=ISymbol>f_calculateDigestHA1</a></div></div>
+<div class=SRResult id=SR_f_undcalculateDigestResponse>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateDigestResponse" class=ISymbol>f_calculateDigestResponse</a></div></div>
+<div class=SRResult id=SR_f_undcalculateHMACMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateHMACMD5" class=ISymbol>f_calculateHMACMD5</a></div></div>
+<div class=SRResult id=SR_f_undcalculateMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateMD5" class=ISymbol>f_calculateMD5</a></div></div>
+<div class=SRResult id=SR_f_undceil>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_ceil" class=ISymbol>f_ceil</a></div></div>
+<div class=SRResult id=SR_f_undcharstr2unichar>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_charstr2unichar" class=ISymbol>f_charstr2unichar</a></div></div>
+<div class=SRResult id=SR_f_undcompilationTime>
+<div class=IEntry>
+<a href="../files/TCCTitanMetadata_Functions-ttcn.html#f_compilationTime" class=ISymbol>f_compilationTime</a></div></div>
+<div class=SRResult id=SR_f_undcompOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_compOctetstring" class=ISymbol>f_compOctetstring</a></div></div>
+<div class=SRResult id=SR_f_undconvertIPAddrToBinary>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undconvertIPAddrToBinary')" class=ISymbol>f_convertIPAddrToBinary</a>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_convertIPAddrToBinary" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_convertIPAddrToBinary" class=IFile>TCCConversion_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undcos>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_cos" class=ISymbol>f_cos</a></div></div>
+<div class=SRResult id=SR_f_undcosVL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_cosVL" class=ISymbol>f_cosVL</a></div></div>
+<div class=SRResult id=SR_f_undctime>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_ctime" class=ISymbol>f_ctime</a></div></div>
+<div class=SRResult id=SR_f_undctime_undUTC>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_ctime_UTC" class=ISymbol>f_ctime_UTC</a></div></div>
+<div class=SRResult id=SR_f_unddec_undTBCD>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_dec_TBCD" class=ISymbol>f_dec_TBCD</a></div></div>
+<div class=SRResult id=SR_f_unddecGSM7bit>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_decGSM7bit" class=ISymbol>f_decGSM7bit</a></div></div>
+<div class=SRResult id=SR_f_unddeleteIP>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_deleteIP" class=ISymbol>f_deleteIP</a></div></div>
+<div class=SRResult id=SR_f_unddelIP_undip>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_unddelIP_undip')" class=ISymbol>f_delIP_ip</a>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_delIP_ip" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_delIP_ip" class=IFile>TCCInterface_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undEAPSIM_undA3A8>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_EAPSIM_A3A8" class=ISymbol>f_EAPSIM_A3A8</a></div></div>
+<div class=SRResult id=SR_f_undenc_undTBCD>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_enc_TBCD" class=ISymbol>f_enc_TBCD</a></div></div>
+<div class=SRResult id=SR_f_undencGSM7bit>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_encGSM7bit" class=ISymbol>f_encGSM7bit</a></div></div>
+<div class=SRResult id=SR_f_undexp>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_exp" class=ISymbol>f_exp</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undchdir>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_chdir" class=ISymbol>f_FIO_chdir</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undchmod>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undFIO_undchmod')" class=ISymbol>f_FIO_chmod</a>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_chmod" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_chmod" class=IFile>TCCFileIO_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undFIO_undclose>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_close" class=ISymbol>f_FIO_close</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undfileOrDirExists>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undFIO_undfileOrDirExists')" class=ISymbol>f_FIO_fileOrDirExists</a>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_fileOrDirExists" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_fileOrDirExists" class=IFile>TCCFileIO_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undFIO_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_flush" class=ISymbol>f_FIO_flush</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undget_underror_undcode>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_get_error_code" class=ISymbol>f_FIO_get_error_code</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undget_underror_undstring>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_get_error_string" class=ISymbol>f_FIO_get_error_string</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undmkdir>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undFIO_undmkdir')" class=ISymbol>f_FIO_mkdir</a>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_mkdir" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_mkdir" class=IFile>TCCFileIO_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undappend_undrdwr>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_rdwr" class=ISymbol>f_FIO_open_append_rdwr</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undappend_undrdwr_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_rdwr_excl" class=ISymbol>f_FIO_open_append_rdwr_excl</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undappend_undwronly>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_wronly" class=ISymbol>f_FIO_open_append_wronly</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undappend_undwronly_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_wronly_excl" class=ISymbol>f_FIO_open_append_wronly_excl</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undrdonly>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_rdonly" class=ISymbol>f_FIO_open_rdonly</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undtrunc_undrdwr>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_rdwr" class=ISymbol>f_FIO_open_trunc_rdwr</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undtrunc_undrdwr_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_rdwr_excl" class=ISymbol>f_FIO_open_trunc_rdwr_excl</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undtrunc_undwronly>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_wronly" class=ISymbol>f_FIO_open_trunc_wronly</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undtrunc_undwronly_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_wronly_excl" class=ISymbol>f_FIO_open_trunc_wronly_excl</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undread_unddata>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data" class=ISymbol>f_FIO_read_data</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undread_unddata_undTLV>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data_TLV" class=ISymbol>f_FIO_read_data_TLV</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undread_unddata_unduntil>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data_until" class=ISymbol>f_FIO_read_data_until</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undread_undtext>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_text" class=ISymbol>f_FIO_read_text</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undread_undtext_unduntil>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_text_until" class=ISymbol>f_FIO_read_text_until</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undrmdir>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undFIO_undrmdir')" class=ISymbol>f_FIO_rmdir</a>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_rmdir" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_rmdir" class=IFile>TCCFileIO_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undFIO_undseek_undbackward>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_backward" class=ISymbol>f_FIO_seek_backward</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undseek_undend>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_end" class=ISymbol>f_FIO_seek_end</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undseek_undforward>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_forward" class=ISymbol>f_FIO_seek_forward</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undseek_undhome>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_home" class=ISymbol>f_FIO_seek_home</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undset_undfiledescriptor_undpreviousline>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_set_filedescriptor_previousline" class=ISymbol>f_FIO_set_filedescriptor_previousline</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undstat>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undFIO_undstat')" class=ISymbol>f_FIO_stat</a>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_stat" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_stat" class=IFile>TCCFileIO_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undFIO_undwrite_unddata>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_data" class=ISymbol>f_FIO_write_data</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undwrite_unddata_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_data_flush" class=ISymbol>f_FIO_write_data_flush</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undwrite_undtext>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_text" class=ISymbol>f_FIO_write_text</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undwrite_undtext_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_text_flush" class=ISymbol>f_FIO_write_text_flush</a></div></div>
+<div class=SRResult id=SR_f_undfloor>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_floor" class=ISymbol>f_floor</a></div></div>
+<div class=SRResult id=SR_f_undFS_undbfree>
+<div class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_bfree" class=ISymbol>f_FS_bfree</a></div></div>
+<div class=SRResult id=SR_f_undFS_undblocks>
+<div class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_blocks" class=ISymbol>f_FS_blocks</a></div></div>
+<div class=SRResult id=SR_f_undFS_undbsize>
+<div class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_bsize" class=ISymbol>f_FS_bsize</a></div></div>
+<div class=SRResult id=SR_f_undFS_unddspacerate>
+<div class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_dspacerate" class=ISymbol>f_FS_dspacerate</a></div></div>
+<div class=SRResult id=SR_f_undgen_undExponential_undDistribution_lpain_spcfloat_spcp_undlambda_rpareturn_spcfloat>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_gen_Exponential_Distribution(in_float_p_lambda)return_float" class=ISymbol>f_gen_Exponential_Distribution(in float p_lambda)return float</a></div></div>
+<div class=SRResult id=SR_f_undgenerate_undpoissonTable>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_generate_poissonTable" class=ISymbol>f_generate_poissonTable</a></div></div>
+<div class=SRResult id=SR_f_undgetCurrentDateWithOffset>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getCurrentDateWithOffset" class=ISymbol>f_getCurrentDateWithOffset</a></div></div>
+<div class=SRResult id=SR_f_undgetCurrentGMTDate>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getCurrentGMTDate" class=ISymbol>f_getCurrentGMTDate</a></div></div>
+<div class=SRResult id=SR_f_undGetEnv>
+<div class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#f_GetEnv" class=ISymbol>f_GetEnv</a></div></div>
+<div class=SRResult id=SR_f_undgetHostName>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getHostName" class=ISymbol>f_getHostName</a></div></div>
+<div class=SRResult id=SR_f_undgetIP>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIP" class=ISymbol>f_getIP</a></div></div>
+<div class=SRResult id=SR_f_undgetIpAddr>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIpAddr" class=ISymbol>f_getIpAddr</a></div></div>
+<div class=SRResult id=SR_f_undgetIpAddresses>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undgetIpAddresses')" class=ISymbol>f_getIpAddresses</a>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_getIpAddresses" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIpAddresses" class=IFile>TCCInterface_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undgetNext_undpoissonValue>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_getNext_poissonValue" class=ISymbol>f_getNext_poissonValue</a></div></div>
+<div class=SRResult id=SR_f_undgetTimeFormatted>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getTimeFormatted" class=ISymbol>f_getTimeFormatted</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undcalculateAUTN>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_calculateAUTN" class=ISymbol>f_IMSAKA_calculateAUTN</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf1>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f1" class=ISymbol>f_IMSAKA_f1</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf1star>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f1star" class=ISymbol>f_IMSAKA_f1star</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf2>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f2" class=ISymbol>f_IMSAKA_f2</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf2345>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f2345" class=ISymbol>f_IMSAKA_f2345</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf3>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f3" class=ISymbol>f_IMSAKA_f3</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf4>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f4" class=ISymbol>f_IMSAKA_f4</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf5>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f5" class=ISymbol>f_IMSAKA_f5</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf5star>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f5star" class=ISymbol>f_IMSAKA_f5star</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSADB_undadd>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_add" class=ISymbol>f_IPsec_SADB_add</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSADB_unddelete>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_delete" class=ISymbol>f_IPsec_SADB_delete</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSADB_undflush>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_flush" class=ISymbol>f_IPsec_SADB_flush</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSPDB_undadd>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_add" class=ISymbol>f_IPsec_SPDB_add</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSPDB_unddelete>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_delete" class=ISymbol>f_IPsec_SPDB_delete</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSPDB_undflush>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_flush" class=ISymbol>f_IPsec_SPDB_flush</a></div></div>
+<div class=SRResult id=SR_f_undlog>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_log" class=ISymbol>f_log</a></div></div>
+<div class=SRResult id=SR_f_undmaxFL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_maxFL" class=ISymbol>f_maxFL</a></div></div>
+<div class=SRResult id=SR_f_undmaxIL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_maxIL" class=ISymbol>f_maxIL</a></div></div>
+<div class=SRResult id=SR_f_undminFL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_minFL" class=ISymbol>f_minFL</a></div></div>
+<div class=SRResult id=SR_f_undminIL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_minIL" class=ISymbol>f_minIL</a></div></div>
+<div class=SRResult id=SR_f_undoct2char_undsafe>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undoct2char_undsafe')" class=ISymbol>f_oct2char_safe</a>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_oct2char_safe" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_oct2char_safe" class=IFile>TCCConversion_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undOctetIpv4>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_OctetIpv4" class=ISymbol>f_OctetIpv4</a></div></div>
+<div class=SRResult id=SR_f_undpcre_undregexp>
+<div class=IEntry>
+<a href="../files/TCCRegexp_Functions-ttcn.html#f_pcre_regexp" class=ISymbol>f_pcre_regexp</a></div></div>
+<div class=SRResult id=SR_f_undpowFF>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powFF" class=ISymbol>f_powFF</a></div></div>
+<div class=SRResult id=SR_f_undpowFI>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powFI" class=ISymbol>f_powFI</a></div></div>
+<div class=SRResult id=SR_f_undpowIF>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powIF" class=ISymbol>f_powIF</a></div></div>
+<div class=SRResult id=SR_f_undpowII>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powII" class=ISymbol>f_powII</a></div></div>
+<div class=SRResult id=SR_f_undPutEnv>
+<div class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#f_PutEnv" class=ISymbol>f_PutEnv</a></div></div>
+<div class=SRResult id=SR_f_undputInLowercase>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_putInLowercase" class=ISymbol>f_putInLowercase</a></div></div>
+<div class=SRResult id=SR_f_undputInUppercase>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_putInUppercase" class=ISymbol>f_putInUppercase</a></div></div>
+<div class=SRResult id=SR_f_undreplaceEveryOccurenceOfPattern>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceEveryOccurenceOfPattern" class=ISymbol>f_replaceEveryOccurenceOfPattern</a></div></div>
+<div class=SRResult id=SR_f_undreplaceEveryOccurenceOfSubstring>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceEveryOccurenceOfSubstring" class=ISymbol>f_replaceEveryOccurenceOfSubstring</a></div></div>
+<div class=SRResult id=SR_f_undreplaceFirstOccurenceOfPattern>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceFirstOccurenceOfPattern" class=ISymbol>f_replaceFirstOccurenceOfPattern</a></div></div>
+<div class=SRResult id=SR_f_undreplaceFirstOccurenceOfSubstring>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceFirstOccurenceOfSubstring" class=ISymbol>f_replaceFirstOccurenceOfSubstring</a></div></div>
+<div class=SRResult id=SR_f_undsetInterfaceDown>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setInterfaceDown" class=ISymbol>f_setInterfaceDown</a></div></div>
+<div class=SRResult id=SR_f_undsetInterfaceUp>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setInterfaceUp" class=ISymbol>f_setInterfaceUp</a></div></div>
+<div class=SRResult id=SR_f_undsetIP>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setIP" class=ISymbol>f_setIP</a></div></div>
+<div class=SRResult id=SR_f_undsetIP_undip>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undsetIP_undip')" class=ISymbol>f_setIP_ip</a>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_setIP_ip" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setIP_ip" class=IFile>TCCInterface_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undsin>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sin" class=ISymbol>f_sin</a></div></div>
+<div class=SRResult id=SR_f_undsinVL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sinVL" class=ISymbol>f_sinVL</a></div></div>
+<div class=SRResult id=SR_f_undsqrF>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrF" class=ISymbol>f_sqrF</a></div></div>
+<div class=SRResult id=SR_f_undsqrI>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrI" class=ISymbol>f_sqrI</a></div></div>
+<div class=SRResult id=SR_f_undsqrtF>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrtF" class=ISymbol>f_sqrtF</a></div></div>
+<div class=SRResult id=SR_f_undsqrtI>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrtI" class=ISymbol>f_sqrtI</a></div></div>
+<div class=SRResult id=SR_f_undstdFL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdFL" class=ISymbol>f_stdFL</a></div></div>
+<div class=SRResult id=SR_f_undstdFLL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdFLL" class=ISymbol>f_stdFLL</a></div></div>
+<div class=SRResult id=SR_f_undstdIL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdIL" class=ISymbol>f_stdIL</a></div></div>
+<div class=SRResult id=SR_f_undstdILL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdILL" class=ISymbol>f_stdILL</a></div></div>
+<div class=SRResult id=SR_f_undstrstr>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undstrstr')" class=ISymbol>f_strstr</a>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_strstr" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_strstr" class=IFile>TCCConversion_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undsubOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_subOctetstring" class=ISymbol>f_subOctetstring</a></div></div>
+<div class=SRResult id=SR_f_undsubstr_undtoken>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undsubstr_undtoken')" class=ISymbol>f_substr_token</a>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_substr_token" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_substr_token" class=IFile>TCCConversion_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undSYS_undgetpid>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undSYS_undgetpid')" class=ISymbol>f_SYS_getpid</a>
+<div class=ISubIndex>
+<a href="../files/TCCSystem-cc.html#f_SYS_getpid" class=IFile>TCCSystem.cc</a>
+<a href="../files/TCCSystem_Functions-ttcn.html#f_SYS_getpid" class=IFile>TCCSystem_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undTCCMessageHandling_undgetMessageLength>
+<div class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength" class=ISymbol>f_TCCMessageHandling_getMessageLength</a></div></div>
+<div class=SRResult id=SR_f_undTCCMessageHandling_undgetMessageLength4Diameter>
+<div class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength4Diameter" class=ISymbol>f_TCCMessageHandling_getMessageLength4Diameter</a></div></div>
+<div class=SRResult id=SR_f_undTCCMessageHandling_undgetMessageLength4Radius>
+<div class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength4Radius" class=ISymbol>f_TCCMessageHandling_getMessageLength4Radius</a></div></div>
+<div class=SRResult id=SR_f_undTemplate_undsubsfiletemplate>
+<div class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#f_Template_subsfiletemplate" class=ISymbol>f_Template_subsfiletemplate</a></div></div>
+<div class=SRResult id=SR_f_undTemplate_undsubstitutetemplate>
+<div class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#f_Template_substitutetemplate" class=ISymbol>f_Template_substitutetemplate</a></div></div>
+<div class=SRResult id=SR_f_undtic>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_tic" class=ISymbol>f_tic</a></div></div>
+<div class=SRResult id=SR_f_undtime>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time" class=ISymbol>f_time</a></div></div>
+<div class=SRResult id=SR_f_undtime2sec>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time2sec" class=ISymbol>f_time2sec</a></div></div>
+<div class=SRResult id=SR_f_undtime2sec_undUTC>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time2sec_UTC" class=ISymbol>f_time2sec_UTC</a></div></div>
+<div class=SRResult id=SR_f_undtimeDiff>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_timeDiff" class=ISymbol>f_timeDiff</a></div></div>
+<div class=SRResult id=SR_f_undtoc>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_toc" class=ISymbol>f_toc</a></div></div>
+<div class=SRResult id=SR_f_undunichar2charstr>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_unichar2charstr" class=ISymbol>f_unichar2charstr</a></div></div>
+<div class=SRResult id=SR_f_undupdateFL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_updateFL" class=ISymbol>f_updateFL</a></div></div>
+<div class=SRResult id=SR_f_undupdateIL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_updateIL" class=ISymbol>f_updateIL</a></div></div>
+<div class=SRResult id=SR_f1>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f1" class=ISymbol>f1</a></div></div>
+<div class=SRResult id=SR_f1star>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f1star" class=ISymbol>f1star</a></div></div>
+<div class=SRResult id=SR_f2345>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f2345" class=ISymbol>f2345</a></div></div>
+<div class=SRResult id=SR_f5star>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f5star" class=ISymbol>f5star</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FunctionsK.html b/doc/apidoc/html/search/FunctionsK.html
new file mode 100644
index 0000000000000000000000000000000000000000..1c428bd0fe092c350cb49f8433fc6fe2318d0166
--- /dev/null
+++ b/doc/apidoc/html/search/FunctionsK.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_KeyAdd>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#KeyAdd" class=ISymbol>KeyAdd</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FunctionsM.html b/doc/apidoc/html/search/FunctionsM.html
new file mode 100644
index 0000000000000000000000000000000000000000..88415f3f31f3ee0d9266162a07335531fbd710fd
--- /dev/null
+++ b/doc/apidoc/html/search/FunctionsM.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_MixColumn>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#MixColumn" class=ISymbol>MixColumn</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FunctionsR.html b/doc/apidoc/html/search/FunctionsR.html
new file mode 100644
index 0000000000000000000000000000000000000000..a63f61253987f94b09375e84ba31fc2da1d4262d
--- /dev/null
+++ b/doc/apidoc/html/search/FunctionsR.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_RijndaelEncrypt>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#RijndaelEncrypt" class=ISymbol>RijndaelEncrypt</a></div></div>
+<div class=SRResult id=SR_RijndaelKeySchedule>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#RijndaelKeySchedule" class=ISymbol>RijndaelKeySchedule</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FunctionsS.html b/doc/apidoc/html/search/FunctionsS.html
new file mode 100644
index 0000000000000000000000000000000000000000..27761eae7f916fa19957894f99717721a2cae75f
--- /dev/null
+++ b/doc/apidoc/html/search/FunctionsS.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_ShiftRow>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ShiftRow" class=ISymbol>ShiftRow</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/FunctionsX.html b/doc/apidoc/html/search/FunctionsX.html
new file mode 100644
index 0000000000000000000000000000000000000000..091b60e97625ca90bc3b837ccf4ba6f643a4b3db
--- /dev/null
+++ b/doc/apidoc/html/search/FunctionsX.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_XPathQuery>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_XPathQuery')" class=ISymbol>XPathQuery</a>
+<div class=ISubIndex>
+<a href="../files/TCCXPathSupport-cc.html#XPathQuery" class=IFile>TCCXPathSupport.cc</a>
+<a href="../files/TCCXPathSupport_Functions-ttcn.html#XPathQuery" class=IFile>TCCXPathSupport_Functions.ttcn</a></div></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralA.html b/doc/apidoc/html/search/GeneralA.html
new file mode 100644
index 0000000000000000000000000000000000000000..3a342c3608bf799f0ef8d6bb97608283b80102e7
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralA.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_aka_undalgorythm_undset_perh>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#aka_algorythm_set.h" class=ISymbol>aka_algorythm_set.h</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralB.html b/doc/apidoc/html/search/GeneralB.html
new file mode 100644
index 0000000000000000000000000000000000000000..dcf4e05678db93b234fdd778dc303b744ba9a21b
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralB.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_BooleanList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#BooleanList" class=ISymbol>BooleanList</a></div></div>
+<div class=SRResult id=SR_ByteSub>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ByteSub" class=ISymbol>ByteSub</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralC.html b/doc/apidoc/html/search/GeneralC.html
new file mode 100644
index 0000000000000000000000000000000000000000..de5b5ccc1e16a4a0f5f569517f3536c98c4f4b31
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralC.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_c_undTCCIPsec_undanyPort>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#c_TCCIPsec_anyPort" class=ISymbol>c_TCCIPsec_anyPort</a></div></div>
+<div class=SRResult id=SR_c_undTCCIPsec_undprefixAll>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#c_TCCIPsec_prefixAll" class=ISymbol>c_TCCIPsec_prefixAll</a></div></div>
+<div class=SRResult id=SR_ComputeOPc>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ComputeOPc" class=ISymbol>ComputeOPc</a></div></div>
+<div class=SRResult id=SR_Constants>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#Constants" class=ISymbol>Constants</a></div></div>
+<div class=SRResult id=SR_CvtHex>
+<div class=IEntry>
+<a href="../files/digcalc-h.html#CvtHex" class=ISymbol>CvtHex</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralD.html b/doc/apidoc/html/search/GeneralD.html
new file mode 100644
index 0000000000000000000000000000000000000000..df9a1f9817ed04f428f72f3ab46f5eb772ec9f75
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralD.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_dec_und_undLDIF_und_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#dec__LDIF__Base64" class=ISymbol>dec__LDIF__Base64</a></div></div>
+<div class=SRResult id=SR_dec_und_undMIME_und_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#dec__MIME__Base64" class=ISymbol>dec__MIME__Base64</a></div></div>
+<div class=SRResult id=SR_dec_undLDIF_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#dec_LDIF_Base64" class=ISymbol>dec_LDIF_Base64</a></div></div>
+<div class=SRResult id=SR_dec_undMIME_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#dec_MIME_Base64" class=ISymbol>dec_MIME_Base64</a></div></div>
+<div class=SRResult id=SR_digcalc_perh>
+<div class=IEntry>
+<a href="../files/digcalc-h.html#digcalc.h" class=ISymbol>digcalc.h</a></div></div>
+<div class=SRResult id=SR_DigestCalcHA1>
+<div class=IEntry>
+<a href="../files/digcalc-h.html#DigestCalcHA1" class=ISymbol>DigestCalcHA1</a></div></div>
+<div class=SRResult id=SR_DigestCalcResponse>
+<div class=IEntry>
+<a href="../files/digcalc-h.html#DigestCalcResponse" class=ISymbol>DigestCalcResponse</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralE.html b/doc/apidoc/html/search/GeneralE.html
new file mode 100644
index 0000000000000000000000000000000000000000..6430b1e81f2762ec5f662b400492414a4819bca3
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralE.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_EEA3>
+<div class=IEntry>
+<a href="../files/zuc-h.html#EEA3" class=ISymbol>EEA3</a></div></div>
+<div class=SRResult id=SR_EIA3>
+<div class=IEntry>
+<a href="../files/zuc-h.html#EIA3" class=ISymbol>EIA3</a></div></div>
+<div class=SRResult id=SR_enc_und_undLDIF_und_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#enc__LDIF__Base64" class=ISymbol>enc__LDIF__Base64</a></div></div>
+<div class=SRResult id=SR_enc_und_undMIME_und_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#enc__MIME__Base64" class=ISymbol>enc__MIME__Base64</a></div></div>
+<div class=SRResult id=SR_enc_undLDIF_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#enc_LDIF_Base64" class=ISymbol>enc_LDIF_Base64</a></div></div>
+<div class=SRResult id=SR_enc_undMIME_undBase64>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#enc_MIME_Base64" class=ISymbol>enc_MIME_Base64</a></div></div>
+<div class=SRResult id=SR_Enumerations>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#Enumerations" class=ISymbol>Enumerations</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralF.html b/doc/apidoc/html/search/GeneralF.html
new file mode 100644
index 0000000000000000000000000000000000000000..a8d39237615b07d56cf4cf15414876a65be1f61d
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralF.html
@@ -0,0 +1,901 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_f_und_undacos>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__acos" class=ISymbol>f__acos</a></div></div>
+<div class=SRResult id=SR_f_und_undaddOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__addOctetstring" class=ISymbol>f__addOctetstring</a></div></div>
+<div class=SRResult id=SR_f_und_undasin>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__asin" class=ISymbol>f__asin</a></div></div>
+<div class=SRResult id=SR_f_und_undassert>
+<div class=IEntry>
+<a href="../files/TCCAssertion-cc.html#f__assert" class=ISymbol>f__assert</a></div></div>
+<div class=SRResult id=SR_f_und_undaverageFL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__averageFL" class=ISymbol>f__averageFL</a></div></div>
+<div class=SRResult id=SR_f_und_undaverageIL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__averageIL" class=ISymbol>f__averageIL</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculate_und_undHMAC_und_undMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate__HMAC__MD5" class=ISymbol>f__calculate__HMAC__MD5</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculate_und_undHMAC_und_undSHA1>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate__HMAC__SHA1" class=ISymbol>f__calculate__HMAC__SHA1</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculate128_und_undEEA3>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate128__EEA3" class=ISymbol>f__calculate128__EEA3</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculate128_und_undEIA3>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculate128__EIA3" class=ISymbol>f__calculate128__EIA3</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculateDigestHA1>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateDigestHA1" class=ISymbol>f__calculateDigestHA1</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculateDigestResponse>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateDigestResponse" class=ISymbol>f__calculateDigestResponse</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculateHMACMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateHMACMD5" class=ISymbol>f__calculateHMACMD5</a></div></div>
+<div class=SRResult id=SR_f_und_undcalculateMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__calculateMD5" class=ISymbol>f__calculateMD5</a></div></div>
+<div class=SRResult id=SR_f_und_undceil>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__ceil" class=ISymbol>f__ceil</a></div></div>
+<div class=SRResult id=SR_f_und_undcompilationTime>
+<div class=IEntry>
+<a href="../files/TCCTitanMetadata-cc.html#f__compilationTime" class=ISymbol>f__compilationTime</a></div></div>
+<div class=SRResult id=SR_f_und_undcompOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__compOctetstring" class=ISymbol>f__compOctetstring</a></div></div>
+<div class=SRResult id=SR_f_und_undcos>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__cos" class=ISymbol>f__cos</a></div></div>
+<div class=SRResult id=SR_f_und_undcosVL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__cosVL" class=ISymbol>f__cosVL</a></div></div>
+<div class=SRResult id=SR_f_und_undctime>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__ctime" class=ISymbol>f__ctime</a></div></div>
+<div class=SRResult id=SR_f_und_undctime_und_undUTC>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__ctime__UTC" class=ISymbol>f__ctime__UTC</a></div></div>
+<div class=SRResult id=SR_f_und_unddec_und_undTBCD>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#f__dec__TBCD" class=ISymbol>f__dec__TBCD</a></div></div>
+<div class=SRResult id=SR_f_und_unddeleteIP>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__deleteIP" class=ISymbol>f__deleteIP</a></div></div>
+<div class=SRResult id=SR_f_und_undEAPSIM_und_undA3A8>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__EAPSIM__A3A8" class=ISymbol>f__EAPSIM__A3A8</a></div></div>
+<div class=SRResult id=SR_f_und_undenc_und_undTBCD>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#f__enc__TBCD" class=ISymbol>f__enc__TBCD</a></div></div>
+<div class=SRResult id=SR_f_und_undexp>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__exp" class=ISymbol>f__exp</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undchdir>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__chdir" class=ISymbol>f__FIO__chdir</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undclose>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__close" class=ISymbol>f__FIO__close</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__flush" class=ISymbol>f__FIO__flush</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undget_und_underror_und_undcode>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__get__error__code" class=ISymbol>f__FIO__get__error__code</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undget_und_underror_und_undstring>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__get__error__string" class=ISymbol>f__FIO__get__error__string</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open" class=ISymbol>f__FIO__open</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undappend_und_undrdwr>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__rdwr" class=ISymbol>f__FIO__open__append__rdwr</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undappend_und_undrdwr_und_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__rdwr__excl" class=ISymbol>f__FIO__open__append__rdwr__excl</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undappend_und_undwronly>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__wronly" class=ISymbol>f__FIO__open__append__wronly</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undappend_und_undwronly_und_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__append__wronly__excl" class=ISymbol>f__FIO__open__append__wronly__excl</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undrdonly>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__rdonly" class=ISymbol>f__FIO__open__rdonly</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undtrunc_und_undrdwr>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__rdwr" class=ISymbol>f__FIO__open__trunc__rdwr</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undtrunc_und_undrdwr_und_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__rdwr__excl" class=ISymbol>f__FIO__open__trunc__rdwr__excl</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undtrunc_und_undwronly>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__wronly" class=ISymbol>f__FIO__open__trunc__wronly</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopen_und_undtrunc_und_undwronly_und_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__open__trunc__wronly__excl" class=ISymbol>f__FIO__open__trunc__wronly__excl</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undopened>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__opened" class=ISymbol>f__FIO__opened</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read" class=ISymbol>f__FIO__read</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread_und_unddata>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data" class=ISymbol>f__FIO__read__data</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread_und_unddata_und_undTLV>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data__TLV" class=ISymbol>f__FIO__read__data__TLV</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread_und_unddata_und_unduntil>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__data__until" class=ISymbol>f__FIO__read__data__until</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread_und_undtext>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__text" class=ISymbol>f__FIO__read__text</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undread_und_undtext_und_unduntil>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__read__text__until" class=ISymbol>f__FIO__read__text__until</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undrealize_und_underror>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__realize__error" class=ISymbol>f__FIO__realize__error</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undseek_und_undbackward>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__backward" class=ISymbol>f__FIO__seek__backward</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undseek_und_undend>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__end" class=ISymbol>f__FIO__seek__end</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undseek_und_undforward>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__forward" class=ISymbol>f__FIO__seek__forward</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undseek_und_undhome>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__seek__home" class=ISymbol>f__FIO__seek__home</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undset_und_undfiledescriptor_und_undpreviousline>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__set__filedescriptor__previousline" class=ISymbol>f__FIO__set__filedescriptor__previousline</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undwrite>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write" class=ISymbol>f__FIO__write</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undwrite_und_unddata>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__data" class=ISymbol>f__FIO__write__data</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undwrite_und_unddata_und_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__data__flush" class=ISymbol>f__FIO__write__data__flush</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undwrite_und_undtext>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__text" class=ISymbol>f__FIO__write__text</a></div></div>
+<div class=SRResult id=SR_f_und_undFIO_und_undwrite_und_undtext_und_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#f__FIO__write__text__flush" class=ISymbol>f__FIO__write__text__flush</a></div></div>
+<div class=SRResult id=SR_f_und_undfloor>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__floor" class=ISymbol>f__floor</a></div></div>
+<div class=SRResult id=SR_f_und_undgetCurrentDateWithOffset>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getCurrentDateWithOffset" class=ISymbol>f__getCurrentDateWithOffset</a></div></div>
+<div class=SRResult id=SR_f_und_undgetCurrentGMTDate>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getCurrentGMTDate" class=ISymbol>f__getCurrentGMTDate</a></div></div>
+<div class=SRResult id=SR_f_und_undGetEnv>
+<div class=IEntry>
+<a href="../files/TCCEnv-cc.html#f__GetEnv" class=ISymbol>f__GetEnv</a></div></div>
+<div class=SRResult id=SR_f_und_undgetHostName>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getHostName" class=ISymbol>f__getHostName</a></div></div>
+<div class=SRResult id=SR_f_und_undgetIP>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getIP" class=ISymbol>f__getIP</a></div></div>
+<div class=SRResult id=SR_f_und_undgetIpAddr>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__getIpAddr" class=ISymbol>f__getIpAddr</a></div></div>
+<div class=SRResult id=SR_f_und_undgetTimeFormatted>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__getTimeFormatted" class=ISymbol>f__getTimeFormatted</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undcalculateAUTN>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__calculateAUTN" class=ISymbol>f__IMSAKA__calculateAUTN</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf1>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f1" class=ISymbol>f__IMSAKA__f1</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf1star>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f1star" class=ISymbol>f__IMSAKA__f1star</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf2>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f2" class=ISymbol>f__IMSAKA__f2</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf2345>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f2345" class=ISymbol>f__IMSAKA__f2345</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf3>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f3" class=ISymbol>f__IMSAKA__f3</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf4>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f4" class=ISymbol>f__IMSAKA__f4</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf5>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f5" class=ISymbol>f__IMSAKA__f5</a></div></div>
+<div class=SRResult id=SR_f_und_undIMSAKA_und_undf5star>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#f__IMSAKA__f5star" class=ISymbol>f__IMSAKA__f5star</a></div></div>
+<div class=SRResult id=SR_f_und_undlog>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__log" class=ISymbol>f__log</a></div></div>
+<div class=SRResult id=SR_f_und_undmaxFL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__maxFL" class=ISymbol>f__maxFL</a></div></div>
+<div class=SRResult id=SR_f_und_undmaxIL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__maxIL" class=ISymbol>f__maxIL</a></div></div>
+<div class=SRResult id=SR_f_und_undminFL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__minFL" class=ISymbol>f__minFL</a></div></div>
+<div class=SRResult id=SR_f_und_undminIL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__minIL" class=ISymbol>f__minIL</a></div></div>
+<div class=SRResult id=SR_f_und_undpowFF>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powFF" class=ISymbol>f__powFF</a></div></div>
+<div class=SRResult id=SR_f_und_undpowFI>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powFI" class=ISymbol>f__powFI</a></div></div>
+<div class=SRResult id=SR_f_und_undpowIF>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powIF" class=ISymbol>f__powIF</a></div></div>
+<div class=SRResult id=SR_f_und_undpowII>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__powII" class=ISymbol>f__powII</a></div></div>
+<div class=SRResult id=SR_f_und_undPutEnv>
+<div class=IEntry>
+<a href="../files/TCCEnv-cc.html#f__PutEnv" class=ISymbol>f__PutEnv</a></div></div>
+<div class=SRResult id=SR_f_und_undputInLowercase>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__putInLowercase" class=ISymbol>f__putInLowercase</a></div></div>
+<div class=SRResult id=SR_f_und_undputInUppercase>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__putInUppercase" class=ISymbol>f__putInUppercase</a></div></div>
+<div class=SRResult id=SR_f_und_undsetInterfaceDown>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setInterfaceDown" class=ISymbol>f__setInterfaceDown</a></div></div>
+<div class=SRResult id=SR_f_und_undsetInterfaceUp>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setInterfaceUp" class=ISymbol>f__setInterfaceUp</a></div></div>
+<div class=SRResult id=SR_f_und_undsetIP>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#f__setIP" class=ISymbol>f__setIP</a></div></div>
+<div class=SRResult id=SR_f_und_undsin>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sin" class=ISymbol>f__sin</a></div></div>
+<div class=SRResult id=SR_f_und_undsinVL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sinVL" class=ISymbol>f__sinVL</a></div></div>
+<div class=SRResult id=SR_f_und_undsqrF>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrF" class=ISymbol>f__sqrF</a></div></div>
+<div class=SRResult id=SR_f_und_undsqrI>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrI" class=ISymbol>f__sqrI</a></div></div>
+<div class=SRResult id=SR_f_und_undsqrtF>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrtF" class=ISymbol>f__sqrtF</a></div></div>
+<div class=SRResult id=SR_f_und_undsqrtI>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__sqrtI" class=ISymbol>f__sqrtI</a></div></div>
+<div class=SRResult id=SR_f_und_undstdFL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdFL" class=ISymbol>f__stdFL</a></div></div>
+<div class=SRResult id=SR_f_und_undstdFLL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdFLL" class=ISymbol>f__stdFLL</a></div></div>
+<div class=SRResult id=SR_f_und_undstdIL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdIL" class=ISymbol>f__stdIL</a></div></div>
+<div class=SRResult id=SR_f_und_undstdILL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__stdILL" class=ISymbol>f__stdILL</a></div></div>
+<div class=SRResult id=SR_f_und_undsubOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#f__subOctetstring" class=ISymbol>f__subOctetstring</a></div></div>
+<div class=SRResult id=SR_f_und_undTCCSecurity_und_undhex2char>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_und_undTCCSecurity_und_undhex2char')" class=ISymbol>f__TCCSecurity__hex2char</a>
+<div class=ISubIndex>
+<a href="../files/TCCSecurity-cc.html#f__TCCSecurity__hex2char" class=IFile>TCCSecurity.cc</a>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f__TCCSecurity__hex2char" class=IFile>TCCSecurity_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_und_undtic>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__tic" class=ISymbol>f__tic</a></div></div>
+<div class=SRResult id=SR_f_und_undtime>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time" class=ISymbol>f__time</a></div></div>
+<div class=SRResult id=SR_f_und_undtime2sec>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time2sec" class=ISymbol>f__time2sec</a></div></div>
+<div class=SRResult id=SR_f_und_undtime2sec_und_undUTC>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__time2sec__UTC" class=ISymbol>f__time2sec__UTC</a></div></div>
+<div class=SRResult id=SR_f_und_undtimeDiff>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__timeDiff" class=ISymbol>f__timeDiff</a></div></div>
+<div class=SRResult id=SR_f_und_undtoc>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#f__toc" class=ISymbol>f__toc</a></div></div>
+<div class=SRResult id=SR_f_und_undupdateFL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__updateFL" class=ISymbol>f__updateFL</a></div></div>
+<div class=SRResult id=SR_f_und_undupdateIL>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#f__updateIL" class=ISymbol>f__updateIL</a></div></div>
+<div class=SRResult id=SR_f_undacos>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_acos" class=ISymbol>f_acos</a></div></div>
+<div class=SRResult id=SR_f_undaddOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_addOctetstring" class=ISymbol>f_addOctetstring</a></div></div>
+<div class=SRResult id=SR_f_undasin>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_asin" class=ISymbol>f_asin</a></div></div>
+<div class=SRResult id=SR_f_undassert>
+<div class=IEntry>
+<a href="../files/TCCAssertion_Functions-ttcn.html#f_assert" class=ISymbol>f_assert</a></div></div>
+<div class=SRResult id=SR_f_undaverageFL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_averageFL" class=ISymbol>f_averageFL</a></div></div>
+<div class=SRResult id=SR_f_undaverageIL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_averageIL" class=ISymbol>f_averageIL</a></div></div>
+<div class=SRResult id=SR_f_undcalculate_undHMAC_undMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate_HMAC_MD5" class=ISymbol>f_calculate_HMAC_MD5</a></div></div>
+<div class=SRResult id=SR_f_undcalculate_undHMAC_undSHA1>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate_HMAC_SHA1" class=ISymbol>f_calculate_HMAC_SHA1</a></div></div>
+<div class=SRResult id=SR_f_undcalculate128_undEEA3>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate128_EEA3" class=ISymbol>f_calculate128_EEA3</a></div></div>
+<div class=SRResult id=SR_f_undcalculate128_undEIA3>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculate128_EIA3" class=ISymbol>f_calculate128_EIA3</a></div></div>
+<div class=SRResult id=SR_f_undcalculateDigestHA1>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateDigestHA1" class=ISymbol>f_calculateDigestHA1</a></div></div>
+<div class=SRResult id=SR_f_undcalculateDigestResponse>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateDigestResponse" class=ISymbol>f_calculateDigestResponse</a></div></div>
+<div class=SRResult id=SR_f_undcalculateHMACMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateHMACMD5" class=ISymbol>f_calculateHMACMD5</a></div></div>
+<div class=SRResult id=SR_f_undcalculateMD5>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_calculateMD5" class=ISymbol>f_calculateMD5</a></div></div>
+<div class=SRResult id=SR_f_undceil>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_ceil" class=ISymbol>f_ceil</a></div></div>
+<div class=SRResult id=SR_f_undcharstr2unichar>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_charstr2unichar" class=ISymbol>f_charstr2unichar</a></div></div>
+<div class=SRResult id=SR_f_undcompilationTime>
+<div class=IEntry>
+<a href="../files/TCCTitanMetadata_Functions-ttcn.html#f_compilationTime" class=ISymbol>f_compilationTime</a></div></div>
+<div class=SRResult id=SR_f_undcompOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_compOctetstring" class=ISymbol>f_compOctetstring</a></div></div>
+<div class=SRResult id=SR_f_undconvertIPAddrToBinary>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undconvertIPAddrToBinary')" class=ISymbol>f_convertIPAddrToBinary</a>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_convertIPAddrToBinary" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_convertIPAddrToBinary" class=IFile>TCCConversion_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undcos>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_cos" class=ISymbol>f_cos</a></div></div>
+<div class=SRResult id=SR_f_undcosVL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_cosVL" class=ISymbol>f_cosVL</a></div></div>
+<div class=SRResult id=SR_f_undctime>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_ctime" class=ISymbol>f_ctime</a></div></div>
+<div class=SRResult id=SR_f_undctime_undUTC>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_ctime_UTC" class=ISymbol>f_ctime_UTC</a></div></div>
+<div class=SRResult id=SR_f_unddec_undTBCD>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_dec_TBCD" class=ISymbol>f_dec_TBCD</a></div></div>
+<div class=SRResult id=SR_f_unddecGSM7bit>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_decGSM7bit" class=ISymbol>f_decGSM7bit</a></div></div>
+<div class=SRResult id=SR_f_unddeleteIP>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_deleteIP" class=ISymbol>f_deleteIP</a></div></div>
+<div class=SRResult id=SR_f_unddelIP_undip>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_unddelIP_undip')" class=ISymbol>f_delIP_ip</a>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_delIP_ip" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_delIP_ip" class=IFile>TCCInterface_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undEAPSIM_undA3A8>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_EAPSIM_A3A8" class=ISymbol>f_EAPSIM_A3A8</a></div></div>
+<div class=SRResult id=SR_f_undenc_undTBCD>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_enc_TBCD" class=ISymbol>f_enc_TBCD</a></div></div>
+<div class=SRResult id=SR_f_undencGSM7bit>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#f_encGSM7bit" class=ISymbol>f_encGSM7bit</a></div></div>
+<div class=SRResult id=SR_f_undexp>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_exp" class=ISymbol>f_exp</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undchdir>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_chdir" class=ISymbol>f_FIO_chdir</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undchmod>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undFIO_undchmod')" class=ISymbol>f_FIO_chmod</a>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_chmod" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_chmod" class=IFile>TCCFileIO_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undFIO_undclose>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_close" class=ISymbol>f_FIO_close</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undfileOrDirExists>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undFIO_undfileOrDirExists')" class=ISymbol>f_FIO_fileOrDirExists</a>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_fileOrDirExists" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_fileOrDirExists" class=IFile>TCCFileIO_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undFIO_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_flush" class=ISymbol>f_FIO_flush</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undget_underror_undcode>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_get_error_code" class=ISymbol>f_FIO_get_error_code</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undget_underror_undstring>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_get_error_string" class=ISymbol>f_FIO_get_error_string</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undmkdir>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undFIO_undmkdir')" class=ISymbol>f_FIO_mkdir</a>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_mkdir" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_mkdir" class=IFile>TCCFileIO_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undappend_undrdwr>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_rdwr" class=ISymbol>f_FIO_open_append_rdwr</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undappend_undrdwr_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_rdwr_excl" class=ISymbol>f_FIO_open_append_rdwr_excl</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undappend_undwronly>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_wronly" class=ISymbol>f_FIO_open_append_wronly</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undappend_undwronly_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_append_wronly_excl" class=ISymbol>f_FIO_open_append_wronly_excl</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undrdonly>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_rdonly" class=ISymbol>f_FIO_open_rdonly</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undtrunc_undrdwr>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_rdwr" class=ISymbol>f_FIO_open_trunc_rdwr</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undtrunc_undrdwr_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_rdwr_excl" class=ISymbol>f_FIO_open_trunc_rdwr_excl</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undtrunc_undwronly>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_wronly" class=ISymbol>f_FIO_open_trunc_wronly</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undopen_undtrunc_undwronly_undexcl>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_open_trunc_wronly_excl" class=ISymbol>f_FIO_open_trunc_wronly_excl</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undread_unddata>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data" class=ISymbol>f_FIO_read_data</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undread_unddata_undTLV>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data_TLV" class=ISymbol>f_FIO_read_data_TLV</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undread_unddata_unduntil>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_data_until" class=ISymbol>f_FIO_read_data_until</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undread_undtext>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_text" class=ISymbol>f_FIO_read_text</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undread_undtext_unduntil>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_read_text_until" class=ISymbol>f_FIO_read_text_until</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undrmdir>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undFIO_undrmdir')" class=ISymbol>f_FIO_rmdir</a>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_rmdir" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_rmdir" class=IFile>TCCFileIO_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undFIO_undseek_undbackward>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_backward" class=ISymbol>f_FIO_seek_backward</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undseek_undend>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_end" class=ISymbol>f_FIO_seek_end</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undseek_undforward>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_forward" class=ISymbol>f_FIO_seek_forward</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undseek_undhome>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_seek_home" class=ISymbol>f_FIO_seek_home</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undset_undfiledescriptor_undpreviousline>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_set_filedescriptor_previousline" class=ISymbol>f_FIO_set_filedescriptor_previousline</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undstat>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undFIO_undstat')" class=ISymbol>f_FIO_stat</a>
+<div class=ISubIndex>
+<a href="../files/TCCFileIO-cc.html#f_FIO_stat" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_stat" class=IFile>TCCFileIO_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undFIO_undwrite_unddata>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_data" class=ISymbol>f_FIO_write_data</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undwrite_unddata_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_data_flush" class=ISymbol>f_FIO_write_data_flush</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undwrite_undtext>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_text" class=ISymbol>f_FIO_write_text</a></div></div>
+<div class=SRResult id=SR_f_undFIO_undwrite_undtext_undflush>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#f_FIO_write_text_flush" class=ISymbol>f_FIO_write_text_flush</a></div></div>
+<div class=SRResult id=SR_f_undfloor>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_floor" class=ISymbol>f_floor</a></div></div>
+<div class=SRResult id=SR_f_undFS_undbfree>
+<div class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_bfree" class=ISymbol>f_FS_bfree</a></div></div>
+<div class=SRResult id=SR_f_undFS_undblocks>
+<div class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_blocks" class=ISymbol>f_FS_blocks</a></div></div>
+<div class=SRResult id=SR_f_undFS_undbsize>
+<div class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_bsize" class=ISymbol>f_FS_bsize</a></div></div>
+<div class=SRResult id=SR_f_undFS_unddspacerate>
+<div class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#f_FS_dspacerate" class=ISymbol>f_FS_dspacerate</a></div></div>
+<div class=SRResult id=SR_f_undgen_undExponential_undDistribution_lpain_spcfloat_spcp_undlambda_rpareturn_spcfloat>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_gen_Exponential_Distribution(in_float_p_lambda)return_float" class=ISymbol>f_gen_Exponential_Distribution(in float p_lambda)return float</a></div></div>
+<div class=SRResult id=SR_f_undgenerate_undpoissonTable>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_generate_poissonTable" class=ISymbol>f_generate_poissonTable</a></div></div>
+<div class=SRResult id=SR_f_undgetCurrentDateWithOffset>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getCurrentDateWithOffset" class=ISymbol>f_getCurrentDateWithOffset</a></div></div>
+<div class=SRResult id=SR_f_undgetCurrentGMTDate>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getCurrentGMTDate" class=ISymbol>f_getCurrentGMTDate</a></div></div>
+<div class=SRResult id=SR_f_undGetEnv>
+<div class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#f_GetEnv" class=ISymbol>f_GetEnv</a></div></div>
+<div class=SRResult id=SR_f_undgetHostName>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getHostName" class=ISymbol>f_getHostName</a></div></div>
+<div class=SRResult id=SR_f_undgetIP>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIP" class=ISymbol>f_getIP</a></div></div>
+<div class=SRResult id=SR_f_undgetIpAddr>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIpAddr" class=ISymbol>f_getIpAddr</a></div></div>
+<div class=SRResult id=SR_f_undgetIpAddresses>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undgetIpAddresses')" class=ISymbol>f_getIpAddresses</a>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_getIpAddresses" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_getIpAddresses" class=IFile>TCCInterface_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undgetNext_undpoissonValue>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_getNext_poissonValue" class=ISymbol>f_getNext_poissonValue</a></div></div>
+<div class=SRResult id=SR_f_undgetTimeFormatted>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_getTimeFormatted" class=ISymbol>f_getTimeFormatted</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undcalculateAUTN>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_calculateAUTN" class=ISymbol>f_IMSAKA_calculateAUTN</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf1>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f1" class=ISymbol>f_IMSAKA_f1</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf1star>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f1star" class=ISymbol>f_IMSAKA_f1star</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf2>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f2" class=ISymbol>f_IMSAKA_f2</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf2345>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f2345" class=ISymbol>f_IMSAKA_f2345</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf3>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f3" class=ISymbol>f_IMSAKA_f3</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf4>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f4" class=ISymbol>f_IMSAKA_f4</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf5>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f5" class=ISymbol>f_IMSAKA_f5</a></div></div>
+<div class=SRResult id=SR_f_undIMSAKA_undf5star>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#f_IMSAKA_f5star" class=ISymbol>f_IMSAKA_f5star</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSADB_undadd>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_add" class=ISymbol>f_IPsec_SADB_add</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSADB_unddelete>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_delete" class=ISymbol>f_IPsec_SADB_delete</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSADB_undflush>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SADB_flush" class=ISymbol>f_IPsec_SADB_flush</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSPDB_undadd>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_add" class=ISymbol>f_IPsec_SPDB_add</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSPDB_unddelete>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_delete" class=ISymbol>f_IPsec_SPDB_delete</a></div></div>
+<div class=SRResult id=SR_f_undIPsec_undSPDB_undflush>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#f_IPsec_SPDB_flush" class=ISymbol>f_IPsec_SPDB_flush</a></div></div>
+<div class=SRResult id=SR_f_undlog>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_log" class=ISymbol>f_log</a></div></div>
+<div class=SRResult id=SR_f_undmaxFL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_maxFL" class=ISymbol>f_maxFL</a></div></div>
+<div class=SRResult id=SR_f_undmaxIL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_maxIL" class=ISymbol>f_maxIL</a></div></div>
+<div class=SRResult id=SR_f_undminFL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_minFL" class=ISymbol>f_minFL</a></div></div>
+<div class=SRResult id=SR_f_undminIL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_minIL" class=ISymbol>f_minIL</a></div></div>
+<div class=SRResult id=SR_f_undoct2char_undsafe>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undoct2char_undsafe')" class=ISymbol>f_oct2char_safe</a>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_oct2char_safe" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_oct2char_safe" class=IFile>TCCConversion_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undOctetIpv4>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_OctetIpv4" class=ISymbol>f_OctetIpv4</a></div></div>
+<div class=SRResult id=SR_f_undpcre_undregexp>
+<div class=IEntry>
+<a href="../files/TCCRegexp_Functions-ttcn.html#f_pcre_regexp" class=ISymbol>f_pcre_regexp</a></div></div>
+<div class=SRResult id=SR_f_undpowFF>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powFF" class=ISymbol>f_powFF</a></div></div>
+<div class=SRResult id=SR_f_undpowFI>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powFI" class=ISymbol>f_powFI</a></div></div>
+<div class=SRResult id=SR_f_undpowIF>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powIF" class=ISymbol>f_powIF</a></div></div>
+<div class=SRResult id=SR_f_undpowII>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_powII" class=ISymbol>f_powII</a></div></div>
+<div class=SRResult id=SR_f_undPutEnv>
+<div class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#f_PutEnv" class=ISymbol>f_PutEnv</a></div></div>
+<div class=SRResult id=SR_f_undputInLowercase>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_putInLowercase" class=ISymbol>f_putInLowercase</a></div></div>
+<div class=SRResult id=SR_f_undputInUppercase>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_putInUppercase" class=ISymbol>f_putInUppercase</a></div></div>
+<div class=SRResult id=SR_f_undreplaceEveryOccurenceOfPattern>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceEveryOccurenceOfPattern" class=ISymbol>f_replaceEveryOccurenceOfPattern</a></div></div>
+<div class=SRResult id=SR_f_undreplaceEveryOccurenceOfSubstring>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceEveryOccurenceOfSubstring" class=ISymbol>f_replaceEveryOccurenceOfSubstring</a></div></div>
+<div class=SRResult id=SR_f_undreplaceFirstOccurenceOfPattern>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceFirstOccurenceOfPattern" class=ISymbol>f_replaceFirstOccurenceOfPattern</a></div></div>
+<div class=SRResult id=SR_f_undreplaceFirstOccurenceOfSubstring>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_replaceFirstOccurenceOfSubstring" class=ISymbol>f_replaceFirstOccurenceOfSubstring</a></div></div>
+<div class=SRResult id=SR_f_undsetInterfaceDown>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setInterfaceDown" class=ISymbol>f_setInterfaceDown</a></div></div>
+<div class=SRResult id=SR_f_undsetInterfaceUp>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setInterfaceUp" class=ISymbol>f_setInterfaceUp</a></div></div>
+<div class=SRResult id=SR_f_undsetIP>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setIP" class=ISymbol>f_setIP</a></div></div>
+<div class=SRResult id=SR_f_undsetIP_undip>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undsetIP_undip')" class=ISymbol>f_setIP_ip</a>
+<div class=ISubIndex>
+<a href="../files/TCCInterface-cc.html#f_setIP_ip" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#f_setIP_ip" class=IFile>TCCInterface_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undsin>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sin" class=ISymbol>f_sin</a></div></div>
+<div class=SRResult id=SR_f_undsinVL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sinVL" class=ISymbol>f_sinVL</a></div></div>
+<div class=SRResult id=SR_f_undsqrF>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrF" class=ISymbol>f_sqrF</a></div></div>
+<div class=SRResult id=SR_f_undsqrI>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrI" class=ISymbol>f_sqrI</a></div></div>
+<div class=SRResult id=SR_f_undsqrtF>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrtF" class=ISymbol>f_sqrtF</a></div></div>
+<div class=SRResult id=SR_f_undsqrtI>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_sqrtI" class=ISymbol>f_sqrtI</a></div></div>
+<div class=SRResult id=SR_f_undstdFL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdFL" class=ISymbol>f_stdFL</a></div></div>
+<div class=SRResult id=SR_f_undstdFLL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdFLL" class=ISymbol>f_stdFLL</a></div></div>
+<div class=SRResult id=SR_f_undstdIL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdIL" class=ISymbol>f_stdIL</a></div></div>
+<div class=SRResult id=SR_f_undstdILL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_stdILL" class=ISymbol>f_stdILL</a></div></div>
+<div class=SRResult id=SR_f_undstrstr>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undstrstr')" class=ISymbol>f_strstr</a>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_strstr" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_strstr" class=IFile>TCCConversion_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undsubOctetstring>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_subOctetstring" class=ISymbol>f_subOctetstring</a></div></div>
+<div class=SRResult id=SR_f_undsubstr_undtoken>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undsubstr_undtoken')" class=ISymbol>f_substr_token</a>
+<div class=ISubIndex>
+<a href="../files/TCCConversion-cc.html#f_substr_token" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_substr_token" class=IFile>TCCConversion_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undSYS_undgetpid>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_f_undSYS_undgetpid')" class=ISymbol>f_SYS_getpid</a>
+<div class=ISubIndex>
+<a href="../files/TCCSystem-cc.html#f_SYS_getpid" class=IFile>TCCSystem.cc</a>
+<a href="../files/TCCSystem_Functions-ttcn.html#f_SYS_getpid" class=IFile>TCCSystem_Functions.ttcn</a></div></div></div>
+<div class=SRResult id=SR_f_undTCCMessageHandling_undgetMessageLength>
+<div class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength" class=ISymbol>f_TCCMessageHandling_getMessageLength</a></div></div>
+<div class=SRResult id=SR_f_undTCCMessageHandling_undgetMessageLength4Diameter>
+<div class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength4Diameter" class=ISymbol>f_TCCMessageHandling_getMessageLength4Diameter</a></div></div>
+<div class=SRResult id=SR_f_undTCCMessageHandling_undgetMessageLength4Radius>
+<div class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#f_TCCMessageHandling_getMessageLength4Radius" class=ISymbol>f_TCCMessageHandling_getMessageLength4Radius</a></div></div>
+<div class=SRResult id=SR_f_undTemplate_undsubsfiletemplate>
+<div class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#f_Template_subsfiletemplate" class=ISymbol>f_Template_subsfiletemplate</a></div></div>
+<div class=SRResult id=SR_f_undTemplate_undsubstitutetemplate>
+<div class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#f_Template_substitutetemplate" class=ISymbol>f_Template_substitutetemplate</a></div></div>
+<div class=SRResult id=SR_f_undtic>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_tic" class=ISymbol>f_tic</a></div></div>
+<div class=SRResult id=SR_f_undtime>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time" class=ISymbol>f_time</a></div></div>
+<div class=SRResult id=SR_f_undtime2sec>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time2sec" class=ISymbol>f_time2sec</a></div></div>
+<div class=SRResult id=SR_f_undtime2sec_undUTC>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_time2sec_UTC" class=ISymbol>f_time2sec_UTC</a></div></div>
+<div class=SRResult id=SR_f_undtimeDiff>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_timeDiff" class=ISymbol>f_timeDiff</a></div></div>
+<div class=SRResult id=SR_f_undtoc>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#f_toc" class=ISymbol>f_toc</a></div></div>
+<div class=SRResult id=SR_f_undunichar2charstr>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#f_unichar2charstr" class=ISymbol>f_unichar2charstr</a></div></div>
+<div class=SRResult id=SR_f_undupdateFL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_updateFL" class=ISymbol>f_updateFL</a></div></div>
+<div class=SRResult id=SR_f_undupdateIL>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#f_updateIL" class=ISymbol>f_updateIL</a></div></div>
+<div class=SRResult id=SR_f1>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f1" class=ISymbol>f1</a></div></div>
+<div class=SRResult id=SR_f1star>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f1star" class=ISymbol>f1star</a></div></div>
+<div class=SRResult id=SR_f2345>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f2345" class=ISymbol>f2345</a></div></div>
+<div class=SRResult id=SR_f5star>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#f5star" class=ISymbol>f5star</a></div></div>
+<div class=SRResult id=SR_FloatList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#FloatList" class=ISymbol>FloatList</a></div></div>
+<div class=SRResult id=SR_Functions>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_Functions')" class=ISymbol>Functions</a>
+<div class=ISubIndex>
+<a href="../files/aka_algorythm_set-h.html#Functions" class=IFile>aka_algorythm_set.h</a>
+<a href="../files/digcalc-h.html#Functions" class=IFile>digcalc.h</a>
+<a href="../files/TCCAssertion_Functions-ttcn.html#Functions" class=IFile>TCCAssertion_Functions.ttcn</a>
+<a href="../files/TCCConversion-cc.html#Functions" class=IFile>TCCConversion.cc</a>
+<a href="../files/TCCConversion_Functions-ttcn.html#Functions" class=IFile>TCCConversion_Functions.ttcn</a>
+<a href="../files/TCCDateTime-cc.html#Functions" class=IFile>TCCDateTime.cc</a>
+<a href="../files/TCCDateTime_Functions-ttcn.html#Functions" class=IFile>TCCDateTime_Functions.ttcn</a>
+<a href="../files/TCCEncoding-cc.html#Functions" class=IFile>TCCEncoding.cc</a>
+<a href="../files/TCCEncoding_Functions-ttcn.html#Functions" class=IFile>TCCEncoding_Functions.ttcn</a>
+<a href="../files/TCCEnv-cc.html#Functions" class=IFile>TCCEnv.cc</a>
+<a href="../files/TCCEnv_Functions-ttcn.html#Functions" class=IFile>TCCEnv_Functions.ttcn</a>
+<a href="../files/TCCFileIO-cc.html#Functions" class=IFile>TCCFileIO.cc</a>
+<a href="../files/TCCFileIO_Functions-ttcn.html#Functions" class=IFile>TCCFileIO_Functions.ttcn</a>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#Functions" class=IFile>TCCFileSystem_Functions.ttcn</a>
+<a href="../files/TCCInterface-cc.html#Functions" class=IFile>TCCInterface.cc</a>
+<a href="../files/TCCInterface_Functions-ttcn.html#Functions" class=IFile>TCCInterface_Functions.ttcn</a>
+<a href="../files/TCCIPsec_Functions-ttcn.html#Functions" class=IFile>TCCIPsec_Functions.ttcn</a>
+<a href="../files/TCCMaths-cc.html#Functions" class=IFile>TCCMaths.cc</a>
+<a href="../files/TCCMaths_Functions-ttcn.html#Functions" class=IFile>TCCMaths_Functions.ttcn</a>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#Functions" class=IFile>TCCMessageHandling_Functions.ttcn</a>
+<a href="../files/TCCRegexp_Functions-ttcn.html#Functions" class=IFile>TCCRegexp_Functions.ttcn</a>
+<a href="../files/TCCSecurity-cc.html#Functions" class=IFile>TCCSecurity.cc</a>
+<a href="../files/TCCSecurity_Functions-ttcn.html#Functions" class=IFile>TCCSecurity_Functions.ttcn</a>
+<a href="../files/TCCTemplate_Functions-ttcn.html#Functions" class=IFile>TCCTemplate_Functions.ttcn</a>
+<a href="../files/TCCTitanMetadata_Functions-ttcn.html#Functions" class=IFile>TCCTitanMetadata_Functions.ttcn</a>
+<a href="../files/TCCXPathSupport_Functions-ttcn.html#Functions" class=IFile>TCCXPathSupport_Functions.ttcn</a>
+<a href="../files/zuc-h.html#Functions" class=IFile>zuc.h</a></div></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralI.html b/doc/apidoc/html/search/GeneralI.html
new file mode 100644
index 0000000000000000000000000000000000000000..52fa438d03fb551822b2de84a408ebb8bf327bd4
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralI.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_IntegerList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#IntegerList" class=ISymbol>IntegerList</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralK.html b/doc/apidoc/html/search/GeneralK.html
new file mode 100644
index 0000000000000000000000000000000000000000..1c428bd0fe092c350cb49f8433fc6fe2318d0166
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralK.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_KeyAdd>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#KeyAdd" class=ISymbol>KeyAdd</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralM.html b/doc/apidoc/html/search/GeneralM.html
new file mode 100644
index 0000000000000000000000000000000000000000..88415f3f31f3ee0d9266162a07335531fbd710fd
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralM.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_MixColumn>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#MixColumn" class=ISymbol>MixColumn</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralO.html b/doc/apidoc/html/search/GeneralO.html
new file mode 100644
index 0000000000000000000000000000000000000000..521377adf15a630550cc6cfa56655ab34e0ef08d
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralO.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_OctetStringList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#OctetStringList" class=ISymbol>OctetStringList</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralP.html b/doc/apidoc/html/search/GeneralP.html
new file mode 100644
index 0000000000000000000000000000000000000000..0c96976a125ef66f4f683ceb054351edefb4dbe9
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralP.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_pi>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#pi" class=ISymbol>pi</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralR.html b/doc/apidoc/html/search/GeneralR.html
new file mode 100644
index 0000000000000000000000000000000000000000..1ff6d4bb7c2d50a81c05e2ec76170051cc7872cb
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralR.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_Regexp_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCRegexp_Functions-ttcn.html#Regexp_Functions" class=ISymbol>Regexp_Functions</a></div></div>
+<div class=SRResult id=SR_RijndaelEncrypt>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#RijndaelEncrypt" class=ISymbol>RijndaelEncrypt</a></div></div>
+<div class=SRResult id=SR_RijndaelKeySchedule>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#RijndaelKeySchedule" class=ISymbol>RijndaelKeySchedule</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralS.html b/doc/apidoc/html/search/GeneralS.html
new file mode 100644
index 0000000000000000000000000000000000000000..d460408e41ecd5648fac572070f562c02b260b88
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralS.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_ShiftRow>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#ShiftRow" class=ISymbol>ShiftRow</a></div></div>
+<div class=SRResult id=SR_StringList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#StringList" class=ISymbol>StringList</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralT.html b/doc/apidoc/html/search/GeneralT.html
new file mode 100644
index 0000000000000000000000000000000000000000..384e53d197101750e9443f5b587323439ef4ba75
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralT.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_TCCAssertion_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCAssertion_Functions-ttcn.html#TCCAssertion_Functions" class=ISymbol>TCCAssertion_Functions</a></div></div>
+<div class=SRResult id=SR_TCCConversion_percc>
+<div class=IEntry>
+<a href="../files/TCCConversion-cc.html#TCCConversion.cc" class=ISymbol>TCCConversion.cc</a></div></div>
+<div class=SRResult id=SR_TCCConversion_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCConversion_Functions-ttcn.html#TCCConversion_Functions" class=ISymbol>TCCConversion_Functions</a></div></div>
+<div class=SRResult id=SR_TCCDateTime_percc>
+<div class=IEntry>
+<a href="../files/TCCDateTime-cc.html#TCCDateTime.cc" class=ISymbol>TCCDateTime.cc</a></div></div>
+<div class=SRResult id=SR_TCCDateTime_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCDateTime_Functions-ttcn.html#TCCDateTime_Functions" class=ISymbol>TCCDateTime_Functions</a></div></div>
+<div class=SRResult id=SR_TCCEncoding_percc>
+<div class=IEntry>
+<a href="../files/TCCEncoding-cc.html#TCCEncoding.cc" class=ISymbol>TCCEncoding.cc</a></div></div>
+<div class=SRResult id=SR_TCCEncoding_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCEncoding_Functions-ttcn.html#TCCEncoding_Functions" class=ISymbol>TCCEncoding_Functions</a></div></div>
+<div class=SRResult id=SR_TCCEnv_percc>
+<div class=IEntry>
+<a href="../files/TCCEnv-cc.html#TCCEnv.cc" class=ISymbol>TCCEnv.cc</a></div></div>
+<div class=SRResult id=SR_TCCEnv_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCEnv_Functions-ttcn.html#TCCEnv_Functions" class=ISymbol>TCCEnv_Functions</a></div></div>
+<div class=SRResult id=SR_TCCFileIO_percc>
+<div class=IEntry>
+<a href="../files/TCCFileIO-cc.html#TCCFileIO.cc" class=ISymbol>TCCFileIO.cc</a></div></div>
+<div class=SRResult id=SR_TCCFileIO_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCFileIO_Functions-ttcn.html#TCCFileIO_Functions" class=ISymbol>TCCFileIO_Functions</a></div></div>
+<div class=SRResult id=SR_TCCFileSystem_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCFileSystem_Functions-ttcn.html#TCCFileSystem_Functions" class=ISymbol>TCCFileSystem_Functions</a></div></div>
+<div class=SRResult id=SR_TCCInterface_percc>
+<div class=IEntry>
+<a href="../files/TCCInterface-cc.html#TCCInterface.cc" class=ISymbol>TCCInterface.cc</a></div></div>
+<div class=SRResult id=SR_TCCInterface_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#TCCInterface_Functions" class=ISymbol>TCCInterface_Functions</a></div></div>
+<div class=SRResult id=SR_TCCInterface_undIPAddressType>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#TCCInterface_IPAddressType" class=ISymbol>TCCInterface_IPAddressType</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undAAlgo>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_AAlgo" class=ISymbol>TCCIPsec_AAlgo</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undAlgorithm>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Algorithm" class=ISymbol>TCCIPsec_Algorithm</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undAuth>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Auth" class=ISymbol>TCCIPsec_Auth</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undDefaultLevel>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_DefaultLevel" class=ISymbol>TCCIPsec_DefaultLevel</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undDefinitions_perttcn>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Definitions.ttcn" class=ISymbol>TCCIPsec_Definitions.ttcn</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undDiscardRule>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_DiscardRule" class=ISymbol>TCCIPsec_DiscardRule</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undEAlgo>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_EAlgo" class=ISymbol>TCCIPsec_EAlgo</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undEncr>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Encr" class=ISymbol>TCCIPsec_Encr</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undExtension>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Extension" class=ISymbol>TCCIPsec_Extension</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undExtensionList>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_ExtensionList" class=ISymbol>TCCIPsec_ExtensionList</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Functions-ttcn.html#TCCIPsec_Functions" class=ISymbol>TCCIPsec_Functions</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undIPsecMode>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_IPsecMode" class=ISymbol>TCCIPsec_IPsecMode</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undIPsecResult>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_IPsecResult" class=ISymbol>TCCIPsec_IPsecResult</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undKey>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Key" class=ISymbol>TCCIPsec_Key</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undMode>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Mode" class=ISymbol>TCCIPsec_Mode</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undNoneRule>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_NoneRule" class=ISymbol>TCCIPsec_NoneRule</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undProtocol>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Protocol" class=ISymbol>TCCIPsec_Protocol</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undRule>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Rule" class=ISymbol>TCCIPsec_Rule</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undRuleLevel>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_RuleLevel" class=ISymbol>TCCIPsec_RuleLevel</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undTransport>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Transport" class=ISymbol>TCCIPsec_Transport</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undTranspProto>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_TranspProto" class=ISymbol>TCCIPsec_TranspProto</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undTunnel>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Tunnel" class=ISymbol>TCCIPsec_Tunnel</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undUseLevel>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_UseLevel" class=ISymbol>TCCIPsec_UseLevel</a></div></div>
+<div class=SRResult id=SR_TCCMaths_percc>
+<div class=IEntry>
+<a href="../files/TCCMaths-cc.html#TCCMaths.cc" class=ISymbol>TCCMaths.cc</a></div></div>
+<div class=SRResult id=SR_TCCMaths_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCMaths_Functions-ttcn.html#TCCMaths_Functions" class=ISymbol>TCCMaths_Functions</a></div></div>
+<div class=SRResult id=SR_TCCMaths_undGenericTypes>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#TCCMaths_GenericTypes" class=ISymbol>TCCMaths_GenericTypes</a></div></div>
+<div class=SRResult id=SR_TCCMessageHandling_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCMessageHandling_Functions-ttcn.html#TCCMessageHandling_Functions" class=ISymbol>TCCMessageHandling_Functions</a></div></div>
+<div class=SRResult id=SR_TCCSecurity_percc>
+<div class=IEntry>
+<a href="../files/TCCSecurity-cc.html#TCCSecurity.cc" class=ISymbol>TCCSecurity.cc</a></div></div>
+<div class=SRResult id=SR_TCCSecurity_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCSecurity_Functions-ttcn.html#TCCSecurity_Functions" class=ISymbol>TCCSecurity_Functions</a></div></div>
+<div class=SRResult id=SR_TCCTemplate_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCTemplate_Functions-ttcn.html#TCCTemplate_Functions" class=ISymbol>TCCTemplate_Functions</a></div></div>
+<div class=SRResult id=SR_TCCTitanMetadata_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCTitanMetadata_Functions-ttcn.html#TCCTitanMetadata_Functions" class=ISymbol>TCCTitanMetadata_Functions</a></div></div>
+<div class=SRResult id=SR_TCCXPathSupport_undFunctions>
+<div class=IEntry>
+<a href="../files/TCCXPathSupport_Functions-ttcn.html#TCCXPathSupport_Functions" class=ISymbol>TCCXPathSupport_Functions</a></div></div>
+<div class=SRResult id=SR_Types>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#Types" class=ISymbol>Types</a></div></div>
+<div class=SRResult id=SR_Types_spcand_spcConstants>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#Types_and_Constants" class=ISymbol>Types and Constants</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralU.html b/doc/apidoc/html/search/GeneralU.html
new file mode 100644
index 0000000000000000000000000000000000000000..fa37a5adc22eb89be94679efac4630f66958559b
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralU.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_u8>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#u8" class=ISymbol>u8</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralV.html b/doc/apidoc/html/search/GeneralV.html
new file mode 100644
index 0000000000000000000000000000000000000000..ed567ea423295bd34a13e70bc763e7c84c7baad5
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralV.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_Variables>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#Variables" class=ISymbol>Variables</a></div></div>
+<div class=SRResult id=SR_VerdictList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#VerdictList" class=ISymbol>VerdictList</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralX.html b/doc/apidoc/html/search/GeneralX.html
new file mode 100644
index 0000000000000000000000000000000000000000..091b60e97625ca90bc3b837ccf4ba6f643a4b3db
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralX.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_XPathQuery>
+<div class=IEntry>
+<a href="javascript:searchResults.Toggle('SR_XPathQuery')" class=ISymbol>XPathQuery</a>
+<div class=ISubIndex>
+<a href="../files/TCCXPathSupport-cc.html#XPathQuery" class=IFile>TCCXPathSupport.cc</a>
+<a href="../files/TCCXPathSupport_Functions-ttcn.html#XPathQuery" class=IFile>TCCXPathSupport_Functions.ttcn</a></div></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/GeneralZ.html b/doc/apidoc/html/search/GeneralZ.html
new file mode 100644
index 0000000000000000000000000000000000000000..56d2ab3c073821b06d1dec3dffc783196bef627d
--- /dev/null
+++ b/doc/apidoc/html/search/GeneralZ.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_zuc_perh>
+<div class=IEntry>
+<a href="../files/zuc-h.html#zuc.h" class=ISymbol>zuc.h</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/NoResults.html b/doc/apidoc/html/search/NoResults.html
new file mode 100644
index 0000000000000000000000000000000000000000..e0a90b2d3d1a9547faaea63d6f894bb25da29273
--- /dev/null
+++ b/doc/apidoc/html/search/NoResults.html
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=NoMatches>No Matches</div></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/TypesB.html b/doc/apidoc/html/search/TypesB.html
new file mode 100644
index 0000000000000000000000000000000000000000..2caeae8504eb97cbc8e738f5156e5e5a5d90c827
--- /dev/null
+++ b/doc/apidoc/html/search/TypesB.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_BooleanList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#BooleanList" class=ISymbol>BooleanList</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/TypesF.html b/doc/apidoc/html/search/TypesF.html
new file mode 100644
index 0000000000000000000000000000000000000000..047eb6f9221934695f95e491ed5f9cd08c3e4cdf
--- /dev/null
+++ b/doc/apidoc/html/search/TypesF.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_FloatList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#FloatList" class=ISymbol>FloatList</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/TypesI.html b/doc/apidoc/html/search/TypesI.html
new file mode 100644
index 0000000000000000000000000000000000000000..52fa438d03fb551822b2de84a408ebb8bf327bd4
--- /dev/null
+++ b/doc/apidoc/html/search/TypesI.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_IntegerList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#IntegerList" class=ISymbol>IntegerList</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/TypesO.html b/doc/apidoc/html/search/TypesO.html
new file mode 100644
index 0000000000000000000000000000000000000000..521377adf15a630550cc6cfa56655ab34e0ef08d
--- /dev/null
+++ b/doc/apidoc/html/search/TypesO.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_OctetStringList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#OctetStringList" class=ISymbol>OctetStringList</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/TypesS.html b/doc/apidoc/html/search/TypesS.html
new file mode 100644
index 0000000000000000000000000000000000000000..d92f6076b6581b549b432c7e8c6de6dcd6eaa028
--- /dev/null
+++ b/doc/apidoc/html/search/TypesS.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_StringList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#StringList" class=ISymbol>StringList</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/TypesT.html b/doc/apidoc/html/search/TypesT.html
new file mode 100644
index 0000000000000000000000000000000000000000..f9078e87b5b4d49da27a7203bf692c1ff8946ae8
--- /dev/null
+++ b/doc/apidoc/html/search/TypesT.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_TCCInterface_undIPAddressType>
+<div class=IEntry>
+<a href="../files/TCCInterface_Functions-ttcn.html#TCCInterface_IPAddressType" class=ISymbol>TCCInterface_IPAddressType</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undAAlgo>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_AAlgo" class=ISymbol>TCCIPsec_AAlgo</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undAlgorithm>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Algorithm" class=ISymbol>TCCIPsec_Algorithm</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undAuth>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Auth" class=ISymbol>TCCIPsec_Auth</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undDefaultLevel>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_DefaultLevel" class=ISymbol>TCCIPsec_DefaultLevel</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undDiscardRule>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_DiscardRule" class=ISymbol>TCCIPsec_DiscardRule</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undEAlgo>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_EAlgo" class=ISymbol>TCCIPsec_EAlgo</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undEncr>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Encr" class=ISymbol>TCCIPsec_Encr</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undExtension>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Extension" class=ISymbol>TCCIPsec_Extension</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undExtensionList>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_ExtensionList" class=ISymbol>TCCIPsec_ExtensionList</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undIPsecMode>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_IPsecMode" class=ISymbol>TCCIPsec_IPsecMode</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undIPsecResult>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_IPsecResult" class=ISymbol>TCCIPsec_IPsecResult</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undKey>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Key" class=ISymbol>TCCIPsec_Key</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undMode>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Mode" class=ISymbol>TCCIPsec_Mode</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undNoneRule>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_NoneRule" class=ISymbol>TCCIPsec_NoneRule</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undProtocol>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Protocol" class=ISymbol>TCCIPsec_Protocol</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undRule>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Rule" class=ISymbol>TCCIPsec_Rule</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undRuleLevel>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_RuleLevel" class=ISymbol>TCCIPsec_RuleLevel</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undTransport>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Transport" class=ISymbol>TCCIPsec_Transport</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undTranspProto>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_TranspProto" class=ISymbol>TCCIPsec_TranspProto</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undTunnel>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_Tunnel" class=ISymbol>TCCIPsec_Tunnel</a></div></div>
+<div class=SRResult id=SR_TCCIPsec_undUseLevel>
+<div class=IEntry>
+<a href="../files/TCCIPsec_Definitions-ttcn.html#TCCIPsec_UseLevel" class=ISymbol>TCCIPsec_UseLevel</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/TypesV.html b/doc/apidoc/html/search/TypesV.html
new file mode 100644
index 0000000000000000000000000000000000000000..c9690bd9f3ba40a1c515be2c06605445a47b232c
--- /dev/null
+++ b/doc/apidoc/html/search/TypesV.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_VerdictList>
+<div class=IEntry>
+<a href="../files/TCCMaths_GenericTypes-ttcn.html#VerdictList" class=ISymbol>VerdictList</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/search/VariablesU.html b/doc/apidoc/html/search/VariablesU.html
new file mode 100644
index 0000000000000000000000000000000000000000..fa37a5adc22eb89be94679efac4630f66958559b
--- /dev/null
+++ b/doc/apidoc/html/search/VariablesU.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="../styles/main.css">
+<script language=JavaScript src="../javascript/main.js"></script>
+<script language=JavaScript src="../javascript/searchdata.js"></script></head>
+<body class="FramedSearchResultsPage" onLoad="NDOnLoad()">
+<script language=JavaScript>
+<!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index>
+<div class=IPageTitle>Search Results</div>
+<div class=SRStatus id=Loading>Loading...</div>
+<table border=0 cellspacing=0 cellpadding=0>
+<div class=SRResult id=SR_u8>
+<div class=IEntry>
+<a href="../files/aka_algorythm_set-h.html#u8" class=ISymbol>u8</a></div></div></table>
+<div class=SRStatus id=Searching>Searching...</div>
+<div class=SRStatus id=NoMatches>No Matches</div>
+<script type="text/javascript">
+<!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div>
+<!--Index-->
+
+
+<script language=JavaScript>
+<!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/doc/apidoc/html/styles/1.css b/doc/apidoc/html/styles/1.css
new file mode 100755
index 0000000000000000000000000000000000000000..17e9cbc30fd5febc9ee72dbe58cc342cc2b83f98
--- /dev/null
+++ b/doc/apidoc/html/styles/1.css
@@ -0,0 +1,767 @@
+/*
+   IMPORTANT: If you're editing this file in the output directory of one of
+   your projects, your changes will be overwritten the next time you run
+   Natural Docs.  Instead, copy this file to your project directory, make your
+   changes, and you can use it with -s.  Even better would be to make a CSS
+   file in your project directory with only your changes, which you can then
+   use with -s [original style] [your changes].
+
+   On the other hand, if you're editing this file in the Natural Docs styles
+   directory, the changes will automatically be applied to all your projects
+   that use this style the next time Natural Docs is run on them.
+
+   This file is part of Natural Docs, which is Copyright (C) 2003-2008 Greg Valure
+   Natural Docs is licensed under the GPL
+*/
+
+body {
+    font: 10pt Verdana, Arial, sans-serif;
+    color: #000000;
+    margin: 0; padding: 0;
+    }
+
+.ContentPage,
+.IndexPage,
+.FramedMenuPage {
+    background-color: #E8E8E8;
+    }
+.FramedContentPage,
+.FramedIndexPage,
+.FramedSearchResultsPage,
+.PopupSearchResultsPage {
+    background-color: #FFFFFF;
+    }
+
+
+a:link,
+a:visited { color: #900000; text-decoration: none }
+a:hover { color: #900000; text-decoration: underline }
+a:active { color: #FF0000; text-decoration: underline }
+
+td {
+    vertical-align: top }
+
+img { border: 0;  }
+
+
+/*
+    Comment out this line to use web-style paragraphs (blank line between
+    paragraphs, no indent) instead of print-style paragraphs (no blank line,
+    indented.)
+*/
+p {
+    text-indent: 5ex; margin: 0 }
+
+
+/*  Opera doesn't break with just wbr, but will if you add this.  */
+.Opera wbr:after {
+	content: "\00200B";
+	}
+
+
+/*  Blockquotes are used as containers for things that may need to scroll.  */
+blockquote {
+    padding: 0;
+    margin: 0;
+    overflow: auto;
+    }
+
+
+.Firefox1 blockquote {
+    padding-bottom: .5em;
+    }
+
+/*  Turn off scrolling when printing.  */
+@media print {
+    blockquote {
+        overflow: visible;
+        }
+    .IE blockquote {
+        width: auto;
+        }
+    }
+
+
+
+#Menu {
+    font-size: 9pt;
+    padding: 10px 0 0 0;
+    }
+.ContentPage #Menu,
+.IndexPage #Menu {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 31ex;
+    overflow: hidden;
+    }
+.ContentPage .Firefox #Menu,
+.IndexPage .Firefox #Menu {
+    width: 27ex;
+    }
+
+
+    .MTitle {
+        font-size: 16pt; font-weight: bold; font-variant: small-caps;
+        text-align: center;
+        padding: 5px 10px 15px 10px;
+        border-bottom: 1px dotted #000000;
+        margin-bottom: 15px }
+
+    .MSubTitle {
+        font-size: 9pt; font-weight: normal; font-variant: normal;
+        margin-top: 1ex; margin-bottom: 5px }
+
+
+    .MEntry a:link,
+    .MEntry a:hover,
+    .MEntry a:visited { color: #606060; margin-right: 0 }
+    .MEntry a:active { color: #A00000; margin-right: 0 }
+
+
+    .MGroup {
+        font-variant: small-caps; font-weight: bold;
+        margin: 1em 0 1em 10px;
+        }
+
+    .MGroupContent {
+        font-variant: normal; font-weight: normal }
+
+    .MGroup a:link,
+    .MGroup a:hover,
+    .MGroup a:visited { color: #545454; margin-right: 10px }
+    .MGroup a:active { color: #A00000; margin-right: 10px }
+
+
+    .MFile,
+    .MText,
+    .MLink,
+    .MIndex {
+        padding: 1px 17px 2px 10px;
+        margin: .25em 0 .25em 0;
+        }
+
+    .MText {
+        font-size: 8pt; font-style: italic }
+
+    .MLink {
+        font-style: italic }
+
+    #MSelected {
+        color: #000000; background-color: #FFFFFF;
+        /*  Replace padding with border.  */
+        padding: 0 10px 0 10px;
+        border-width: 1px 2px 2px 0; border-style: solid; border-color: #000000;
+        margin-right: 5px;
+        }
+
+    /*  Close off the left side when its in a group.  */
+    .MGroup #MSelected {
+        padding-left: 9px; border-left-width: 1px }
+
+    /*  A treat for Mozilla users.  Blatantly non-standard.  Will be replaced with CSS 3 attributes when finalized/supported.  */
+    .Firefox #MSelected {
+        -moz-border-radius-topright: 10px;
+        -moz-border-radius-bottomright: 10px }
+    .Firefox .MGroup #MSelected {
+        -moz-border-radius-topleft: 10px;
+        -moz-border-radius-bottomleft: 10px }
+
+
+    #MSearchPanel {
+        padding: 0px 6px;
+        margin: .25em 0;
+        }
+
+
+    #MSearchField {
+        font: italic 9pt Verdana, sans-serif;
+        color: #606060;
+        background-color: #E8E8E8;
+        border: none;
+        padding: 2px 4px;
+        width: 100%;
+        }
+    /* Only Opera gets it right. */
+    .Firefox #MSearchField,
+    .IE #MSearchField,
+    .Safari #MSearchField {
+        width: 94%;
+        }
+    .Opera9 #MSearchField,
+    .Konqueror #MSearchField {
+        width: 97%;
+        }
+    .FramedMenuPage .Firefox #MSearchField,
+    .FramedMenuPage .Safari #MSearchField,
+    .FramedMenuPage .Konqueror #MSearchField {
+        width: 98%;
+        }
+
+    /* Firefox doesn't do this right in frames without #MSearchPanel added on.
+        It's presence doesn't hurt anything other browsers. */
+    #MSearchPanel.MSearchPanelInactive:hover #MSearchField {
+        background-color: #FFFFFF;
+        border: 1px solid #C0C0C0;
+        padding: 1px 3px;
+        }
+    .MSearchPanelActive #MSearchField {
+        background-color: #FFFFFF;
+        border: 1px solid #C0C0C0;
+        font-style: normal;
+        padding: 1px 3px;
+        }
+
+    #MSearchType {
+        visibility: hidden;
+        font: 8pt Verdana, sans-serif;
+        width: 98%;
+        padding: 0;
+        border: 1px solid #C0C0C0;
+        }
+    .MSearchPanelActive #MSearchType,
+    /*  As mentioned above, Firefox doesn't do this right in frames without #MSearchPanel added on. */
+    #MSearchPanel.MSearchPanelInactive:hover #MSearchType,
+    #MSearchType:focus {
+        visibility: visible;
+        color: #606060;
+        }
+    #MSearchType option#MSearchEverything {
+        font-weight: bold;
+        }
+
+    .Opera8 .MSearchPanelInactive:hover,
+    .Opera8 .MSearchPanelActive {
+        margin-left: -1px;
+        }
+
+
+    iframe#MSearchResults {
+        width: 60ex;
+        height: 15em;
+        }
+    #MSearchResultsWindow {
+        display: none;
+        position: absolute;
+        left: 0; top: 0;
+        border: 1px solid #000000;
+        background-color: #E8E8E8;
+        }
+    #MSearchResultsWindowClose {
+        font-weight: bold;
+        font-size: 8pt;
+        display: block;
+        padding: 2px 5px;
+        }
+    #MSearchResultsWindowClose:link,
+    #MSearchResultsWindowClose:visited {
+        color: #000000;
+        text-decoration: none;
+        }
+    #MSearchResultsWindowClose:active,
+    #MSearchResultsWindowClose:hover {
+        color: #800000;
+        text-decoration: none;
+        background-color: #F4F4F4;
+        }
+
+
+
+
+#Content {
+    padding-bottom: 15px;
+    }
+
+.ContentPage #Content {
+    border-width: 0 0 1px 1px;
+    border-style: solid;
+    border-color: #000000;
+    background-color: #FFFFFF;
+    font-size: 9pt;  /* To make 31ex match the menu's 31ex. */
+    margin-left: 31ex;
+    }
+.ContentPage .Firefox #Content {
+    margin-left: 27ex;
+    }
+
+
+
+    .CTopic {
+        font-size: 10pt;
+        margin-bottom: 3em;
+        }
+
+
+    .CTitle {
+        font-size: 12pt; font-weight: bold;
+        border-width: 0 0 1px 0; border-style: solid; border-color: #A0A0A0;
+        margin: 0 15px .5em 15px }
+
+    .CGroup .CTitle {
+        font-size: 16pt; font-variant: small-caps;
+        padding-left: 15px; padding-right: 15px;
+        border-width: 0 0 2px 0; border-color: #000000;
+        margin-left: 0; margin-right: 0 }
+
+    .CClass .CTitle,
+    .CInterface .CTitle,
+    .CDatabase .CTitle,
+    .CDatabaseTable .CTitle,
+    .CSection .CTitle {
+        font-size: 18pt;
+        color: #FFFFFF; background-color: #A0A0A0;
+        padding: 10px 15px 10px 15px;
+        border-width: 2px 0; border-color: #000000;
+        margin-left: 0; margin-right: 0 }
+
+    #MainTopic .CTitle {
+        font-size: 20pt;
+        color: #FFFFFF; background-color: #7070C0;
+        padding: 10px 15px 10px 15px;
+        border-width: 0 0 3px 0; border-color: #000000;
+        margin-left: 0; margin-right: 0 }
+
+    .CBody {
+        margin-left: 15px; margin-right: 15px }
+
+
+    .CToolTip {
+        position: absolute; visibility: hidden;
+        left: 0; top: 0;
+        background-color: #FFFFE0;
+        padding: 5px;
+        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
+        font-size: 8pt;
+        }
+
+    .Opera .CToolTip {
+        max-width: 98%;
+        }
+
+    /*  Scrollbars would be useless.  */
+    .CToolTip blockquote {
+        overflow: hidden;
+        }
+    .IE6 .CToolTip blockquote {
+        overflow: visible;
+        }
+
+    .CHeading {
+        font-weight: bold; font-size: 10pt;
+        margin: 1.5em 0 .5em 0;
+        }
+
+    .CBody pre {
+        font: 10pt "Courier New", Courier, monospace;
+        margin: 1em 0;
+        }
+
+    .CBody ul {
+        /*  I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.
+             Reapply it here as padding.  */
+        padding-left: 15px; padding-right: 15px;
+        margin: .5em 5ex .5em 5ex;
+        }
+
+    .CDescriptionList {
+        margin: .5em 5ex 0 5ex }
+
+        .CDLEntry {
+            font: 10pt "Courier New", Courier, monospace; color: #808080;
+            padding-bottom: .25em;
+            white-space: nowrap }
+
+        .CDLDescription {
+            font-size: 10pt;  /*  For browsers that don't inherit correctly, like Opera 5.  */
+            padding-bottom: .5em; padding-left: 5ex }
+
+
+    .CTopic img {
+        text-align: center;
+        display: block;
+        margin: 1em auto;
+        }
+    .CImageCaption {
+        font-variant: small-caps;
+        font-size: 8pt;
+        color: #808080;
+        text-align: center;
+        position: relative;
+        top: 1em;
+        }
+
+    .CImageLink {
+        color: #808080;
+        font-style: italic;
+        }
+    a.CImageLink:link,
+    a.CImageLink:visited,
+    a.CImageLink:hover { color: #808080 }
+
+
+
+
+
+.Prototype {
+    font: 10pt "Courier New", Courier, monospace;
+    padding: 5px 3ex;
+    border-width: 1px; border-style: solid;
+    margin: 0 5ex 1.5em 5ex;
+    }
+
+    .Prototype td {
+        font-size: 10pt;
+        }
+
+    .PDefaultValue,
+    .PDefaultValuePrefix,
+    .PTypePrefix {
+        color: #8F8F8F;
+        }
+    .PTypePrefix {
+        text-align: right;
+        }
+    .PAfterParameters {
+        vertical-align: bottom;
+        }
+
+    .IE .Prototype table {
+        padding: 0;
+        }
+
+    .CFunction .Prototype {
+        background-color: #F4F4F4; border-color: #D0D0D0 }
+    .CProperty .Prototype {
+        background-color: #F4F4FF; border-color: #C0C0E8 }
+    .CVariable .Prototype {
+        background-color: #FFFFF0; border-color: #E0E0A0 }
+
+    .CClass .Prototype {
+        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
+        background-color: #F4F4F4;
+        }
+    .CInterface .Prototype {
+        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0D0;
+        background-color: #F4F4FF;
+        }
+
+    .CDatabaseIndex .Prototype,
+    .CConstant .Prototype {
+        background-color: #D0D0D0; border-color: #000000 }
+    .CType .Prototype,
+    .CEnumeration .Prototype {
+        background-color: #FAF0F0; border-color: #E0B0B0;
+        }
+    .CDatabaseTrigger .Prototype,
+    .CEvent .Prototype,
+    .CDelegate .Prototype {
+        background-color: #F0FCF0; border-color: #B8E4B8 }
+
+    .CToolTip .Prototype {
+        margin: 0 0 .5em 0;
+        white-space: nowrap;
+        }
+
+
+
+
+
+.Summary {
+    margin: 1.5em 5ex 0 5ex }
+
+    .STitle {
+        font-size: 12pt; font-weight: bold;
+        margin-bottom: .5em }
+
+
+    .SBorder {
+        background-color: #FFFFF0;
+        padding: 15px;
+        border: 1px solid #C0C060 }
+
+    /* In a frame IE 6 will make them too long unless you set the width to 100%.  Without frames it will be correct without a width
+        or slightly too long (but not enough to scroll) with a width.  This arbitrary weirdness simply astounds me.  IE 7 has the same
+        problem with frames, haven't tested it without.  */
+    .FramedContentPage .IE .SBorder {
+        width: 100% }
+
+    /*  A treat for Mozilla users.  Blatantly non-standard.  Will be replaced with CSS 3 attributes when finalized/supported.  */
+    .Firefox .SBorder {
+        -moz-border-radius: 20px }
+
+
+    .STable {
+        font-size: 9pt; width: 100% }
+
+    .SEntry {
+        width: 30% }
+    .SDescription {
+        width: 70% }
+
+
+    .SMarked {
+        background-color: #F8F8D8 }
+
+    .SDescription { padding-left: 2ex }
+    .SIndent1 .SEntry { padding-left: 1.5ex }   .SIndent1 .SDescription { padding-left: 3.5ex }
+    .SIndent2 .SEntry { padding-left: 3.0ex }   .SIndent2 .SDescription { padding-left: 5.0ex }
+    .SIndent3 .SEntry { padding-left: 4.5ex }   .SIndent3 .SDescription { padding-left: 6.5ex }
+    .SIndent4 .SEntry { padding-left: 6.0ex }   .SIndent4 .SDescription { padding-left: 8.0ex }
+    .SIndent5 .SEntry { padding-left: 7.5ex }   .SIndent5 .SDescription { padding-left: 9.5ex }
+
+    .SDescription a { color: #800000}
+    .SDescription a:active { color: #A00000 }
+
+    .SGroup td {
+        padding-top: .5em; padding-bottom: .25em }
+
+    .SGroup .SEntry {
+        font-weight: bold; font-variant: small-caps }
+
+    .SGroup .SEntry a { color: #800000 }
+    .SGroup .SEntry a:active { color: #F00000 }
+
+
+    .SMain td,
+    .SClass td,
+    .SDatabase td,
+    .SDatabaseTable td,
+    .SSection td {
+        font-size: 10pt;
+        padding-bottom: .25em }
+
+    .SClass td,
+    .SDatabase td,
+    .SDatabaseTable td,
+    .SSection td {
+        padding-top: 1em }
+
+    .SMain .SEntry,
+    .SClass .SEntry,
+    .SDatabase .SEntry,
+    .SDatabaseTable .SEntry,
+    .SSection .SEntry {
+        font-weight: bold;
+        }
+
+    .SMain .SEntry a,
+    .SClass .SEntry a,
+    .SDatabase .SEntry a,
+    .SDatabaseTable .SEntry a,
+    .SSection .SEntry a { color: #000000 }
+
+    .SMain .SEntry a:active,
+    .SClass .SEntry a:active,
+    .SDatabase .SEntry a:active,
+    .SDatabaseTable .SEntry a:active,
+    .SSection .SEntry a:active { color: #A00000 }
+
+
+
+
+
+.ClassHierarchy {
+    margin: 0 15px 1em 15px }
+
+    .CHEntry {
+        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
+        margin-bottom: 3px;
+        padding: 2px 2ex;
+        font-size: 10pt;
+        background-color: #F4F4F4; color: #606060;
+        }
+
+    .Firefox .CHEntry {
+        -moz-border-radius: 4px;
+        }
+
+    .CHCurrent .CHEntry {
+        font-weight: bold;
+        border-color: #000000;
+        color: #000000;
+        }
+
+    .CHChildNote .CHEntry {
+        font-style: italic;
+        font-size: 8pt;
+        }
+
+    .CHIndent {
+        margin-left: 3ex;
+        }
+
+    .CHEntry a:link,
+    .CHEntry a:visited,
+    .CHEntry a:hover {
+        color: #606060;
+        }
+    .CHEntry a:active {
+        color: #800000;
+        }
+
+
+
+
+
+#Index {
+    background-color: #FFFFFF;
+    }
+
+/*  As opposed to .PopupSearchResultsPage #Index  */
+.IndexPage #Index,
+.FramedIndexPage #Index,
+.FramedSearchResultsPage #Index {
+    padding: 15px;
+    }
+
+.IndexPage #Index {
+    border-width: 0 0 1px 1px;
+    border-style: solid;
+    border-color: #000000;
+    font-size: 9pt;  /* To make 27ex match the menu's 27ex. */
+    margin-left: 27ex;
+    }
+
+
+    .IPageTitle {
+        font-size: 20pt; font-weight: bold;
+        color: #FFFFFF; background-color: #7070C0;
+        padding: 10px 15px 10px 15px;
+        border-width: 0 0 3px 0; border-color: #000000; border-style: solid;
+        margin: -15px -15px 0 -15px }
+
+    .FramedSearchResultsPage .IPageTitle {
+        margin-bottom: 15px;
+        }
+
+    .INavigationBar {
+        font-size: 10pt;
+        text-align: center;
+        background-color: #FFFFF0;
+        padding: 5px;
+        border-bottom: solid 1px black;
+        margin: 0 -15px 15px -15px;
+        }
+
+    .INavigationBar a {
+        font-weight: bold }
+
+    .IHeading {
+        font-size: 16pt; font-weight: bold;
+        padding: 2.5em 0 .5em 0;
+        text-align: center;
+        width: 3.5ex;
+        }
+    #IFirstHeading {
+        padding-top: 0;
+        }
+
+    .IEntry {
+        font-size: 10pt;
+        padding-left: 1ex;
+        }
+    .PopupSearchResultsPage .IEntry {
+        font-size: 8pt;
+        padding: 1px 5px;
+        }
+    .PopupSearchResultsPage .Opera9 .IEntry,
+    .FramedSearchResultsPage .Opera9 .IEntry {
+        text-align: left;
+        }
+    .FramedSearchResultsPage .IEntry {
+        padding: 0;
+        }
+
+    .ISubIndex {
+        padding-left: 3ex; padding-bottom: .5em }
+    .PopupSearchResultsPage .ISubIndex {
+        display: none;
+        }
+
+    /*  While it may cause some entries to look like links when they aren't, I found it's much easier to read the
+         index if everything's the same color.  */
+    .ISymbol {
+        font-weight: bold; color: #900000  }
+
+    .IndexPage .ISymbolPrefix,
+    .FramedIndexPage .ISymbolPrefix {
+        font-size: 10pt;
+        text-align: right;
+        color: #C47C7C;
+        background-color: #F8F8F8;
+        border-right: 3px solid #E0E0E0;
+        border-left: 1px solid #E0E0E0;
+        padding: 0 1px 0 2px;
+        }
+    .PopupSearchResultsPage .ISymbolPrefix,
+    .FramedSearchResultsPage .ISymbolPrefix {
+        color: #900000;
+        }
+    .PopupSearchResultsPage .ISymbolPrefix {
+        font-size: 8pt;
+        }
+
+    .IndexPage #IFirstSymbolPrefix,
+    .FramedIndexPage #IFirstSymbolPrefix {
+        border-top: 1px solid #E0E0E0;
+        }
+    .IndexPage #ILastSymbolPrefix,
+    .FramedIndexPage #ILastSymbolPrefix {
+        border-bottom: 1px solid #E0E0E0;
+        }
+    .IndexPage #IOnlySymbolPrefix,
+    .FramedIndexPage #IOnlySymbolPrefix {
+        border-top: 1px solid #E0E0E0;
+        border-bottom: 1px solid #E0E0E0;
+        }
+
+    a.IParent,
+    a.IFile {
+        display: block;
+        }
+
+    .PopupSearchResultsPage .SRStatus {
+        padding: 2px 5px;
+        font-size: 8pt;
+        font-style: italic;
+        }
+    .FramedSearchResultsPage .SRStatus {
+        font-size: 10pt;
+        font-style: italic;
+        }
+
+    .SRResult {
+        display: none;
+        }
+
+
+
+#Footer {
+    font-size: 8pt;
+    color: #989898;
+    text-align: right;
+    }
+
+#Footer p {
+    text-indent: 0;
+    margin-bottom: .5em;
+    }
+
+.ContentPage #Footer,
+.IndexPage #Footer {
+    text-align: right;
+    margin: 2px;
+    }
+
+.FramedMenuPage #Footer {
+    text-align: center;
+    margin: 5em 10px 10px 10px;
+    padding-top: 1em;
+    border-top: 1px solid #C8C8C8;
+    }
+
+    #Footer a:link,
+    #Footer a:hover,
+    #Footer a:visited { color: #989898 }
+    #Footer a:active { color: #A00000 }
+
diff --git a/doc/apidoc/html/styles/2.css b/doc/apidoc/html/styles/2.css
new file mode 100755
index 0000000000000000000000000000000000000000..bd55024edc3a82ffd88ce8a75288a780923dc721
--- /dev/null
+++ b/doc/apidoc/html/styles/2.css
@@ -0,0 +1,45 @@
+/*
+   IMPORTANT: If you're editing this file in the output directory of one of
+   your projects, your changes will be overwritten the next time you run
+   Natural Docs.  Instead, copy this file to your project directory, make your
+   changes, and you can use it with -s.  Even better would be to make a CSS
+   file in your project directory with only your changes, which you can then
+   use with -s [original style] [your changes].
+
+   On the other hand, if you're editing this file in the Natural Docs styles
+   directory, the changes will automatically be applied to all your projects
+   that use this style the next time Natural Docs is run on them.
+
+   This file is part of Natural Docs, which is Copyright © 2003-2004 Greg Valure
+   Natural Docs is licensed under the GPL
+*/
+
+/*  NO longer necessary!!
+  .Prototype td {
+    font-size: 8pt;
+    }
+*/
+
+.CRequirementTestcase .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+.CRequirementFunction .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+.CRequirementProcedure .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+.CRequirementType .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+
+.MGroupContent {
+    font-variant: normal; 
+    font-weight: normal;
+    display: none;
+}
+        
+/*  NO longer necessary!!
+@media print {
+
+ blockquote {
+     overflow: visible;
+     }
+
+ .IE blockquote {
+     width: auto;
+     }
+}
+*/
diff --git a/doc/apidoc/html/styles/main.css b/doc/apidoc/html/styles/main.css
new file mode 100755
index 0000000000000000000000000000000000000000..a672a94920c6766641af723c471f3e270ccf3686
--- /dev/null
+++ b/doc/apidoc/html/styles/main.css
@@ -0,0 +1,2 @@
+@import URL("1.css");
+@import URL("2.css");
diff --git a/src/TCCAssertion.cc b/src/TCCAssertion.cc
new file mode 100644
index 0000000000000000000000000000000000000000..c1b0f8d09ac9a114dd509955576878a712652a9b
--- /dev/null
+++ b/src/TCCAssertion.cc
@@ -0,0 +1,57 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCAssertion.cc
+//  Description:        TCC Useful Functions: Assert Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-11-12
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TCCAssertion_Functions.hh"
+
+namespace TCCAssertion__Functions 
+{
+  
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__assert
+// 
+//  Purpose:
+//    Implement TTCN assertion. 
+//
+//  Parameters:
+//    pl__assertMessage - *in* *charstring* - assertion message
+//    pl__predicate - *in* *boolean* - boolean predicate
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    At the point of this function call, the assertion predicate must be true,
+//    else assertion fails that results in a dynamic test case error
+//    To use assertion optimized build shall be switched on with switch -O2 and
+//    NDEBUG shall not be defined
+// 
+///////////////////////////////////////////////////////////////////////////////
+  void f__assert(const CHARSTRING& pl__assertMessage, const BOOLEAN& pl__predicate)
+  {
+    #ifdef NDEBUG
+    #else
+    if (!(pl__predicate)) {
+      TTCN_error("Assertion failed: %s!",(const char*)pl__assertMessage);  
+    }
+    #endif
+  }
+}
diff --git a/src/TCCAssertion_Functions.ttcn b/src/TCCAssertion_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..dba6261bcee0d9ab3ec76b26b325d58a6cef28e6
--- /dev/null
+++ b/src/TCCAssertion_Functions.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCAssertion_Functions.ttcn
+//  Description:        TCC Useful Functions: Assert Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-11-12
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCAssertion_Functions
+// 
+//  Purpose:
+//    This module supports assertion handling
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCAssertion_Functions {
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_assert
+// 
+//  Purpose:
+//    Implement TTCN assertion. 
+//
+//  Parameters:
+//    pl_assertMessage - *in* *charstring* - assertion message
+//    pl_predicate - *in* *boolean* - boolean predicate
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    At the point of this function call, the assertion predicate must be true,
+//    else assertion fails that results in a dynamic test case error
+//    To use assertion optimized build shall be switched on with switch -O2 and
+//    NDEBUG shall not be defined
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_assert(charstring pl_assertMessage, boolean pl_predicate);
+
+}
diff --git a/src/TCCConversion.cc b/src/TCCConversion.cc
new file mode 100644
index 0000000000000000000000000000000000000000..f3d717039b671977d061acf15bdf417bf2814715
--- /dev/null
+++ b/src/TCCConversion.cc
@@ -0,0 +1,502 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCConversion.cc
+//  Description:        TCC Useful Functions: Conversion Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2013-04-15
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TCCConversion_Functions.hh"
+#include <ctype.h>
+#include <strings.h>
+#include <string.h>
+
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+namespace TCCConversion__Functions
+{
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__putInLowercase
+//
+//  Purpose:
+//    Put charstring to lowercase
+//
+//  Parameters:
+//    pl__string - *in* *charstring* - charstring
+//
+//  Return Value:
+//    charstring - converted value
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  CHARSTRING f__putInLowercase(const CHARSTRING& pl__string)
+  {
+    int str_len = pl__string.lengthof();
+    char *tmp_buf = new char[str_len];
+    const char *src_ptr = pl__string;
+    for (int  i = 0; i < str_len; i++)
+    tmp_buf[i] = tolower(src_ptr[i]);
+    CHARSTRING ret_val(str_len, tmp_buf);
+    delete [] tmp_buf;
+    return ret_val;
+  }
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__putInUppercase
+//
+//  Purpose:
+//    Put charstring to uppercase
+//
+//  Parameters:
+//    pl__string - *in* *charstring* - charstring
+//
+//  Return Value:
+//    charstring - converted value
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  CHARSTRING f__putInUppercase(const CHARSTRING& pl__string)
+  {
+    int str_len = pl__string.lengthof();
+    char *tmp_buf = new char[str_len];
+    const char *src_ptr = pl__string;
+    for (int  i = 0; i < str_len; i++)
+    tmp_buf[i] = toupper(src_ptr[i]);
+    CHARSTRING ret_val(str_len, tmp_buf);
+    delete [] tmp_buf;
+    return ret_val;
+  }
+
+  ///////////////////////////////////////////////////////////////////////////////
+//  Function: f__addOctetstring
+//
+//  Purpose:
+//    Add two integer values represented in OCTETSTRING
+//
+//  Parameters:
+//    par1 - *in* *octetstring* - first octetstring value
+//    par2 - *in* *octetstring* - second octetstring value
+//
+//  Return Value:
+//    octetstring - sum of input
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Negative values are unhandled!
+//
+///////////////////////////////////////////////////////////////////////////////
+OCTETSTRING f__addOctetstring(const OCTETSTRING& par1, const OCTETSTRING& par2)
+{
+	par1.must_bound("incOctetstring() parameter #1: unbound octetstring value");
+	par2.must_bound("incOctetstring() parameter #2: unbound octetstring value");
+
+	size_t len1 = (size_t)par1.lengthof();
+	size_t len2 = (size_t)par2.lengthof();
+	size_t len = len1 > len2 ? len1 : len2;
+	OCTETSTRING ret_val = int2oct(0,len);
+
+    const unsigned char* data1 = (const unsigned char*)par1;
+    const unsigned char* data2 = (const unsigned char*)par2;
+
+	int tmp = 0;
+	int carry = 0;
+	for (size_t idx = 0; idx<len; idx++)
+	{
+		if (len1 > idx) { tmp = data1[len1-idx-1]&0xff; }  else { tmp = 0x00; }
+		if (len2 > idx) { tmp += (data2[len2-idx-1]&0xff) + carry; } else { tmp += carry; }
+		carry = tmp >> 8;
+		ret_val[len-1-idx] = int2oct(tmp&0xff,1);
+	}
+	if (carry) { ret_val = int2oct(carry&0xff,1) + ret_val; }
+	return ret_val;
+
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__subOctetstring
+//
+//  Purpose:
+//    Substract two integer values represented in OCTETSTRING
+//
+//  Parameters:
+//    par1 - *in* *octetstring* - first octetstring value
+//    par2 - *in* *octetstring* - second octetstring value
+//
+//  Return Value:
+//    octetstring - difference of input
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Negative values are unhandled!
+//
+///////////////////////////////////////////////////////////////////////////////
+OCTETSTRING f__subOctetstring(const OCTETSTRING& par1, const OCTETSTRING& par2)
+{
+	par1.must_bound("decOctetstring() parameter #1: unbound octetstring value");
+	par2.must_bound("decOctetstring() parameter #2: unbound octetstring value");
+
+	size_t len1 = (size_t)par1.lengthof();
+	size_t len2 = (size_t)par2.lengthof();
+	size_t len = len1 > len2 ? len1 : len2;
+	OCTETSTRING ret_val = int2oct(0,len);
+
+    const unsigned char* data1 = (const unsigned char*)par1;
+    const unsigned char* data2 = (const unsigned char*)par2;
+
+	int tmp = 0;
+	int carry = 1;	// +1 for two's complement
+	for (size_t idx = 0; idx<len; idx++)
+	{
+		if (len1 > idx) { tmp = data1[len1-idx-1]&0xff; }  else { tmp = 0x00; }
+		if (len2 > idx) { tmp += ((~data2[len2-idx-1])&0xff) + carry; } else { tmp += carry + 0xff; }
+		carry = tmp >> 8;
+		ret_val[len-1-idx] = int2oct(tmp&0xff,1);
+	}
+	return ret_val;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__compOctetstring
+//
+//  Purpose:
+//    Compare two integer values represented in OCTETSTRING
+//
+//  Parameters:
+//    par1 - *in* *octetstring* - first octetstring value
+//    par2 - *in* *octetstring* - second octetstring value
+//
+//  Return Value:
+//    integer - 0: par1 = par2
+//              1: par1>par2
+//              2: par1<par2
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Negative values are unhandled!
+//
+///////////////////////////////////////////////////////////////////////////////
+INTEGER f__compOctetstring(const OCTETSTRING& par1, const OCTETSTRING& par2)
+{
+	// Return value 0: par1 = par2, 1: par1>par2, 2: par1<par2
+	par1.must_bound("decOctetstring() parameter #1: unbound octetstring value");
+	par2.must_bound("decOctetstring() parameter #2: unbound octetstring value");
+
+	size_t len1 = (size_t)par1.lengthof();
+	size_t len2 = (size_t)par2.lengthof();
+	size_t len = len1 > len2 ? len1 : len2;
+
+    const unsigned char* data1 = (const unsigned char*)par1;
+    const unsigned char* data2 = (const unsigned char*)par2;
+
+	int tmp1 = 0;
+	int tmp2 = 0;
+	for (size_t idx = 0; idx<len; idx++)
+	{
+		if (len1 + idx>= len ) { tmp1 = data1[len1-len+idx]&0xff; }  else { tmp1 = 0x00; }
+		if (len2 + idx>= len) { tmp2 = data2[len2-len+idx]&0xff; } else { tmp2 = 0x00; }
+		if (tmp1>tmp2) { return 1; }
+		if (tmp1<tmp2) { return 2; }
+	}
+	return 0;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_substr_token
+//
+//  Purpose:
+//    The function returns a substring from a value. The starting and the ending
+//    points are defined by the begin and end tokens.
+//
+//  Parameters:
+//    str - *in* *charstring* - the value
+//    begin_token - *in* *charstring* - begin token
+//    end_token - *in* *charstring* - end token
+//
+//  Return Value:
+//    charstring. If one of the tokens is not found it returns an empty string
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    If end_token is an empty string the function returns the part of the value
+//    after the begin_token.
+//    If begin_token is an empty string the function returns the part of the
+//    value until the end_token.
+//    If both of them empty string the function returns the part whole value
+//
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING f__substr__token(const CHARSTRING& str,
+                                 const CHARSTRING& begin_token,
+                                 const CHARSTRING& end_token){
+
+  const char* InStr=(const char*)str;
+  const char* SubStrA=(const char*)begin_token;
+  const char* SubStrB=(const char*)end_token;
+  int lenA=begin_token.lengthof();
+  const char* first=NULL;
+  const char* second;
+
+  if(str.lengthof()==0) return "";
+  if(begin_token.lengthof()>0){
+    first=strstr(InStr,SubStrA);
+    if(first==NULL) return "";
+    first+=lenA;
+  } else first=str;
+  if(end_token.lengthof()>0){
+    second=strstr(first,SubStrB);
+    if(second==NULL) return "";
+  } else second=InStr+str.lengthof();
+  return CHARSTRING(second-first,first);
+}
+
+OCTETSTRING f__substr__token__oct(const OCTETSTRING& str,
+                                 const OCTETSTRING& begin_token,
+                                 const OCTETSTRING& end_token){
+
+  const unsigned char* InStr=(const unsigned char*)str;
+  const unsigned char* SubStrA=(const unsigned char*)begin_token;
+  const unsigned char* SubStrB=(const unsigned char*)end_token;
+  size_t lenA=begin_token.lengthof();
+  size_t lenB=end_token.lengthof();
+  size_t lenstr=str.lengthof();
+  const unsigned char* first=NULL;
+  const unsigned char* second=NULL;
+
+  if(lenstr==0) return OCTETSTRING(0,NULL);
+  if(lenA>0){
+    first=(const unsigned char*)memmem(InStr,lenstr,SubStrA,lenA);
+    if(first==NULL) return OCTETSTRING(0,NULL);
+    first+=lenA;
+  } else first=InStr;
+  if(end_token.lengthof()>0){
+    second=(const unsigned char*)memmem(first,lenstr-(first-InStr),SubStrB,lenB);
+    if(second==NULL) return OCTETSTRING(0,NULL);
+  } else second=InStr+lenstr;
+  return OCTETSTRING(second-first,first);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_strstr
+//
+//  Purpose:
+//    The f_strstr function locates the first  occurrence  of  the string  s2
+//    in string s1 and returns an index of starting pont of the located string,
+//    or  -1 if the string is not found. If  s2 is an empty, the  func-
+//    tion returns 0.
+//
+//  Parameters:
+//    s1 - *in* *charstring* - input string
+//    s2 - *in* *charstring* - string to search
+//    offset - *in* *integer* - start offset.
+//
+//  Return Value:
+//    index of starting pont of the located string
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    The offset determines the starting point of the search. Any occurance of
+//    the s2 before the offset is ignored. The offset is optional
+//
+///////////////////////////////////////////////////////////////////////////////
+INTEGER f__strstr(const CHARSTRING& s1,
+                                 const CHARSTRING& s2,
+                                 const INTEGER& offset){
+  if(s2.lengthof()==0) return offset;
+  if(s1.lengthof()==0) return -1;
+  if(offset<0) return -1;
+  if(s1.lengthof()<=offset) return -1;
+
+  const char* str1=(const char*)s1+(int)offset;
+  const char* str2=(const char*)s2;
+  const char* first=strstr(str1,str2);
+  if(first) return first-str1+(int)offset;
+  return -1;
+}
+
+INTEGER f__strstr__oct(const OCTETSTRING& s1,
+                                 const OCTETSTRING& s2,
+                                 const INTEGER& offset){
+  if(s2.lengthof()==0) return 0;
+  if(s1.lengthof()==0) return -1;
+  if(offset<0) return -1;
+  if(s1.lengthof()<=offset) return -1;
+
+  const unsigned char* str1=(const unsigned char*)s1+(int)offset;
+  const unsigned char* str2=(const unsigned char*)s2;
+  const unsigned char* first=(const unsigned char*)memmem(str1,s1.lengthof()-(int)offset,str2,s2.lengthof());
+  if(first) return first-str1+(int)offset;
+  return -1;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_convertIPAddrToBinary
+//
+//  Purpose:
+//    Converts an IPv4 and IPv6 address to its hex representation.
+//    IPv6 address is assumed if the input string contains ':'
+//
+//  Parameters:
+//    pl_ip - *in* *charstring* - input string
+//
+//  Return Value:
+//    hex value of the Ip in an octetstring
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//
+///////////////////////////////////////////////////////////////////////////////
+OCTETSTRING f__convertIPAddrToBinary(const CHARSTRING& pl__ip) {
+  bool ipv6 = index(pl__ip, ':');
+  unsigned char addr[17];
+
+  if(inet_pton(ipv6 ? AF_INET6 : AF_INET, pl__ip, addr)==1) {
+    return OCTETSTRING(ipv6 ? 16 : 4, addr);
+  }
+
+  return OCTETSTRING(0, addr);
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__convertBinaryToIPAddr
+//
+//  Purpose:
+//    Converts an IPv4 and IPv6 address to its hex representation.
+//    IPv6 address is assumed if the input string contains ':'
+//
+//  Parameters:
+//    pl_ip - *in* *charstring* - input string
+//
+//  Return Value:
+//    hex value of the Ip in an octetstring
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING f__convertBinaryToIPAddr(const OCTETSTRING& pl__ip) {
+  bool ipv6 = false;
+  int l=pl__ip.lengthof();
+  char str[INET6_ADDRSTRLEN];
+  if (l==16){
+    ipv6 = true;
+  } else if( l!=4){
+    return CHARSTRING(0, str);
+  }
+
+  if(inet_ntop(ipv6 ? AF_INET6 : AF_INET, (const unsigned char*)pl__ip, str, INET6_ADDRSTRLEN)!=NULL){
+    return CHARSTRING(str);
+  }
+    
+  return CHARSTRING(0, str);
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_oct2char_safe
+//
+//  Purpose:
+//    Fault tolerant version of the oct2str Titan built-in function.
+//
+//  Parameters:
+//    s1 - *in* *octetsttring* - input string
+//    s2 - *out* *charstring* - output string
+//
+//  Return Value:
+//    false on fault, ie. on unbound input or invalid character in input.
+//    true on success
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    On fault, the longest chunk that could be decoded is returned.
+//
+///////////////////////////////////////////////////////////////////////////////
+BOOLEAN f__oct2char__safe(const OCTETSTRING& par1, CHARSTRING& par2){
+  if (!par1.is_bound())
+    return BOOLEAN(false);
+  int value_length = par1.lengthof();
+  const unsigned char *octets_ptr = (const unsigned char*)par1;
+  for (int i = 0; i < value_length; i++) {
+    unsigned char octet = octets_ptr[i];
+    if (octet > 127) {
+      par2 = CHARSTRING(i, (const char*)octets_ptr);
+      return BOOLEAN(false);
+    }
+  }
+  par2 = CHARSTRING(value_length, (const char*)octets_ptr);
+  return BOOLEAN(true);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_isNumber
+//
+//  Purpose:
+//    Checks if a charstring starts with digits.
+//    If yes, then it returns the integer number in pl_number and 
+//    the remaining string as a return value.
+//    If the string doesn't start with digits, it will return 0 in pl_number.
+//
+//  Parameters:
+//    pl_string - *in* *charstring* - input string
+//    pl_number - *out* *integer* - output integer
+//
+//  Return Value:
+//    charstring
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING f__isNumber(const CHARSTRING& pl__string, INTEGER& pl__number){
+  char* ch = (char*)(const char*)pl__string;
+  char* end;
+  pl__number = strtol(ch, &end, 10);
+  if(end == NULL){
+    return CHARSTRING(0,(const char*)"");
+  } else {
+    return CHARSTRING(pl__string.lengthof() - (end - ch), end);
+  }
+}
+
+}
diff --git a/src/TCCConversion_Functions.ttcn b/src/TCCConversion_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..031292ed694a19e360d87846ca7231982156ec2b
--- /dev/null
+++ b/src/TCCConversion_Functions.ttcn
@@ -0,0 +1,959 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCConversion_Functions.ttcn
+//  Description:        TCC Useful Functions: Conversion Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2013-09-23
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCConversion_Functions
+//
+//  Purpose:
+//    This module supports string conversions
+//
+//  Module Parameters:
+//      -
+//
+//  Module depends on:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCConversion_Functions {
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_putInLowercase
+//
+//  Purpose:
+//    Put charstring to lowercase
+//
+//  Parameters:
+//    pl_string - *in* *charstring* - charstring
+//
+//  Return Value:
+//    charstring - converted value
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  external function f_putInLowercase(charstring pl_string) return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_putInUppercase
+//
+//  Purpose:
+//    Put charstring to uppercase
+//
+//  Parameters:
+//    pl_string - *in* *charstring* - charstring
+//
+//  Return Value:
+//    charstring - converted value
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  external function f_putInUppercase(charstring pl_string) return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_unichar2charstr
+//
+//  Purpose:
+//    Convert universal charstring 2 charstring
+//
+//  Parameters:
+//    p_unichar - *in* *charstring* - unichar 2 convert
+//
+//  Return Value:
+//    charstring - converted value
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+function f_unichar2charstr (in universal charstring p_unichar) return charstring
+{
+  var charstring vl_char := "";
+
+  if (lengthof(p_unichar)==0) {return ""}
+  for (var integer i:= 0;i<lengthof(p_unichar);i:=i+1)
+  {
+    vl_char := vl_char & int2char(unichar2int(p_unichar[i]));
+  }
+  return vl_char
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_charstr2unichar
+//
+//  Purpose:
+//    Convert charstring 2 universal charstring
+//
+//  Parameters:
+//    p_char - *in* *charstring* - char 2 convert
+//
+//  Return Value:
+//    universal charstring - converted value
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+function f_charstr2unichar (in  charstring p_char) return universal charstring
+{
+  var universal charstring vl_unichar := "";
+
+  if (lengthof(p_char)==0) { return "" }
+  for (var integer i:= 0;i<lengthof(p_char);i:=i+1)
+  {
+    vl_unichar := vl_unichar & int2unichar(char2int(p_char[i]));
+  }
+  return vl_unichar
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_replaceFirstOccurenceOfSubstring
+//
+//  Purpose:
+//    Replace first occurance of parSubStrA with parSubStrB in parInStr
+//
+//  Parameters:
+//    parInStr - *in* *charstring* - input string
+//    parSubStrA  - *in* *charstring* - string to replace
+//    parSubStrB  - *in* *charstring* - string to replace with
+//
+//  Return Value:
+//    charstring - modified input string
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+function f_replaceFirstOccurenceOfSubstring(
+  in charstring parInStr ,
+  in charstring parSubStrA,
+  in charstring parSubStrB) return charstring
+
+{
+  var integer i:=f_strstr(parInStr,parSubStrA);
+  var charstring OutStr;
+
+  if(i==-1){
+    return parInStr;
+  }
+  OutStr:=
+    substr(parInStr,0,i)&parSubStrB&
+    substr(parInStr,i+lengthof(parSubStrA),
+    lengthof(parInStr)-i-lengthof(parSubStrA));
+
+  return OutStr;
+
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_replaceEveryOccurenceOfSubstring
+//
+//  Purpose:
+//    Replace every occurance of parSubStrA with parSubStrB in parInStr
+//
+//  Parameters:
+//    parInStr - *in* *charstring* - input string
+//    parSubStrA  - *in* *charstring* - string to replace
+//    parSubStrB  - *in* *charstring* - string to replace with
+//
+//  Return Value:
+//    charstring - modified input string
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+function f_replaceEveryOccurenceOfSubstring(
+  in charstring parInStr,
+  in charstring parSubStrA,
+  in charstring parSubStrB) return charstring
+{
+  var integer startRegion := 0;
+  var integer i:=f_strstr(parInStr,parSubStrA);
+  var charstring OutStr := "";
+  var integer vl_sizeA := lengthof(parSubStrA);
+
+  while (i!=-1)
+  {
+    OutStr := OutStr & substr(parInStr,startRegion,i - startRegion) & parSubStrB;
+
+    //continue from saved pointer offset with the length of replacement string
+    startRegion:=i+ vl_sizeA;
+    i:=f_strstr(parInStr,parSubStrA,startRegion);
+  }
+
+  var integer remainderSize := lengthof(parInStr) - startRegion;
+  if(remainderSize > 0) {
+    OutStr := OutStr & substr(parInStr, startRegion, remainderSize);
+  }
+
+  return OutStr;
+}
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_replaceFirstOccurenceOfPattern
+//
+//  Purpose:
+//    Replace first occurance of pattern parSubStrA with parSubStrB in parInStr
+//
+//  Parameters:
+//    parInStr - *in* *charstring* - input string
+//    parSubStrA  - *in* *charstring* - pattern to replace
+//    parSubStrB  - *in* *charstring* - string to replace with
+//
+//  Return Value:
+//    charstring - modified input string
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+function f_replaceFirstOccurenceOfPattern(
+  in charstring parInStr,
+  in charstring parSubStrA,
+  in charstring parSubStrB) return charstring
+
+{
+  var charstring v_SubStrA;
+
+  v_SubStrA:=regexp(parInStr, parSubStrA, 0);
+  if(v_SubStrA!="") {
+    return f_replaceFirstOccurenceOfSubstring(parInStr,v_SubStrA,parSubStrB);
+  }
+  else {
+    return parInStr;
+  };
+
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_replaceEveryOccurenceOfPattern
+//
+//  Purpose:
+//    Replace every occurance of pattern parSubStrA with parSubStrB in parInStr
+//
+//  Parameters:
+//    parInStr - *in* *charstring* - input string
+//    parSubStrA  - *in* *charstring* - string to replace
+//    parSubStrB  - *in* *charstring* - string to replace with
+//
+//  Return Value:
+//    charstring - modified input string
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+function f_replaceEveryOccurenceOfPattern(
+  in charstring parInStr,
+  in charstring parSubStrA,
+  in charstring parSubStrB) return charstring
+{
+  var charstring OutStr,v_SubStrA;
+  var charstring MyPattern:= parSubStrA;
+
+  OutStr := parInStr;
+  v_SubStrA:=regexp(OutStr,MyPattern,0);
+
+  while(v_SubStrA!="")
+  {
+    OutStr:=f_replaceEveryOccurenceOfSubstring(OutStr,v_SubStrA,parSubStrB);
+    v_SubStrA:=regexp(OutStr,MyPattern,0);
+  }
+
+  return OutStr;
+
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_addOctetstring
+//
+//  Purpose:
+//    Add two integer values represented in OCTETSTRING
+//
+//  Parameters:
+//    par1 - *in* *octetstring* - first octetstring value
+//    par2 - *in* *octetstring* - second octetstring value
+//
+//  Return Value:
+//    octetstring - sum of input
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Negative values are unhandled!
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_addOctetstring(in octetstring par1, in octetstring par2)
+return octetstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_subOctetstring
+//
+//  Purpose:
+//    Substract two integer values represented in OCTETSTRING
+//
+//  Parameters:
+//    par1 - *in* *octetstring* - first octetstring value
+//    par2 - *in* *octetstring* - second octetstring value
+//
+//  Return Value:
+//    octetstring - difference of input
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Negative values are unhandled!
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_subOctetstring(in octetstring par1, in octetstring par2)
+return octetstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_compOctetstring
+//
+//  Purpose:
+//    Compare two integer values represented in OCTETSTRING
+//
+//  Parameters:
+//    par1 - *in* *octetstring* - first octetstring value
+//    par2 - *in* *octetstring* - second octetstring value
+//
+//  Return Value:
+//    integer - 0: par1 = par2
+//              1: par1>par2
+//              2: par1<par2
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Negative values are unhandled!
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_compOctetstring(in octetstring par1, in octetstring par2)
+return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_substr_token
+//
+//  Purpose:
+//    The function returns a substring from a value. The starting and the ending
+//    points are defined by the begin and end tokens.
+//
+//  Parameters:
+//    str - *in* *charstring* - the value
+//    begin_token - *in* *charstring* - begin token
+//    end_token - *in* *charstring* - end token
+//
+//  Return Value:
+//    charstring. If one of the tokens is not found it returns an empty string
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    If end_token is an empty string the function returns the part of the value
+//    after the begin_token.
+//    If begin_token is an empty string the function returns the part of the
+//    value until the end_token.
+//    If both of them empty string the function returns the part whole value
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_substr_token(in charstring str,
+                                 in charstring begin_token,
+                                 in charstring end_token) return charstring;
+
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_substr_token_oct
+//
+//  Purpose:
+//    The function returns a substring from a value. The starting and the ending
+//    points are defined by the begin and end tokens.
+//
+//  Parameters:
+//    str - *in* *octetstring* - the value
+//    begin_token - *in* *octetstring* - begin token
+//    end_token - *in* *octetstring* - end token
+//
+//  Return Value:
+//    charstring. If one of the tokens is not found it returns an empty string
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    If end_token is an empty string the function returns the part of the value
+//    after the begin_token.
+//    If begin_token is an empty string the function returns the part of the
+//    value until the end_token.
+//    If both of them empty string the function returns the part whole value
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_substr_token_oct(in octetstring str,
+                                 in octetstring begin_token,
+                                 in octetstring end_token) return octetstring;
+
+
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_substr_all_token
+//
+//  Purpose:
+//    The function returns a list of substrings from a value. The starting and the ending
+//    points are defined by the begin and end tokens.
+//
+//  Parameters:
+//    str - *in* *charstring* - the value
+//    begin_token - *in* *charstring* - begin token
+//    end_token - *in* *charstring* - end token
+//
+//  Return Value:
+//    record of charstring. 
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    If end_token is an empty string the function returns the part of the value
+//    after the begin_token.
+//    If begin_token is an empty string the function returns the part of the
+//    value until the end_token.
+//    If both of them empty string the function returns the part whole value
+//
+//  Note:
+//    These function can be used with 
+//           either TITAN CRL 113 200/5 R3A or newer
+//           or with function test run time
+//    because the function requires a type compatibility support for record of types
+//
+///////////////////////////////////////////////////////////////////////////////
+
+type record of charstring TCC_Conversion_ch_list;
+
+function f_substr_all_tokens(in charstring str,
+  in charstring begin_token,
+  in charstring end_token) return TCC_Conversion_ch_list
+{
+  var TCC_Conversion_ch_list result := {};
+  var integer startIndex := 0;
+  var integer endIndex := 0;
+  var boolean found := true;
+
+  if(lengthof(begin_token) ==0 and lengthof(end_token) == 0) { 
+    result[0]:=str;
+    return result;
+  }
+
+  while (found)
+  {
+    startIndex := f_strstr(str, begin_token, startIndex);
+    if (startIndex > -1)
+    {
+      
+      startIndex := startIndex + lengthof(begin_token);
+      
+      if(lengthof(end_token) == 0){ // empty end token means until the end of the string
+        endIndex := lengthof(str);
+      } else {
+        endIndex := f_strstr(str, end_token, startIndex);
+      }
+
+      if (endIndex > -1) {
+        result[sizeof(result)] := substr(str, startIndex, endIndex - startIndex); // append to string list
+        startIndex := endIndex + lengthof(end_token);
+      } else {
+        found := false;
+      }
+
+    } else {
+      found := false;
+    }
+  }
+
+  return result;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_substr_all_token
+//
+//  Purpose:
+//    The function returns a list of substrings from a value. The starting and the ending
+//    points are defined by the begin and end tokens. The returned values converted to charstring if possible
+//
+//  Parameters:
+//    str - *in* *charstring* - the value
+//    begin_token - *in* *charstring* - begin token
+//    end_token - *in* *charstring* - end token
+//
+//  Return Value:
+//    record of charstring. 
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    If end_token is an empty string the function returns the part of the value
+//    after the begin_token.
+//    If begin_token is an empty string the function returns the part of the
+//    value until the end_token.
+//    If both of them empty string the function returns the part whole value
+//
+//  Note:
+//    These function can be used with 
+//           either TITAN CRL 113 200/5 R3A or newer
+//           or with function test run time
+//    because the function requires a type compatibility support for record of types
+//
+///////////////////////////////////////////////////////////////////////////////
+
+function f_substr_all_tokens_oct(in octetstring str,
+  in octetstring begin_token,
+  in octetstring end_token) return TCC_Conversion_ch_list
+{
+  var TCC_Conversion_ch_list result := {};
+  var octetstring token := ''O;
+  var integer startIndex := 0;
+  var integer endIndex := 0;
+  var boolean found := true;
+  while (found)
+  {
+    startIndex := f_strstr_oct(str, begin_token, startIndex);
+    if (startIndex > -1)
+    {
+      startIndex := startIndex + lengthof(begin_token);
+      endIndex := f_strstr_oct(str, end_token, startIndex);
+
+      if (endIndex > -1) {
+        token := substr(str, startIndex, endIndex - startIndex);
+        if(not f_oct2char_safe(token, result[sizeof(result)])) {// append to string list
+          
+          return valueof(TCC_Conversion_ch_list:{})
+        }
+        startIndex := endIndex + lengthof(end_token);
+      } else {
+        found := false;
+      }
+
+    } else {
+      found := false;
+    }
+  }
+
+  return result;
+}
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_strstr
+//
+//  Purpose:
+//    The f_strstr function locates the first  occurrence  of  the string  s2
+//    in string s1 and returns an index of starting pont of the located string,
+//    or  -1 if the string is not found. If  s2 is an empty, the  func-
+//    tion returns 0.
+//
+//  Parameters:
+//    s1 - *in* *charstring* - input string
+//    s2 - *in* *charstring* - string to search
+//    offset - *in* *integer* - start offset.
+//
+//  Return Value:
+//    index of starting pont of the located string
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    The offset determines the starting point of the search. Any occurance of
+//    the s2 before the offset is ignored. The offset is optional
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_strstr(in charstring s1,
+                                 in charstring s2,
+                                 in integer offset:=0) return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_strstr_oct
+//
+//  Purpose:
+//    The f_strstr function locates the first  occurrence  of  the string  s2
+//    in string s1 and returns an index of starting pont of the located string,
+//    or  -1 if the string is not found. If  s2 is an empty, the  func-
+//    tion returns 0.
+//
+//  Parameters:
+//    s1 - *in* *octetstring* - input string
+//    s2 - *in* *octetstring* - string to search
+//    offset - *in* *integer* - start offset.
+//
+//  Return Value:
+//    index of starting pont of the located string
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    The offset determines the starting point of the search. Any occurance of
+//    the s2 before the offset is ignored. The offset is optional
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_strstr_oct(in octetstring s1,
+                                 in octetstring s2,
+                                 in integer offset:=0) return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_OctetIpv4
+//
+//  Purpose:
+//    convertes an IPv4 address given in dotted notation to its hex
+//    representation
+//
+//  Parameters:
+//    pl_ip - *in* *charstring* - input string
+//
+//  Return Value:
+//    hex value of the Ip in an octetstring
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//
+///////////////////////////////////////////////////////////////////////////////
+//type record of integer IntegerList;
+function f_OctetIpv4(in charstring pl_ip) return octetstring{
+//  var IntegerList ret := {};
+  var octetstring oret := ''O;
+  var integer octet := 0;
+  var integer exp := 1;
+//  var integer k := 3;
+  for (var integer i:=lengthof(pl_ip)-1; i>-1;i:=i-1){
+    var integer ch := char2int(pl_ip[i]);
+    if (ch == 46){ // =="."
+      //ret[k] := octet;
+      oret := int2oct(octet,1) & oret;
+//      k:=k-1;
+      exp := 1;
+      octet := 0;
+    } else if(ch > 47 and ch < 58){ // isnum
+      octet := octet + str2int(pl_ip[i]) * exp;
+      if (i == 0) {
+        //ret[k] := octet;
+        oret := int2oct(octet,1) & oret;
+        break;
+      }
+      exp := exp * 10;
+    } else {
+      return ''O;
+    }
+  }
+  return oret;//(int2oct(ret[0],1) & int2oct(ret[1],1) & int2oct(ret[2],1) & int2oct(ret[3],1));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_convertIPAddrToBinary
+//
+//  Purpose:
+//    Converts an IPv4 and IPv6 address to its hex representation.
+//    IPv6 address is assumed if the input string contains ':'
+//
+//  Parameters:
+//    pl_ip - *in* *charstring* - input string
+//
+//  Return Value:
+//    hex value of the Ip in an octetstring
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_convertIPAddrToBinary(in charstring pl_ip) return octetstring;
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_convertBinaryToIPAddr
+//
+//  Purpose:
+//    Converts an IPv4 and IPv6 address to its hex representation.
+//    IPv6 address is assumed if the input string contains ':'
+//
+//  Parameters:
+//    pl_ip - *in* *octetstring* - input string
+//
+//  Return Value:
+//    hex value of the Ip in a charstring
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_convertBinaryToIPAddr(in octetstring pl_ip) return charstring;
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_oct2char_safe
+//
+//  Purpose:
+//    Fault tolerant version of the oct2str Titan built-in function.
+//
+//  Parameters:
+//    s1 - *in* *octetsttring* - input string
+//    s2 - *out* *charstring* - output string
+//
+//  Return Value:
+//    false on fault, ie. on unbound input or invalid character in input.
+//    true on success
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    On fault, the longest chunk that could be decoded is returned.
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_oct2char_safe(in octetstring par1, out charstring par2)
+return boolean;
+
+///////////////////////////////////////////////////////////
+//  Function: f_IPv6_literal
+// 
+//  Purpose:
+//    if parameter is an IPv6 string enclose it in "[" and "]" characters, otherwise do nothing
+// 
+//  Parameters:    
+//    pl_ip - *in* *charstring* - string to check
+//      
+//  Return Value:
+//    charstring - IPv6 string enclosed in "[" and "]" if parameter is an IPv6 string. Otherwise the string received as parameter. 
+// 
+//  Errors:
+//    -
+//
+//  Detailed Comments:
+//    according to RFC 2732 the IPv6 address should be enclosed in "[" and "]" characters within a URI
+//
+///////////////////////////////////////////////////////////
+
+function f_IPv6CreateLiteral(in charstring pl_ip)
+
+return charstring
+
+{
+  var charstring vl_ipAddress := pl_ip;
+  if (vl_ipAddress[0] != "[")
+  {
+    //if one of the first 5 characters is ":" we assume it is an IPv6 address
+
+   for (var integer i := 0; i < 5; i := i + 1)
+    {
+      if (vl_ipAddress[i] == ":")
+      {
+        vl_ipAddress := "[" & vl_ipAddress & "]";
+        break;
+      }
+    }
+  }
+
+  return vl_ipAddress;
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_isNumber
+//
+//  Purpose:
+//    Checks if a charstring starts with digits.
+//    If yes, then it returns the integer number in pl_number and 
+//    the remaining string as a return value.
+//    If the string doesn't start with digits, it will return 0 in pl_number.
+//
+//  Parameters:
+//    pl_string - *in* *charstring* - input string
+//    pl_number - *out* *integer* - output integer
+//
+//  Return Value:
+//    charstring
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_isNumber(in charstring pl_string, out integer pl_number) return charstring;
+
+///////////////////////////////////////////////////////////
+//  Function: f_isWhiteSpace
+// 
+//  Purpose:
+//    Tells if a string consists of whitespaces (space, \r, \n, \t).
+//
+//  Parameters:
+//    - pl_str - *in* *charstring* - the string to check
+//
+//  Return Value:
+//    is whitespace? - *boolean* - true, if the string contains only whitespaces
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////
+public function f_isWhiteSpace(in charstring pl_str) return boolean {
+  var integer vl_size := lengthof(pl_str);
+  if (vl_size == 0) {
+    return false;
+  }
+
+  for(var integer j := 0; j < vl_size; j := j + 1) {
+    select (pl_str[j]){
+      case (" ") {}
+      case ("\r") {}
+      case ("\n") {}
+      case ("\t") {}
+      case else {return false;}
+    }
+  }
+  return true;
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_stripWhitespaces
+// 
+//  Purpose:
+//    Strips the whitespaces (space, \r, \n, \t)
+//    from the beginning and end of the parameter string.
+//
+//  Parameters:
+//    - pl_str - *in* *charstring* - the string to strip
+//
+//  Return Value:
+//    stripped string - *out* *charstring* - string without spaces at the beginning and end
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////
+public function f_stripWhitespaces (in charstring pl_str) return charstring {
+  var integer vl_begin := 0, vl_end := lengthof(pl_str);
+  while((vl_begin < vl_end) and f_isWhiteSpace(pl_str[vl_begin])) { vl_begin := vl_begin + 1 };
+  while((vl_end - 1 >= vl_begin) and f_isWhiteSpace(pl_str[vl_end - 1])) { vl_end := vl_end - 1 };
+  return substr(pl_str, vl_begin, vl_end - vl_begin);
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_isInteger
+// 
+//  Purpose:
+//    Function to determine that a charstring contains only digits
+//      from '0' to '9'
+//
+//  Parameters:
+//    - pl_str - *in* *charstring* - the string to check
+//
+//  Return Value:
+//    digits? - *out* *boolean* - true, if each character in pl_str is a digit
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////
+public function f_isInteger (
+  in charstring pl_str) return boolean {
+  for(var integer vl_i := 0; vl_i < lengthof(pl_str); vl_i := vl_i + 1) {
+    if((char2int(pl_str[vl_i]) < char2int("0")) or (char2int(pl_str[vl_i]) > char2int("9"))) { return false; }
+  }
+  if(lengthof(pl_str) == 0) { return false };
+  return true;
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_str2int
+// 
+//  Purpose:
+//    Converts a string to an integer. Leading zeros are extracted from the
+//      beginning of the string, so the runtime will not give warning about
+//      leading zeros
+//
+//  Parameters:
+//    - pl_str - *in* *integer* - the string to convert
+//
+//  Return Value:
+//    number - *out* *integer* - the converted number
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////
+public function f_str2int(in charstring pl_str) return integer {
+  var integer vl_zeros := 0;
+  
+  while ((vl_zeros < lengthof(pl_str)) and (pl_str[vl_zeros] == "0")) { vl_zeros := vl_zeros + 1; }
+  if(vl_zeros == lengthof(pl_str)) { return 0; }
+  return str2int(substr(pl_str,  vl_zeros, lengthof(pl_str) - vl_zeros));
+}
+
+}//end of module
+with {
+extension "version R22B"}
+
diff --git a/src/TCCDateTime.cc b/src/TCCDateTime.cc
new file mode 100644
index 0000000000000000000000000000000000000000..4ae1db40cb0440843855596de11d70a9fa306dd4
--- /dev/null
+++ b/src/TCCDateTime.cc
@@ -0,0 +1,443 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCDateTime.cc
+//  Description:        TCC Useful Functions: DateTime Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2011-06-29
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TCCDateTime_Functions.hh"
+#include <time.h>
+#include <stdlib.h>
+
+namespace TCCDateTime__Functions 
+{
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__time
+// 
+//  Purpose:
+//    Current calendar time of the system in seconds
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    integer - time value
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+  INTEGER f__time()
+  {
+    time_t cur_time;
+    time( &cur_time );
+    INTEGER i;
+    i.set_long_long_val(cur_time);
+    return i;
+  }
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__ctime
+// 
+//  Purpose:
+//    Convert a time value in seconds to human readable string.
+//    The time represented as local time
+//
+//  Parameters:
+//    pl__sec - *in* *integer* - time value
+// 
+//  Return Value:
+//    integer - converted time value
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING f__ctime(const INTEGER& pl__sec)
+{
+    time_t cur_time = pl__sec.get_long_long_val();
+    return ctime(&cur_time);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__ctime__UTC
+// 
+//  Purpose:
+//    Convert a time value in seconds to human readable string.
+//    The time represented as UTC
+//
+//  Parameters:
+//    pl__sec - *in* *integer* - time value
+// 
+//  Return Value:
+//    integer - converted time value
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING f__ctime__UTC(const INTEGER& pl__sec)
+{
+    time_t cur_time = pl__sec.get_long_long_val();
+    return asctime(gmtime(&cur_time));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__getTimeFormatted
+// 
+//  Purpose:
+//    Return the current calendar time in a formatted way
+//
+//  Parameters:
+//    pl__sec - *in* *integer* - time value
+//    pl__format - *in* *charstring* - format string
+// 
+//  Return Value:
+//    charstring - formatted time in string format
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    *Specifier / Replaced by / Example*
+//
+//    ----------------------------------------------------------------------------------------------------------
+//
+//    %a - Abbreviated weekday name * - Thu
+//
+//    %A - Full weekday name * - Thursday
+//
+//    %b - Abbreviated month name * - Aug
+//
+//    %B - Full month name * - August
+//
+//    %c - Date and time representation * - Thu Aug 23 14:55:02 2001
+//
+//    %d - Day of the month (01-31) - 23
+//
+//    %H - Hour in 24h format (00-23) - 14
+//
+//    %I - Hour in 12h format (01-12) - 02
+//
+//    %j - Day of the year (001-366) - 235
+//
+//    %m - Month as a decimal number (01-12) - 08
+//
+//    %M - Minute (00-59) - 55
+//
+//    %p - AM or PM designation - PM
+//
+//    %S - Second (00-61) - 02
+//
+//    %U - Week number with the first Sunday as the first day of week one (00-53) - 33
+//
+//    %w - Weekday as a decimal number with Sunday as 0 (0-6) - 4
+//
+//    %W - Week number with the first Monday as the first day of week one (00-53) - 34
+//
+//    %x - Date representation * - 08/23/01
+//
+//    %X - Time representation * - 14:55:02
+//
+//    %y - Year, last two digits (00-99) - 01
+//
+//    %Y - Year - 2001
+//
+//    %Z - Timezone name or abbreviation - CDT
+//
+//    %% - A % sign - %
+//
+//    ----------------------------------------------------------------------------------------------------------
+//
+//    * The specifiers whose description is marked with an asterisk (*) are locale-dependent.
+// 
+///////////////////////////////////////////////////////////////////////////////
+  CHARSTRING f__getTimeFormatted(const INTEGER& pl__sec, const CHARSTRING& pl__format)
+  {
+    time_t in_time = pl__sec.get_long_long_val();
+    size_t str_len = 255;
+    char ret_val[str_len];
+    strftime (ret_val, str_len, (const char *)pl__format, localtime(&in_time));
+    return ret_val; 
+  }
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__time2sec
+// 
+//  Purpose:
+//    Function to convert a formated time value to seconds.
+//    The time is expressed as local time.
+//
+//  Parameters:
+//    pl__year - *in* *integer* - year (e.g. 2007)
+//    pl__mon - *in* *integer* - month (e.g. 3)
+//    pl__day - *in* *integer* - day (e.g. 7)
+//    pl__hour - *in* *integer* - day (e.g. 12)
+//    pl__min - *in* *integer* - day (e.g. 50)
+//    pl__sec - *in* *integer* - day (e.g. 7)
+// 
+//  Return Value:
+//    integer - time in seconds
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    time in seconds since January 1, 1900
+// 
+///////////////////////////////////////////////////////////////////////////////
+INTEGER f__time2sec(const INTEGER& pl__year,
+		      const INTEGER& pl__mon,
+		      const INTEGER& pl__mday,
+		      const INTEGER& pl__hour,
+		      const INTEGER& pl__min,
+		      const INTEGER& pl__sec) 
+  {
+    struct tm tms;
+    tms.tm_sec = pl__sec;
+    tms.tm_min = pl__min;
+    tms.tm_hour = pl__hour;
+    tms.tm_mday = pl__mday;
+    tms.tm_mon = pl__mon - 1;
+    tms.tm_year = pl__year - 1900;
+    tms.tm_wday = 0;
+    tms.tm_yday = 0;
+    tms.tm_isdst = -1;
+
+    time_t t = mktime(&tms);
+    INTEGER i;
+    i.set_long_long_val(t);
+    return i;
+  }
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__time2sec__UTC
+// 
+//  Purpose:
+//    Function to convert a formated time value to seconds.
+//    The time is expressed as UTC.
+//
+//  Parameters:
+//    pl__year - *in* *integer* - year (e.g. 2007)
+//    pl__mon - *in* *integer* - month (e.g. 3)
+//    pl__day - *in* *integer* - day (e.g. 7)
+//    pl__hour - *in* *integer* - day (e.g. 12)
+//    pl__min - *in* *integer* - day (e.g. 50)
+//    pl__sec - *in* *integer* - day (e.g. 7)
+// 
+//  Return Value:
+//    integer - time in seconds
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    time in seconds since January 1, 1900
+// 
+///////////////////////////////////////////////////////////////////////////////
+
+INTEGER f__time2sec__UTC(const INTEGER& pl__year,
+		      const INTEGER& pl__mon,
+		      const INTEGER& pl__mday,
+		      const INTEGER& pl__hour,
+		      const INTEGER& pl__min,
+		      const INTEGER& pl__sec) 
+  {
+    struct tm tms;
+    tms.tm_sec = pl__sec;
+    tms.tm_min = pl__min;
+    tms.tm_hour = pl__hour;
+    tms.tm_mday = pl__mday;
+    tms.tm_mon = pl__mon - 1;
+    tms.tm_year = pl__year - 1900;
+    tms.tm_wday = 0;
+    tms.tm_yday = 0;
+    tms.tm_isdst = 0;
+
+    time_t t = mktime(&tms);
+    t-= timezone;
+
+    INTEGER i;
+    i.set_long_long_val(t);
+    return i;
+  }
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__getCurrentDateWithOffset
+// 
+//  Purpose:
+//    Generate a date from the actual date and time plus the parameter
+//    in seconds e.g. getSdate(30) will return a charstring containing 
+//    the date and time of 30 seconds later
+//
+//  Parameters:
+//    pl__sec - *in* *integer* - offset time value
+// 
+//  Return Value:
+//    charstring - formatted time in string format
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////  
+  CHARSTRING f__getCurrentDateWithOffset(const INTEGER& pl__sec)
+  {
+    time_t cur_time;
+    time( &cur_time );
+    cur_time += pl__sec.get_long_long_val();
+    return ctime (&cur_time);
+  }
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__getCurrentGMTDate
+// 
+//  Purpose:
+//    Return the current GMT date in format RFC 1123-Date 
+//    e.g.:Sat, 13 Nov 2010 23:30:02 GMT
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    charstring - formatted time in string format
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////  
+  CHARSTRING f__getCurrentGMTDate()
+  {
+    time_t cur_time;
+    time( &cur_time );
+
+    return asctime( gmtime( &cur_time ) );
+  }
+  
+  
+//////////////////////////////////////////////////////////////////////////////
+//  Function: f__tic
+// 
+//  Purpose:
+//    Return the number of clock ticks used by the application since 
+//    the program was launched
+//
+//    OR
+//
+//    Return the amount of CPU time in microseconds since the last call of f__tic
+//
+//    OR ...
+//
+//    Warning! This function depends on used library version. Be careful!
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    integer - tics since program start
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+/////////////////////////////////////////////////////////////////////////////// 
+INTEGER f__tic()
+{
+    INTEGER i;
+    i.set_long_long_val(clock());
+    return i;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//  Function: f__toc
+// 
+//  Purpose:
+//    Elapsed seconds since time t (only when f__tic() returns the number of 
+//    clock ticks elapsed since the program was launched)
+//
+//    Warning! This function depends on used library version. Be careful!
+//
+//  Parameters:
+//    t - *in* *integer* - time value
+// 
+//  Return Value:
+//    float - elapsed seconds
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    f__tic counts clock tics since program start. f__toc counts seconds
+//    since clock() readout in t till current time
+// 
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__toc(const INTEGER& t)
+{
+    clock_t tt = (clock_t)t.get_long_long_val();
+    return FLOAT((double)(clock()-tt)/CLOCKS_PER_SEC);
+}
+  
+//////////////////////////////////////////////////////////////////////////////
+//  Function: f__timeDiff
+// 
+//  Purpose:
+//    Difference between two time
+//
+//  Parameters:
+//    t_start - *in* *integer* - start time
+//    t_stop - *in* *integer* - stop time
+// 
+//  Return Value:
+//    integer - t_stop-t_start
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+INTEGER f__timeDiff(const INTEGER& t_stop, const INTEGER& t_start)
+{
+    if(!t_stop.is_bound())
+    {
+        TTCN_error("Stop time is unbound in call to function TimeDiff");
+    }
+    if(!t_start.is_bound())
+    {
+        TTCN_error("Start time is unbound in call to function TimeDiff");
+    }
+    return t_stop-t_start;
+}
+
+} // end of Namespace
diff --git a/src/TCCDateTime_Functions.ttcn b/src/TCCDateTime_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..365fbc55e5ec6f5aa148a730c8b27df8d84996c0
--- /dev/null
+++ b/src/TCCDateTime_Functions.ttcn
@@ -0,0 +1,365 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCDateTime_Functions.ttcn
+//  Description:        TCC Useful Functions: DateTime Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2011-06-29
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCDateTime_Functions
+// 
+//  Purpose:
+//    This module supports date and time handling
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCDateTime_Functions {
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_time
+// 
+//  Purpose:
+//    Current calendar time of the system in seconds
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    integer - time value
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_time() return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_ctime
+// 
+//  Purpose:
+//    Convert a time value in seconds to human readable string
+//    The time represented as local time
+//
+//  Parameters:
+//    pl_sec - *in* *integer* - time value
+// 
+//  Return Value:
+//    integer - converted time value
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////  
+external function f_ctime(integer pl_sec) return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_ctime_UTC
+// 
+//  Purpose:
+//    Convert a time value in seconds to human readable string
+//    The time represented as UTC
+//
+//  Parameters:
+//    pl_sec - *in* *integer* - time value
+// 
+//  Return Value:
+//    integer - converted time value
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////  
+external function f_ctime_UTC(integer pl_sec) return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_getTimeFormatted
+// 
+//  Purpose:
+//    Return the current calendar time in a formatted way
+//
+//  Parameters:
+//    pl_sec - *in* *integer* - time value in seconds
+//    pl_format - *in* *charstring* - format string
+// 
+//  Return Value:
+//    charstring - formatted time in string format
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    *Specifier / Replaced by / Example*
+//
+//    ----------------------------------------------------------------------------------------------------------
+//
+//    %a - Abbreviated weekday name * - Thu
+//
+//    %A - Full weekday name * - Thursday
+//
+//    %b - Abbreviated month name * - Aug
+//
+//    %B - Full month name * - August
+//
+//    %c - Date and time representation * - Thu Aug 23 14:55:02 2001
+//
+//    %d - Day of the month (01-31) - 23
+//
+//    %H - Hour in 24h format (00-23) - 14
+//
+//    %I - Hour in 12h format (01-12) - 02
+//
+//    %j - Day of the year (001-366) - 235
+//
+//    %m - Month as a decimal number (01-12) - 08
+//
+//    %M - Minute (00-59) - 55
+//
+//    %p - AM or PM designation - PM
+//
+//    %S - Second (00-61) - 02
+//
+//    %U - Week number with the first Sunday as the first day of week one (00-53) - 33
+//
+//    %w - Weekday as a decimal number with Sunday as 0 (0-6) - 4
+//
+//    %W - Week number with the first Monday as the first day of week one (00-53) - 34
+//
+//    %x - Date representation * - 08/23/01
+//
+//    %X - Time representation * - 14:55:02
+//
+//    %y - Year, last two digits (00-99) - 01
+//
+//    %Y - Year - 2001
+//
+//    %Z - Timezone name or abbreviation - CDT
+//
+//    %% - A % sign - %
+//
+//    ----------------------------------------------------------------------------------------------------------
+//
+//    * The specifiers whose description is marked with an asterisk (*) are locale-dependent.
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_getTimeFormatted(integer pl_sec, charstring pl_format) 
+return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_time2sec
+// 
+//  Purpose:
+//    function to convert a formated time value to seconds
+//    The time represented as local time
+//
+//  Parameters:
+//    pl_year - *in* *integer* - year (e.g. 2007)
+//    pl_mon - *in* *integer* - month (e.g. 3)
+//    pl_day - *in* *integer* - day (e.g. 7)
+//    pl_hour - *in* *integer* - day (e.g. 12)
+//    pl_min - *in* *integer* - day (e.g. 50)
+//    pl_sec - *in* *integer* - day (e.g. 7)
+// 
+//  Return Value:
+//    integer - time in seconds
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    time in seconds since January 1, 1900
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_time2sec(
+  integer pl_year, 
+  integer pl_mon, 
+  integer pl_day, 
+  integer pl_hour,
+  integer pl_min,
+  integer pl_sec) 
+return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_time2sec_UTC
+// 
+//  Purpose:
+//    function to convert a formated time value to seconds
+//    The time represented as UTC
+//
+//  Parameters:
+//    pl_year - *in* *integer* - year (e.g. 2007)
+//    pl_mon - *in* *integer* - month (e.g. 3)
+//    pl_day - *in* *integer* - day (e.g. 7)
+//    pl_hour - *in* *integer* - day (e.g. 12)
+//    pl_min - *in* *integer* - day (e.g. 50)
+//    pl_sec - *in* *integer* - day (e.g. 7)
+// 
+//  Return Value:
+//    integer - time in seconds
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    time in seconds since January 1, 1900
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_time2sec_UTC(
+  integer pl_year, 
+  integer pl_mon, 
+  integer pl_day, 
+  integer pl_hour,
+  integer pl_min,
+  integer pl_sec) 
+return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_getCurrentDateWithOffset
+// 
+//  Purpose:
+//    Generate a date from the actual date and time plus the parameter
+//    in seconds e.g. getSdate(30) will return a charstring containing 
+//    the date and time of 30 seconds later
+//
+//  Parameters:
+//    pl_sec - *in* *integer* - offset time value
+// 
+//  Return Value:
+//    charstring - formatted time in string format
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_getCurrentDateWithOffset(integer pl_sec) return charstring;
+ 
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_getCurrentGMTDate
+// 
+//  Purpose:
+//    Return the current GMT date in format RFC 1123-Date 
+//    ex :Sat, 13 Nov 2010 23:30:02 GMT
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    charstring - formatted time in string format
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////  
+external function f_getCurrentGMTDate() return charstring;
+
+//external function f_getCurrentTimeValue() return TimeValue;
+
+//////////////////////////////////////////////////////////////////////////////
+//  Function: f_tic
+// 
+//  Purpose:
+//    Return the number of clock ticks used by the application since 
+//    the program was launched
+//
+//    OR
+//
+//    Return the amount of CPU time in microseconds since the last call of f_tic
+//
+//    OR ...
+//
+//    Warning! This function depends on used library version. Be careful!
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    integer - tics since program start
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+/////////////////////////////////////////////////////////////////////////////// 
+external function f_tic() return integer;
+
+//////////////////////////////////////////////////////////////////////////////
+//  Function: f_toc
+// 
+//  Purpose:
+//    Elapsed seconds since time t (only when f_tic() returns the number of 
+//    clock ticks elapsed since the program was launched)
+//
+//    Warning! This function depends on used library version. Be careful!
+//
+//  Parameters:
+//    t - *in* *integer* - time value
+// 
+//  Return Value:
+//    float - elapsed seconds
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    f_tic counts clock tics since program start. f_toc counts seconds
+//    since clock() readout in t till current time
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_toc(integer t) return float;
+  
+//////////////////////////////////////////////////////////////////////////////
+//  Function: f_timeDiff
+// 
+//  Purpose:
+//    Difference between two time
+//
+//  Parameters:
+//    t_start - *in* *integer* - start time
+//    t_stop - *in* *integer* - stop time
+// 
+//  Return Value:
+//    integer - t_stop-t_start
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_timeDiff(integer t_stop, integer t_start) return integer;
+
+}
diff --git a/src/TCCEncoding.cc b/src/TCCEncoding.cc
new file mode 100644
index 0000000000000000000000000000000000000000..f79911a3195b603231814e4301396edee33e7095
--- /dev/null
+++ b/src/TCCEncoding.cc
@@ -0,0 +1,377 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCEncoding.cc
+//  Description:        TCC Useful Functions: Message Encoding Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2012-06-28
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TCCEncoding_Functions.hh"
+
+namespace TCCEncoding__Functions {
+
+CHARSTRING enc_Base64(const OCTETSTRING& msg, bool use_linebreaks);
+OCTETSTRING dec_Base64(const CHARSTRING& b64, bool warn_invalid_char);
+
+////////////////////////////
+// MIME Base64 (RFC 2045) //
+////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: enc__MIME__Base64
+// 
+//  Purpose:
+//    Encode message to MIME Base64 format (RFC 2045)
+//
+//  Parameters:
+//    p__msg - *in* *octetstring* - message to encode
+// 
+//  Return Value:
+//    charstring - encoded message
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING enc__MIME__Base64(const OCTETSTRING& p__msg)
+{
+  return enc_Base64(p__msg, true);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: dec__MIME__Base64
+// 
+//  Purpose:
+//    Decode message from MIME Base64 format (RFC 2045)
+//
+//  Parameters:
+//    p__b64 - *in* *charstring* - message to decode
+// 
+//  Return Value:
+//    octetstring - decoded message
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+OCTETSTRING dec__MIME__Base64(const CHARSTRING& p__b64)
+{
+  return dec_Base64(p__b64, false);
+}
+
+////////////////////////////
+// LDIF Base64 (RFC 2849) //
+////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: enc__LDIF__Base64
+// 
+//  Purpose:
+//    Encode message to LDIF Base64 format (RFC 2849)
+//
+//  Parameters:
+//    p__msg - *in* *octetstring* - message to encode
+// 
+//  Return Value:
+//    charstring - encoded message
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING enc__LDIF__Base64(const OCTETSTRING& p__msg)
+{
+  return enc_Base64(p__msg, false);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: dec__LDIF__Base64
+// 
+//  Purpose:
+//    Decode message from LDIF Base64 format (RFC 2849)
+//
+//  Parameters:
+//    p__b64 - *in* *charstring* - message to decode
+// 
+//  Return Value:
+//    octetstring - decoded message
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+OCTETSTRING dec__LDIF__Base64(const CHARSTRING& p__b64)
+{
+  return dec_Base64(p__b64, true);
+}
+
+
+// implementation
+
+CHARSTRING enc_Base64(const OCTETSTRING& msg, bool use_linebreaks)
+{
+  const char *code_table = {
+    "ABCDEFGHIJKLMNOP"
+    "QRSTUVWXYZabcdef"
+    "ghijklmnopqrstuv"
+    "wxyz0123456789+/"
+  };
+  const char pad = '=';
+  const unsigned char *p_msg = (const unsigned char *)msg;
+  int octets_left = msg.lengthof();
+  //char *output = new char[(octets_left/3+1)*4 + (octets_left/76+1)*2 + 1];
+  // quick approximation:
+  char *output = new char[((octets_left*22)>>4) + 7];
+  char *p_output = output;
+  int n_4chars = 0;
+  while(octets_left >= 3) {
+    *p_output++ = code_table[p_msg[0] >> 2];
+    *p_output++ = code_table[((p_msg[0] << 4) | (p_msg[1] >> 4)) & 0x3f];
+    *p_output++ = code_table[((p_msg[1] << 2) | (p_msg[2] >> 6)) & 0x3f];
+    *p_output++ = code_table[p_msg[2] & 0x3f];
+    n_4chars++;
+    if(use_linebreaks && n_4chars>=19 && octets_left != 3) {
+      *p_output++ = '\r';
+      *p_output++ = '\n';
+      n_4chars = 0;
+    }
+    p_msg += 3;
+    octets_left -= 3;
+  }
+  switch(octets_left) {
+  case 1:
+    *p_output++ = code_table[p_msg[0] >> 2];
+    *p_output++ = code_table[(p_msg[0] << 4) & 0x3f];
+    *p_output++ = pad;
+    *p_output++ = pad;
+    break;
+  case 2:
+    *p_output++ = code_table[p_msg[0] >> 2];
+    *p_output++ = code_table[((p_msg[0] << 4) | (p_msg[1] >> 4)) & 0x3f];
+    *p_output++ = code_table[(p_msg[1] << 2) & 0x3f];
+    *p_output++ = pad;
+    break;
+  default:
+    break;
+  }
+  *p_output = '\0';
+  CHARSTRING ret_val(output);
+  delete []output;
+  return ret_val;
+}
+
+OCTETSTRING dec_Base64(const CHARSTRING& b64, bool warn_invalid_char)
+{
+  const unsigned char decode_table[] = {
+    80, 80, 80, 80, 80, 80, 80, 80,   80, 80, 80, 80, 80, 80, 80, 80,
+    80, 80, 80, 80, 80, 80, 80, 80,   80, 80, 80, 80, 80, 80, 80, 80,
+    80, 80, 80, 80, 80, 80, 80, 80,   80, 80, 80, 62, 80, 80, 80, 63,
+    52, 53, 54, 55, 56, 57, 58, 59,   60, 61, 80, 80, 80, 70, 80, 80,
+    80,  0,  1,  2,  3,  4,  5,  6,    7,  8,  9, 10, 11, 12, 13, 14,
+    15, 16, 17, 18, 19, 20, 21, 22,   23, 24, 25, 80, 80, 80, 80, 80,
+    80, 26, 27, 28, 29, 30, 31, 32,   33, 34, 35, 36, 37, 38, 39, 40,
+    41, 42, 43, 44, 45, 46, 47, 48,   49, 50, 51, 80, 80, 80, 80, 80
+  };
+  const unsigned char *p_b64 = (const unsigned char *) ((const char *) b64);
+  int chars_left = b64.lengthof();
+  unsigned char *output = new unsigned char[((chars_left>>2)+1)*3];
+  unsigned char *p_output = output;
+  unsigned int bits = 0;
+  size_t n_bits = 0;
+  bool non_base64_char = false;
+  while(chars_left--) {
+    unsigned char dec;
+    if(*p_b64 > 0 && (dec = decode_table[*p_b64])<64) {
+      bits <<= 6;
+      bits |= dec;
+      n_bits += 6;
+      if(n_bits>=8) {
+        *p_output++ = (bits >> (n_bits-8)) & 0xff;
+        n_bits-=8;
+      }
+    } else if (*p_b64 == '=') {
+      break;
+    } else {
+      non_base64_char = true;
+    }
+    p_b64++;
+  }
+  if(warn_invalid_char && non_base64_char) {
+      TTCN_Logger::begin_event(TTCN_WARNING);
+      TTCN_Logger::log_event_str("Warning: Invalid character in Base64 encoded "
+        "data: ");
+      b64.log();
+      TTCN_Logger::end_event();
+  }
+  OCTETSTRING ret_val(p_output - output, output);
+  delete []output;
+  return ret_val;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__enc__TBCD
+// 
+//  Purpose:
+//    Encode charstring to TBCD
+//
+//  Parameters:
+//    pl__char - *in* *charstring* - message to encode
+// 
+//  Return Value:
+//    octetstring - TBCD encoding
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+OCTETSTRING f__enc__TBCD(const CHARSTRING& pl__char)
+{
+ const unsigned char code_table[] = {
+    0x00,0x01,0x02,0x03,0x04,
+    0x05,0x06,0x07,0x08,0x09 
+  };
+ const char* p_char = (const char*) pl__char;
+ int char_length = pl__char.lengthof();
+ int oct_length;
+ 
+ if ((char_length % 2) == 1){
+  oct_length = (char_length + 1) / 2;
+ }
+ else {
+  oct_length = (char_length) / 2;
+ }
+ 
+ unsigned char half_byte;
+ unsigned char *output = new unsigned char[oct_length]; 
+  
+ for (int i = 0; i < char_length; i++) {    
+   if((p_char[i] >= 0x30) && (p_char[i] <= 0x39)) {    
+     half_byte =  code_table[p_char[i]-0x30];    
+   }
+   else if (p_char[i] == 0x2A)
+     half_byte = 0x0A;
+   else if (p_char[i] == 0x23)
+     half_byte = 0x0B;
+   else if (p_char[i] == 0x61)
+     half_byte = 0x0C;
+   else if (p_char[i] == 0x62)
+     half_byte = 0x0D;
+   else if (p_char[i] == 0x63) 
+     half_byte = 0x0E;
+   else {  
+      TTCN_Logger::log(TTCN_WARNING,"Warning : Invalid TBCD digit!");
+      delete []output;
+      return OCTETSTRING(0,0);
+   }
+     
+  if ((i % 2) == 0) {    
+    output[i/2] = half_byte; 
+    if((i+1) == char_length) {
+      output[i/2] = output[i/2] | 0xF0;
+    }    
+  }
+  else {   
+    output[(i-1)/2] = output[(i-1)/2] | ( half_byte << 4);
+  } 
+ } 
+  
+  OCTETSTRING ret_val(oct_length, output);
+  delete []output;
+  return ret_val;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__dec__TBCD
+// 
+//  Purpose:
+//    Decode octetstring from TBCD encoding
+//
+//  Parameters:
+//    pl__oct - *in* *octetstring* - message to decode
+// 
+//  Return Value:
+//    charstring - decoded message
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING f__dec__TBCD(const OCTETSTRING& pl__oct) 
+{
+ unsigned const char* p_char = (const unsigned char*) pl__oct;
+ int oct_length = pl__oct.lengthof();
+ char *output = new char[oct_length*2+1];
+ 
+ const char *code_table = {
+    "0123456789*#abc"
+  };
+ unsigned char msb;
+ unsigned char lsb;
+  
+ int i = 0;
+ while (i < oct_length) { 
+    msb = (unsigned char)((p_char[i] & 0xF0) >> 4);
+    lsb = (unsigned char)(p_char[i] & 0x0F);
+        
+    if(lsb != 0x0F){ // lsb not filler
+      output[2*i] = code_table[lsb];
+    }
+    else { // lsb is filler 
+      TTCN_Logger::log(TTCN_WARNING,"Warning : Filler digit at invalid location!");
+      delete []output;
+      return CHARSTRING("");
+    } 
+       
+    if(msb != 0x0F) { // msb not filler
+      output[2*i+1] = code_table[msb];
+      if (i == (oct_length-1)) {
+        output[2*i+2] = '\0';
+      }      
+    }
+    else { // msb is filler    
+      if (i == (oct_length-1))  {   
+        output[2*i+1] = '\0';
+      }
+      else {
+        TTCN_Logger::log(TTCN_WARNING,"Warning : Filler digit at invalid location!");
+        delete []output;
+        return CHARSTRING("");      
+      }      
+    }     
+   i=i+1; 
+ }  
+  CHARSTRING ret_val(output);
+  delete []output;
+  return ret_val;   
+}
+
+}//namespace
diff --git a/src/TCCEncoding_Functions.ttcn b/src/TCCEncoding_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..9bb108290ea52fc13feed9a6503ecb08af1e0904
--- /dev/null
+++ b/src/TCCEncoding_Functions.ttcn
@@ -0,0 +1,735 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCEncoding_Functions.ttcn
+//  Description:        TCC Useful Functions: Message Encoding Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2013-08-05
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCEncoding_Functions
+// 
+//  Purpose:
+//    This module supports message based encoding of certain types
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCEncoding_Functions {
+
+
+// 24.008  10.5.4.7
+// Q.763   3.9
+type enumerated NumberPlan
+{
+  unknownSpare(0),       // MobileL3 unknown / ISUP spare
+  ISDN_E_164(1),         // 
+  spare1(2),             // MobileL3 - / ISUP spare 
+  data(3),               // 
+  telex(4),              //   
+  reserved1(5),          // MobileL3 - / ISUP reserved for national use
+  reserved2(6),          // MobileL3 - / ISUP reserved for national use  
+  spare2(7),             // MobileL3 - / ISUP spare
+  national(8),           // MobileL3 national numbering plan / ISUP -
+  private_(9),           // MobileL3 private numbering plan  / ISUP - 
+  reservedCTS(11),       // MobileL3 reserved for CTS / ISUP - 
+  reservedExtension(15)  // MobileL3 reserved for extension  / ISUP - 
+}
+
+
+// Q.763   3.9
+type enumerated ISUP_NatureOfAddress
+{
+  spare(0),
+  subscriberNumber(1),
+  unknown(2),
+  nationalNumber(3),
+  internationalNumber(4), 
+  networkRoutingNumber(5),
+  networkRoutingNumberNationalNrFormat(6),
+  networkRoutingNumberNetworkSpecificNrFormat(7),
+  networkRoutingNumberConcatenatedWith_CDN(8)   
+}
+
+// Q.763   3.9
+type enumerated ISUP_NumberingIncompleteIndicator
+{
+  numberComplete(0),   // 0
+  numberIncomplete(1)  // 1
+}
+
+// Q.763   3.9
+type record ISUP_Called_Party_Number
+{
+  ISUP_NatureOfAddress               natureOfAddressIndicator, 
+  NumberPlan                         numberingPlanIndicator,
+  ISUP_NumberingIncompleteIndicator  iNN, 
+  hexstring                          addressSignalDigits
+} 
+
+// Q.763   3.10
+type enumerated ISUP_ScreeningIndicator
+{
+  user_provided_not_verified(0),    // 00
+  user_provided_verified_passed(1), // 01
+  user_provided_verified_failed(2), // 10
+  network_provided(3)               // 11
+}
+
+// Q.763   3.10
+type enumerated ISUP_AddressPresentationRestrictedIndicator
+{
+  presentation_allowed(0),                     // 00
+  presentation_restricted(1),                  // 01
+  address_not_available(2),                    // 10
+  reserved(3)                                  // 11            
+}
+
+// Q.763   3.10
+type record ISUP_Calling_Party_Number
+{
+  ISUP_NatureOfAddress               natureOfAddressIndicator, 
+  ISUP_ScreeningIndicator            screening_indicator,
+  ISUP_AddressPresentationRestrictedIndicator address_presentation_restricted_indicator,
+  NumberPlan                         numberingPlanIndicator,
+  ISUP_NumberingIncompleteIndicator  iNN, 
+  hexstring                          addressSignalDigits
+} 
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_encode_ISUP_Called_Party_Number
+// 
+//  Purpose:
+//      Function for encoding ISUP_Called_Party_Number type to octetstring
+//      Q.763   3.9
+// 
+//  Parameters:
+//    pl_ISUP_Called_Party_Number - *in* <ISUP_Called_Party_Number> -
+//
+//  Return Value:
+//    *octetstring* - the converted number in octetstring format
+// 
+//  Errors:
+//    -
+// 
+//  Detailed Comments:
+//   -
+///////////////////////////////////////////////////////////////////////////////
+function f_encode_ISUP_Called_Party_Number
+(in ISUP_Called_Party_Number pl_ISUP_Called_Party_Number) return octetstring 
+{ 
+  if(enum2int(pl_ISUP_Called_Party_Number.numberingPlanIndicator) > 7)
+  {
+   log("Error : Invalid numberingPlanIndicator")
+   return(''O)
+  }
+
+  var integer vl_i;
+  var octetstring vl_oct;
+  var hexstring vl_digits := pl_ISUP_Called_Party_Number.addressSignalDigits; 
+  var integer vl_size := lengthof(pl_ISUP_Called_Party_Number.addressSignalDigits);
+  var bitstring vl_oddEvenIndicator := '0'B;
+  if((vl_size mod 2) == 1) {
+    vl_oddEvenIndicator := '1'B;
+    vl_digits :=  vl_digits & '0'H;
+    vl_size := vl_size + 1;
+  } 
+
+  vl_oct := bit2oct(vl_oddEvenIndicator & 
+            int2bit(enum2int(pl_ISUP_Called_Party_Number.natureOfAddressIndicator), 7) &  
+	    int2bit(enum2int(pl_ISUP_Called_Party_Number.iNN), 1) &  
+	    int2bit(enum2int(pl_ISUP_Called_Party_Number.numberingPlanIndicator), 3) &  
+            '0000'B)
+			  			  
+  vl_size := vl_size / 2;
+  
+  for (vl_i := 0; vl_i < vl_size; vl_i := vl_i + 1)
+  {
+    vl_oct := vl_oct & hex2oct(vl_digits[(2*vl_i) + 1] & vl_digits[2*vl_i]);
+  }
+
+  return(vl_oct)
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_encode_ISUP_Calling_Party_Number
+// 
+//  Purpose:
+//      Function for encoding ISUP_Calling_Party_Number type to octetstring
+//      Q.763   3.10
+// 
+//  Parameters:
+//    pl_ISUP_Calling_Party_Number - *in* <ISUP_Calling_Party_Number> -
+//
+//  Return Value:
+//    *octetstring* - the converted number in octetstring format
+// 
+//  Errors:
+//    -
+// 
+//  Detailed Comments:
+//   -
+///////////////////////////////////////////////////////////////////////////////
+function f_encode_ISUP_Calling_Party_Number
+(in ISUP_Calling_Party_Number pl_ISUP_Calling_Party_Number) return octetstring 
+{ 
+  if(enum2int(pl_ISUP_Calling_Party_Number.numberingPlanIndicator) > 7)
+  {
+   log("Error : Invalid numberingPlanIndicator")
+   return(''O)
+  }
+
+  var integer vl_i;
+  var octetstring vl_oct;
+  var hexstring vl_digits := pl_ISUP_Calling_Party_Number.addressSignalDigits; 
+  var integer vl_size := lengthof(pl_ISUP_Calling_Party_Number.addressSignalDigits);
+  var bitstring vl_oddEvenIndicator := '0'B;
+  if((vl_size mod 2) == 1) {
+    vl_oddEvenIndicator := '1'B;
+    vl_digits :=  vl_digits & '0'H;
+    vl_size := vl_size + 1;
+  } 
+
+  vl_oct := bit2oct(vl_oddEvenIndicator & 
+            int2bit(enum2int(pl_ISUP_Calling_Party_Number.natureOfAddressIndicator), 7) &
+        int2bit(enum2int(pl_ISUP_Calling_Party_Number.iNN), 1) &
+        int2bit(enum2int(pl_ISUP_Calling_Party_Number.numberingPlanIndicator), 3) &
+        int2bit(enum2int(pl_ISUP_Calling_Party_Number.address_presentation_restricted_indicator), 2) &
+        int2bit(enum2int(pl_ISUP_Calling_Party_Number.screening_indicator), 2))
+                          
+  vl_size := vl_size / 2;
+  
+  for (vl_i := 0; vl_i < vl_size; vl_i := vl_i + 1)
+  {
+    vl_oct := vl_oct & hex2oct(vl_digits[(2*vl_i) + 1] & vl_digits[2*vl_i]);
+  }
+
+  return(vl_oct)
+}
+
+// 24.008  10.5.4.7
+type enumerated MobileL3_TypeOfNumber
+{
+  unknown(0),
+  internationalNumber(1),
+  nationalNumber(2),
+  networkSpecificNumber(3),
+  dedicatedAccess(4),
+  reserved1(5),
+  reserved2(6),
+  reservedForExtension(7)  
+}
+
+// 24.008  10.5.4.7
+type record MobileL3_CalledPartyBCDNumber
+{
+ NumberPlan              numberingPlanIdentification,
+ MobileL3_TypeOfNumber   typeOfNumber,
+ hexstring               numberDigits 
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_encode_MobileL3_CalledPartyBCDNumber
+// 
+//  Purpose:
+//      Function for encoding MobileL3_CalledPartyBCDNumber type to octetstring
+//      24.008  10.5.4.7
+// 
+//  Parameters:
+//    pl_MobileL3_CalledPartyBCDNumber - *in* <MobileL3_CalledPartyBCDNumber> -
+//
+//  Return Value:
+//    *octetstring* - the converted number in octetstring format
+// 
+//  Errors:
+//    -
+// 
+//  Detailed Comments:
+//   -
+///////////////////////////////////////////////////////////////////////////////
+function f_encode_MobileL3_CalledPartyBCDNumber
+(in MobileL3_CalledPartyBCDNumber pl_MobileL3_CalledPartyBCDNumber) return octetstring 
+{
+  var integer vl_i;
+  var octetstring vl_oct;
+  var hexstring vl_digits := pl_MobileL3_CalledPartyBCDNumber.numberDigits; 
+  var integer vl_size := lengthof(pl_MobileL3_CalledPartyBCDNumber.numberDigits);
+  if((vl_size mod 2) == 1) {    
+    vl_digits :=  vl_digits & 'F'H;
+    vl_size := vl_size + 1;
+  }   
+  
+  vl_oct :=   bit2oct('1'B &   
+              int2bit(enum2int(pl_MobileL3_CalledPartyBCDNumber.typeOfNumber), 3) & 
+              int2bit(enum2int(pl_MobileL3_CalledPartyBCDNumber.numberingPlanIdentification), 4))
+
+  vl_size := vl_size / 2;
+  
+  for (vl_i := 0; vl_i < vl_size; vl_i := vl_i + 1)
+  {
+    vl_oct := vl_oct & hex2oct(vl_digits[(2*vl_i) + 1] & vl_digits[2*vl_i]);
+  }
+  return (vl_oct);
+}
+
+////////////////////////////
+// MIME Base64 (RFC 2045) //
+////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: enc_MIME_Base64
+// 
+//  Purpose:
+//    Encode message to MIME Base64 format (RFC 2045)
+//
+//  Parameters:
+//    p_msg - *in* *octetstring* - message to encode
+// 
+//  Return Value:
+//    charstring - encoded message
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function enc_MIME_Base64(in octetstring p_msg) return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: dec_MIME_Base64
+// 
+//  Purpose:
+//    Decode message from MIME Base64 format (RFC 2045)
+//
+//  Parameters:
+//    p_b64 - *in* *charstring* - message to decode
+// 
+//  Return Value:
+//    octetstring - decoded message
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function dec_MIME_Base64(in charstring p_b64) return octetstring;
+
+////////////////////////////
+// LDIF Base64 (RFC 2849) //
+////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: enc_LDIF_Base64
+// 
+//  Purpose:
+//    Encode message to LDIF Base64 format (RFC 2849)
+//
+//  Parameters:
+//    p_msg - *in* *octetstring* - message to encode
+// 
+//  Return Value:
+//    charstring - encoded message
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function enc_LDIF_Base64(in octetstring p_msg) return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: dec_LDIF_Base64
+// 
+//  Purpose:
+//    Decode message from LDIF Base64 format (RFC 2849)
+//
+//  Parameters:
+//    p_b64 - *in* *charstring* - message to decode
+// 
+//  Return Value:
+//    octetstring - decoded message
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function dec_LDIF_Base64(in charstring p_b64) return octetstring;
+
+
+//////////////////////////////////////////////////////////
+//  Function: f_encGSM7bit
+//
+//  Purpose:
+//    GSM 7-bit encoding (GSM 03.38)
+//
+//  Parameters:
+//    pl_str - *in* *universal charstring* - USSD string
+//
+//  Return value:
+//    *ocetstring* - encoded string
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////
+function f_encGSM7bit(in universal charstring pl_str) return octetstring {  
+  var integer vl_len, i, v_unichar_code;
+  var bitstring vl_ret :=''B, vl_ret2 := ''B, vl_padstr := ''B, vl_bitstr := ''B;
+
+  for (i := 0; i < lengthof(pl_str); i := i + 1) 
+  {              
+    v_unichar_code := unichar2int(pl_str[i])
+    if( v_unichar_code <= 255 )
+    {
+      if(c_GSM_7_bit_Default_Alphabet_Encoder[v_unichar_code] != ''B)
+      {
+        vl_ret := vl_ret & c_GSM_7_bit_Default_Alphabet_Encoder[v_unichar_code]
+      }
+      else
+      {
+        log("Warning : Invalid character ", pl_str[i], " will be encoded as space!")
+	vl_ret := vl_ret & '0000010'B;
+      }
+    } 
+    else if ((v_unichar_code >= 915) and (v_unichar_code <= 937))  // greek 
+    {            
+      if(c_GSM_7_bit_Greek_Encoder[v_unichar_code-915] != ''B)
+      {   
+        vl_ret := vl_ret & c_GSM_7_bit_Greek_Encoder[v_unichar_code-915] 
+      }
+      else
+      {
+	log("Warning : Invalid character ", pl_str[i], " will be encoded as space!")
+	vl_ret := vl_ret & '0000010'B;
+      }    
+    }
+    else if (v_unichar_code == 8364)    // euro
+    {      
+      vl_ret := vl_ret & '11011001010011'B
+    }
+    else
+    {
+      log("Warning : Invalid character ", pl_str[i], " will be encoded as space!");
+      vl_ret := vl_ret & '0000010'B;
+    }        
+  }
+
+  if(lengthof(vl_ret) mod 8 != 1) {
+    vl_padstr := int2bit(0, 8 - lengthof(vl_ret) mod 8); 
+  } else {
+    vl_padstr := '1011000'B;
+  }
+
+  vl_ret := vl_ret & vl_padstr;
+  vl_len := lengthof(vl_ret)/8;
+   
+
+  for (i := 0; i < vl_len; i := i + 1) 
+  {
+    vl_bitstr := substr(vl_ret, i*8, 8);   
+    vl_ret2 := vl_ret2 & vl_bitstr[7] & vl_bitstr[6] & vl_bitstr[5] & vl_bitstr[4] & vl_bitstr[3] & vl_bitstr[2] & vl_bitstr[1] & vl_bitstr[0];
+  } 
+
+  return bit2oct(vl_ret2);
+}
+
+//////////////////////////////////////////////////////////
+//  Function: f_decGSM7bit
+//
+//  Purpose:
+//    GSM 7-bit decoding (GSM 03.38)
+//
+//  Parameters:
+//    pl_gsm7bit - *in* *ocetstring* - GSM 7bit encoded string
+//
+//  Return value:
+//    *universal charstring* - decoded string
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////
+function f_decGSM7bit(in octetstring pl_gsm7bit) return universal charstring {  
+  var bitstring vl_7bitstr := oct2bit(pl_gsm7bit);
+  var bitstring vl_reversed := ''B;
+  var bitstring vl_8bits := ''B;
+  var bitstring vl_7bits := ''B;
+  var universal charstring vl_ret := "";
+  var universal charstring vl_char := "";
+  var integer vl_index;
+
+  for (var integer i := 0; i < lengthof(vl_7bitstr); i := i + 8) {
+    vl_8bits := substr(vl_7bitstr, i, 8);
+    vl_reversed := vl_reversed & vl_8bits[7] & vl_8bits[6] & vl_8bits[5] & vl_8bits[4] & vl_8bits[3] & vl_8bits[2] & vl_8bits[1] & vl_8bits[0];
+  } 
+
+  var integer vl_septets := lengthof(vl_reversed) / 7;
+
+  for (var integer i := 0; i < vl_septets; i := i + 1) {
+    vl_7bits := substr(vl_reversed, i * 7, 7);
+    vl_index := bit2int('0'B & vl_7bits[6] & vl_7bits[5] & vl_7bits[4] & vl_7bits[3] & vl_7bits[2] & vl_7bits[1] & vl_7bits[0]);
+    
+    if(vl_index < sizeof(c_GSM_7_bit_Default_Alphabet_Decoder)) {
+      if (vl_index != 27)
+      {    
+        vl_char := c_GSM_7_bit_Default_Alphabet_Decoder[vl_index];
+      } 
+      else // extension character
+      {
+        vl_7bits := substr(vl_reversed, (i+1) * 7, 7);
+        vl_index := bit2int('0'B & vl_7bits[6] & vl_7bits[5] & vl_7bits[4] & vl_7bits[3] & vl_7bits[2] & vl_7bits[1] & vl_7bits[0]); 
+        vl_char := c_GSM_7_bit_Default_Alphabet_Extensions_Decoder[vl_index];
+	if (vl_char == "")
+	{
+	  vl_char := " ";
+	  log("Warning : Unknown extension character ",vl_index," will be decoded as space!")  
+	}	
+	i:= i+1;
+      }   
+    } 
+   
+    vl_ret := vl_ret & vl_char;
+  } 
+
+  return vl_ret;
+}
+
+///////////////////////////////////////////
+// Constants needed for GSM 7-bit encoding
+///////////////////////////////////////////
+type record of bitstring BitstringList;
+
+const BitstringList c_GSM_7_bit_Default_Alphabet_Encoder := {
+''B,''B,''B,''B,''B,''B,''B,''B,''B,''B,  // 0-9
+'0101000'B,''B,'11011000101000'B,'1011000'B,''B,''B,''B,''B,''B,''B,  // 10-19
+''B,''B,''B,''B,''B,''B,''B,''B,''B,''B,  // 20-29
+''B,''B,'0000010'B,'1000010'B,'0100010'B,'1100010'B,'0100000'B,'1010010'B,'0110010'B,'1110010'B,  // 30-39
+'0001010'B,'1001010'B,'0101010'B,'1101010'B,'0011010'B,'1011010'B,'0111010'B,'1111010'B,'0000110'B,'1000110'B,  // 40-49
+'0100110'B,'1100110'B,'0010110'B,'1010110'B,'0110110'B,'1110110'B,'0001110'B,'1001110'B,'0101110'B,'1101110'B,  // 50-59
+'0011110'B,'1011110'B,'0111110'B,'1111110'B,'0000000'B,'1000001'B,'0100001'B,'1100001'B,'0010001'B,'1010001'B,  // 60-69
+'0110001'B,'1110001'B,'0001001'B,'1001001'B,'0101001'B,'1101001'B,'0011001'B,'1011001'B,'0111001'B,'1111001'B,  // 70-79
+'0000101'B,'1000101'B,'0100101'B,'1100101'B,'0010101'B,'1010101'B,'0110101'B,'1110101'B,'0001101'B,'1001101'B,  // 80-89
+'0101101'B,'11011000011110'B,'11011001111010'B,'11011000111110'B,'11011000010100'B,'1000100'B,''B,'1000011'B,'0100011'B,'1100011'B,  // 90-99
+'0010011'B,'1010011'B,'0110011'B,'1110011'B,'0001011'B,'1001011'B,'0101011'B,'1101011'B,'0011011'B,'1011011'B,  //100-109
+'0111011'B,'1111011'B,'0000111'B,'1000111'B,'0100111'B,'1100111'B,'0010111'B,'1010111'B,'0110111'B,'1110111'B, //110-119
+'0001111'B,'1001111'B,'0101111'B,'11011000001010'B,'11011000000001'B,'11011001001010'B,'11011001011110'B,''B,''B,''B,  //120-129
+''B,''B,''B,''B,''B,''B,''B,''B,''B,''B,  //130-139
+''B,''B,''B,''B,''B,''B,''B,''B,''B,''B,  //140-149
+''B,''B,''B,''B,''B,''B,''B,''B,''B,''B,  //150-159
+''B,'0010000'B,''B,'1000000'B,'0010010'B,'1100000'B,''B,'1111101'B,''B,''B,  //160-169
+''B,''B,''B,''B,''B,''B,''B,''B,''B,''B,  //170-179
+''B,''B,''B,''B,''B,''B,''B,''B,''B,''B,  //180-189
+''B,'0000011'B,''B,''B,''B,''B,'1101101'B,'0111000'B,'0011100'B,'1001000'B,  //190-199
+''B,'1111100'B,''B,''B,''B,''B,''B,''B,''B,'1011101'B,  //200-209
+''B,''B,''B,''B,'0011101'B,''B,'1101000'B,''B,''B,''B,  //210-219
+'0111101'B,''B,''B,'0111100'B,'1111111'B,''B,''B,''B,'1101111'B,'1111000'B,  //220-229
+'1011100'B,''B,'0010000'B,'1010000'B,''B,''B,'1110000'B,''B,''B,''B,  //230-239
+''B,'1011111'B,'0001000'B,''B,''B,''B,'0011111'B,''B,'0011000'B,'0110000'B,  //240-249
+''B,''B,'0111111'B,''B,''B,''B                   //250-255
+}
+
+const BitstringList c_GSM_7_bit_Greek_Encoder :=
+{
+  '1100100'B,   //gamma
+  '0000100'B,   //delta
+  ''B,''B,''B,
+  '1001100'B,   //theta
+  ''B,''B,
+  '0010100'B,   //lambda
+  ''B,''B,
+  '0101100'B,   //xi
+  ''B,
+  '0110100'B,   //pi
+  ''B,''B,
+  '0001100'B,   //sigma
+  ''B,''B,
+  '0100100'B,   //phi
+  ''B,
+  '1110100'B,   //psi
+  '1010100'B    //omega
+}
+
+
+type record of universal charstring Extension_List;
+  
+const Extension_List c_GSM_7_bit_Default_Alphabet_Extensions_Decoder:= 
+ {  "","","","","","","","","","",       //0-9
+    "\f","","","","","","","","","",     //10-19
+    "^","","","","","","","","","",      //20-29
+    "","","","","","","","","","",       //30-39
+    "{","}","","","","","","\\","","",   //40-49
+    "","","","","","","","","","",       //50-59
+    "[","~","]", "","|", "","","","","", //60-69
+    "","","","","","","","","","",       //70-79
+    "","","","","","","","","","",       //80-89
+    "","","","","","","","","","",       //90-99 
+    "",char(0,0,32,172), "","","","","","","","",  //100-109
+    "","","","","","","","","","",       //110-119
+    "","","","","","","",""             //120-127
+ } 
+
+
+type record of universal charstring UnicharList;
+
+const UnicharList c_GSM_7_bit_Default_Alphabet_Decoder :=
+{
+"@", "£", "$","¥", "è", "é", "ù", "ì", "ò", "Ç",
+"\n", "Ø",  "ø",  "\r",  "Å",  "å", char(0,0,3,148),  "_", char(0,0,3,166),  char(0,0,3,147),
+char(0,0,3,155), char(0,0,3,169), char(0,0,3,160), char(0,0,3,168), char(0,0,3,163), char(0,0,3,152), char(0,0,3,158), "27 extension", "Æ", "æ",
+"ß","É"," ","!","\"","#","¤","%","&","''", 
+"(", ")", "*", "+", ",", "-", ".", "/", "0", "1",
+"2", "3", "4","5","6","7","8","9",":",";",
+"<", "=", ">", "?", "¡", "A", "B", "C", "D", "E", 
+"F", "G", "H", "I", "J", "K", "L", "M", "N", "O", 
+"P","Q","R","S","T","U","V","W","X","Y",
+"Z","Ä","Ö","Ñ","Ü","§","¿","a","b","c",
+"d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
+"n", "o","p","q","r","s","t","u","v","w",
+"x","y","z","ä","ö","ñ","ü","à"
+}
+
+// ISO10646
+// http://www.unicode.org/
+// char(0,0,3,148) greek capital letter delta
+// char(0,0,3,166) greek capital letter phi
+// char(0,0,3,147) greek capital letter gamma
+// char(0,0,3,155) greek capital letter lambda
+// char(0,0,3,169) greek capital letter omega
+// char(0,0,3,160) greek capital letter pi
+// char(0,0,3,168) greek capital letter psi
+// char(0,0,3,163) greek capital letter sigma
+// char(0,0,3,152) greek capital letter theta
+// char(0,0,3,158) greek capital letter xi
+// char(0,0,32,172) euro sign
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_is_TBCD
+//
+//  Purpose:
+//    Function to check if a charstring contains only hex digits
+//
+//  Parameters:
+//    pl_number - *in* *charstring* - string to check
+//
+//  Return Value:
+//    *boolean* - result of check
+//
+//  Errors:
+//    -
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+function f_is_TBCD(in charstring pl_number) return boolean
+{
+  var integer vl_iterations := lengthof(pl_number);
+  for (var integer i := 0; i < vl_iterations; i := i + 1)
+  {
+    select (pl_number[i])
+    {
+      case ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F") {}
+      case else { return false;}
+    }
+   }
+  return true;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//  Function: f_enc_TBCD
+// 
+//  Purpose:
+//    Encode charstring to TBCD
+//
+//  Parameters:
+//    pl_char - *in* *charstring* - message to encode
+// 
+//  Return Value:
+//    octetstring - TBCD encoding
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_enc_TBCD(in charstring pl_char) return octetstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_dec_TBCD
+// 
+//  Purpose:
+//    Decode octetstring from TBCD encoding
+//
+//  Parameters:
+//    pl_oct - *in* *octetstring* - message to decode
+// 
+//  Return Value:
+//    charstring - decoded message
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_dec_TBCD(in octetstring pl_oct) return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_enc_TBCD_hex
+//
+//  Purpose:
+//    This function converts the hexstring into TBCD-String format.
+//
+//  Parameters:
+//    pl_hex - *hexstring* - phone number
+//
+//  Return Value:
+//    *octetstring* - Input converted into TBCD-String format
+//
+///////////////////////////////////////////////////////////////////////////////
+public function f_enc_TBCD_hex(in hexstring pl_hex) return octetstring
+{
+  var integer vl_size:= lengthof(pl_hex);
+  if((vl_size mod 2) == 1) {
+    pl_hex := pl_hex & 'F'H;
+    vl_size := vl_size + 1;
+  }
+
+  var integer vl_i;
+  var octetstring vl_oct := ''O;
+
+  for (vl_i := 0; vl_i < vl_size; vl_i := vl_i + 2) {
+    vl_oct := vl_oct & hex2oct(pl_hex[vl_i + 1] & pl_hex[vl_i]);
+  }
+
+  return vl_oct;
+}
+
+} with {extension "version R22B"}
diff --git a/src/TCCEnv.cc b/src/TCCEnv.cc
new file mode 100644
index 0000000000000000000000000000000000000000..b3cd96babff1eadfab92906e7c20ae56880f658e
--- /dev/null
+++ b/src/TCCEnv.cc
@@ -0,0 +1,95 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCEnv.cc
+//  Description:        TCC Useful Functions: Environment Handling Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2008-01-18
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <stdlib.h>
+#include "memory.h"
+#include <string.h>
+#include "TCCEnv_Functions.hh"
+
+namespace TCCEnv__Functions {
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__GetEnv
+// 
+//  Purpose:
+//    Return the environment variable specified via p_env_name
+//
+//  Parameters:
+//    p__env__name - *in* *charstring* - name of the environment variable
+// 
+//  Return Value:
+//    charstring - value of the environment variable
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING f__GetEnv(const CHARSTRING& p__env__name)
+{
+  const char *val = getenv((const char *)p__env__name);
+  if(!val)return CHARSTRING("");
+  else return CHARSTRING(val);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__PutEnv
+// 
+//  Purpose:
+//    Set the environment variable p_env_name to p_env_value.
+//
+//  Parameters:
+//    p__env__name - *in* *charstring* - name of the environment variable
+//    p__env__value - *in* *charstring* - value of the environment variable
+// 
+//  Return Value:
+//    boolean - true if set of environment variable was successful, false else
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+BOOLEAN f__PutEnv(const CHARSTRING& p__env__name,
+  const CHARSTRING& p__env__value)
+{
+  if(p__env__name.lengthof()) {
+    char *env = 
+        mprintf("%s=%s", (const char*)p__env__name, (const char*)p__env__value);    
+        
+    int result = putenv(env);
+    
+    if(result) {
+      TTCN_warning("putenv failed with error code %d.", result);
+      return BOOLEAN(FALSE);
+    }
+  }
+  return BOOLEAN(TRUE);
+}
+
+/*INTEGER f__UnsetEnv(const CHARSTRING& p__env__name)
+{
+  return INTEGER(unsetenv((const char *)p__env__name));
+}*/
+
+}//namespace
diff --git a/src/TCCEnv_Functions.ttcn b/src/TCCEnv_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..355354c4e25d482bb7273b7b25c2f955bae7d3be
--- /dev/null
+++ b/src/TCCEnv_Functions.ttcn
@@ -0,0 +1,82 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCEnv_Functions.ttcn
+//  Description:        TCC Useful Functions: Environment Handling Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2008-01-18
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCEnv_Functions
+// 
+//  Purpose:
+//    This module supports handling of environment e.g. environment variable
+//    operations
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCEnv_Functions {
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_GetEnv
+// 
+//  Purpose:
+//    Return the environment variable specified via p_env_name
+//
+//  Parameters:
+//    p_env_name - *in* *charstring* - name of the environment variable
+// 
+//  Return Value:
+//    charstring - value of the environment variable
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_GetEnv(in charstring p_env_name) return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_PutEnv
+// 
+//  Purpose:
+//    Set the environment variable p_env_name to p_env_value.
+//
+//  Parameters:
+//    p_env_name - *in* *charstring* - name of the environment variable
+//    p_env_value - *in* *charstring* - value of the environment variable
+// 
+//  Return Value:
+//    boolean - true if set of environment variable was successful, false else
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_PutEnv(in charstring p_env_name, in charstring p_env_value)
+return boolean;
+
+//external function f_UnsetEnv(in charstring p_env_name) return integer;
+
+}
diff --git a/src/TCCFileIO.cc b/src/TCCFileIO.cc
new file mode 100644
index 0000000000000000000000000000000000000000..7197eca18592514abc57a33d124748f2dbecd6bf
--- /dev/null
+++ b/src/TCCFileIO.cc
@@ -0,0 +1,1302 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCFileIO.cc
+//  Description:        TCC Useful Functions: FileIO Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2009-04-09
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TCCFileIO_Functions.hh"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/file.h>
+#include <string.h>
+#include <strings.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#include <map>
+#include <string>
+#include <sstream>
+
+
+#define BUF_SIZE 512
+
+namespace TCCFileIO__Functions
+{
+
+/* http://www-h.eng.cam.ac.uk/help/tpl/unix/HP/bsd_to_hpux.html contains more
+   possible solutions.  */
+#if defined (SOLARIS) || defined (SOLARIS8)
+#define LOCK_SH 1
+#define LOCK_EX 2
+#define LOCK_NB 4
+#define LOCK_UN 8
+
+int flock (int fd, int op)
+{
+  int i;
+  switch (op)
+    {
+      case LOCK_SH:
+      case LOCK_EX:
+        i = lockf (fd, F_LOCK, 0);
+        break;
+      case LOCK_SH | LOCK_NB:
+      case LOCK_EX | LOCK_NB:
+        i = lockf (fd, F_TLOCK, 0);
+        if (i == -1)
+          if (errno == EAGAIN || errno == EACCES)
+            errno = EWOULDBLOCK;
+        break;
+      case LOCK_UN:
+        i = lockf (fd, F_ULOCK, 0);
+        break;
+      default:
+        i = -1;
+        errno = EINVAL;
+        break;
+    }
+  return i;
+}
+#endif
+
+#ifdef ENABLE_CHECKING
+/* For storing the opened files globally.  */
+static std::map<int, std::string> opened_files;
+#endif
+void f__FIO__warning (const char *pl__msg, ...)
+  __attribute__((format(printf, 1, 2)));
+void f__FIO__error (const char *pl__msg, ...)
+  __attribute__((format(printf, 1, 2)));
+
+#ifdef VERBOSE_DEBUG
+void f__FIO__warning (const char *pl__msg, ...)
+{
+  TTCN_Logger::begin_event (TTCN_WARNING);
+  TTCN_Logger::log_event ("TCCFileIO: ");
+  va_list ap;
+  va_start (ap, pl__msg);
+  TTCN_Logger::log_event_va_list (pl__msg, ap);
+  va_end (ap);
+  TTCN_Logger::end_event ();
+}
+
+void f__FIO__error (const char *pl__msg, ...)
+{
+  TTCN_Logger::begin_event (TTCN_ERROR);
+  TTCN_Logger::log_event ("TCCFileIO: ");
+  va_list ap;
+  va_start (ap, pl__msg);
+  TTCN_Logger::log_event_va_list (pl__msg, ap);
+  va_end (ap);
+  TTCN_Logger::end_event ();
+}
+#else
+void f__FIO__warning (const char */*pl__msg*/, ...)
+{
+}
+
+void f__FIO__error (const char */*pl__msg*/, ...)
+{
+}
+#endif
+
+/* Function: f__FIO__get__error__string
+
+   Returns the actual error message.
+
+   Returns:
+   The actual error message as a string.  */
+CHARSTRING f__FIO__get__error__string ()
+{
+  return CHARSTRING (strerror (errno));
+}
+
+/* Function: f__FIO__get__error__code
+
+   Returns the actual error code.
+
+   Returns:
+   The actual error message as a string.  */
+INTEGER f__FIO__get__error__code ()
+{
+  return INTEGER (errno);
+}
+
+/* Function: f__FIO__realize__error
+
+   Builds the error message.  (For internal use only.)
+
+   Returns:
+   Always -1.  */
+INTEGER f__FIO__realize__error (const char* pl__func,
+  const char* pl__msg, const char* pl__file,
+  const int pl__line)
+{
+  f__FIO__error ("%s:%s:%s(%s:%i)",pl__func,pl__msg,strerror (errno),pl__file,pl__line);
+  /* Always return -1 on error.  */
+  return INTEGER (-1);
+}
+
+#ifdef ENABLE_CHECKING
+/* Function: f__FIO__opened
+
+   Checks if the file with the given name is already opened.  This function
+   runs in linear time.  (For internal use only.)
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   The file descriptor of the file or -1 if the file is not yet opened.  */
+INTEGER f__FIO__opened (const CHARSTRING& pl__name)
+{
+  /* Linear time.  */
+  for (std::map<int, std::string>::const_iterator iter =
+    opened_files.begin (); iter != opened_files.end (); iter++)
+    {
+      if ((iter->second).c_str () == pl__name)
+        return INTEGER (iter->first);
+    }
+  return INTEGER (-1);
+}
+
+/* Function: f__FIO__opened
+
+   Checks if there is a file opened with the given file descriptor.  This
+   function runs in logarithmic time.  (For internal use only.)
+
+   Parameters:
+     FD - The descriptor for the file.
+
+   Returns:
+   The name of the file or an empty string if the file is not yet opened.  */
+CHARSTRING f__FIO__opened (const INTEGER& pl__fd)
+{
+  /* Logarithmic time.  */
+  std::map<int, std::string>::const_iterator iter =
+    opened_files.find (pl__fd);
+  return (iter != opened_files.end () ?
+    CHARSTRING ((iter->second).c_str ()) : CHARSTRING ());
+}
+#endif
+
+/* Function: f__FIO__open
+
+   Opens a file with the given name in the given mode.  It creates the file if
+   it doesn't exist.  (For internal use only.)
+
+   Parameters:
+     NAME - The name of the file.
+     FLAGS - The way to open the file.
+
+   Returns:
+   The file descriptor for the file or -1 on error.  The error message is
+   available through the f__FIO__get__error function.  */
+INTEGER f__FIO__open (const CHARSTRING& pl__name, const int pl__flags)
+{
+#ifdef ENABLE_CHECKING
+  if (!(f__FIO__opened (pl__name) < 0))
+    return f__FIO__realize__error ("f__FIO__open",
+      "The file is already opened", __FILE__, __LINE__);
+#endif
+  int fd = open (pl__name, pl__flags, S_IRUSR | S_IWUSR | S_IRGRP |
+    S_IROTH);
+  if (fd < 0)
+    return f__FIO__realize__error ("f__FIO__open", "Cannot open file",
+      __FILE__, __LINE__);
+#ifdef ENABLE_CHECKING
+  opened_files[fd] = (const char *) pl__name;
+#endif
+  return INTEGER (fd);
+}
+
+/* Function: f__FIO__open__rdonly
+
+   A wrapper function for f__FIO__open.  It opens the file with the given name
+   for reading only.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   What f__FIO__open returns.  */
+INTEGER f__FIO__open__rdonly (const CHARSTRING& pl__name)
+{
+  return f__FIO__open (pl__name, O_RDONLY);
+}
+
+/* Function: f__FIO__open__append__wronly
+
+   A wrapper function for f__FIO__open.  It opens the file with the given name
+   for writing only.  If the file already exists it is opened in appending
+   mode.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   What f__FIO__open returns.  */
+INTEGER f__FIO__open__append__wronly (const CHARSTRING& pl__name)
+{
+  return f__FIO__open (pl__name, O_APPEND | O_WRONLY | O_CREAT);
+}
+
+/* Function: f__FIO__open__append__rdwr
+
+   A wrapper function for f__FIO__open.  It opens the file with the given name
+   for reading and writing.  If the file already exists it is opened in
+   appending mode.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   What f__FIO__open returns.  */
+INTEGER f__FIO__open__append__rdwr (const CHARSTRING& pl__name)
+{
+  return f__FIO__open (pl__name, O_APPEND | O_RDWR | O_CREAT);
+}
+
+/* Function: f__FIO__open__trunc__wronly
+
+   A wrapper function for f__FIO__open.  It opens the file with the given name
+   for writing only.  If the file was not empty it is truncated.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   What f__FIO__open returns.  */
+INTEGER f__FIO__open__trunc__wronly (const CHARSTRING& pl__name)
+{
+  return f__FIO__open (pl__name, O_TRUNC | O_WRONLY | O_CREAT);
+}
+
+/* Function: f__FIO__open__trunc__rdwr
+
+   A wrapper function for f__FIO__open.  It opens the file with the given name
+   for reading and writing.  If the file was not empty it is truncated.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   What f__FIO__open returns.  */
+INTEGER f__FIO__open__trunc__rdwr (const CHARSTRING& pl__name)
+{
+  return f__FIO__open (pl__name, O_TRUNC | O_RDWR | O_CREAT);
+}
+
+/* Function: f__FIO__close
+
+   Closes a file associated with the given file descriptor.
+
+   Parameters:
+     FD - The file descriptor to close.
+
+   Returns:
+   What the POSIX function close returns.  */
+INTEGER f__FIO__close (const INTEGER& pl__fd)
+{
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::iterator iter = opened_files.find (pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__close", "The file is not opened",
+      __FILE__, __LINE__);
+  opened_files.erase (iter);
+#endif
+  return close (pl__fd);
+}
+
+/* Function: f__FIO__open__append__wronly__excl
+
+   A wrapper function for f__FIO__open.  It opens the file with the given name
+   for writing only in exclusive mode.  If the file already exists it is
+   opened in appending mode.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   What f__FIO__open returns or -1 if the file cannot be locked.  */
+INTEGER f__FIO__open__append__wronly__excl (const CHARSTRING& pl__name)
+{
+  int fd = f__FIO__open (pl__name, O_APPEND | O_WRONLY | O_CREAT);
+  if (!(fd < 0))
+    if (flock (fd, LOCK_EX | LOCK_NB) < 0)
+      {
+        f__FIO__close (fd);
+        return f__FIO__realize__error ("f__FIO__open__append__wronly__excl",
+          "Cannot lock file", __FILE__, __LINE__);
+      }
+  return fd;
+}
+
+/* Function: f__FIO__open__append__rdwr__excl
+
+   A wrapper function for f__FIO__open.  It opens the file with the given name
+   for reading and writing in exclusive mode.  If the file already exists it
+   is opened in appending mode.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   What f__FIO__open returns or -1 if the file cannot be locked.  */
+INTEGER f__FIO__open__append__rdwr__excl (const CHARSTRING& pl__name)
+{
+  int fd = f__FIO__open (pl__name, O_APPEND | O_RDWR | O_CREAT);
+  if (!(fd < 0))
+    if (flock (fd, LOCK_EX | LOCK_NB) < 0)
+      {
+        f__FIO__close (fd);
+        return f__FIO__realize__error ("f__FIO__open__append__rdwr__excl",
+          "Cannot lock file", __FILE__, __LINE__);
+      }
+  return fd;
+}
+
+/* Function: f__FIO__open__trunc__wronly__excl
+
+   A wrapper function for f__FIO__open.  It opens the file with the given name
+   for writing only in exclusive mode.  If the file was not empty it is
+   truncated.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   What f__FIO__open returns or -1 if the file cannot be locked.  */
+INTEGER f__FIO__open__trunc__wronly__excl (const CHARSTRING& pl__name)
+{
+  int fd = f__FIO__open (pl__name, O_TRUNC | O_WRONLY | O_CREAT);
+  if (!(fd < 0))
+    if (flock (fd, LOCK_EX | LOCK_NB) < 0)
+      {
+        f__FIO__close (fd);
+        return f__FIO__realize__error ("f__FIO__open__trunc__wronly__excl",
+          "Cannot lock file", __FILE__, __LINE__);
+      }
+  return fd;
+}
+
+/* Function: f__FIO__open__trunc__rdwr__excl
+
+   A wrapper function for f__FIO__open.  It opens the file with the given name
+   for reading and writing in exclusive mode.  If the file was not empty it is
+   truncated.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   What f__FIO__open returns or -1 if the file cannot be locked.  */
+INTEGER f__FIO__open__trunc__rdwr__excl (const CHARSTRING& pl__name)
+{
+  int fd = f__FIO__open (pl__name, O_TRUNC | O_RDWR | O_CREAT);
+  if (!(fd < 0))
+    if (flock (fd, LOCK_EX | LOCK_NB) < 0)
+      {
+        f__FIO__close (fd);
+        return f__FIO__realize__error ("f__FIO__open__trunc__rdwr__excl",
+          "Cannot lock file", __FILE__, __LINE__);
+      }
+  return fd;
+}
+
+/* Function:  f__FIO__seek__home
+
+   Moves the file pointer to the beginning of the file.
+
+   Parameters:
+     FD - A file descriptor.
+
+   Returns:
+   What the POSIX function lseek returns.  */
+INTEGER f__FIO__seek__home (const INTEGER& pl__fd)
+{
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::const_iterator iter =
+    opened_files.find ((int) pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__seek__home",
+      "The file is not opened", __FILE__, __LINE__);
+#endif
+  return lseek (pl__fd, 0, SEEK_SET);
+}
+
+/* Function: f__FIO__seek__end
+
+   Moves the file pointer to the end of the file.
+
+   Parameters:
+     FD - A file descriptor.
+
+   Returns:
+   What the POSIX function lseek returns.  */
+INTEGER f__FIO__seek__end (const INTEGER& pl__fd)
+{
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::const_iterator iter =
+    opened_files.find ((int) pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__seek__end",
+      "The file is not opened", __FILE__, __LINE__);
+#endif
+  return lseek (pl__fd, 0, SEEK_END);
+}
+
+/* Function: f__FIO__seek__forward
+
+   Moves the file pointer forward with a given number of bytes from the
+   current position.
+
+   Parameters:
+     FD - A file descriptor.
+     BYTES - The number of bytes.
+
+   Returns:
+   What the POSIX function lseek returns.  */
+INTEGER f__FIO__seek__forward (const INTEGER& pl__fd,
+  const INTEGER& pl__bytes)
+{
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::const_iterator iter =
+    opened_files.find ((int) pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__seek__forward",
+      "The file is not opened", __FILE__, __LINE__);
+#endif
+  return lseek (pl__fd, pl__bytes, SEEK_CUR);
+}
+
+/* Function: f__FIO__seek__backward
+
+   Moves the file pointer backward with a given number of bytes from the
+   current position.
+
+   Parameters:
+     FD - A file descriptor.
+     BYTES - The number of bytes.
+
+   Returns:
+   What the POSIX function lseek returns.  */
+INTEGER f__FIO__seek__backward (const INTEGER& pl__fd,
+  const INTEGER& pl__bytes)
+{
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::const_iterator iter =
+    opened_files.find ((int) pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__seek__backward",
+      "The file is not opened", __FILE__, __LINE__);
+#endif
+  return lseek (pl__fd, -pl__bytes, SEEK_CUR);
+}
+
+/* Function: f__FIO__flush
+
+   Transfers ("flushes") all modified in-core data of the file referred to by
+   the file descriptor to the disk device.
+
+   Parameters:
+     FD - A file descriptor.
+
+   Returns:
+   What fsync returns.  */
+INTEGER f__FIO__flush (const INTEGER& pl__fd)
+{
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::const_iterator iter =
+    opened_files.find ((int) pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__flush", "The file is not opened",
+      __FILE__, __LINE__);
+#endif
+  return fsync ((int) pl__fd);
+}
+
+/* Function: f__FIO__write
+
+   Writes the given data to the file associated with the given file
+   descriptor.  It works with textual and binary data.  (For internal use
+   only.)
+
+   Parameters:
+     FD - A file descriptor.
+     DATA - The data to write to the file.
+
+   Returns:
+   The number of bytes written or -1 on error.  */
+template <class T>
+INTEGER f__FIO__write (const INTEGER& pl__fd, const T& pl__data,
+  bool pl__flush = false)
+{
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::const_iterator iter =
+    opened_files.find ((int) pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__write", "The file is not opened",
+      __FILE__, __LINE__);
+#endif
+  int bytes = write (pl__fd, (const void *) pl__data, pl__data.lengthof ());
+  if (bytes < 0)
+    return f__FIO__realize__error ("f__FIO__write", "Cannot write to file",
+      __FILE__, __LINE__);
+  if (pl__flush)
+    f__FIO__flush (pl__fd);
+  /* We can safely return here.  */
+  return INTEGER (bytes);
+}
+
+/* Function: f__FIO__write__text
+
+   A wrapper function for f__FIO__write.  It writes textual data.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The text to write to the file.
+
+   Returns:
+   What f__FIO__write returns.  */
+INTEGER f__FIO__write__text (const INTEGER& pl__fd,
+  const CHARSTRING& pl__text)
+{
+  return f__FIO__write<CHARSTRING> (pl__fd, pl__text);
+}
+
+/* Function: f__FIO__write__text__flush
+
+   A wrapper function for f__FIO__write.  It writes textual data and calls
+   f__FIO__flush.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The text to write to the file.
+
+   Returns:
+   What f__FIO__write returns.  */
+INTEGER f__FIO__write__text__flush (const INTEGER& pl__fd,
+  const CHARSTRING& pl__text)
+{
+  return f__FIO__write<CHARSTRING> (pl__fd, pl__text, true);
+}
+
+/* Function: f__FIO__write__data
+
+   A wrapper function for f__FIO__write.  It writes binary data.
+
+   Parameters:
+     FD - A file descriptor.
+     DATA - The data to write to the file.
+
+   Returns:
+   What f__FIO__write returns.  */
+INTEGER f__FIO__write__data (const INTEGER& pl__fd,
+  const OCTETSTRING& pl__data)
+{
+  return f__FIO__write<OCTETSTRING> (pl__fd, pl__data);
+}
+
+/* Function: f__FIO__write__data__flush
+
+   A wrapper function for f__FIO__write.  It writes binary data and calls
+   f__FIO__flush.
+
+   Parameters:
+     FD - A file descriptor.
+     DATA - The data to write to the file.
+
+   Returns:
+   What f__FIO__write returns.  */
+INTEGER f__FIO__write__data__flush (const INTEGER& pl__fd,
+  const OCTETSTRING& pl__data)
+{
+  return f__FIO__write<OCTETSTRING> (pl__fd, pl__data, true);
+}
+
+/* Function: f__FIO__read
+
+   Reads a given number of bytes to a given buffer from a file associated with
+   the given file descriptor.  (For internal use only.)
+
+   Parameters:
+     FD - A file descriptor.
+     DATA - The buffer where the data will be stored.
+     BYTES - The number of bytes to read.
+
+   Returns:
+   The number of bytes read or -1 if the requested number of bytes couldn't be
+   read.  */
+template <class T, class U>
+INTEGER f__FIO__read (const INTEGER& pl__fd, T& pl__data,
+  const INTEGER& pl__bytes)
+{
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::iterator iter = opened_files.find (pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__read", "The file is not opened",
+      __FILE__, __LINE__);
+#endif
+  int bytes = 0;
+  U *buf = (U *) Malloc (sizeof (U) * ((int) pl__bytes));
+  memset (buf, 0, sizeof (U) * ((int) pl__bytes));
+  bytes = read (pl__fd, buf, pl__bytes);
+  if (bytes < 0)
+    {
+      Free (buf);
+      return f__FIO__realize__error ("f__FIO__read", "Read error", __FILE__,
+        __LINE__);
+    }
+  pl__data = T (bytes, buf);
+  Free (buf);
+  return INTEGER (bytes);
+}
+
+/* Function: f__FIO__read__text
+
+   A wrapper function for f__FIO__read.  It reads textual data.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The buffer for storing the text.
+     BYTES - The number of bytes to read.
+
+   Returns:
+   What f__FIO__read returns.  */
+INTEGER f__FIO__read__text (const INTEGER& pl__fd, CHARSTRING& pl__text,
+  const INTEGER& pl__bytes)
+{
+  return f__FIO__read<CHARSTRING, char> (pl__fd, pl__text, pl__bytes);
+}
+
+/* Function: f__FIO__read__data
+
+   A wrapper function for f__FIO__read.  It reads binary data.
+
+   Parameters:
+     FD - A file descriptor.
+     DATA - The buffer for storing the data.
+     BYTES - The number of bytes to read.
+
+   Returns:
+   What f__FIO__read returns.  */
+INTEGER f__FIO__read__data (const INTEGER& pl__fd, OCTETSTRING& pl__data,
+  const INTEGER& pl__bytes)
+{
+  return f__FIO__read<OCTETSTRING, unsigned char> (pl__fd, pl__data,
+    pl__bytes);
+}
+
+/* Function: f__FIO__read__text__until
+
+   It reads textual data until a given pattern is matched.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The buffer for storing the text.
+     SEPARATOR - The separator pattern.
+
+   Returns:
+   The number of bytes read from the file, not including the delimiter.  In
+   case of error it returns -1.  */
+INTEGER f__FIO__read__text__until (const INTEGER& pl__fd,
+  CHARSTRING& pl__text, const CHARSTRING& pl__separator)
+{
+  char *buf = NULL; /* For the whole line.  */
+  char *out = NULL;
+  char buf_tmp[BUF_SIZE + 1]; /* For reading chunks.  */
+  unsigned int buf_size = BUF_SIZE << 1;
+  unsigned int byte_num = 0;
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::iterator iter = opened_files.find (pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__read__text__until",
+      "The file is not opened", __FILE__, __LINE__);
+#endif
+  while (true)
+    {
+      bzero (buf_tmp, BUF_SIZE);
+      /* Try to read BUF_SIZE bytes.  */
+      int bytes = read (pl__fd, buf_tmp, BUF_SIZE);
+      buf_tmp[bytes] = '\0'; /* Never forget.  */
+      if (bytes < 0)
+        {
+          if (buf)
+            Free (buf);
+          return f__FIO__realize__error ("f__FIO__read__text__until",
+            "Read error", __FILE__, __LINE__);
+        }
+      else if (bytes == 0)
+        {
+          if (buf != NULL)
+            Free (buf);
+          return f__FIO__realize__error ("f__FIO__read__text__until",
+            "End of file", __FILE__, __LINE__);
+        }
+      if (buf == NULL || byte_num + bytes >= buf_size)
+	{
+	  int new_size = 2 * buf_size;
+	  char *new_buf = (char *) Realloc (buf, sizeof (char) * new_size);
+	  /* Blank it first time.  */
+	  if (new_size == BUF_SIZE << 2)
+	    bzero (new_buf, new_size);
+	  if (!new_buf)
+	    {
+              if (buf != NULL)
+                Free (buf);
+              return f__FIO__realize__error ("f__FIO__read__text__until",
+                "Cannot allocate memory", __FILE__, __LINE__);
+ 	    }
+	  buf = new_buf;
+	  buf_size = new_size;
+	}
+      memcpy (buf + byte_num, buf_tmp, bytes);
+      byte_num += bytes;
+      /* We always have space for the trailing '\0'.  */
+      buf[byte_num] = '\0';
+      if (strlen (buf) >= strlen (pl__separator))
+	if (strstr (buf, pl__separator) != NULL)
+	  break;
+    }
+  int back = buf + byte_num - strstr (buf, pl__separator) -
+    strlen (pl__separator);
+  /* Ignore the characters after the delimiter.  */
+  lseek (pl__fd, -back, SEEK_CUR);
+  if (out == NULL)
+    /* I miss "Calloc" a lot.  */
+    out = (char *) Malloc (((strstr (buf, pl__separator) - buf) + 1) *
+      sizeof (char));
+  int out_len = strstr (buf, pl__separator) - buf;
+  bzero (out, out_len + 1);
+  memcpy (out, buf, out_len);
+  out[out_len] = '\0';
+  pl__text = CHARSTRING (out_len, out);
+  Free (out);
+  Free (buf);
+  return out_len;
+}
+
+/* Function: f__FIO__read__data__until
+
+   It reads binary data until a given pattern is matched.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The buffer for storing the data.
+     SEPARATOR - The separator pattern.
+
+   Returns:
+   The number of bytes read from the file, not including the delimiter.  In
+   case of error it returns -1.  */
+INTEGER f__FIO__read__data__until (const INTEGER& pl__fd,
+  OCTETSTRING& pl__data, const OCTETSTRING& pl__separator)
+{
+  int buf_size = BUF_SIZE;
+  int buf_num = 0;
+  unsigned char *buf = NULL;
+  unsigned char c;
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::iterator iter = opened_files.find (pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__read__data__until",
+      "The file is not opened", __FILE__, __LINE__);
+#endif
+  while (true)
+    {
+      int bytes = read (pl__fd, &c, 1);
+      if (bytes < 0)
+        {
+          if (buf)
+            Free (buf);
+          /* Return -1 and print out a probably useful error message.  */
+          return f__FIO__realize__error ("f__FIO__read__data__until",
+            "Read error", __FILE__, __LINE__);
+        }
+      /* EOF is reached before we first matched the pattern.  */
+      else if (bytes == 0)
+        {
+          if (buf)
+            Free (buf);
+          return f__FIO__realize__error ("f__FIO__read__data__until",
+            "End of file", __FILE__, __LINE__);
+        }
+      if (buf == NULL || buf_num == (int) (sizeof (unsigned char) * buf_size))
+        {
+          int new_size = buf_size * 2;
+          unsigned char *new_buf = (unsigned char *) Realloc (buf,
+            sizeof (unsigned char) * new_size);
+          if (!new_buf)
+            {
+              if (buf)
+                Free (buf);
+              return f__FIO__realize__error ("f__FIO__read__data__until",
+                "Cannot allocate memory", __FILE__, __LINE__);
+            }
+          buf = new_buf;
+          buf_size = new_size;
+        }
+      buf[buf_num++] = c;
+      if (buf_num >= pl__separator.lengthof () &&
+          !memcmp ((const unsigned char *) (buf + buf_num -
+            pl__separator.lengthof ()), (const unsigned char *) pl__separator,
+            pl__separator.lengthof ()))
+        break;
+    }
+  pl__data = OCTETSTRING (buf_num - pl__separator.lengthof (), buf);
+  Free (buf);
+  return INTEGER (pl__data.lengthof ());
+}
+
+/*Function:  f__FIO__set__filedescriptor__previousline
+   It sets the file descriptor to the begin of the previous line.
+
+   Parameters:
+     FD - A file descriptor.
+
+   Returns:
+    If there was no problem, then the return value will be 1.  */
+INTEGER f__FIO__set__filedescriptor__previousline (const INTEGER& pl__fd)
+{
+  char buf_tmp[BUF_SIZE+ 1]; /* For reading chunks.  */
+  int bytes = 0;
+  int founded = 0;
+
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::iterator iter = opened_files.find (pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__read__text__until",
+      "The file is not opened", __FILE__, __LINE__);
+#endif
+  while (true) {    
+      bzero (buf_tmp, BUF_SIZE);
+      /* Try to read BUF_SIZE bytes.  */
+      int length = lseek(pl__fd,0,SEEK_CUR);
+      if (length >= BUF_SIZE){
+          lseek(pl__fd,-BUF_SIZE,SEEK_CUR);
+          bytes = read (pl__fd, buf_tmp, BUF_SIZE);
+          length = BUF_SIZE;
+          buf_tmp[bytes] = '\0'; /* Never forget.  */
+        }
+      else if (length>0){
+          lseek(pl__fd,-length,SEEK_CUR);
+          bytes = read (pl__fd, buf_tmp, length);
+          buf_tmp[bytes] = '\0'; /* Never forget.  */
+      }
+      else if (length == 0) {
+          return 0;
+      }
+      else {
+          return -1;
+      }
+           
+      int p = bytes-1;
+      while ((buf_tmp[p] != '\n') && (p != 0) ) {
+        p--;
+      }
+      
+      if ((p != 0) && (founded == 0)) {
+    	  founded++;
+    	  p--;
+    	  while ((buf_tmp[p] != '\n') && (p != 0) ) {
+    	          p--;
+    	  }
+    	  if ((p != 0) && (founded == 1)) {
+    	      	  lseek(pl__fd,-(length-p)+1,SEEK_CUR);
+    	      	  return 1;
+    	  }  
+      }
+           
+      if ((p != 0) && (founded == 1)) {
+    	  lseek(pl__fd,-(length-p)+1,SEEK_CUR);
+    	  return 1; 	      	  
+      }
+          
+      lseek(pl__fd,-length,SEEK_CUR);
+  }   
+}
+
+/* Function: f__FIO__read__data__TLV
+
+   It reads binary data until a full ASN.1 TLV structure is read.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The buffer for storing the data.
+
+   Returns:
+   The number of bytes read from the file.  In
+   case of error it returns -1.  */
+INTEGER f__FIO__read__data__TLV (const INTEGER& pl__fd,
+  OCTETSTRING& pl__data)
+{
+  unsigned char *buf = NULL; /* For the whole line.  */
+  char buf_tmp[BUF_SIZE]; /* For reading chunks.  */
+  unsigned int buf_size = BUF_SIZE << 1;
+  unsigned int byte_num = 0;
+  ASN_BER_TLV_t tlv;
+  size_t tlvlength;
+#ifdef ENABLE_CHECKING
+  std::map<int, std::string>::iterator iter = opened_files.find (pl__fd);
+  if (iter == opened_files.end ())
+    return f__FIO__realize__error ("f__FIO__read__data__TLV",
+      "The file is not opened", __FILE__, __LINE__);
+#endif
+  while (true)
+    {
+      /* Try to read BUF_SIZE bytes.  */
+      int bytes = read (pl__fd, buf_tmp, BUF_SIZE);
+      if (bytes < 0)
+        {
+          if (buf)
+            Free (buf);
+          return f__FIO__realize__error ("f__FIO__read__data__TLV",
+            "Read error", __FILE__, __LINE__);
+        }
+      else if (bytes == 0)
+        {
+          if (buf != NULL)
+            Free (buf);
+          return f__FIO__realize__error ("f__FIO__read__data__TLV",
+            "End of file", __FILE__, __LINE__);
+        }
+      if (buf == NULL || byte_num + bytes >= buf_size)
+	{
+	  int new_size = 2 * buf_size;
+	  unsigned char *new_buf = (unsigned char *) Realloc (buf, sizeof (char) * new_size);
+	  /* Blank it first time.  */
+	  if (new_size == BUF_SIZE << 2)
+	    bzero (new_buf, new_size);
+	  if (!new_buf)
+	    {
+              if (buf != NULL)
+                Free (buf);
+              return f__FIO__realize__error ("f__FIO__read__data__TLV",
+                "Cannot allocate memory", __FILE__, __LINE__);
+ 	    }
+	  buf = new_buf;
+	  buf_size = new_size;
+	}
+      memcpy (buf + byte_num, buf_tmp, bytes);
+      byte_num += bytes;
+
+      /* Check for TLV structure */
+      if (ASN_BER_str2TLV(byte_num,buf,tlv,BER_ACCEPT_ALL))
+        {
+	  tlvlength = tlv.get_len();
+	  break;
+        }
+    }
+  /* Ignore the characters after the delimiter.  */
+  lseek (pl__fd, -(byte_num - tlvlength), SEEK_CUR);
+
+  pl__data = OCTETSTRING (tlvlength, buf);
+  Free (buf);
+  return tlvlength;
+}
+
+/* Function: f__FIO__chdir
+
+   It changes the current directory.
+
+   Parameters:
+     NAME - The name of the new directory.
+
+   Returns:
+   Boolean value for successful or unsuccessful directory change  */
+BOOLEAN f__FIO__chdir(const CHARSTRING& pl__name)
+{
+  if(chdir((const char *)(pl__name)))
+  {
+    f__FIO__realize__error ("f__FIO__chdir",
+                "Cannot change directory", __FILE__, __LINE__);
+    return FALSE;
+  }
+  else
+    return TRUE;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_mkdir
+// 
+//  Purpose:
+//    Create a new directory
+//
+//  Parameters:
+//    p_dir_name - *in* *charstring* - name of the directory to create
+// 
+//  Return Value:
+//    boolean - indicate the successful or unsuccessful directory creation
+//
+//  Errors:
+//    In the case of unsuccessful operation the cause of the error can be 
+//    queried  by the f_FIO_get_error_code, f_FIO_get_error_string functions
+// 
+//  Detailed description:
+//    The path to the directory must exist, so the existence of the path
+//    should be checked, and the missing directories should be created
+//    recursively.
+// 
+///////////////////////////////////////////////////////////////////////////////
+BOOLEAN f__FIO__mkdir(const CHARSTRING& pl__dir__name)
+{
+  if(mkdir((const char *)(pl__dir__name),0777))
+  {
+    f__FIO__realize__error ("f_FIO_mkdir",
+                "Cannot make a directory", __FILE__, __LINE__);
+    return FALSE;
+  }
+  else
+    return TRUE;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_rmdir
+// 
+//  Purpose:
+//    Removes a directory
+//
+//  Parameters:
+//    p_dir_name - *in* *charstring* - name of the directory to remove
+// 
+//  Return Value:
+//    boolean - indicate the successful or unsuccessful directory creation
+//
+//  Errors:
+//    In the case of unsuccessful operation the cause of the error can be 
+//    queried  by the f_FIO_get_error_code, f_FIO_get_error_string functions
+// 
+//  Detailed description:
+//    The directories must be empty, so the child directories should be 
+//    cleaned and deleted recursively.
+// 
+///////////////////////////////////////////////////////////////////////////////
+BOOLEAN f__FIO__rmdir(const CHARSTRING& pl__dir__name)
+{
+  if(rmdir((const char *)(pl__dir__name)))
+  {
+    f__FIO__realize__error ("f__FIO__rmdir",
+                "Cannot make a directory", __FILE__, __LINE__);
+    return FALSE;
+  }
+  else
+    return TRUE;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_fileOrDirExists
+// 
+//  Purpose:
+//    Checks the existence of files and directories.
+//
+//  Parameters:
+//    p_name - *in* *charstring* - name of the file or directory to check
+// 
+//  Return Value:
+//    boolean - indicate the exictense of the file or diectory
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+BOOLEAN f__FIO__fileOrDirExists(const CHARSTRING& filename ) {
+  struct stat buffer ;
+  if(stat( (const char *)filename, &buffer )==0) {
+    return TRUE ;
+  }
+  return FALSE ;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_stat
+// 
+//  Purpose:
+//    Query the permissions of the file or directory.
+//
+//  Parameters:
+//    p_name - *in* *charstring* - name of the file or directory to check
+//    p_permissions - *out* *FIO_permissions* - the permissions of the object
+// 
+//  Return Value:
+//    boolean - indicate sucessfull execution
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+
+BOOLEAN f__FIO__stat(const CHARSTRING& p__name,
+                     FIO__permissions& p__permissions ) {
+  struct stat buffer;
+  mode_t   st_mode;
+  if(stat( (const char *)p__name, &buffer )) {
+    f__FIO__realize__error ("f__FIO__stat",
+                "Cannot stat", __FILE__, __LINE__);
+    return FALSE;
+  }
+  st_mode=buffer.st_mode;
+  p__permissions.set__uid()=st_mode & S_ISUID;
+  p__permissions.set__gid()=st_mode & S_ISGID;
+  p__permissions.sticky__bit()=st_mode & S_ISVTX;
+  p__permissions.owner__read()=st_mode & S_IRUSR;
+  p__permissions.owner__write()=st_mode & S_IWUSR;
+  p__permissions.owner__execute()=st_mode & S_IXUSR;
+  p__permissions.group__read()=st_mode & S_IRGRP;
+  p__permissions.group__write()=st_mode & S_IWGRP;
+  p__permissions.group__execute()=st_mode & S_IXGRP;
+  p__permissions.other__read()=st_mode & S_IROTH;
+  p__permissions.other__write()=st_mode & S_IWOTH;
+  p__permissions.other__execute()=st_mode & S_IXOTH;
+  
+  return TRUE;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_chmod
+// 
+//  Purpose:
+//    Change the permissions of the file or directory.
+//
+//  Parameters:
+//    p_name - *in* *charstring* - name of the file or directory to check
+//    p_permissions - *in* *FIO_permissions* - the permissions of the object
+// 
+//  Return Value:
+//    boolean - indicate sucessfull execution
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    Change the permissions of the file or directory according to the 
+//    p_permissions. If the value of the field is:
+//       - true: set the permission
+//       - false: clear the permission
+//       - omit: doesn't change the permission
+// 
+///////////////////////////////////////////////////////////////////////////////
+BOOLEAN f__FIO__chmod(const CHARSTRING& p__name,
+                      const FIO__permissions& p__permissions ) {
+  struct stat buffer;
+  mode_t   st_mode;
+  if(stat( (const char *)p__name, &buffer )) {
+    f__FIO__realize__error ("f__FIO__chmod",
+                "Cannot stat", __FILE__, __LINE__);
+    return FALSE;
+  }
+  st_mode=buffer.st_mode;
+  if(p__permissions.set__uid().ispresent()){
+    if(p__permissions.set__uid()()){
+      st_mode |= S_ISUID;
+    } else {
+      st_mode &= ~S_ISUID;
+    }
+  }
+  if(p__permissions.set__gid().ispresent()){
+    if(p__permissions.set__gid()()){
+      st_mode |= S_ISGID;
+    } else {
+      st_mode &= ~S_ISGID;
+    }
+  }
+  if(p__permissions.sticky__bit().ispresent()){
+    if(p__permissions.sticky__bit()()){
+      st_mode |= S_ISVTX;
+    } else {
+      st_mode &= ~S_ISVTX;
+    }
+  }
+  if(p__permissions.owner__read().ispresent()){
+    if(p__permissions.owner__read()()){
+      st_mode |= S_IRUSR;
+    } else {
+      st_mode &= ~S_IRUSR;
+    }
+  }
+  if(p__permissions.owner__write().ispresent()){
+    if(p__permissions.owner__write()()){
+      st_mode |= S_IWUSR;
+    } else {
+      st_mode &= ~S_IWUSR;
+    }
+  }
+  if(p__permissions.owner__execute().ispresent()){
+    if(p__permissions.owner__execute()()){
+      st_mode |= S_IXUSR;
+    } else {
+      st_mode &= ~S_IXUSR;
+    }
+  }
+  if(p__permissions.group__read().ispresent()){
+    if(p__permissions.group__read()()){
+      st_mode |= S_IRGRP;
+    } else {
+      st_mode &= ~S_IRGRP;
+    }
+  }
+  if(p__permissions.group__write().ispresent()){
+    if(p__permissions.group__write()()){
+      st_mode |= S_IWGRP;
+    } else {
+      st_mode &= ~S_IWGRP;
+    }
+  }
+  if(p__permissions.group__execute().ispresent()){
+    if(p__permissions.group__execute()()){
+      st_mode |= S_IXGRP;
+    } else {
+      st_mode &= ~S_IXGRP;
+    }
+  }
+  if(p__permissions.other__read().ispresent()){
+    if(p__permissions.other__read()()){
+      st_mode |= S_IROTH;
+    } else {
+      st_mode &= ~S_IROTH;
+    }
+  }
+  if(p__permissions.other__write().ispresent()){
+    if(p__permissions.other__write()()){
+      st_mode |= S_IWOTH;
+    } else {
+      st_mode &= ~S_IWOTH;
+    }
+  }
+  if(p__permissions.other__execute().ispresent()){
+    if(p__permissions.other__execute()()){
+      st_mode |= S_IXOTH;
+    } else {
+      st_mode &= ~S_IXOTH;
+    }
+  }
+  
+  if(chmod( (const char *)p__name, st_mode )) {
+    f__FIO__realize__error ("f__FIO__chmod",
+                "Cannot chmod", __FILE__, __LINE__);
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+}
diff --git a/src/TCCFileIO_Functions.ttcn b/src/TCCFileIO_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..058197c94e1d089a6057f661feb514192b805e26
--- /dev/null
+++ b/src/TCCFileIO_Functions.ttcn
@@ -0,0 +1,525 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCFileIO_Functions.ttcn
+//  Description:        TCC Useful Functions: FileIO Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2009-04-09
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCFileIO_Functions
+// 
+//  Purpose:
+//    This module supports file I/O handling
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCFileIO_Functions {
+
+/* Function: f_FIO_open_rdonly
+
+   A wrapper function for f_FIO_open.  It opens the file with the given name
+   for reading only.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   A valid file descriptor or -1 on error.  */
+external function f_FIO_open_rdonly (in charstring pl_name) return integer;
+
+/* Function: f_FIO_open_append_wronly
+
+   A wrapper function for f_FIO_open.  It opens the file with the given name
+   for writing only.  If the file already exists it is opened in appending
+   mode.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   A valid file descriptor or -1 on error.  */
+external function f_FIO_open_append_wronly (in charstring pl_name)
+  return integer;
+
+/* Function: f_FIO_open_append_rdwr
+
+   A wrapper function for f_FIO_open.  It opens the file with the given name
+   for reading and writing.  If the file already exists it is opened in
+   appending mode.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   A valid file descriptor or -1 on error.  */
+external function f_FIO_open_append_rdwr (in charstring pl_name)
+  return integer;
+
+/* Function: f_FIO_open_trunc_wronly
+
+   A wrapper function for f_FIO_open.  It opens the file with the given name
+   for writing only.  If the file was not empty it is truncated.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   A valid file descriptor or -1 on error.  */
+external function f_FIO_open_trunc_wronly (in charstring pl_name)
+  return integer;
+
+/* Function: f_FIO_open_trunc_rdwr
+
+   A wrapper function for f_FIO_open.  It opens the file with the given name
+   for reading and writing.  If the file was not empty it is truncated.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   A valid file descriptor or -1 on error.  */
+external function f_FIO_open_trunc_rdwr (in charstring pl_name)
+  return integer;
+
+/* Function: f_FIO_open_append_wronly_excl
+
+   A wrapper function for f_FIO_open.  It opens the file with the given name
+   for writing only in exclusive mode.  If the file already exists it is
+   opened in appending mode.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   A valid file descriptor or -1 on error.  */
+external function f_FIO_open_append_wronly_excl (in charstring pl_name)
+  return integer;
+
+/* Function: f_FIO_open_append_rdwr_excl
+
+   A wrapper function for f_FIO_open.  It opens the file with the given name
+   for reading and writing in exclusive mode.  If the file already exists it
+   is opened in appending mode.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   A valid file descriptor or -1 on error.  */
+external function f_FIO_open_append_rdwr_excl (in charstring pl_name)
+  return integer;
+
+/* Function: f_FIO_open_trunc_wronly_excl
+
+   A wrapper function for f_FIO_open.  It opens the file with the given name
+   for writing only in exclusive mode.  If the file was not empty it is
+   truncated.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   A valid file descriptor or -1 on error.  */
+external function f_FIO_open_trunc_wronly_excl (in charstring pl_name)
+  return integer;
+
+/* Function: f_FIO_open_trunc_rdwr_excl
+
+   A wrapper function for f_FIO_open.  It opens the file with the given name
+   for reading and writing in exclusive mode.  If the file was not empty it is
+   truncated.
+
+   Parameters:
+     NAME - The name of the file.
+
+   Returns:
+   A valid file descriptor or -1 on error.  */
+external function f_FIO_open_trunc_rdwr_excl (in charstring pl_name)
+  return integer;
+
+/* Function: f_FIO_close
+
+   Closes a file associated with the given file descriptor.
+
+   Parameters:
+     FD - The file descriptor to close.
+
+   Returns:
+   What the POSIX function close returns.  */
+external function f_FIO_close (in integer pl_fd) return integer;
+
+/* Function:  f_FIO_seek_home
+
+   Moves the file pointer to the beginning of the file.
+
+   Parameters:
+     FD - A file descriptor.
+
+   Returns:
+   What the POSIX function lseek returns.  */
+external function f_FIO_seek_home (in integer pl_fd) return integer;
+
+/* Function: f_FIO_seek_end
+
+   Moves the file pointer to the end of the file.
+
+   Parameters:
+     FD - A file descriptor.
+
+   Returns:
+   What the POSIX function lseek returns.  */
+external function f_FIO_seek_end (in integer pl_fd) return integer;
+
+/* Function: f_FIO_seek_forward
+
+   Moves the file pointer forward with a given number of bytes from the
+   current position.
+
+   Parameters:
+     FD - A file descriptor.
+     BYTES - The number of bytes.
+
+   Returns:
+   What the POSIX function lseek returns.  */
+external function f_FIO_seek_forward (in integer pl_fd,
+  in integer pl_bytes) return integer;
+
+/* Function: f_FIO_seek_backward
+
+   Moves the file pointer backward with a given number of bytes from the
+   current position.
+
+   Parameters:
+     FD - A file descriptor.
+     BYTES - The number of bytes.
+
+   Returns:
+   What the POSIX function lseek returns.  */
+external function f_FIO_seek_backward (in integer pl_fd,
+  in integer pl_bytes) return integer;
+
+/* Function: f_FIO_write_data
+
+   A wrapper function for f_FIO_write.  It writes binary data.
+
+   Parameters:
+     FD - A file descriptor.
+     DATA - The data to write to the file.
+
+   Returns:
+   Number of bytes written or -1 on error.  */
+external function f_FIO_write_data (in integer pl_fd,
+  in octetstring pl_data) return integer;
+
+/* Function: f_FIO_write_text
+
+   A wrapper function for f_FIO_write.  It writes textual data.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The text to write to the file.
+
+   Returns:
+   Number of bytes written or -1 on error.  */
+external function f_FIO_write_text (in integer pl_fd,
+  in charstring pl_text) return integer;
+
+/* Function: f_FIO_write_data_flush
+
+   A wrapper function for f_FIO_write.  It writes binary data and calls
+   f_FIO_flush.
+
+   Parameters:
+     FD - A file descriptor.
+     DATA - The data to write to the file.
+
+   Returns:
+   Number of bytes written or -1 on error.  */
+external function f_FIO_write_data_flush (in integer pl_fd,
+  in octetstring pl_data) return integer;
+
+/* Function: f_FIO_write_text_flush
+
+   A wrapper function for f_FIO_write.  It writes textual data and calls
+   f_FIO_flush.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The text to write to the file.
+
+   Returns:
+   Number of bytes written or -1 on error.  */
+external function f_FIO_write_text_flush (in integer pl_fd,
+  in charstring pl_text) return integer;
+
+/* Function: f_FIO_flush
+
+   Transfers ("flushes") all modified in-core data of the file referred to by
+   the file descriptor to the disk device.
+
+   Parameters:
+     FD - A file descriptor.
+
+   Returns:
+   What the POSIX function fsync returns.  */
+external function f_FIO_flush (in integer pl_fd) return integer;
+
+/* Function: f_FIO_read_data
+
+   A wrapper function for f_FIO_read.  It reads binary data.
+
+   Parameters:
+     FD - A file descriptor.
+     DATA - The buffer for storing the data.
+     BYTES - The number of bytes to read.
+
+   Returns:
+   Number of bytes read or -1 on error.  */
+external function f_FIO_read_data (in integer pl_fd, inout octetstring pl_data,
+  in integer pl_bytes) return integer;
+
+/* Function: f_FIO_read_text
+
+   A wrapper function for f_FIO_read.  It reads textual data.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The buffer for storing the text.
+     BYTES - The number of bytes to read.
+
+   Returns:
+   Number of bytes read or -1 on error.  */
+external function f_FIO_read_text (in integer pl_fd, inout charstring pl_text,
+  in integer pl_bytes) return integer;
+
+/* Function: f_FIO_read_text_until
+
+   A wrapper function for f_FIO_read_until.  It reads textual data.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The buffer for storing the text.
+     SEPARATOR - The separator pattern.
+
+   Returns:
+   Number of bytes read or -1 on error.  */
+external function f_FIO_read_text_until (in integer pl_fd,
+  inout charstring pl_text, in charstring pl_separator) return integer;
+
+/* Function: f_FIO_read_data_until
+
+   A wrapper function for f_FIO_read_until.  It reads binary data.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The buffer for storing the data.
+     SEPARATOR - The separator pattern.
+
+   Returns:
+   Number of bytes read or -1 on error.  */
+external function f_FIO_read_data_until (in integer pl_fd,
+  inout octetstring pl_data, in octetstring pl_separator) return integer;
+
+/* Function: f_FIO_read_data_TLV
+
+   A wrapper function for f_FIO_read.  It reads a full ASN.1 TLV
+   structure in binary data format.
+
+   Parameters:
+     FD - A file descriptor.
+     TEXT - The buffer for storing the data.
+     SEPARATOR - The separator pattern.
+
+   Returns:
+   Number of bytes read or -1 on error.  */
+external function f_FIO_read_data_TLV (in integer pl_fd,
+  inout octetstring pl_data) return integer;
+
+/* Function: f_FIO_get_error_string
+
+   Returns the actual error message.
+
+   Returns:
+   The actual error message as a string.  */
+external function f_FIO_get_error_string () return charstring;
+
+/* Function: f_FIO_get_error_code
+
+   Returns the actual error code.
+
+   Returns:
+   The actual error code.  */
+external function f_FIO_get_error_code () return integer;
+
+/* Function: f_FIO_set_filedescriptor_previousline
+
+   Returns:
+     If there was no problem, then the return value will be 1.
+
+*/
+external function f_FIO_set_filedescriptor_previousline (in integer pl_fd) return integer;
+
+/* Function: f_FIO_chdir
+
+   A wrapper function for f_FIO_chdir.  It changes the current directory.
+
+   Parameters:
+     NAME - The name of the new directory.
+
+   Returns:
+   Boolean value for successful or unsuccessful directory change  */
+external function f_FIO_chdir (in charstring pl_name) return boolean;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_mkdir
+// 
+//  Purpose:
+//    Create a new directory
+//
+//  Parameters:
+//    p_dir_name - *in* *charstring* - name of the directory to create
+// 
+//  Return Value:
+//    boolean - indicate the successful or unsuccessful directory creation
+//
+//  Errors:
+//    In the case of unsuccessful operation the cause of the error can be 
+//    queried  by the f_FIO_get_error_code, f_FIO_get_error_string functions
+// 
+//  Detailed description:
+//    The path to the directory must exist, so the existence of the path
+//    should be checked, and the missing directories should be created
+//    recursively.
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_FIO_mkdir (in charstring p_dir_name) return boolean;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_rmdir
+// 
+//  Purpose:
+//    Removes a directory
+//
+//  Parameters:
+//    p_dir_name - *in* *charstring* - name of the directory to remove
+// 
+//  Return Value:
+//    boolean - indicate the successful or unsuccessful directory creation
+//
+//  Errors:
+//    In the case of unsuccessful operation the cause of the error can be 
+//    queried  by the f_FIO_get_error_code, f_FIO_get_error_string functions
+// 
+//  Detailed description:
+//    The directories must be empty, so the child directories should be 
+//    cleaned and deleted recursively.
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_FIO_rmdir (in charstring p_dir_name) return boolean;
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_fileOrDirExists
+// 
+//  Purpose:
+//    Checks the existence of files and directories.
+//
+//  Parameters:
+//    p_name - *in* *charstring* - name of the file or directory to check
+// 
+//  Return Value:
+//    boolean - indicate the exictense of the file or diectory
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_FIO_fileOrDirExists (in charstring p_name) return boolean;
+
+
+type record FIO_permissions{
+  boolean   set_uid       optional, // Set user ID on execution.
+  boolean   set_gid       optional, // Set group ID on execution.
+  boolean   sticky_bit    optional, // Save text image  after execution.
+  boolean   owner_read    optional, // Read by owner.
+  boolean   owner_write   optional, // Write by owner.
+  boolean   owner_execute optional, // Execute by owner.
+  boolean   group_read    optional, // Read by group.
+  boolean   group_write   optional, // Write by group.
+  boolean   group_execute optional, // Execute by group.
+  boolean   other_read    optional, // Read by others.
+  boolean   other_write   optional, // Write by others.
+  boolean   other_execute optional  // Execute by others.
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_stat
+// 
+//  Purpose:
+//    Query the permissions of the file or directory.
+//
+//  Parameters:
+//    p_name - *in* *charstring* - name of the file or directory to check
+//    p_permissions - *out* *FIO_permissions* - the permissions of the object
+// 
+//  Return Value:
+//    boolean - indicate sucessfull execution
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_FIO_stat (in charstring p_name,
+                              out FIO_permissions p_permissions) return boolean;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_chmod
+// 
+//  Purpose:
+//    Change the permissions of the file or directory.
+//
+//  Parameters:
+//    p_name - *in* *charstring* - name of the file or directory to check
+//    p_permissions - *in* *FIO_permissions* - the permissions of the object
+// 
+//  Return Value:
+//    boolean - indicate sucessfull execution
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    Change the permissions of the file or directory according to the 
+//    p_permissions. If the value of the field is:
+//       - true: set the permission
+//       - false: clear the permission
+//       - omit: doesn't change the permission
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_FIO_chmod (in charstring p_name,
+                               in FIO_permissions p_permissions) return boolean;
+
+}
diff --git a/src/TCCFileSystem.cc b/src/TCCFileSystem.cc
new file mode 100644
index 0000000000000000000000000000000000000000..93fffe67ffb7daf2d58af35e47b79c11c93a5945
--- /dev/null
+++ b/src/TCCFileSystem.cc
@@ -0,0 +1,59 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCFileSystem.cc
+//  Description:        TCC Useful Functions: FileSystem Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2011-07-14
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TCCFileSystem_Functions.hh"
+#include <sys/statvfs.h>
+
+namespace TCCFileSystem__Functions
+{
+
+INTEGER f__FS__bsize(const CHARSTRING& filename ) {
+  struct statvfs buffer ;
+  if(statvfs( (const char *)filename, &buffer )==0) {
+    return INTEGER (buffer.f_bsize);
+  }
+  else{return INTEGER (-1);}
+}
+
+INTEGER f__FS__block(const CHARSTRING& filename ) {
+  struct statvfs buffer ;
+  if(statvfs( (const char *)filename, &buffer )==0) {
+    return INTEGER(buffer.f_blocks);
+  }
+  else{return INTEGER (-1);}
+}
+
+INTEGER f__FS__bfree(const CHARSTRING& filename ) {
+  struct statvfs buffer ;
+  if(statvfs( (const char *)filename, &buffer )==0) {
+    return INTEGER(buffer.f_bavail);
+  }
+  else{return INTEGER (-1);}
+}
+
+
+INTEGER f__FS__dspacerate(const CHARSTRING& filename ) {
+  struct statvfs buffer ;
+  if(statvfs( (const char *)filename, &buffer )==0) {
+    return INTEGER(buffer.f_bavail*100/buffer.f_blocks);
+  }
+  else{return INTEGER (-1);}
+}
+
+}
diff --git a/src/TCCFileSystem_Functions.ttcn b/src/TCCFileSystem_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..113d69809419b9be84477a73551486efdb6f7062
--- /dev/null
+++ b/src/TCCFileSystem_Functions.ttcn
@@ -0,0 +1,120 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCC_FileSystem_Functions.ttcn
+//  Description:        TCC Useful Functions: FileSystem Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2011-07-14
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCFileSystem_Functions
+// 
+//  Purpose:
+//    This module supports File System information
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+
+module TCCFileSystem_Functions {
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FS_bsize
+// 
+//  Purpose:
+//    Query the file system block size.
+//
+//  Parameters:
+//    p_name - *in* *charstring* - name of the file or directory to check
+// 
+//  Return Value:
+//    integer - the file system block size or -1 on error
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_FS_bsize (in charstring p_name) return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FS_blocks
+// 
+//  Purpose:
+//    Query the total number of blocks.
+//
+//  Parameters:
+//    p_name - *in* *charstring* - name of the file or directory to check
+// 
+//  Return Value:
+//   integer - the total number of blocks or -1 on error
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_FS_block (in charstring p_name) return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FS_bfree
+// 
+//  Purpose:
+//    Query the total number of free blocks.
+//
+//  Parameters:
+//    p_name - *in* *charstring* - name of the file or directory to check
+// 
+//  Return Value:
+//    integer - the total number of free blocks or -1 on error
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_FS_bfree (in charstring p_name) return integer;
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FS_dspacerate
+// 
+//  Purpose:
+//    Query the free space rate.
+//
+//  Parameters:
+//    p_name - *in* *charstring* - name of the file or directory to check
+// 
+//  Return Value:
+//    integer - the free space rate or -1 on error
+//
+//  Errors:
+//    -
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_FS_dspacerate (in charstring p_name) return integer;
+
+}
diff --git a/src/TCCIPsec.cc b/src/TCCIPsec.cc
new file mode 100644
index 0000000000000000000000000000000000000000..e7b362162c13efef2d217321a86c267c28582e46
--- /dev/null
+++ b/src/TCCIPsec.cc
@@ -0,0 +1,795 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCIPsec.cc
+//  Description:        TCC Useful Functions: IPsec Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2012-10-31
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TCCIPsec_Definitions.hh"
+#include "TCCIPsec_Functions.hh"
+#include "Logger.hh"
+
+#if defined USE_IPSEC || defined USE_KAME_IPSEC
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <errno.h>
+#include <sys/time.h>
+
+#ifdef LINUX
+#include <linux/pfkeyv2.h>
+#else
+#include <net/pfkeyv2.h>
+#endif
+
+#if defined USE_KAME_IPSEC
+// Missing constants
+#define IPSEC_POLICY_DISCARD    0       /* discard the packet */
+#define IPSEC_POLICY_NONE       1       /* bypass IPsec engine */
+#define IPSEC_POLICY_IPSEC      2       /* pass to IPsec */
+//#define IPSEC_POLICY_ENTRUST    3       /* consulting SPD if present. */
+//#define IPSEC_POLICY_BYPASS     4       /* only for privileged socket. */
+#define IPSEC_DIR_INBOUND       1
+#define IPSEC_DIR_OUTBOUND      2
+#define IPSEC_DIR_FORWARD       3
+#define IPSEC_MODE_ANY          0
+#define IPSEC_MODE_TRANSPORT    1
+#define IPSEC_MODE_TUNNEL       2
+#define IPSEC_LEVEL_DEFAULT     0       /* reference to system default */
+#define IPSEC_LEVEL_USE         1       /* use SA if present. */
+#define IPSEC_LEVEL_REQUIRE     2       /* require SA. */
+#define IPSEC_LEVEL_UNIQUE      3       /* unique SA. */
+#endif // defined USE_KAME_IPSEC
+
+// Note: IPPROTO_ESP == 50, IPPROTO_AH == 51, IPPROTO_IPCOMP == 108
+
+#endif // defined USE_IPSEC || defined USE_KAME_IPSEC
+#define UDP_ENCAP_ESPINUDP  2
+#define DEFAULT_NATT_PORT 4500
+
+namespace TCCIPsec__Functions {
+
+using namespace TCCIPsec__Definitions;
+
+#if defined USE_IPSEC || defined USE_KAME_IPSEC
+
+struct Error {
+  int result;
+  Error ( int r ) : result ( r ) {}
+private:
+  Error ();
+};
+
+int           sd = -1;
+
+class PfKey
+{
+  unsigned int  seq;
+  unsigned char rdBuf[2048];
+
+  int cnvErr ( int osErr ) {
+    int err = TCCIPsec__Result::socketError;
+    switch ( osErr ) {
+      case EPERM:
+      case EACCES:
+        err = TCCIPsec__Result::insufficientPrivilege; break;
+      case ESRCH:
+      case ENOENT:
+        err = TCCIPsec__Result::notFound; break;
+      case EINVAL:
+        err = TCCIPsec__Result::parameterInvalid; break;
+      case EEXIST:
+        err = TCCIPsec__Result::alreadyExisted; break;
+      default: ;
+    }
+    return err;
+  }
+
+  inline void dump ( const char * descr, const void * buf, unsigned int len )
+  {
+//    const unsigned char * data = (const unsigned char*) buf;
+    TTCN_Logger::begin_event( TTCN_DEBUG );
+    TTCN_Logger::log_event( "%s:   Dump of %03X bytes: ", descr, len );
+/*    if ( data == 0 ) {
+      TTCN_Logger::log_event( "Null pointer" );
+    } else {
+      TTCN_Logger::log_event("\n %03X ", 0);
+      for ( unsigned int i=0; i < len; i++ ) {
+        TTCN_Logger::log_event( " %02X", data[i] );
+        if ( i % 16 == 15 ) {
+          TTCN_Logger::log_char( '\n' );
+          TTCN_Logger::log_event( " %03X ", i + 1 );
+        }
+      }
+    }*/
+    TTCN_Logger::end_event();
+  }
+    
+public:
+  PfKey () throw ( Error ) {
+    if (sd < 0){
+      sd = socket ( PF_KEY, SOCK_RAW, PF_KEY_V2 );
+      if ( sd < 0 ) {
+	TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::PfKey: OS error: %i: \"%s\"", errno, strerror ( errno ) );
+	throw Error( cnvErr ( errno ) );
+      }
+    }
+    seq = 0;
+    //    timeval tv;
+    //    seq = ( gettimeofday ( & tv, 0 ) == 0 ) ? tv.tv_usec + tv.tv_sec * 1000000 : 0;
+    TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::PfKey: sd: %i,   seq: 0x%08X", sd, seq );
+  }
+  ~PfKey () { /*close ( sd );*/ }
+  unsigned int getSeq () { return seq; }
+
+  int receive ( const void ** buf ) throw ( Error ) {
+    for (;;) {
+      * buf = 0;
+      int r = recv ( sd, rdBuf, sizeof ( rdBuf ), MSG_DONTWAIT );
+      if ( r < 0 ) {
+        if ( errno != EAGAIN ) {
+          TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::receive: OS error: %i: \"%s\"", errno, strerror ( errno ) );
+          throw Error( cnvErr ( errno ) );
+        }
+        return 0;
+      }
+      if ( r == 0 )
+        return 0;
+      dump ( "TCCIPsec: PfKey::receive: ", rdBuf, r );
+      sadb_msg  * msg = (sadb_msg*) rdBuf;
+      if ( (unsigned int) r < sizeof ( sadb_msg ) ||
+           msg->sadb_msg_version != PF_KEY_V2 ||
+           r < msg->sadb_msg_len ||
+           msg->sadb_msg_seq != seq ||
+           (int) msg->sadb_msg_pid != getpid () ) {
+        TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::receive: Received mesasage discarded" );
+        continue;
+      }
+      * buf = (const void*) rdBuf;
+      return r;
+    }
+  }
+
+  void send ( const void * data, size_t len ) throw ( Error ) {
+    while ( len > 0 ) {
+      dump ( "TCCIPsec: PfKey::send: ", data, len );
+      int r = ::send ( sd, data, len, MSG_DONTWAIT );
+      TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::send: done" );
+      if ( r < 0 ) {
+        if ( errno != EAGAIN ) {
+          TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::send: OS error: %i: \"%s\"", errno, strerror ( errno ) );
+          throw Error( cnvErr ( errno ) );
+        }
+        r = 0;
+      }
+      if ( (size_t) r > len )
+        throw Error( cnvErr ( errno ) );
+      ( * (unsigned char**) & data ) += r;
+      len -= r;
+    }
+  }
+  
+  void checkAnswer () throw ( Error ) {
+    const void * buf;
+    int r = 0;
+    for ( int i = 1;; ++i ) {
+      r = receive ( & buf );
+      if ( r > 0 ) break;
+      if ( i > 5 ) {
+        TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::checkAnswer: No answer" );
+        return;
+      }
+      TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::checkAnswer: try again (%i)", i );
+      usleep ( 0 );
+    }
+    int res = ((const sadb_msg*) rdBuf )->sadb_msg_errno;
+    if ( res != 0 ) {
+      TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::checkAnswer: OS error: %i: \"%s\"", res, strerror ( res ) );
+      throw Error( cnvErr ( res ) );
+    }        
+    TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::checkAnswer: Answer received: Ok" );
+  }
+}; //end of class PfKey
+
+static const unsigned short SADB_MSG_LEN64 = sizeof ( sadb_msg ) / 8;
+
+int setSadbMsg ( void * buf, unsigned char type, unsigned char saType, unsigned short len, unsigned int seq )
+{
+  sadb_msg  * msg = (sadb_msg*) buf;
+  
+  msg->sadb_msg_version = PF_KEY_V2;
+  msg->sadb_msg_type = type;
+  msg->sadb_msg_errno = 0;
+  msg->sadb_msg_satype = saType;  // Depends on enum values of TCCIPsec_Protocol
+  msg->sadb_msg_len = len;
+  msg->sadb_msg_reserved = 0;
+  msg->sadb_msg_seq = seq;
+  msg->sadb_msg_pid = getpid ();
+  return sizeof ( * msg );
+}
+
+int set_saEndPoint( void *buf, const char *address, int port)
+{
+   sockaddr_in *pSockAddr = (sockaddr_in *)buf;
+   memset(pSockAddr, 0, sizeof(*pSockAddr));
+   int res = inet_pton(AF_INET, address, &(pSockAddr->sin_addr));
+   if(res > 0) {
+     pSockAddr->sin_family = AF_INET;
+     pSockAddr->sin_port = htons(port);
+     return sizeof(*pSockAddr);
+   }else
+     throw Error ( TCCIPsec__Result::parameterInvalid );
+}
+
+int setAddressPart ( void * buf, unsigned short type, const char * address,
+                     int prefixLen = c__TCCIPsec__prefixAll,
+                     int proto = TCCIPsec__TranspProto::anyTranspProto,
+                     int port = c__TCCIPsec__anyPort
+                   ) throw ( Error )
+{
+  sockaddr_in       sockAddr;
+  memset ( & sockAddr, 0, sizeof ( sockAddr ) );
+  sockaddr_in6      sockAddr6;
+  memset ( & sockAddr6, 0, sizeof ( sockAddr6 ) );
+  const void        * pAddr;
+  int               sockLen = 0;
+  int res = inet_pton ( AF_INET, address, & sockAddr.sin_addr );
+  if ( res > 0 ) {
+    sockAddr.sin_family = AF_INET;
+    sockAddr.sin_port = htons ( port );
+    pAddr = & sockAddr;
+    sockLen = sizeof ( sockAddr );
+    if ( prefixLen == c__TCCIPsec__prefixAll ) prefixLen = 32;
+  } else {
+    res = inet_pton ( AF_INET6, address, & sockAddr6.sin6_addr );
+    if ( res <= 0 )
+      throw Error ( TCCIPsec__Result::parameterInvalid );
+    sockAddr6.sin6_family = AF_INET6;
+    sockAddr6.sin6_port = htons ( port );
+    pAddr = & sockAddr6;
+    sockLen = sizeof ( sockAddr6 );
+    if ( prefixLen == c__TCCIPsec__prefixAll ) prefixLen = 128;
+  }
+  sadb_address  * addrExt = (sadb_address*) buf;
+  int len64 = sizeof ( * addrExt ) / 8 + ( sockLen + 7 ) / 8;
+  memset ( buf, 0, len64 * 8 );
+  addrExt->sadb_address_len = len64;
+  addrExt->sadb_address_exttype = type;
+  addrExt->sadb_address_proto = proto;
+  addrExt->sadb_address_prefixlen = prefixLen;
+  //addrExt->sadb_address_reserved = 0;
+  memcpy ( addrExt + 1, pAddr, sockLen);
+  return len64 * 8 ;
+}
+
+int castKey ( const TCCIPsec__Key & keyIn, char * key) throw ( Error )
+{
+  int len = 0;
+  switch ( keyIn.get_selection() ) {
+    case TCCIPsec__Key::ALT_hex:{
+      unsigned char *hexkey = (unsigned char*)(const unsigned char*)hex2oct(keyIn.hex());
+      len = keyIn.hex().lengthof()/2;
+      memcpy(key, hexkey, len);
+      break;
+    }
+  case TCCIPsec__Key::ALT_text:
+    key = (char*)(const char*) ( keyIn.text() );
+    len = keyIn.text().lengthof ();
+    break;
+  default:
+    throw Error ( TCCIPsec__Result::parameterInvalid );
+  }
+  return len;
+}
+
+void f__IPsec__setParityBit(unsigned char* data){
+  unsigned char d;
+  unsigned char p = 1;
+  d = *data;
+  while (d>>=1){
+    if(d & 1) {if(p) p=0; else p=1;} // inverting
+  }
+  if (p) *data |= p; else *data &=(~1); // setting the bit
+}
+
+void f__IPsec__setParityBits(unsigned char *data, int l){
+  unsigned char *d = data;
+  while (l--){
+    f__IPsec__setParityBit(++d);
+  }
+}
+
+inline unsigned short ipSecModeToIPMode ( const TCCIPsec__IPsecMode & ipSecMode ) throw ( Error ) {
+  switch ( (int) ipSecMode ) {
+    case TCCIPsec__IPsecMode::anyMode:   return IPSEC_MODE_ANY;
+    case TCCIPsec__IPsecMode::transport:    return IPSEC_MODE_TRANSPORT;
+    case TCCIPsec__IPsecMode::tunnel: return IPSEC_MODE_TUNNEL;
+    default: throw Error ( TCCIPsec__Result::parameterInvalid );
+  }
+}
+
+TCCIPsec__Result f__IPsec__SADB__add (
+    const CHARSTRING& srcAddress,
+    const CHARSTRING& dstAddress,
+    const TCCIPsec__Protocol& protocol,
+    const INTEGER& spi,
+    const TCCIPsec__ExtensionList& extensionList,
+    const TCCIPsec__Algorithm& alg,
+    const BOOLEAN& setparitybit = 0,
+    const BOOLEAN& useNatt = 0,
+    const TCCIPsec__IPsecMode& ipSecMode = TCCIPsec__IPsecMode::anyMode)
+{
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SADB__add: Enter" );
+  bool setparity = setparitybit;
+  try {
+    int                     encrAlgo = SADB_EALG_NONE;
+    //    const char *   encrKey = 0;
+    char encrKey[255];
+    int                     encrKeyLen = 0;
+    int                     authAlgo = SADB_AALG_NONE;
+    //    const char *   authKey = 0;
+    char authKey[255];
+    int                     authKeyLen = 0;
+    switch ( alg.get_selection() ) {
+      case TCCIPsec__Algorithm::ALT_encr:
+        encrAlgo = TCCIPsec__EAlgo::enum_type ( alg.encr().algo() );
+        encrKeyLen = castKey ( alg.encr().key(), encrKey );
+	if (setparity) f__IPsec__setParityBits((unsigned char*)encrKey, encrKeyLen);
+        break;
+      case TCCIPsec__Algorithm::ALT_auth:
+        authAlgo = TCCIPsec__AAlgo::enum_type ( alg.auth().algo() );
+        authKeyLen = castKey ( alg.auth().key(), authKey );
+        break;
+      case TCCIPsec__Algorithm::ALT_encrAndAuth:
+        encrAlgo = TCCIPsec__EAlgo::enum_type ( alg.encrAndAuth().ealgo() );
+        encrKeyLen = castKey ( alg.encrAndAuth().ekey(), encrKey );
+        authAlgo = TCCIPsec__AAlgo::enum_type ( alg.encrAndAuth().aalgo() );
+        authKeyLen = castKey ( alg.encrAndAuth().akey(), authKey );
+	if (setparity) f__IPsec__setParityBits((unsigned char*)encrKey, encrKeyLen);
+        break;
+      default:
+        throw Error ( TCCIPsec__Result::parameterInvalid );
+    }
+    PfKey           pfKey;
+    unsigned char   msg[1024];
+    int             len = sizeof ( sadb_msg );
+    len += setAddressPart ( msg + len, SADB_EXT_ADDRESS_SRC, srcAddress );
+    len += setAddressPart ( msg + len, SADB_EXT_ADDRESS_DST, dstAddress );
+    sadb_sa     * saExt = (sadb_sa*) ( msg + len );
+    saExt->sadb_sa_len = sizeof ( * saExt ) / 8;
+    saExt->sadb_sa_exttype = SADB_EXT_SA;
+    saExt->sadb_sa_spi = htonl ( (unsigned int)spi.get_long_long_val() );
+    saExt->sadb_sa_replay = 0;
+    saExt->sadb_sa_state = 0;
+    saExt->sadb_sa_auth = authAlgo;
+    saExt->sadb_sa_encrypt = encrAlgo;
+    saExt->sadb_sa_flags = 0; // TODO: check
+    len += sizeof ( * saExt );
+    if ( encrAlgo != SADB_EALG_NONE ) {
+      sadb_key     * keyExt = (sadb_key*) ( msg + len );
+      int   keyLen64 = ( encrKeyLen + 7 ) / 8;
+      keyExt->sadb_key_len = sizeof ( * keyExt ) / 8 + keyLen64;
+      keyExt->sadb_key_exttype = SADB_EXT_KEY_ENCRYPT;
+      keyExt->sadb_key_bits = encrKeyLen * 8;
+      keyExt->sadb_key_reserved = 0;
+      len += sizeof ( * keyExt );
+      memcpy ( msg + len, encrKey, encrKeyLen );
+      if ( encrKeyLen < keyLen64 * 8 )
+        memset ( msg + len + encrKeyLen, 0, keyLen64 * 8 - encrKeyLen );
+      len += keyLen64 * 8;
+    }
+    if ( authAlgo != SADB_AALG_NONE ) {
+      sadb_key     * keyExt = (sadb_key*) ( msg + len );
+      int   keyLen64 = ( authKeyLen + 7 ) / 8;
+      keyExt->sadb_key_len = sizeof ( * keyExt ) / 8 + keyLen64;
+      keyExt->sadb_key_exttype = SADB_EXT_KEY_AUTH;
+      keyExt->sadb_key_bits = authKeyLen * 8;
+      keyExt->sadb_key_reserved = 0;
+      len += sizeof ( * keyExt );
+      memcpy ( msg + len, authKey, authKeyLen );
+      if ( authKeyLen < keyLen64 * 8 )
+        memset ( msg + len + authKeyLen, 0, keyLen64 * 8 - authKeyLen );
+      len += keyLen64 * 8;
+    }
+    int nExtensions = extensionList.size_of ();
+    for ( int i = 0; i < nExtensions; ++i ) {
+      bool  isHLT = false;
+      sadb_lifetime * ltExt = 0;
+      switch ( extensionList[i].get_selection () ) {
+        case TCCIPsec__Extension::ALT_hardLifetime:
+          isHLT = true;
+        case TCCIPsec__Extension::ALT_softLifetime:
+          ltExt = (sadb_lifetime*) ( msg + len );
+          ltExt->sadb_lifetime_len = sizeof ( * ltExt ) / 8;
+          ltExt->sadb_lifetime_exttype = isHLT ?
+              SADB_EXT_LIFETIME_HARD : SADB_EXT_LIFETIME_SOFT;
+          ltExt->sadb_lifetime_allocations = 0;
+          ltExt->sadb_lifetime_bytes = 0;
+          ltExt->sadb_lifetime_addtime = isHLT ?
+              extensionList[i].hardLifetime () : extensionList[i].softLifetime ();
+          ltExt->sadb_lifetime_usetime = 0;
+          len += sizeof ( * ltExt );
+          break;
+        case TCCIPsec__Extension::ALT_policyId:
+#if defined USE_KAME_IPSEC
+          {
+            sadb_x_sa2    * sa2Ext = 0;
+            sa2Ext = ( sadb_x_sa2* ) ( msg + len );
+            memset ( sa2Ext, 0, sizeof ( * sa2Ext ) );
+            sa2Ext->sadb_x_sa2_len = sizeof ( * sa2Ext ) / 8;
+            sa2Ext->sadb_x_sa2_exttype = SADB_X_EXT_SA2;
+            sa2Ext->sadb_x_sa2_mode = ipSecModeToIPMode(ipSecMode);
+            sa2Ext->sadb_x_sa2_reqid = extensionList[i].policyId ();
+            len += sizeof ( * sa2Ext );
+
+            if (useNatt) {
+                
+                /*NAT-T type*/
+                sadb_x_nat_t_type  * natt_type=0;
+                natt_type = ( sadb_x_nat_t_type* ) ( msg + len );
+                memset(natt_type, 0, sizeof(* natt_type));
+                natt_type->sadb_x_nat_t_type_len = sizeof(* natt_type) / 8 ;
+                natt_type->sadb_x_nat_t_type_exttype = SADB_X_EXT_NAT_T_TYPE;
+                natt_type->sadb_x_nat_t_type_type = UDP_ENCAP_ESPINUDP;
+                len += sizeof( *natt_type );
+                  
+                /*NAT-T source port */
+                sadb_x_nat_t_port *natt_port=0;
+                natt_port = (sadb_x_nat_t_port *) (msg + len);
+                memset(natt_port, 0, sizeof(* natt_port));
+                natt_port->sadb_x_nat_t_port_len = sizeof(* natt_port) / 8;
+                natt_port->sadb_x_nat_t_port_exttype = SADB_X_EXT_NAT_T_SPORT;
+                natt_port->sadb_x_nat_t_port_port = htons(DEFAULT_NATT_PORT);
+                len += sizeof(* natt_port);    
+
+                /*NAT-T destination port */
+                natt_port = (sadb_x_nat_t_port *) (msg + len);
+                memset(natt_port, 0, sizeof(* natt_port));
+                natt_port->sadb_x_nat_t_port_len = sizeof(* natt_port) / 8;
+                natt_port->sadb_x_nat_t_port_exttype = SADB_X_EXT_NAT_T_DPORT;
+                natt_port->sadb_x_nat_t_port_port = htons(DEFAULT_NATT_PORT);
+                len += sizeof(* natt_port);
+            
+            }
+ 
+            break;
+          }
+#else
+          throw Error ( TCCIPsec__Result::notImplemented );
+#endif // defined USE_KAME_IPSEC
+        default:
+          throw Error ( TCCIPsec__Result::parameterInvalid );
+      }
+    }
+    setSadbMsg ( & msg, SADB_ADD, protocol, len / 8, pfKey.getSeq () );
+    pfKey.send ( & msg, len );
+    pfKey.checkAnswer ();
+  } catch ( Error err ) {
+    TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SADB__add: Leave (error)" );
+    return err.result;
+  }
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SADB__add: Leave (ok)" );
+  return TCCIPsec__Result::ok;
+}
+
+TCCIPsec__Result f__IPsec__SADB__delete (
+    const CHARSTRING& srcAddress,
+    const CHARSTRING& dstAddress,
+    const TCCIPsec__Protocol& protocol,
+    const INTEGER& spi )
+{
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SADB__delete: Enter" );
+  try {
+    PfKey           pfKey;
+    unsigned char   msg[1024];
+    int             len = sizeof ( sadb_msg );
+    len += setAddressPart ( msg + len, SADB_EXT_ADDRESS_SRC, srcAddress );
+    len += setAddressPart ( msg + len, SADB_EXT_ADDRESS_DST, dstAddress );
+    sadb_sa     * saExt = (sadb_sa*) ( msg + len );
+    saExt->sadb_sa_len = sizeof ( * saExt ) / 8;
+    saExt->sadb_sa_exttype = SADB_EXT_SA;
+    saExt->sadb_sa_spi = htonl ( (unsigned int)spi.get_long_long_val() );
+    saExt->sadb_sa_replay = 0;
+    saExt->sadb_sa_state = 0;
+    saExt->sadb_sa_auth = 0;
+    saExt->sadb_sa_encrypt = 0;
+    saExt->sadb_sa_flags = 0; // TODO: check
+    len += sizeof ( * saExt );
+    setSadbMsg ( & msg, SADB_DELETE, protocol, len / 8, pfKey.getSeq () );
+    pfKey.send ( & msg, len );
+    pfKey.checkAnswer ();
+  } catch ( Error err ) {
+    TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SADB__delete: Leave (error)" );
+    return err.result;
+  }
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SADB__delete: Leave (ok)" );
+  return TCCIPsec__Result::ok;
+}
+
+TCCIPsec__Result f__IPsec__SADB__flush ()
+{
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SADB__flush: Enter" );
+  try {
+    PfKey     pfKey;
+    sadb_msg  msg;
+    setSadbMsg ( & msg, SADB_FLUSH, SADB_SATYPE_UNSPEC, SADB_MSG_LEN64, pfKey.getSeq () );
+    pfKey.send ( & msg, sizeof ( msg ) );
+    pfKey.checkAnswer ();
+  } catch ( Error err ) {
+    TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SADB__flush: Leave (error)" );
+    return err.result;
+  }
+  return TCCIPsec__Result::ok;
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SADB__flush: Leave (ok)" );
+}
+
+#if defined USE_KAME_IPSEC
+
+inline unsigned short ipSecProtoToIPProto ( const TCCIPsec__Protocol & ipSecProto ) throw ( Error ) {
+  switch ( (int) ipSecProto ) {
+    case TCCIPsec__Protocol::esp:   return IPPROTO_ESP;
+    case TCCIPsec__Protocol::ah:    return IPPROTO_AH;
+    //case TCCIPsec__Protocol::ipComp: return IPPROTO_IPCOMP
+    default: throw Error ( TCCIPsec__Result::parameterInvalid );
+  }
+}
+
+inline unsigned char ipSecRuleLevelToLevel ( const TCCIPsec__RuleLevel & ipSecRuleLevel,
+                                             int * id ) throw ( Error ) {
+  switch ( ipSecRuleLevel.get_selection () ) {
+    case TCCIPsec__RuleLevel::ALT_defaultLevel: return IPSEC_LEVEL_DEFAULT;
+    case TCCIPsec__RuleLevel::ALT_use: return IPSEC_LEVEL_USE;
+    case TCCIPsec__RuleLevel::ALT_require: return IPSEC_LEVEL_REQUIRE;
+    case TCCIPsec__RuleLevel::ALT_unique:
+      * id = ipSecRuleLevel.unique().id();
+      return IPSEC_LEVEL_UNIQUE;
+    default: throw Error ( TCCIPsec__Result::parameterInvalid );
+  }
+}
+
+TCCIPsec__Result f__IPsec__SPDB__add (
+    const CHARSTRING& srcAddress,
+    const INTEGER& srcPrefixLen,
+    const INTEGER& srcPort,
+    const CHARSTRING& dstAddress,
+    const INTEGER& dstPrefixLen,
+    const INTEGER& dstPort,
+    const TCCIPsec__TranspProto& transpProto,
+    const TCCIPsec__PolicyDirection& dir,
+    const TCCIPsec__PolicyRule& rule )
+{
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPDB__add: Enter" );
+  try {
+    PfKey           pfKey;
+    unsigned char   msg[1024]={0};
+    int             len = sizeof ( sadb_msg );
+    len += setAddressPart ( msg + len, SADB_EXT_ADDRESS_SRC, srcAddress, srcPrefixLen, transpProto, srcPort );
+    len += setAddressPart ( msg + len, SADB_EXT_ADDRESS_DST, dstAddress, dstPrefixLen, transpProto, dstPort );
+    sadb_x_policy   * policyExt = (sadb_x_policy*) ( msg + len );
+    memset ( policyExt, 0, sizeof ( * policyExt ) ); // for better portability
+    policyExt->sadb_x_policy_len = sizeof ( * policyExt ) / 8;
+    policyExt->sadb_x_policy_exttype = SADB_X_EXT_POLICY;
+    policyExt->sadb_x_policy_dir = dir; // Depends on enum values of TCCIPsec_PolicyDirection
+    //policyExt->sadb_x_policy_reserved = 0;
+    //policyExt->sadb_x_policy_id = 0;
+    //policyExt->sadb_x_policy_priority = 0; from kernel version 2.6.6
+    len += sizeof ( * policyExt );
+    switch ( rule.get_selection () ) {
+      case TCCIPsec__PolicyRule::ALT_discard:
+        policyExt->sadb_x_policy_type = IPSEC_POLICY_DISCARD; break;
+      case TCCIPsec__PolicyRule::ALT_noneRule:
+        policyExt->sadb_x_policy_type = IPSEC_POLICY_NONE; break;
+      case TCCIPsec__PolicyRule::ALT_ipSec: {
+        policyExt->sadb_x_policy_type = IPSEC_POLICY_IPSEC;
+        int nRules = rule.ipSec().size_of ();
+        if ( nRules < 1 || nRules > 2 ) {
+          throw Error ( TCCIPsec__Result::parameterInvalid );
+        }
+        for ( int i = 0; i < nRules; ++i ) {
+          const TCCIPsec__Rule &    ipSecRule = rule.ipSec()[i];
+          if (!(ipSecRule.mode().get_selection () == TCCIPsec__Mode::ALT_transport || 
+               ipSecRule.mode().get_selection () == TCCIPsec__Mode::ALT_tunnel))
+            throw Error ( TCCIPsec__Result::parameterInvalid );
+          sadb_x_ipsecrequest   * policyExt2 = (sadb_x_ipsecrequest*) ( msg + len );
+          memset ( policyExt2, 0, sizeof ( * policyExt2 ) ); // for better portability
+          policyExt2->sadb_x_ipsecrequest_len = sizeof ( *policyExt2 );
+          policyExt2->sadb_x_ipsecrequest_proto = ipSecProtoToIPProto ( (int) ipSecRule.protocol() );
+          if ( ipSecRule.mode().get_selection () == TCCIPsec__Mode::ALT_transport){ 
+             policyExt2->sadb_x_ipsecrequest_mode = IPSEC_MODE_TRANSPORT;
+          }
+          else {  
+             policyExt2->sadb_x_ipsecrequest_mode = IPSEC_MODE_TUNNEL;
+          }   
+          int reqId = 0;
+          unsigned char level = ipSecRuleLevelToLevel ( rule.ipSec()[i].level (), & reqId );
+          policyExt2->sadb_x_ipsecrequest_level = level;
+          //policyExt2->sadb_x_ipsecrequest_reserved1 = 0;
+          policyExt2->sadb_x_ipsecrequest_reqid = reqId;
+          //policyExt2->sadb_x_ipsecrequest_reserved2 = 0;
+          policyExt->sadb_x_policy_len += sizeof ( *policyExt2 ) / 8;
+          len += sizeof ( *policyExt2 );
+          if ( ipSecRule.mode().get_selection () == TCCIPsec__Mode::ALT_tunnel){
+            TCCIPsec__Tunnel tunnel = ipSecRule.mode().tunnel(); 
+            len += set_saEndPoint( msg+len, tunnel.srcAddr(), tunnel.srcPort());
+            len += set_saEndPoint( msg+len, tunnel.dstAddr(), tunnel.dstPort());
+          }
+        }
+        break;
+      }
+      default:
+        throw Error ( TCCIPsec__Result::parameterInvalid );
+    }
+    setSadbMsg ( & msg, SADB_X_SPDADD, SADB_SATYPE_UNSPEC, len/8, pfKey.getSeq () );
+    pfKey.send ( & msg, len );
+    pfKey.checkAnswer ();
+  } catch ( Error err ) {
+    TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPDB__add: Leave (error)" );
+    return err.result;
+  }
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPDB__add: Leave (ok)" );
+  return TCCIPsec__Result::ok;
+}
+
+TCCIPsec__Result f__IPsec__SPDB__delete (
+    const CHARSTRING& srcAddress,
+    const INTEGER& srcPrefixLen,
+    const INTEGER& srcPort,
+    const CHARSTRING& dstAddress,
+    const INTEGER& dstPrefixLen,
+    const INTEGER& dstPort,
+    const TCCIPsec__TranspProto& transpProto,
+    const TCCIPsec__PolicyDirection& dir )
+{
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPDB__delete: Enter" );
+  try {
+    PfKey           pfKey;
+    unsigned char   msg[1024];
+    int             len = sizeof ( sadb_msg );
+    len += setAddressPart ( msg + len, SADB_EXT_ADDRESS_SRC, srcAddress, srcPrefixLen, transpProto, srcPort );
+    len += setAddressPart ( msg + len, SADB_EXT_ADDRESS_DST, dstAddress, dstPrefixLen, transpProto, dstPort );
+    sadb_x_policy   * policyExt = (sadb_x_policy*) ( msg + len );
+    memset ( policyExt, 0, sizeof ( * policyExt ) ); // for better portability
+    policyExt->sadb_x_policy_len = sizeof ( * policyExt ) / 8;
+    policyExt->sadb_x_policy_exttype = SADB_X_EXT_POLICY;
+    //policyExt->sadb_x_policy_type = 0;
+    policyExt->sadb_x_policy_dir = dir; // Depends on enum values of TCCIPsec_PolicyDirection
+    //policyExt->sadb_x_policy_reserved = 0;
+    //policyExt->sadb_x_policy_id = 0;
+    //policyExt->sadb_x_policy_priority = 0; from kernel version 2.6.6
+    len += sizeof ( * policyExt );
+    setSadbMsg ( & msg, SADB_X_SPDDELETE, SADB_SATYPE_UNSPEC, len / 8, pfKey.getSeq () );
+    pfKey.send ( & msg, len );
+    pfKey.checkAnswer ();
+  } catch ( Error err ) {
+    TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPDB__delete: Leave (error)" );
+    return err.result;
+  }
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPDB__delete: Leave (ok)" );
+  return TCCIPsec__Result::ok;
+}
+
+TCCIPsec__Result f__IPsec__SPDB__flush ()
+{
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPDB__flush: Enter" );
+  try {
+    PfKey     pfKey;
+    sadb_msg  msg;
+    setSadbMsg ( & msg, SADB_X_SPDFLUSH, SADB_SATYPE_UNSPEC, SADB_MSG_LEN64, pfKey.getSeq () );
+    pfKey.send ( & msg, sizeof ( msg ) );
+    pfKey.checkAnswer ();
+  } catch ( Error err ) {
+    TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPDB__flush: Leave (error)" );
+    return err.result;
+  }
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPDB__flush: Leave (ok)" );
+  return TCCIPsec__Result::ok;
+}
+#endif // defined USE_KAME_IPSEC
+
+#endif // defined USE_IPSEC || defined USE_KAME_IPSEC
+
+#if ! defined USE_IPSEC && ! defined USE_KAME_IPSEC
+TCCIPsec__Result f__IPsec__SADB__add (
+    const CHARSTRING& srcAddress,
+    const CHARSTRING& dstAddress,
+    const TCCIPsec__Protocol& protocol,
+    const INTEGER& spi,
+    const TCCIPsec__ExtensionList& extensionList,
+    const TCCIPsec__Algorithm& alg,
+    const BOOLEAN& setparitybit = 0,
+    const BOOLEAN& useNatt = 0,
+    const TCCIPsec__IPsecMode& ipSecMode = TCCIPsec__IPsecMode::anyMode)
+{
+  static bool first = true;
+  if ( first ) {
+    TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: f__IPsec__SADB__add: IPsec support was not specified during compilation" );
+    first = false;
+  }
+  return TCCIPsec__Result::notImplemented;
+}
+TCCIPsec__Result f__IPsec__SADB__delete (
+    const CHARSTRING& srcAddress,
+    const CHARSTRING& dstAddress,
+    const TCCIPsec__Protocol& protocol,
+    const INTEGER& spi )
+{
+  static bool first = true;
+  if ( first ) {
+    TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: f__IPsec__SADB__delete: IPsec support was not specified during compilation" );
+    first = false;
+  }
+  return TCCIPsec__Result::notImplemented;
+}
+TCCIPsec__Result f__IPsec__SADB__flush ()
+{
+  static bool first = true;
+  if ( first ) {
+    TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: f__IPsec__SADB__flush: IPsec support was not specified during compilation" );
+    first = false;
+  }
+  return TCCIPsec__Result::notImplemented;
+}
+#endif // ! defined USE_IPSEC && ! defined USE_KAME_IPSEC
+
+#if ! defined USE_KAME_IPSEC
+TCCIPsec__Result f__IPsec__SPDB__add (
+    const CHARSTRING& srcAddress,
+    const INTEGER& srcPrefixLen,
+    const INTEGER& srcPort,
+    const CHARSTRING& dstAddress,
+    const INTEGER& dstPrefixLen,
+    const INTEGER& dstPort,
+    const TCCIPsec__TranspProto& transpProto,
+    const TCCIPsec__PolicyDirection& dir,
+    const TCCIPsec__PolicyRule& rule )
+{
+  static bool first = true;
+  if ( first ) {
+    TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: f__IPsec__SPDB__add: IPsec SPDB support was not specified during compilation" );
+    first = false;
+  }
+  return TCCIPsec__Result::notImplemented;
+}
+TCCIPsec__Result f__IPsec__SPDB__delete (
+    const CHARSTRING& srcAddress,
+    const INTEGER& srcPrefixLen,
+    const INTEGER& srcPort,
+    const CHARSTRING& dstAddress,
+    const INTEGER& dstPrefixLen,
+    const INTEGER& dstPort,
+    const TCCIPsec__TranspProto& transpProto,
+    const TCCIPsec__PolicyDirection& dir )
+{
+  static bool first = true;
+  if ( first ) {
+    TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: f__IPsec__SPDB__delete: IPsec SPDB support was not specified during compilation" );
+    first = false;
+  }
+  return TCCIPsec__Result::notImplemented;
+}
+TCCIPsec__Result f__IPsec__SPDB__flush ()
+{
+  static bool first = true;
+  if ( first ) {
+    TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: f__IPsec__SPDB__flush: IPsec SPDB support was not specified during compilation" );
+    first = false;
+  }
+  return TCCIPsec__Result::notImplemented;
+}
+#endif //! defined USE_KAME_IPSEC
+
+}
diff --git a/src/TCCIPsec_Definitions.ttcn b/src/TCCIPsec_Definitions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..0cb87b2dd7d9b8ac42bed9901985777962d54835
--- /dev/null
+++ b/src/TCCIPsec_Definitions.ttcn
@@ -0,0 +1,636 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCIPsec_Definitions.ttcn
+//  Description:        TCC Useful Functions: Definitions for IPsec functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2012-10-31
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+module TCCIPsec_Definitions {
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_IPsecResult
+//
+//  Purpose:
+//     Declares the possible return values of IPsec handling functions
+//
+//  Elements:
+//    ok:
+//      The function finished successfully
+//    parameterInvalid:
+//      One of the function parameters was invalid
+//      The error is indicated either by the library or the kernel.
+//    alreadyExisted:
+//      Entry already existed while trying to add it
+//    notFound:
+//      Entry was not found while trying to delete or modify it
+//    insufficientPrivilege:
+//      The calling process does not have the necessary privilege to use the
+//      PF_KEY interface or to handle the databases of IPsec.
+//    notImplemented:
+//      Not implemented:
+//        The library is compiled without IPsec support or with limited support
+//        Support for SPD handling is platform dependent
+//    socketError:
+//      Other type of error during socket operation
+//      The logs contain details on the error
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type enumerated TCCIPsec_Result {
+    ok (0),
+    parameterInvalid,
+    alreadyExisted,
+    notFound,
+    insufficientPrivilege,
+    notImplemented,
+    socketError
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Const: c_TCCIPsec_anyPort
+//
+//  Purpose:
+//    Provides port value representing any port
+//
+//  Value:
+//    0
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  const integer c_TCCIPsec_anyPort := 0;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Const: c_TCCIPsec_prefixAll
+//
+//  Purpose:
+//    Provides port value representing any port
+//
+//  Value:
+//    0
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  const integer c_TCCIPsec_prefixAll := -1;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Protocol
+//
+//  Purpose:
+//     Declares identifiers for the possible security protocols
+//
+//  Elements:
+//    ah:
+//      Authentication Header
+//    esp:
+//      Encapsulated Security Payload
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type enumerated TCCIPsec_Protocol {
+    ah (2),
+    esp (3)
+    /*,ipComp (9)*/
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_IPsecMode
+//
+//  Purpose:
+//     Declares identifiers for the possible security association
+//
+//  Elements:
+//    anyMode: this is the unspecified, default mode
+//    transport: turns on transport mode in security association
+//    tunnel: turns on tunneling mode in security association
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type enumerated TCCIPsec_IPsecMode {
+    anyMode (0),
+    transport (1),
+    tunnel (2)
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Extension
+//
+//  Purpose:
+//    Defines a union of possible extensions for Security Associations (SAs)
+//
+//  Elements:
+//    policyId - *integer*:
+//      Identifier to link a Security Association (SA) to Security Policy (SP)
+//    hardLifetime - *integer*:
+//      Hard Lifetime in seconds
+//    softLifetime - *integer*:
+//      Soft Lifetime in seconds
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type union TCCIPsec_Extension {
+    integer                       policyId,
+    integer                       hardLifetime,
+    integer                       softLifetime
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_ExtensionList
+//
+//  Purpose:
+//    Defines a list of extensions for the SA adding function
+//
+//  Elements:
+//    record of *TCCIPsec_Extension*
+//
+// Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record of TCCIPsec_Extension TCCIPsec_ExtensionList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Key
+//
+//  Purpose:
+//    Defines a union for storing a key for an SA.
+//    The key is specified inside the *TCCIPsec_Algorithm* alg parameter of
+//    the f_IPsec_SADB_add function.
+//
+//  Elements:
+//    hex - *hexstring*:
+//      Key in hexstring format
+//    text - *charstring*:
+//      Key in charstring format
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type union TCCIPsec_Key {
+    hexstring       hex,
+    charstring      text
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_EAlgo
+//
+//  Purpose:
+//     Declares identifiers for the possible encryption algorithms
+//
+//  Elements:
+//    EALG_NONE:
+//      The "null" algorithm
+//    EALG_3DESCBC:
+//      The "3des-cbc" algorithm (rfc2451)
+//    EALG_NULL:
+//      The NULL encryption algorithm (rfc2367)
+//    EALG_AESCBC:
+//      The "aes-cbc" algorithm (
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type enumerated TCCIPsec_EAlgo {
+    EALG_NONE (0),
+    EALG_3DESCBC (3),
+    EALG_NULL(11),
+    EALG_AESCBC (12)
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_AAlgo
+//
+//  Purpose:
+//     Declares identifiers for the possible integrity protection algorithms
+//
+//  Elements:
+//    AALG_NONE:
+//      The "null" algorithm
+//    AALG_MD5HMAC:
+//      The "hmac-md5" algorithm (rfc2403)
+//    AALG_SHA1HMAC:
+//      The "hmac-sha1" algorithm (rfc2404)
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type enumerated TCCIPsec_AAlgo {
+    AALG_NONE (0),
+    AALG_MD5HMAC (2),
+    AALG_SHA1HMAC (3)
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Encr
+//
+//  Purpose:
+//    Defines a record for storing the encryption algorithm identifier and
+//    key.
+//
+//  Elements:
+//    algo - *TCCIPsec_EAlgo*:
+//      Identifier of the encryption algorithm
+//    key - *TCCIPsec_Key*:
+//      Key for the algorithm
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_Encr {
+    TCCIPsec_EAlgo                algo,
+    TCCIPsec_Key                  key
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Auth
+//
+//  Purpose:
+//    Defines a record for storing the integrity protection algorithm
+//    identifier and key.
+//
+//  Elements:
+//    algo - *TCCIPsec_AAlgo*:
+//      Identifier of the integrity protection algorithm
+//    key - *TCCIPsec_Key*:
+//      Key for the algorithm
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_Auth {
+    TCCIPsec_AAlgo                algo,
+    TCCIPsec_Key                  key
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Auth
+//
+//  Purpose:
+//    Defines a record for storing the encryption and integrity protection
+//    algorithm identifiers and the keys.
+//
+//  Elements:
+//    ealgo - *TCCIPsec_EAlgo*:
+//      Identifier of the encryption algorithm
+//    ekey - *TCCIPsec_Key*:
+//      Key for the encryption algorithm
+//    aalgo - *TCCIPsec_AAlgo*:
+//      Identifier of the integrity protection algorithm
+//    akey - *TCCIPsec_Key*:
+//      Key for the integrity protection algorithm
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_EncrAndAuth {
+    TCCIPsec_EAlgo                ealgo,
+    TCCIPsec_Key                  ekey,
+    TCCIPsec_AAlgo                aalgo,
+    TCCIPsec_Key                  akey
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Algorithm
+//
+//  Purpose:
+//    Defines a union for storing the possible combination of algorithms with
+//    its keys. It is used as the *TCCIPsec_Algorithm* alg parameter of the
+//    f_IPsec_SADB_add function.
+//
+//  Elements:
+//    encr - *TCCIPsec_Encr*:
+//      encryption algorithm data
+//    auth - *TCCIPsec_Auth*
+//      integrity protection algorithm data
+//    encrAndAuth - *TCCIPsec_EncrAndAuth*
+//      Key in charstring format
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type union TCCIPsec_Algorithm {
+    TCCIPsec_Encr                 encr,
+    TCCIPsec_Auth                 auth,
+    TCCIPsec_EncrAndAuth          encrAndAuth
+    /*,Compr compr*/
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_TranspProto
+//
+//  Purpose:
+//     Declares identifiers for the possible upper layer protocols
+//
+//  Elements:
+//    anyTranspProto:
+//      Either TCP or UDP protocol
+//    tcpProto:
+//      The TCP protocol
+//    udpProto:
+//      The UDP protocol
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type enumerated TCCIPsec_TranspProto {
+    anyTranspProto (0),
+    tcpProto (6),
+    udpProto (17)
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_TranspProto
+//
+//  Purpose:
+//    Declares identifiers for the possible directions for which a policy is
+//    applied.
+//
+//  Elements:
+//    inDir:
+//      incoming packets
+//    outDir:
+//      outgoing packets
+//    fwdDir:
+//      forwarded packets
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////////////////////////
+  type enumerated TCCIPsec_PolicyDirection {
+    inDir (1),
+    outDir (2),
+    fwdDir (3)
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_DiscardRule
+//
+//  Purpose:
+//    Declares a type to represent the policy rule to discard packets.
+//
+//  Elements:
+//    -
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_DiscardRule {};
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_NoneRule
+//
+//  Purpose:
+//    Declares a type to represent the policy rule to bypass IPsec.
+//
+//  Elements:
+//    -
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_NoneRule {};
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Transport
+//
+//  Purpose:
+//    Declares a type to represent the transport IPsec mode -
+//    as opposed to tunnel mode
+//
+//  Elements:
+//    -
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_Transport {};
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Tunnel
+//
+//  Purpose:
+//    Declares a type to represent the tunnel IPsec mode -
+//    as opposed to transport mode
+//
+//  Elements:
+//    srcAddr: source address
+//    srcPort: source port
+//    dstAddr: destination address
+//    dstPort: destination port
+//
+//  Detailed Comments: Address and port pairs for the tunnel. Used in SPDB rules.
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_Tunnel {
+        charstring    srcAddr,
+        integer       srcPort,
+        charstring    dstAddr,
+        integer       dstPort
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Mode
+//
+//  Purpose:
+//    Declares an union for storing to IPsec mode
+//
+//  Elements:
+//    transport - *TCCIPsec_Transport*:
+//      identifies the transport IPsec mode
+//    tunnel - *TCCIPsec_Tunnel*:
+//      identifies the tunnel IPsec mode
+//
+//  Detailed Comments:
+//    IPsec supports transport and tunnel mode.
+//
+///////////////////////////////////////////////////////////////////////////////
+  type union TCCIPsec_Mode {
+    TCCIPsec_Transport            transport,
+    TCCIPsec_Tunnel               tunnel
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_DefaultLevel
+//
+//  Purpose:
+//    Declares a type to represent the policy level indicating that system
+//    defaults has to be used.
+//
+//  Elements:
+//    -
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_DefaultLevel {};
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_UseLevel
+//
+//  Purpose:
+//    Declares a type to represent the policy level indicating that IPsec
+//    should be used if appropriate SA is available. If SA is naot available
+//    IPsec is bypassed.
+//
+//  Elements:
+//    -
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_UseLevel {};
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_UseLevel
+//
+//  Purpose:
+//    Declares a type to represent the policy level indicating that IPsec
+//    has to be used unconditionally.
+//
+//  Elements:
+//    -
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_RequireLevel {};
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_UseLevel
+//
+//  Purpose:
+//    Declares a type to represent the policy level indicating that IPsec
+//    has to be used with the SA or SAs indicated by id.
+//
+//  Elements:
+//    id - *integer*:
+//      link to SAs
+//
+//  Detailed Comments:
+//    An SA is linked to an SP when the SA has a policyId extension with the
+//    value of the SP's id.
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_UniqueLevel {
+    integer id
+  }
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_RuleLevel
+//
+//  Purpose:
+//    Defines a union for storing rule level.
+//
+//  Elements:
+//    defaultLevel - *TCCIPsec_DefaultLevel*:
+//      The level represnting default
+//    use - *TCCIPsec_UseLevel*
+//      The use level
+//    require - *TCCIPsec_RequireLevel*
+//      The require level
+//    unique - *TCCIPsec_UniqueLevel*
+//      The unique level
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type union TCCIPsec_RuleLevel {
+    TCCIPsec_DefaultLevel         defaultLevel,
+    TCCIPsec_UseLevel             use,
+    TCCIPsec_RequireLevel         require,
+    TCCIPsec_UniqueLevel          unique
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_Rule
+//
+//  Purpose:
+//    Declares a record for storing an IPsec rule.
+//
+//  Elements:
+//    protocol - *TCCIPsec_Protocol*:
+//      The security protocol to use
+//    mode - *TCCIPsec_Mode*:
+//      IPsec mode
+//    level - *TCCIPsec_RuleLevel*:
+//      rule level
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record TCCIPsec_Rule {
+    TCCIPsec_Protocol             protocol,
+    TCCIPsec_Mode                 mode,
+    TCCIPsec_RuleLevel            level
+  };
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_ExtensionList
+//
+//  Purpose:
+//    Defines a list of IPsec rules
+//
+//  Elements:
+//    record of *TCCIPsec_Rule*
+//
+// Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type record of TCCIPsec_Rule TCCIPsec_RuleList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: TCCIPsec_RuleLevel
+//
+//  Purpose:
+//    Defines a union for storing a policy rule.
+//
+//  Elements:
+//    discard - *TCCIPsec_DiscardRule*:
+//      The discard policy rule
+//    noneRule - *TCCIPsec_NoneRule*
+//      The none policy rule
+//    require - *TCCIPsec_RequireLevel*
+//      The require level
+//    ipSec - *TCCIPsec_RuleList*
+//      A list of IPsec policy rules
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  type union TCCIPsec_PolicyRule {
+    TCCIPsec_DiscardRule          discard,
+    TCCIPsec_NoneRule             noneRule,
+    TCCIPsec_RuleList             ipSec
+  };
+} // TCCIPsec_Definitions
diff --git a/src/TCCIPsec_Functions.ttcn b/src/TCCIPsec_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..b4e96f7e109f2a5a1a4eb720f93d8f32801da998
--- /dev/null
+++ b/src/TCCIPsec_Functions.ttcn
@@ -0,0 +1,221 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCIPsec_Functions.ttcn
+//  Description:        TCC Useful Functions: IPsec Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2012-10-31
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCIPsec_Functions
+//
+//  Purpose:
+//    This module provides access to the IPsec parameter databases: SADB and SPDB
+//
+//  Module Parameters:
+//      -
+//
+//  Module depends on:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCIPsec_Functions {
+  import from TCCIPsec_Definitions all;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_IPsec_SADB_add
+//
+//  Purpose:
+//    Adds a Security Association to the database (SADB)
+//
+//  Parameters:
+//    srcAddress - *in* *charstring* - source IP address
+//    dstAddress - *in* *charstring* - destination IP address
+//    protocol - *in* <TCCIPsec_Protocol> - security protocol (esp or ah)
+//    spi - *in* *integer* - Security Parameter Index
+//    extensionList - *in* <TCCIPsec_ExtensionList> - list of extensions
+//    alg - *in* - <TCCIPsec_Algorithm> - encryption and integrity algorithms and keys
+//    setparitybit - *in* *boolean* - paritybit
+//    useNatt - *in* *boolean* - nat traversal support
+//    ipSecMode - *in* <TCCIPsec_IPsecMode> - mode transport, tunnel or anymode
+//
+//  Return Value:
+//    TCCIPsec_Result - indicates success (ok) or error
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  external function f_IPsec_SADB_add (
+    in charstring               srcAddress,
+    in charstring               dstAddress,
+    in TCCIPsec_Protocol        protocol,
+    in integer                  spi,
+    in TCCIPsec_ExtensionList   extensionList := {},
+    in TCCIPsec_Algorithm       alg,
+    in boolean                  setparitybit := false,
+    in boolean                  useNatt := false,
+    in TCCIPsec_IPsecMode       ipSecMode := anyMode
+  ) return TCCIPsec_Result;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_IPsec_SADB_delete
+//
+//  Purpose:
+//    Deletes a Security Association from the database (SADB)
+//
+//  Parameters:
+//    srcAddress - *in* *charstring* - source IP address
+//    dstAddress - *in* *charstring* - destination IP address
+//    protocol - *in* *TCCIPsec_Protocol* - security protocol (esp or ah)
+//    spi - *in* *integer* - Security Parameter Index
+//
+//  Return Value:
+//    TCCIPsec_Result - indicates success (ok) or error
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  external function f_IPsec_SADB_delete (
+    in charstring               srcAddress,
+    in charstring               dstAddress,
+    in TCCIPsec_Protocol        protocol,
+    in integer                  spi
+  ) return TCCIPsec_Result;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_IPsec_SADB_flush
+//
+//  Purpose:
+//    Deletes all Security Associations from the database (SADB)
+//
+//  Parameters:
+//    -
+//
+//  Return Value:
+//    TCCIPsec_Result - indicates success (ok) or error
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  external function f_IPsec_SADB_flush () return TCCIPsec_Result;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_IPsec_SPDB_add
+//
+//  Purpose:
+//    Adds a Security Policy to the database (SPDB)
+//
+//  Parameters:
+//    srcAddress - *in* *charstring* - source IP address
+//    srcPrefixLen - *in* *integer* - indicates the source address range
+//    srcPort - *in* *integer* - source port
+//    dstAddress - *in* *charstring* - destination IP address
+//    srcPrefixLen - *in* *integer* - indicates the destination address range
+//    srcPort - *in* *integer* - destination port
+//    transpProto - *in* *TCCIPsec_TranspProto* - transport protocol (TCP or UDP)
+//    dir - *in* *TCCIPsec_PolicyDirection* - Direction of data traffic
+//    rule - *in* *TCCIPsec_PolicyRule* - Rule: how to handle the packet
+//
+//  Return Value:
+//    TCCIPsec_Result - indicates success (ok) or error
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  external function f_IPsec_SPDB_add (
+    in charstring               srcAddress,
+    in integer                  srcPrefixLen := c_TCCIPsec_prefixAll,
+    in integer                  srcPort := c_TCCIPsec_anyPort,
+    in charstring               dstAddress,
+    in integer                  dstPrefixLen := c_TCCIPsec_prefixAll,
+    in integer                  dstPort := c_TCCIPsec_anyPort,
+    in TCCIPsec_TranspProto     transpProto := anyTranspProto,
+    in TCCIPsec_PolicyDirection dir,
+    in TCCIPsec_PolicyRule      rule
+  ) return TCCIPsec_Result;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_IPsec_SPDB_delete
+//
+//  Purpose:
+//    Deletes a Security Policy from the database (SPD)
+//
+//  Parameters:
+//    srcAddress - *in* *charstring* - source IP address
+//    srcPrefixLen - *in* *integer* - indicates the source address range
+//    srcPort - *in* *integer* - source port
+//    dstAddress - *in* *charstring* - destination IP address
+//    srcPrefixLen - *in* *integer* - indicates the destination address range
+//    srcPort - *in* *integer* - destination port
+//    transpProto - *in* *TCCIPsec_TranspProto* - transport protocol (TCP or UDP)
+//    dir - *in* *TCCIPsec_PolicyDirection* - Direction of data traffic
+//
+//  Return Value:
+//    TCCIPsec_Result - indicates success (ok) or error
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  external function f_IPsec_SPDB_delete (
+    in charstring               srcAddress,
+    in integer                  srcPrefixLen := c_TCCIPsec_prefixAll,
+    in integer                  srcPort := c_TCCIPsec_anyPort,
+    in charstring               dstAddress,
+    in integer                  dstPrefixLen := c_TCCIPsec_prefixAll,
+    in integer                  dstPort := c_TCCIPsec_anyPort,
+    in TCCIPsec_TranspProto     transpProto := anyTranspProto,
+    in TCCIPsec_PolicyDirection dir
+  ) return TCCIPsec_Result;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_IPsec_SPDB_flush
+//
+//  Purpose:
+//    Deletes all Security Policies from the database (SPD)
+//
+//  Parameters:
+//    -
+//
+//  Return Value:
+//    TCCIPsec_Result - indicates success (ok) or error
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  external function f_IPsec_SPDB_flush () return TCCIPsec_Result;
+} // TCCIPsec_Functions
diff --git a/src/TCCInterface.cc b/src/TCCInterface.cc
new file mode 100644
index 0000000000000000000000000000000000000000..f6d54edfc23a8ff8d6975db8475d2d37a3c18750
--- /dev/null
+++ b/src/TCCInterface.cc
@@ -0,0 +1,1104 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCInterface.cc
+//  Description:        TCC Useful Functions: Interface Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2012-10-18
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TCCInterface_Functions.hh"
+
+#include <errno.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <arpa/inet.h>
+#include <net/if.h>
+#include <memory.h>
+#include <netdb.h>              // gethostbyname
+#include <errno.h>
+#if defined LINUX
+ #include <ifaddrs.h>
+ #include <linux/types.h>
+ #include "TCCInterface_ip.h"
+#endif
+
+#if defined LKSCTP_1_0_7 || defined LKSCTP_1_0_9 || USE_SCTP
+#include <netinet/sctp.h>
+#endif
+
+#if defined SOLARIS || defined SOLARIS8
+# include <sys/sockio.h>
+#endif
+
+namespace TCCInterface__Functions {
+
+TCCInterface__PortStatus f__getPortAvailabilityStatus(const CHARSTRING& ipAddress, const INTEGER& portNumber,
+                       const TCCInterface__ProtocolType& protocolType){
+
+  int addrfamily = 0;
+  int addrtype = 0;
+  int addrproto = 0;
+
+  struct sockaddr_in saddr;
+  memset(&saddr, 0, sizeof(saddr));
+// Legacy system support just for fun. Because we like Noah
+#ifdef AF_INET6
+  struct sockaddr_in6 saddr6;
+  memset(&saddr6, 0, sizeof(saddr6));
+#endif
+  
+  // Always prepare to worst
+  TCCInterface__PortStatus ret_val = TCCInterface__PortStatus::PORT__STATUS__PARAMETER__ERROR;
+  // and have a beer
+
+  // Ah, new acquisitions! You are a protocol droid, are you not?
+  // I am C-3PO, human/cyborg...
+  // Just determine the protocol
+  switch(protocolType){
+    case TCCInterface__ProtocolType::PROTO__TYPE__UDP:
+      addrtype=SOCK_DGRAM;
+      break;
+    case TCCInterface__ProtocolType::PROTO__TYPE__TCP:
+      addrtype=SOCK_STREAM;
+      break;
+#if defined LKSCTP_1_0_7 || defined LKSCTP_1_0_9 || USE_SCTP
+    case TCCInterface__ProtocolType::PROTO__TYPE__SCTP:
+      addrtype=SOCK_STREAM;
+      addrproto=IPPROTO_SCTP;
+      break;
+#endif
+    default:
+      //  Ouch! Pay attention to what you're doing!
+      TTCN_warning("The f_getPortAvailabilityStatus was called with unsupported protocol. Try to enable the sctp support.");
+      return ret_val;
+      break;
+  }
+
+  // What port?
+  if(portNumber<=0 || portNumber>65535){
+    // I'm terribly sorry about all this.
+      TTCN_warning("The f_getPortAvailabilityStatus was called with invalid port number. %s",(const char*)int2str(portNumber));
+      return ret_val;
+    
+  }
+
+  // Which address?
+  if(inet_pton(AF_INET, ipAddress, &(saddr.sin_addr))) {
+    saddr.sin_family = AF_INET;
+    saddr.sin_port = htons( portNumber );
+    addrfamily = AF_INET;
+  }
+#ifdef AF_INET6
+  else if(inet_pton(AF_INET6, ipAddress, &(saddr6.sin6_addr))) {
+    saddr6.sin6_family = AF_INET6;
+    saddr6.sin6_port = htons( portNumber );
+    addrfamily = AF_INET6;
+  }
+#endif
+  else {
+    // This is all your fault. 
+      TTCN_warning("The f_getPortAvailabilityStatus was called with invalid address: %s",(const char*)ipAddress);
+      return ret_val;
+  }
+
+  int sock=socket(addrfamily,addrtype,addrproto);
+  if(sock==-1){
+    // We've stopped. Wake up! Wake up! 
+    TTCN_warning("f_getPortAvailabilityStatus socket call failed: %d %s",errno,strerror(errno));
+    return TCCInterface__PortStatus::PORT__STATUS__INTERNAL__ERROR;
+  }
+
+  int b_res=-1;
+  if(addrfamily == AF_INET){
+    b_res=bind(sock,(struct sockaddr *)&saddr, sizeof(saddr));
+  }
+#ifdef AF_INET6
+  else {
+    b_res=bind(sock,(struct sockaddr *)&saddr6, sizeof(saddr6));
+  }
+#endif
+
+  if(b_res==0){ // success. The port was free to use, but not more
+    ret_val = TCCInterface__PortStatus::PORT__STATUS__WAS__VACANT;
+  } else {
+    if(errno==EADDRINUSE){  // Somebody else use the port already
+      ret_val = TCCInterface__PortStatus::PORT__STATUS__WAS__OCCUPIED;
+    } else {  
+      // I have a bad feeling about this.
+      // Wrong address/port combination.
+      TTCN_warning("The f_getPortAvailabilityStatus called with invalid arguments. The system returned: %d %s",errno,strerror(errno));
+      TTCN_warning("f_getPortAvailabilityStatus parameters: %s %s",(const char*)ipAddress,(const char*)int2str(portNumber));
+    }
+  }
+  close(sock);
+  // the status information is not valid any more. We can return whatever we want. Doesn't matter.
+  return ret_val;
+}
+
+
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__setIP
+// 
+//  Purpose:
+//    Set IP address, subnet mask and broadcast address in a network inteface
+//    If number is set, a range of virtual interfaces are set up with
+//    continuous IP address (no subnet mask, broadcast checking)
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    ipaddress - *in* *charstring* - starting IP address
+//    subnetmask - *in* *charstring* - subnetmask
+//    broadcast - *in* *charstring* - broadcast
+//    number - *in* *integer* - number of interfaces to set up
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+void f__setIP(const CHARSTRING& interface, const CHARSTRING& ipaddress,
+              const CHARSTRING& subnetmask, const CHARSTRING& broadcast,
+              const INTEGER& number)
+{
+#if defined USE_IPROUTE && defined LINUX
+  if (! f__setIP__ip(interface, ipaddress, 32, 1)){
+    TTCN_warning("f_setIP_ip error!");
+  }
+#else
+
+#if defined LINUX || defined SOLARIS || defined SOLARIS8
+  /* Check the name of the interface */
+  if (!interface.is_bound())
+    TTCN_error("f_setIP(): Unbound argument `interface'.");
+  int interface_len = interface.lengthof();
+  if (interface_len == 0) TTCN_error("f_setIP(): Argument `interface' "
+      "is an empty string.");
+  else if (interface_len > IFNAMSIZ) TTCN_error("f_setIP(): Argument "
+      "`interface' is too long (expected: at most %d, given: %d characters).",
+      IFNAMSIZ, interface_len);
+  const char *interface_str = interface;
+
+  /* Check the IP address */
+  if (!ipaddress.is_bound())
+    TTCN_error("f_setIP(): Unbound argument `ipaddress'.");
+  int ip_len = ipaddress.lengthof();
+  if (ip_len < 7 || ip_len > 15) TTCN_error("f_setIP(): Invalid length of argument `ipaddress' "
+      "(expected 7-15, given: %d characters).", ip_len);
+
+  /* Check the subnet mask */
+  if (!subnetmask.is_bound())
+    TTCN_error("f_setIP(): Unbound argument `subnetmask'.");
+  int subnetmask_len = subnetmask.lengthof();
+  if (subnetmask_len < 7 || subnetmask_len > 15) TTCN_error("f_setIP(): Invalid length of argument "
+    "`subnetmask' (expected 7-15, given: %d characters).", subnetmask_len);
+
+  /* Check the broadcast address */
+  if (!broadcast.is_bound())
+    TTCN_error("f_setIP(): Unbound argument `broadcast'.");
+  int broadcast_len = broadcast.lengthof();
+  if (broadcast_len < 7 || broadcast_len > 15) TTCN_error("f_setIP(): Invalid length of argument "
+    "`broadcast' (expected 7-15, given: %d characters).", broadcast_len);
+    
+  /* Check number parameter */
+  int loop = 1;
+  if (!number.is_bound())
+    TTCN_error("f_setIP(): Unbound argument `number'.");
+  else
+    loop = (int)number;
+
+  /* Get start position (of virtual interface) */
+  int start = 0;
+  if (strchr(interface_str, ':') != NULL) {
+    start = atoi(strchr(interface_str,':')+1);
+  }
+  
+  /* Convert addresses */
+  unsigned char ip[4];
+  unsigned char subnet[4];
+  unsigned char broad[4];
+  inet_aton(ipaddress, (struct in_addr *)&(ip[0]));
+  inet_aton(subnetmask, (struct in_addr *)&(subnet[0]));
+  inet_aton(broadcast, (struct in_addr *)&(broad[0]));
+  
+  /* Set address of interfaces */
+  if(loop != 1) {
+    /* Set up number of virtual interfaces */
+    for(int i=start; i<(loop+start); i++) {      
+      char *ifname;
+      ifname = (char *)Malloc(20*sizeof(char *));
+      
+      if(strchr(interface_str, ':') != NULL) {    // if virtual, change the end
+        strncpy(ifname, interface_str, strlen(interface_str)-strlen(strchr(interface_str,':'))+2);
+        ifname[strlen(interface_str)-strlen(strchr(interface_str,':'))+1] = '\0';
+        strcat(ifname,(const char *)int2str(i));
+      }
+      else {    // if real, append
+        strcpy(ifname,interface_str);
+        strcat(ifname,":");
+        strcat(ifname,(const char *)int2str(i));
+      }
+
+      /* Set the IP, Netmask, Broadcast for the actual virtual interface */
+
+      /* Open a socket */
+      int sock = socket(PF_INET, SOCK_DGRAM, 0);
+      if (sock < 0) TTCN_error("f_setIP(): Could not create socket.");
+
+      struct ifreq ifr;
+      struct sockaddr_in *addr = (struct sockaddr_in*)&ifr.ifr_addr;
+
+      /* Set the IP address */
+      memset(&ifr, 0, sizeof(struct ifreq));
+      memcpy(ifr.ifr_name, ifname, strlen(ifname));
+      addr->sin_family = AF_INET;
+      memcpy(&addr->sin_addr, ip, 4);
+
+      if (ioctl(sock, SIOCSIFADDR, &ifr) < 0) {
+        TTCN_warning("f_setIP(): Could not set IP address of interface `%s'.", interface_str);
+      }
+
+      /* Set the subnet mask */
+      memset(&ifr, 0, sizeof(struct ifreq));
+      memcpy(ifr.ifr_name, ifname, strlen(ifname));
+      addr->sin_family = AF_INET;
+      memcpy(&addr->sin_addr, subnet, 4);
+
+      if (ioctl(sock, SIOCSIFNETMASK, &ifr) < 0) {
+        TTCN_warning("f_setIP(): Could not set subnetmask of interface `%s'.",
+         interface_str);
+      }
+
+      /* Set the broadcast address */
+      memset(&ifr, 0, sizeof(struct ifreq));
+      memcpy(ifr.ifr_name, ifname, strlen(ifname));
+      addr->sin_family = AF_INET;
+      memcpy(&addr->sin_addr, broad, 4);
+
+      if (ioctl(sock, SIOCSIFBRDADDR, &ifr) < 0) {
+        TTCN_warning("f_setIP(): Could not set broadcast address of interface `%s'.", interface_str);
+      }
+
+      close(sock);
+      Free(ifname);
+      
+      /* Step the IPaddress */
+      if(ip[3]+1 > 254) {  // 255 for broadcast
+        ip[3] = 1;         //   0 reserved
+        ip[2] += 1;
+        if(ip[2] > 254) {
+          ip[2] = 0;
+          ip[1] += 1;
+          if(ip[1] > 254) {
+            ip[1] = 0;
+            ip[0] += 1;
+            if(ip[0] > 254) {
+              TTCN_error("f_setIP(): IP address range limit.");
+            }
+          }
+        }
+      }
+      else {
+        ip[3] += 1;
+      }
+
+    }//for end
+  }//if loop end
+  else {
+    /* Open a socket */
+    int sock = socket(PF_INET, SOCK_DGRAM, 0);
+    if (sock < 0) TTCN_error("f_setIP(): Could not create socket.");
+
+    struct ifreq ifr;
+    struct sockaddr_in *addr = (struct sockaddr_in*)&ifr.ifr_addr;
+
+    /* Set the IP address */
+    memset(&ifr, 0, sizeof(struct ifreq));
+    memcpy(ifr.ifr_name, interface_str, interface_len);
+    addr->sin_family = AF_INET;
+    memcpy(&addr->sin_addr, ip, 4);
+
+    if (ioctl(sock, SIOCSIFADDR, &ifr) < 0) {
+      TTCN_warning("f_setIP(): Could not set IP address of interface `%s'.",
+       interface_str);
+    }
+
+    /* Set the subnet mask */
+    memset(&ifr, 0, sizeof(struct ifreq));
+    memcpy(ifr.ifr_name, interface_str, interface_len);
+    addr->sin_family = AF_INET;
+    memcpy(&addr->sin_addr, subnet, 4);
+
+    if (ioctl(sock, SIOCSIFNETMASK, &ifr) < 0) {
+      TTCN_warning("f_setIP(): Could not set subnet mask of interface `%s'.",
+       interface_str);
+    }
+
+    /* Set the broadcast address */
+    memset(&ifr, 0, sizeof(struct ifreq));
+    memcpy(ifr.ifr_name, interface_str, interface_len);
+    addr->sin_family = AF_INET;
+    memcpy(&addr->sin_addr, broad, 4);
+
+    if (ioctl(sock, SIOCSIFBRDADDR, &ifr) < 0) {
+      TTCN_warning("f_setIP(): Could not set broadcast address of interface `%s'.",
+       interface_str);
+    }
+
+    close(sock);
+  }
+#else
+  TTCN_error("f_setIP(): Setting the IP address is supported on Linux and Solaris only.");
+#endif
+#endif // USE_IPROUTE
+}
+
+
+
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__deleteIP
+// 
+//  Purpose:
+//    Delete IP address from a network inteface
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+void f__deleteIP(const CHARSTRING& interface)
+{
+#if defined USE_IPROUTE && defined LINUX
+  if (! f__setIP__ip(interface, "", 32, 0)){
+    TTCN_warning("f_delIP_ip error!");
+  }
+#else
+
+#if defined LINUX || defined SOLARIS || defined SOLARIS8
+  /* Check the name of the interface */
+  if (!interface.is_bound())
+    TTCN_error("f_deleteIP(): Unbound argument `interface'.");
+  int interface_len = interface.lengthof();
+  if (interface_len == 0) TTCN_error("f_deleteIP(): Argument `interface' "
+      "is an empty string.");
+  else if (interface_len > IFNAMSIZ) TTCN_error("f_deleteIP(): Argument "
+      "`interface' is too long (expected: at most %d, given: %d characters).",
+      IFNAMSIZ, interface_len);
+  const char *interface_str = interface;
+
+  /* Open a socket */
+  int sock = socket(PF_INET, SOCK_DGRAM, 0);
+  if (sock < 0) TTCN_error("f_deleteIP(): Could not create socket.");
+
+  struct ifreq ifr;
+  memset(&ifr, 0, sizeof(struct ifreq));
+  memcpy(ifr.ifr_name, interface_str, interface_len);
+
+  if (strchr(interface_str, ':') != NULL) {
+    /* The interface is a virtual interface (e.g. eth1:0) */
+    /* set the status to down */
+    if (ioctl(sock, SIOCGIFFLAGS, &ifr) < 0) {
+      TTCN_warning("f_deleteIP(): Could not get the flags of interface `%s'.",
+        interface_str);
+    }
+    ifr.ifr_flags &= ~IFF_UP;
+    if (ioctl(sock, SIOCSIFFLAGS, &ifr) < 0) {
+      TTCN_warning("f_deleteIP(): Could not set the flags of interface `%s'.",
+        interface_str);
+    }
+  }
+  else {
+    /* The interface is a real interface (e.g. eth2) */
+    /* assign IP address 0.0.0.0 = delete */
+    struct sockaddr_in *addr = (struct sockaddr_in*)&ifr.ifr_addr;
+    addr->sin_family = AF_INET;
+    if (ioctl(sock, SIOCSIFADDR, &ifr) < 0) {
+      TTCN_warning("f_deleteIP(): Could not delete IP address on interface `%s'.",interface_str);
+    }
+  }
+
+  close(sock);
+#else
+  TTCN_error("f_deleteIP(): Deleting the IP address is supported on Linux and Solaris only.");
+#endif
+#endif
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__getIP
+// 
+//  Purpose:
+//    Get IP address, subnet mask and broadcast address from a network inteface
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    ip - *out* *charstring* - IP address
+//    netmask - *out* *charstring* - netmask
+//    broadcast - *out* *charstring* - broadcast
+//    addressType - *in* <TCCInterface_IPAddressType> - type of IP addresses (default is IPv4)
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////  
+void f__getIP(const CHARSTRING& interface, CHARSTRING& ip,
+                    CHARSTRING& netmask, CHARSTRING& broadcast, const TCCInterface__IPAddressType& addressType)
+{
+  ip ="";
+  netmask = "";
+  broadcast ="";
+  /* Check the name of the interface */
+  if (!interface.is_bound())
+    TTCN_error("f_getIP(): Unbound argument `interface'.");
+  int interface_len = interface.lengthof();
+  if (interface_len == 0) TTCN_error("f_getIP(): Argument `interface' "
+      "is an empty string.");
+  else if (interface_len > IFNAMSIZ) TTCN_error("f_getIP(): Argument "
+      "`interface' is too long (expected: at most %d, given: %d characters).",
+      IFNAMSIZ, interface_len);
+  const char *interface_str = interface;
+
+  switch (addressType) {
+    case TCCInterface__IPAddressType::IPv4: { //IPv4
+
+      /* Open a socket */
+      int sock = socket(PF_INET, SOCK_DGRAM, 0);
+      if (sock < 0) TTCN_error("f_getIP(): Could not create socket.");
+
+      struct ifreq ifr;
+      struct sockaddr_in *addr = (struct sockaddr_in*)&ifr.ifr_addr;   
+
+      /* Get IP address */
+      memset(&ifr, 0, sizeof(struct ifreq));
+      memcpy(ifr.ifr_name, interface_str, interface_len);
+  
+      if (ioctl(sock, SIOCGIFADDR, &ifr) < 0) {
+        TTCN_warning("f_getIP(): Could not get address of interface '%s', %s.\n",
+            interface_str,strerror(errno));
+      }
+      else {
+        ip = inet_ntoa(addr->sin_addr);
+      }
+
+      /* Get subnet mask */
+      memset(&ifr, 0, sizeof(struct ifreq));
+      memcpy(ifr.ifr_name, interface_str, interface_len);
+
+      if (ioctl(sock, SIOCGIFNETMASK, &ifr) < 0) {
+        TTCN_warning("f_getIP(): Could not get subnet mask of interface `%s', %s.",
+         interface_str,strerror(errno));
+      }
+      else {
+        netmask = inet_ntoa(addr->sin_addr);
+      }
+
+      /* Get the broadcast address */
+      memset(&ifr, 0, sizeof(struct ifreq));
+      memcpy(ifr.ifr_name, interface_str, interface_len);
+
+      if (ioctl(sock, SIOCGIFBRDADDR, &ifr) < 0) {
+        TTCN_warning("f_getIP(): Could not get broadcast address of interface `%s', %s.",
+         interface_str,strerror(errno));
+      }
+      else {      
+        broadcast = inet_ntoa(addr->sin_addr);
+      }
+
+      close(sock);
+      break;  
+    }
+    case TCCInterface__IPAddressType::IPv6: { //IPv6 
+#if defined LINUX
+/*    // works only with linux!
+      char devname[IFNAMSIZ];
+      char addr6p[8][5];
+      char addr6[40];
+      int plen, scope, dad_status, if_idx;
+      FILE *f;
+ 
+      if ((f = fopen("/proc/net/if_inet6", "r")) != NULL) 
+        {
+          while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %20s\n",
+                        addr6p[0], addr6p[1], addr6p[2], addr6p[3],
+                        addr6p[4], addr6p[5], addr6p[6], addr6p[7],
+                        &if_idx, &plen, &scope, &dad_status, devname) != EOF) 
+          {
+            if (!strcmp(devname, interface)) 
+              {
+                sprintf(addr6, "%s:%s:%s:%s:%s:%s:%s:%s",
+                        addr6p[0], addr6p[1], addr6p[2], addr6p[3],
+                        addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
+		ip = addr6;
+              }
+          }
+        fclose(f);
+      }
+*/          
+      char ipaddr[INET6_ADDRSTRLEN];
+      char subnet[INET6_ADDRSTRLEN];	
+      struct ifaddrs *ifap,*ifa;
+      if((getifaddrs(&ifap)) <0){
+        TTCN_warning("f_getIP(): Could not get address of interface '%s', %s.\n",
+            interface_str, strerror(errno));		    
+        break;
+      }
+      for (ifa = ifap; ifa; ifa = ifa->ifa_next) {
+        if (ifa->ifa_name == interface && ifa->ifa_addr != NULL)
+        {       
+          if (ifa->ifa_addr->sa_family == AF_INET6)
+          { 	    
+            struct sockaddr_in6 *sa = (struct sockaddr_in6 *) ifa->ifa_addr;    
+            inet_ntop(AF_INET6,&(sa->sin6_addr),ipaddr,INET6_ADDRSTRLEN);	    
+	    ip = ipaddr;	    	    
+            struct sockaddr_in6 *saMask = (struct sockaddr_in6 *)ifa->ifa_netmask;     
+            inet_ntop(AF_INET6,&(saMask->sin6_addr),subnet,INET6_ADDRSTRLEN);	    
+	    netmask = subnet;    	    	
+	    broadcast = ""; //broadcast address not supported in IPv6
+            freeifaddrs(ifap);
+            break;
+	  }
+        }
+      }
+
+#else
+      TTCN_error("f_getIP(): Getting the IPv6 address is supported on Linux only.");
+#endif
+      break;
+    }    
+    default: {
+      TTCN_error("f_getIP(): Not supported address type.");      
+      break;
+    }
+  } //switch       
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__setInterfaceUp
+// 
+//  Purpose:
+//    Set up a network interface
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    addressType - *in* <TCCInterface_IPAddressType> - type of IP addresses (default is IPv4)
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+void f__setInterfaceUp(const CHARSTRING& interface, const TCCInterface__IPAddressType& addressType)
+{
+#if defined LINUX || defined SOLARIS || defined SOLARIS8
+  /* Check the name of the interface */
+  if (!interface.is_bound())
+    TTCN_error("f_setInterfaceUp(): Unbound argument `interface'.");
+  int interface_len = interface.lengthof();
+  if (interface_len == 0) TTCN_error("f_setInterfaceUp(): Argument `interface' "
+      "is an empty string.");
+  else if (interface_len > IFNAMSIZ) TTCN_error("f_setInterfaceUp(): Argument "
+      "`interface' is too long (expected: at most %d, given: %d characters).",
+      IFNAMSIZ, interface_len);
+  const char *interface_str = interface;
+
+  int sock;
+  struct ifreq ifr;
+  int sa_family;
+  switch (addressType) {
+    case TCCInterface__IPAddressType::IPv4: { //IPv4
+      sa_family = AF_INET;
+      break;  
+    }
+    case TCCInterface__IPAddressType::IPv6: { //IPv6
+      sa_family = AF_INET6;
+      break;
+    }    
+    default: {
+      TTCN_error("f_setInterfaceDown(): Not supported address type.");      
+      break;
+    }
+  } //switch 
+
+  if ((sock = socket(sa_family, SOCK_DGRAM, IPPROTO_IP)) < 0) {
+    TTCN_error("f_setInterfaceUp(): Cannot open socket.");
+  }
+
+  memset(&ifr, 0, sizeof(struct ifreq));
+  strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name)-1);
+
+  if (ioctl(sock, SIOCGIFFLAGS, &ifr) < 0) {
+    TTCN_warning("f_setInterfaceUp(): Cannot get flags of interface '%s', %s.", interface_str, strerror(errno));
+  }
+  ifr.ifr_flags |= IFF_UP;
+  if (ioctl(sock, SIOCSIFFLAGS, &ifr) < 0) {
+    TTCN_warning("f_setInterfaceUp(): Cannot set up interface '%s', %s.", interface_str, strerror(errno));
+  }
+
+  close(sock);
+#else
+  TTCN_error("f_setInterfaceUp(): Setting up the interface is supported on Linux and Solaris only.");
+#endif
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__setInterfaceDown
+// 
+//  Purpose:
+//    Set down a network interface
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    addressType - *in* <TCCInterface_IPAddressType> - type of IP addresses (default is IPv4)
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+void f__setInterfaceDown(const CHARSTRING& interface, const TCCInterface__IPAddressType& addressType)
+{
+#if defined LINUX || defined SOLARIS || defined SOLARIS8
+  /* Check the name of the interface */
+  if (!interface.is_bound())
+    TTCN_error("f_setInterfaceDown(): Unbound argument `interface'.");
+  int interface_len = interface.lengthof();
+  if (interface_len == 0) TTCN_error("f_setInterfaceDown(): Argument `interface' "
+      "is an empty string.");
+  else if (interface_len > IFNAMSIZ) TTCN_error("f_setInterfaceDown(): Argument "
+      "`interface' is too long (expected: at most %d, given: %d characters).",
+      IFNAMSIZ, interface_len);
+  const char *interface_str = interface;
+
+  int sock;
+  struct ifreq ifr;
+ 
+  int sa_family;
+  switch (addressType) {
+    case TCCInterface__IPAddressType::IPv4: { //IPv4
+      sa_family = AF_INET;
+      break;  
+    }
+    case TCCInterface__IPAddressType::IPv6: { //IPv6
+      sa_family = AF_INET6;
+      break;
+    }    
+    default: {
+      TTCN_error("f_setInterfaceDown(): Not supported address type.");      
+      break;
+    }
+  } //switch 
+
+  if ((sock = socket(sa_family, SOCK_DGRAM, IPPROTO_IP)) < 0) {
+    TTCN_error("f_setInterfaceDown(): Cannot open socket.");
+  }
+
+  memset(&ifr, 0, sizeof(struct ifreq));
+  strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name)-1);
+
+  if (ioctl(sock, SIOCGIFFLAGS, &ifr) < 0) {
+    TTCN_warning("f_setInterfaceDown(): Cannot get flags of interface '%s', %s.", interface_str, strerror(errno));
+  }
+  ifr.ifr_flags &= ~IFF_UP;
+  if (ioctl(sock, SIOCSIFFLAGS, &ifr) < 0) {
+    TTCN_warning("f_setInterfaceDown(): Cannot set down interface '%s', %s.", interface_str, strerror(errno));
+  }
+
+  close(sock);
+#else
+  TTCN_error("f_setInterfaceDown(): Setting down the interface is supported on Linux and Solaris only.");
+#endif
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__getHostName
+// 
+//  Purpose:
+//    Get name of host
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    charstring - name of the host
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING f__getHostName()
+{
+  char *ret_val= new char[255];
+  if (!gethostname(ret_val, 255))
+  {return ret_val;}
+  else
+  {return "";};
+
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__getIpAddr
+// 
+//  Purpose:
+//    Get IP address of host
+//
+//  Parameters:
+//    hostname - *in* *charstring* - name of the host
+//    addressType - *in* <TCCInterface_IPAddressType> - type of IP addresses (default is IPv4)
+// 
+//  Return Value:
+//    charstring - IP address of the host
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING f__getIpAddr(const CHARSTRING& hostname, const TCCInterface__IPAddressType& addressType)
+{ 
+#if defined LINUX || defined SOLARIS || defined SOLARIS8
+  int err = 0;
+  struct addrinfo myaddr, *res;
+  memset(&myaddr,0,sizeof(myaddr));
+  myaddr.ai_flags = AI_ADDRCONFIG|AI_PASSIVE|AI_CANONNAME;
+  myaddr.ai_socktype = SOCK_STREAM;
+  myaddr.ai_protocol = 0;   
+    
+  switch (addressType) {
+    case TCCInterface__IPAddressType::IPv4: { //IPv4
+      myaddr.ai_family = AF_INET;    
+      char dst[INET_ADDRSTRLEN];  
+      
+      if ((err = getaddrinfo(hostname, NULL, &myaddr, &res)) != 0) {//&myaddr
+        TTCN_Logger::log ( TTCN_DEBUG, "f_getIpAddr(): getaddrinfo: %i, %s", err, gai_strerror(err) );              
+        return "";
+      }
+      else {
+        struct sockaddr_in *saddr = (struct sockaddr_in *) res->ai_addr;      
+	
+        inet_ntop(AF_INET,&(saddr->sin_addr),dst,INET_ADDRSTRLEN);	
+ 	freeaddrinfo(res);
+        return dst;
+      }    
+      break;  
+    }
+    case TCCInterface__IPAddressType::IPv6: { //IPv6
+   
+      char dst[INET6_ADDRSTRLEN];    
+      myaddr.ai_family = AF_INET6;
+          
+      if ((err = getaddrinfo(hostname, NULL, &myaddr, &res)) != 0) {        
+	TTCN_Logger::log ( TTCN_DEBUG, "f_getIpAddr(): getaddrinfo: %i, %s", err, gai_strerror(err) );        
+        return "";
+      }
+      else { 
+        struct sockaddr_in6 *saddr = (struct sockaddr_in6 *) res->ai_addr;     
+        inet_ntop(AF_INET6,&(saddr->sin6_addr),dst,INET6_ADDRSTRLEN);	
+	freeaddrinfo(res);	
+      }
+      return dst;                
+      break;
+    }      
+    default: {
+      TTCN_error("f_getIpAddr(): Not supported address type.");
+      return "";        
+      break;
+    }
+  } //switch    
+#else  //Cygwin
+  switch (addressType) {
+    case TCCInterface__IPAddressType::IPv4: { //IPv4
+      struct hostent *host;  
+      struct in_addr address;
+      host = gethostbyname (hostname);  //getaddrinfo not supported
+      if (host == NULL) return "";
+      else
+      {
+        memcpy (&address, host->h_addr_list[0], 4);
+        return inet_ntoa(address);
+      }    
+      break;  
+    }
+    case TCCInterface__IPAddressType::IPv6: { //IPv6
+      TTCN_error("f_getIpAddr(): Getting IPv6 addresses is supported on Linux and Solaris only.");
+      return "";
+      break;      
+    }
+    default: {
+      TTCN_error("f_getIpAddr(): Not supported address type.");
+      return "";        
+      break;
+    }
+  } //switch
+#endif  
+  
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_setIP_ip
+// 
+//  Purpose:
+//    Set IP address, subnet mask in a network inteface
+//    Uses RTLN netlink interface on linux, which is faster than original POSIX.    
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    ipaddress - *in* *charstring* - starting IP address
+//    prefix - *in* *integer* - subnetmask of the ipaddress
+// 
+//  Return Value:
+//    True on success, false in other cases.
+//
+//  Errors:
+//    Many possibilities, all generates a TTCN_warning
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+BOOLEAN f__setIP__ip(const CHARSTRING& interface, const CHARSTRING& ipaddress, const INTEGER& prefix = 32, const INTEGER& v_set = 1){
+
+#ifdef LINUX
+  
+  if ((int)prefix > 32 or (int)prefix < 0) {
+    TTCN_warning("Wrong prefix number");
+    return false;
+  }
+
+  char buf[3];
+  sprintf(buf, "%d", (int)prefix);
+  char *ip = (char *)malloc((ipaddress.lengthof() + strlen(buf) + 1 + 1)*sizeof(char));
+  strcpy(ip, (char*)(const char*)ipaddress);
+  strcat(ip,"/");
+  strcat(ip, buf);
+
+  if (rtnl_open(&rth, 0) < 0 ){
+    TTCN_warning("RTNL: Can not open RTLN link");
+    return false;
+  }
+
+  int cmd = (v_set == 1 ? RTM_NEWADDR : RTM_DELADDR);
+  int flags = NLM_F_CREATE|NLM_F_EXCL;
+
+  struct {
+    struct nlmsghdr 	n;
+    struct ifaddrmsg 	ifa;
+    char   			buf[256];
+  } req;
+
+  char  *d = NULL;
+  char  *lcl_arg = NULL;
+  inet_prefix lcl;
+  //int local_len = 0;
+  
+  memset(&req, 0, sizeof(req));
+  
+  req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg));
+  req.n.nlmsg_flags = NLM_F_REQUEST | flags;
+  req.n.nlmsg_type = cmd;
+  req.ifa.ifa_family = preferred_family;
+  
+  d = (char*)(const char*)interface;
+
+  // IP_ADDRESS handling
+  lcl_arg = ip;    
+  if (get_prefix(&lcl, lcl_arg, req.ifa.ifa_family) == -1) return 0;
+  if (req.ifa.ifa_family == AF_UNSPEC)
+    req.ifa.ifa_family = lcl.family;
+  addattr_l(&req.n, sizeof(req), IFA_LOCAL, &lcl.data, lcl.bytelen);
+  //local_len = lcl.bytelen;
+
+  // further processing
+  if (cmd == RTM_DELADDR && lcl.family == AF_INET && !(lcl.flags & PREFIXLEN_SPECIFIED)) {
+    TTCN_warning("You should never see this!");
+  } else {
+    //peer = lcl;
+    addattr_l(&req.n, sizeof(req), IFA_ADDRESS, &lcl.data, lcl.bytelen);
+  }
+
+
+  if (req.ifa.ifa_prefixlen == 0)
+    req.ifa.ifa_prefixlen = lcl.bitlen;
+  if(cmd != RTM_DELADDR)
+    req.ifa.ifa_scope = default_scope(&lcl);
+  
+  //  ll_init_map(&rth);
+  
+  if ((req.ifa.ifa_index = ll_name_to_index(d)) == 0) {
+    TTCN_warning("RTNL: Cannot find device");
+    goto error;
+  }
+  
+  if (rtnl_talk(&rth, &req.n, 0, 0, NULL, NULL, NULL) < 0) {
+    TTCN_warning("RTNL: talk error!");
+    goto error;
+  }
+  
+  free(ip);
+  rtnl_close(&rth);
+  return true;
+  
+  error:
+    free(ip);
+  return false;
+
+#else
+
+  TTCN_warning("f_setIP_ip is only supported on Linux!");
+  return false;
+
+#endif
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_delIP_ip
+// 
+//  Purpose:
+//    Set IP address, subnet mask in a network inteface
+//    Uses RTLN netlink interface on linux, which is faster than original POSIX.    
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    ipaddress - *in* *charstring* - starting IP address
+//    prefix - *in* *integer* - subnetmask of the ipaddress
+// 
+//  Return Value:
+//    True on success, false in other cases.
+//
+//  Errors:
+//    Many possibilities, all generates a TTCN_warning
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+BOOLEAN f__delIP__ip(const CHARSTRING& interface, const CHARSTRING& ipaddress, const INTEGER& prefix = 32){
+#ifdef LINUX
+
+  return f__setIP__ip(interface, ipaddress, prefix, 0);
+
+#else
+
+  TTCN_warning("f_deIP_ip is only supported on Linux!");
+  return false;
+
+#endif
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_getIpAddresses
+// 
+//  Purpose:
+//    Get both IPv4 and IPv6 addresses of the given host
+//
+//  Parameters:
+//    hostname - *charstring* - the hostname
+// 
+//  Return Value:
+//    Initialized IPAddress structure
+//
+//  Errors:
+//    Many possibilities, all generates a TTCN_warning
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+IPAddresses f__getIpAddresses(const CHARSTRING& hostname){
+#if defined LINUX || defined SOLARIS || defined SOLARIS8
+  struct addrinfo hints, *res, *p;
+  int status;
+  char ipstr[INET6_ADDRSTRLEN];
+  IPAddresses iplist;
+
+  memset(&hints, 0, sizeof hints);
+  hints.ai_family = AF_UNSPEC; // AF_INET or AF_INET6 to force version
+
+  CharstringList ipv4list(NULL_VALUE);
+  CharstringList ipv6list(NULL_VALUE);
+
+  if ((status = getaddrinfo((const char*)hostname, NULL, &hints, &res)) != 0) {
+    TTCN_warning("f_getIpAddresses: getaddrinfo: %s for \"%s\"\n", gai_strerror(status), (const char*)hostname);
+    return IPAddresses(ipv4list, ipv6list);
+  }
+
+  for(p = res;p != NULL; p = p->ai_next) {
+    if (p->ai_family == AF_INET) { // IPv4
+      struct sockaddr_in *ipv4 = (struct sockaddr_in *)p->ai_addr;
+      inet_ntop(p->ai_family, &(ipv4->sin_addr), ipstr, sizeof ipstr);
+      ipv4list[ipv4list.size_of()] = ipstr;
+    } else if (p->ai_family == AF_INET6){ //IPv6
+      struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)p->ai_addr;
+      inet_ntop(p->ai_family, &(ipv6->sin6_addr), ipstr, sizeof ipstr);
+      ipv6list[ipv6list.size_of()] = ipstr;
+    }
+  }
+  freeaddrinfo(res); // free the linked list  
+  return IPAddresses(ipv4list, ipv6list);
+#else
+  CharstringList ipv4list(NULL_VALUE);
+  CharstringList ipv6list(NULL_VALUE);
+
+  struct hostent *host;  
+  struct in_addr address;
+  host = gethostbyname(hostname);  //getaddrinfo not supported
+  if (host)
+    while (*host->h_addr_list){
+      memcpy (&address, host->h_addr_list++, host->h_length);
+      ipv4list[ipv4list.size_of()] = inet_ntoa(address);
+    }
+  return IPAddresses(ipv4list, ipv6list);
+#endif
+}
+
+}//namespace
diff --git a/src/TCCInterface_Functions.ttcn b/src/TCCInterface_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..7a7cec8155407c3a9ecdf0b7326e72153793922e
--- /dev/null
+++ b/src/TCCInterface_Functions.ttcn
@@ -0,0 +1,359 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCInterface_Functions.ttcn
+//  Description:        TCC Useful Functions: Interface Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2010-03-25
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCInterface_Functions
+// 
+//  Purpose:
+//    This module supports network related operations
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCInterface_Functions {
+
+///////////////////////////////////////////////////////////////////////////////
+//  Record: IPAddresses
+// 
+//  Purpose:
+//    To store multiple ipv4 and ipv6 addresses typically describing a host.
+//    Warning: An own CharstringList type is definied, that is not compatible
+//    with any other record of charstring in TITAN's load run time library, which
+//    is the defalt, and thus it is not able to directly copy this lists for example
+//    to EPTF_CharstringList. 
+//
+///////////////////////////////////////////////////////////////////////////////
+type record of charstring CharstringList;
+type record IPAddresses{
+  CharstringList ipv4List,
+  CharstringList ipv6List
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Enum: TCCInterface_IPAddressType
+// 
+//  Purpose:
+//   An enum type for setting the type of IP addresses. Possible values:
+//	IPv4 - for IPv4 type addresses
+//	IPv6 - for IPv6 type addresses
+//	etc
+///////////////////////////////////////////////////////////////////////////////
+type enumerated TCCInterface_IPAddressType 
+{
+  IPv4,
+  IPv6
+};
+
+///////////////////////////////////////////////////////////////////////////////
+//  Enum: TCCInterface_ProtocolType
+// 
+//  Purpose:
+//   An enum type for setting the type of protocols. Possible values:
+//	PROTO_TYPE_UDP
+//	PROTO_TYPE_TCP
+//	PROTO_TYPE_SCTP
+///////////////////////////////////////////////////////////////////////////////
+type enumerated  TCCInterface_ProtocolType
+{
+	PROTO_TYPE_UDP,
+	PROTO_TYPE_TCP,
+	PROTO_TYPE_SCTP
+};
+///////////////////////////////////////////////////////////////////////////////
+//  Enum: TCCInterface_PortStatus
+// 
+//  Purpose:
+//   An enum type for represent a status of UDP/TCP/SCTP port. Possible values:
+//	PORT_STATUS_WAS_VACANT,
+//	PORT_STATUS_WAS_OCCUPIED,
+//	PORT_STATUS_PARAMETER_ERROR
+//
+//  Note: 
+//     The value represent  the status of the port/ip/protocol in a distant past.
+//     It tells nothing the status at the time you would like to use.
+///////////////////////////////////////////////////////////////////////////////
+type enumerated  TCCInterface_PortStatus
+{
+	PORT_STATUS_WAS_VACANT,          // The IP/port/prtocol was available for use at the time of the check.
+	PORT_STATUS_WAS_OCCUPIED,        // The IP/port/prtocol was used at the time of the check.
+	PORT_STATUS_PARAMETER_ERROR,     // You passed some garbage value as parameters.
+        PORT_STATUS_INTERNAL_ERROR       // Error behind the screen. Take a brake and rest in space
+};
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_getPortAvailabilityStatus
+// 
+//  Purpose:
+//    The function returns what was the status of the IP/port/Protocol some time ago.
+//    The returned information was outdated before the function returns, so use it only 
+//    as a hint.
+//
+//  Parameters:
+//    ipAddress - *in* *charstring* - the IP address
+//    portNumber - *in* *integer* - the port number to check
+//    protocolType - *in* *TCCInterface_ProtocolType* - the protocol UDP/TCP/SCTP
+// 
+//  Return Value:
+//    The status in the past (used/ not used) or error report.
+//
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_getPortAvailabilityStatus(in charstring ipAddress, in integer portNumber,
+                       in TCCInterface_ProtocolType protocolType) return TCCInterface_PortStatus;
+
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_setIP
+// 
+//  Purpose:
+//    Set IP address, subnet mask and broadcast address in a network inteface
+//    If number is set, a range of virtual interfaces are set up with
+//    continuous IP address (no subnet mask, broadcast checking)
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    ipaddress - *in* *charstring* - starting IP address
+//    subnetmask - *in* *charstring* - subnetmask
+//    broadcast - *in* *charstring* - broadcast
+//    number - *in* *integer* - number of interfaces to set up
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_setIP(in charstring interface, in charstring ipaddress, 
+  in charstring subnetmask, in charstring broadcast,
+  in integer number := 1);
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_setIP_ip
+// 
+//  Purpose:
+//    Set IP address, subnet mask in a network inteface
+//    Uses RTLN netlink interface on linux, which is faster than original POSIX.    
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    ipaddress - *in* *charstring* - starting IP address
+//    prefix - *in* *integer* - subnetmask of the ipaddress
+//    v_set - *in* *integer* - Determines behavior, 1 sets, other deletes the IP
+// 
+//  Return Value:
+//    True on success, false in other cases.
+//
+//  Errors:
+//    Many possibilities, all generates a TTCN_warning
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_setIP_ip(in charstring interface, in charstring ipaddress, in integer prefix := 32, in integer v_set := 1) return boolean;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_delIP_ip
+// 
+//  Purpose:
+//    Deletes IP address, subnet mask in a network inteface
+//    Uses RTLN netlink interface on linux, which is faster than original POSIX.    
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    ipaddress - *in* *charstring* - starting IP address
+//    prefix - *in* *integer* - subnetmask of the ipaddress
+// 
+//  Return Value:
+//    True on success, false in other cases.
+//
+//  Errors:
+//    Many possibilities, all generates a TTCN_warning
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_delIP_ip(in charstring interface, in charstring ipaddress, in integer prefix := 32) return boolean;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_deleteIP
+// 
+//  Purpose:
+//    Delete IP address from a network inteface
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////  
+external function f_deleteIP(in charstring interface);
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_getIP
+// 
+//  Purpose:
+//    Get IP address, subnet mask and broadcast address from a network inteface
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    ip - *out* *charstring* - IP address
+//    netmask - *out* *charstring* - netmask
+//    broadcast - *out* *charstring* - broadcast
+//    addressType - *in* <TCCInterface_IPAddressType> - type of IP addresses (default is IPv4)
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////  
+external function f_getIP(in charstring interface, out charstring ip,
+  out charstring netmask, out charstring broadcast, in TCCInterface_IPAddressType addressType:=IPv4);
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_setInterfaceUp
+// 
+//  Purpose:
+//    Set up a network interface
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    addressType - *in* <TCCInterface_IPAddressType> - type of IP addresses (default is IPv4)
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_setInterfaceUp(in charstring interface, in TCCInterface_IPAddressType addressType:=IPv4);
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_setInterfaceDown
+// 
+//  Purpose:
+//    Set down a network interface
+//
+//  Parameters:
+//    interface - *in* *charstring* - network interface
+//    addressType - *in* <TCCInterface_IPAddressType> - type of IP addresses (default is IPv4)
+// 
+//  Return Value:
+//    -
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_setInterfaceDown(in charstring interface, in TCCInterface_IPAddressType addressType:=IPv4);
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_getHostName
+// 
+//  Purpose:
+//    Get name of host
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    charstring - name of the host
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_getHostName() return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_getIpAddr
+// 
+//  Purpose:
+//    Get IP address of host
+//
+//  Parameters:
+//    hostname - *in* *charstring* - name of the host
+//    addressType - *in* <TCCInterface_IPAddressType> - type of IP addresses (default is IPv4)
+// 
+//  Return Value:
+//    charstring - IP address of the host
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_getIpAddr(in charstring hostname, in TCCInterface_IPAddressType addressType:=IPv4) return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_getIpAddresses
+// 
+//  Purpose:
+//    Get both IPv4 and IPv6 addresses of host. 
+//
+//  Parameters:
+//    hostname - *in* *charstring* - name of the host
+// 
+//  Return Value:
+//    Initialized IPAddresses structure
+//
+//  Errors:
+//    Drops TTCN_Warnings on fault
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_getIpAddresses(in charstring hostname) return IPAddresses;
+}
diff --git a/src/TCCInterface_ip.h b/src/TCCInterface_ip.h
new file mode 100644
index 0000000000000000000000000000000000000000..5c4184d36c6677afe7377d7448287d07ed4f62e1
--- /dev/null
+++ b/src/TCCInterface_ip.h
@@ -0,0 +1,649 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCInterface_ip.h
+//  Description:        TCC Useful Functions: Interface Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2009-02-02
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+/*
+  Code here is from iproute distributed under GPL
+*/
+
+#include <linux/posix_types.h>
+#include <asm/types.h>
+#include <linux/types.h>
+#include <time.h>
+#include <errno.h>
+#include <limits.h>
+
+#define RTM_NEWADDR	20
+#define RTM_DELADDR	21
+#define NLM_F_CREATE	0x400	/* Create, if it does not exist	*/
+#define NLM_F_EXCL	0x200	/* Do not touch, if it exists	*/
+#define NLM_F_ACK		4	/* Reply with ack, with zero or error code */
+#define NETLINK_ROUTE		0	/* Routing/device hook				*/
+#define PREFIXLEN_SPECIFIED 1
+
+#define NLMSG_ALIGNTO	4
+#define NLMSG_ALIGN(len) ( ((len)+NLMSG_ALIGNTO-1) & ~(NLMSG_ALIGNTO-1) )
+#define NLMSG_HDRLEN	 ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
+#define NLMSG_LENGTH(len) ((len)+NLMSG_ALIGN(NLMSG_HDRLEN))
+#define NLMSG_DATA(nlh)  ((void*)(((char*)nlh) + NLMSG_LENGTH(0)))
+#define RTA_ALIGNTO	4
+#define RTA_ALIGN(len) ( ((len)+RTA_ALIGNTO-1) & ~(RTA_ALIGNTO-1) )
+#define RTA_LENGTH(len)	(RTA_ALIGN(sizeof(struct rtattr)) + (len))
+
+#define NLMSG_TAIL(nmsg) \
+	((struct rtattr *) (   ((char *)(nmsg)) + (NLMSG_ALIGN((nmsg)->nlmsg_len))  ))
+
+#define RTA_LENGTH(len)	(RTA_ALIGN(sizeof(struct rtattr)) + (len))
+#define RTA_DATA(rta)   ((void*)(((char*)(rta)) + RTA_LENGTH(0)))
+
+int preferred_family = AF_UNSPEC;
+
+enum
+{
+	IFA_UNSPEC,
+	IFA_ADDRESS,
+	IFA_LOCAL,
+	IFA_LABEL,
+	IFA_BROADCAST,
+	IFA_ANYCAST,
+	IFA_CACHEINFO,
+	IFA_MULTICAST,
+	__IFA_MAX,
+};
+
+enum rt_scope_t
+{
+	RT_SCOPE_UNIVERSE=0,
+/* User defined values  */
+	RT_SCOPE_SITE=200,
+	RT_SCOPE_LINK=253,
+	RT_SCOPE_HOST=254,
+	RT_SCOPE_NOWHERE=255
+};
+
+struct rtattr
+{
+	unsigned short	rta_len;
+	unsigned short	rta_type;
+};
+
+struct sockaddr_nl
+{
+	sa_family_t	nl_family;	/* AF_NETLINK	*/
+	unsigned short	nl_pad;		/* zero		*/
+	__u32		nl_pid;		/* port ID	*/
+       	__u32		nl_groups;	/* multicast groups mask */
+};
+
+struct nlmsghdr
+{
+	__u32		nlmsg_len;	/* Length of message including header */
+	__u16		nlmsg_type;	/* Message content */
+	__u16		nlmsg_flags;	/* Additional flags */
+	__u32		nlmsg_seq;	/* Sequence number */
+	__u32		nlmsg_pid;	/* Sending process port ID */
+};
+
+struct ifaddrmsg
+{
+	__u8		ifa_family;
+	__u8		ifa_prefixlen;	/* The prefix length		*/
+	__u8		ifa_flags;	/* Flags			*/
+	__u8		ifa_scope;	/* Address scope		*/
+	__u32		ifa_index;	/* Link index			*/
+};
+
+typedef struct
+{
+	__u8 family;
+	__u8 bytelen;
+	__s16 bitlen;
+	__u32 flags;
+	__u32 data[4];
+} inet_prefix;
+
+struct ifa_cacheinfo
+{
+	__u32	ifa_prefered;
+	__u32	ifa_valid;
+	__u32	cstamp; /* created timestamp, hundredths of seconds */
+	__u32	tstamp; /* updated timestamp, hundredths of seconds */
+};
+
+#ifndef	INFINITY_LIFE_TIME
+#define     INFINITY_LIFE_TIME      0xFFFFFFFFU
+#endif
+
+struct rtgenmsg
+{
+	unsigned char		rtgen_family;
+};
+
+struct rtnl_handle
+{
+	int			fd;
+	struct sockaddr_nl	local;
+	struct sockaddr_nl	peer;
+	__u32			seq;
+	__u32			dump;
+};
+
+struct rtnl_handle rth = { -1 };
+
+typedef int (*rtnl_filter_t)(const struct sockaddr_nl *,
+			     struct nlmsghdr *n, void *);
+
+
+#define NLM_F_ROOT	0x100	/* specify tree	root	*/
+#define NLM_F_MATCH	0x200	/* return all matching	*/
+#define NLM_F_REQUEST		1	/* It is request message. 	*/
+#define NLMSG_ERROR		0x2	/* Error		*/
+
+struct nlmsgerr
+{
+	int		error;
+	struct nlmsghdr msg;
+};
+
+#define DN_MAXADDL 20
+struct dn_naddr
+{
+        unsigned short          a_len;
+        unsigned char a_addr[DN_MAXADDL];
+};
+
+
+int rtnl_open_byproto(struct rtnl_handle *rth, unsigned subscriptions,
+		      int protocol)
+{
+	socklen_t addr_len;
+	int sndbuf = 32768;
+	int rcvbuf = 32768;
+
+	memset(rth, 0, sizeof(*rth));
+
+	rth->fd = socket(AF_NETLINK, SOCK_RAW, protocol);
+	if (rth->fd < 0) {
+	  TTCN_warning("Cannot open netlink socket");
+	  return -1;
+	}
+
+	if (setsockopt(rth->fd,SOL_SOCKET,SO_SNDBUF,&sndbuf,sizeof(sndbuf)) < 0) {
+	  TTCN_warning("Cannot set SO_SNDBUF");
+	  return -1;
+	}
+
+	if (setsockopt(rth->fd,SOL_SOCKET,SO_RCVBUF,&rcvbuf,sizeof(rcvbuf)) < 0) {
+	  TTCN_warning("Cannot set SO_RCVBUF");
+	  return -1;
+	}
+
+	memset(&rth->local, 0, sizeof(rth->local));
+	rth->local.nl_family = AF_NETLINK;
+	rth->local.nl_groups = subscriptions;
+
+	if (bind(rth->fd, (struct sockaddr*)&rth->local, sizeof(rth->local)) < 0) {
+	  TTCN_warning("Cannot bind netlink socket");
+	  return -1;
+	}
+	addr_len = sizeof(rth->local);
+	if (getsockname(rth->fd, (struct sockaddr*)&rth->local, &addr_len) < 0) {
+	  TTCN_warning("Cannot getsockname");
+	  return -1;
+	}
+	if (addr_len != sizeof(rth->local)) {
+	  //		fprintf(stderr, "Wrong address length %d\n", addr_len);
+	  
+		return -1;
+	}
+	if (rth->local.nl_family != AF_NETLINK) {
+	  TTCN_warning("Wrong address family!");
+	  return -1;
+	}
+	rth->seq = time(NULL);
+	return 0;
+}
+
+int rtnl_open(struct rtnl_handle *rth, unsigned subscriptions)
+{
+  return rtnl_open_byproto(rth, subscriptions, NETLINK_ROUTE);
+}
+
+void rtnl_close(struct rtnl_handle *rth)
+{
+  if (rth->fd >= 0) {
+    close(rth->fd);
+    rth->fd = -1;
+  }
+}
+
+
+static int dnet_num(const char *src, u_int16_t * dst)
+{
+  int rv = 0;
+  int tmp;
+  *dst = 0;
+  
+  while ((tmp = *src++) != 0) {
+    tmp -= '0';
+    if ((tmp < 0) || (tmp > 9))
+      return rv;
+    
+    rv++;
+    (*dst) *= 10;
+    (*dst) += tmp;
+  }
+  
+  return rv;
+}
+
+static __inline__ u_int16_t dn_htons(u_int16_t addr)
+{
+        union {
+                u_int8_t byte[2];
+                u_int16_t word;
+        } u;
+
+        u.word = addr;
+        return ((u_int16_t)u.byte[0]) | (((u_int16_t)u.byte[1]) << 8);
+}
+
+static int dnet_pton1(const char *src, struct dn_naddr *dna)
+{
+	u_int16_t area = 0;
+	u_int16_t node = 0;
+	int pos;
+
+	pos = dnet_num(src, &area);
+	if ((pos == 0) || (area > 63) || (*(src + pos) != '.'))
+		return 0;
+	pos = dnet_num(src + pos + 1, &node);
+	if ((pos == 0) || (node > 1023))
+		return 0;
+	dna->a_len = 2;
+	*(u_int16_t *)dna->a_addr = dn_htons((area << 10) | node);
+
+	return 1;
+}
+
+int dnet_pton(int af, const char *src, void *addr)
+{
+	int err;
+
+	switch (af) {
+	case AF_DECnet:
+		errno = 0;
+		err = dnet_pton1(src, (struct dn_naddr *)addr);
+		break;
+	default:
+		errno = EAFNOSUPPORT;
+		err = -1;
+	}
+
+	return err;
+}
+
+int get_addr_1(inet_prefix *addr, const char *name, int family)
+{
+	memset(addr, 0, sizeof(*addr));
+
+	if (strcmp(name, "default") == 0 ||
+	    strcmp(name, "all") == 0 ||
+	    strcmp(name, "any") == 0) {
+		if (family == AF_DECnet)
+			return -1;
+		addr->family = family;
+		addr->bytelen = (family == AF_INET6 ? 16 : 4);
+		addr->bitlen = -1;
+		return 0;
+	}
+
+	if (strchr(name, ':')) {
+		addr->family = AF_INET6;
+		if (family != AF_UNSPEC && family != AF_INET6)
+			return -1;
+		if (inet_pton(AF_INET6, name, addr->data) <= 0)
+			return -1;
+		addr->bytelen = 16;
+		addr->bitlen = -1;
+		return 0;
+	}
+
+	if (family == AF_DECnet) {
+		struct dn_naddr dna;
+		addr->family = AF_DECnet;
+		if (dnet_pton(AF_DECnet, name, &dna) <= 0)
+			return -1;
+		memcpy(addr->data, dna.a_addr, 2);
+		addr->bytelen = 2;
+		addr->bitlen = -1;
+		return 0;
+	}
+
+	addr->family = AF_INET;
+	if (family != AF_UNSPEC && family != AF_INET)
+		return -1;
+	if (inet_pton(AF_INET, name, addr->data) <= 0)
+		return -1;
+	addr->bytelen = 4;
+	addr->bitlen = -1;
+	return 0;
+}
+
+int get_unsigned(unsigned *val, const char *arg, int base)
+{
+	unsigned long res;
+	char *ptr;
+
+	if (!arg || !*arg)
+		return -1;
+	res = strtoul(arg, &ptr, base);
+	if (!ptr || ptr == arg || *ptr || res > UINT_MAX)
+		return -1;
+	*val = res;
+	return 0;
+}
+
+int mask2bits(__u32 netmask)
+{
+	unsigned bits = 0;
+	__u32 mask = ntohl(netmask);
+	__u32 host = ~mask;
+
+	/* a valid netmask must be 2^n - 1 */
+	if ((host & (host + 1)) != 0)
+		return -1;
+
+	for (; mask; mask <<= 1)
+		++bits;
+	return bits;
+}
+
+static int get_netmask(unsigned *val, const char *arg, int base)
+{
+	inet_prefix addr;
+
+	if (!get_unsigned(val, arg, base))
+		return 0;
+
+	/* try coverting dotted quad to CIDR */
+	if (!get_addr_1(&addr, arg, AF_INET) && addr.family == AF_INET) {
+		int b = mask2bits(addr.data[0]);
+		
+		if (b >= 0) {
+			*val = b;
+			return 0;
+		}
+	}
+
+	return -1;
+}
+
+int get_prefix_1(inet_prefix *dst, char *arg, int family)
+{
+	int err;
+	unsigned plen;
+	char *slash;
+
+	memset(dst, 0, sizeof(*dst));
+
+	if (strcmp(arg, "default") == 0 ||
+	    strcmp(arg, "any") == 0 ||
+	    strcmp(arg, "all") == 0) {
+		if (family == AF_DECnet)
+			return -1;
+		dst->family = family;
+		dst->bytelen = 0;
+		dst->bitlen = 0;
+		return 0;
+	}
+
+	slash = strchr(arg, '/');
+	if (slash)
+		*slash = 0;
+
+	err = get_addr_1(dst, arg, family);
+	if (err == 0) {
+		switch(dst->family) {
+			case AF_INET6:
+				dst->bitlen = 128;
+				break;
+			case AF_DECnet:
+				dst->bitlen = 16;
+				break;
+			default:
+			case AF_INET:
+				dst->bitlen = 32;
+		}
+		if (slash) {
+			if (get_netmask(&plen, slash+1, 0)
+					|| (signed)plen > dst->bitlen) {
+				err = -1;
+				goto done;
+
+			}
+			dst->flags |= PREFIXLEN_SPECIFIED;
+			dst->bitlen = plen;
+		}
+	}
+done:
+	if (slash)
+		*slash = '/';
+	return err;
+}
+
+
+int get_prefix(inet_prefix *dst, char *arg, int family)
+{
+	if (family == AF_PACKET) {
+	  TTCN_warning("This inet prefix is not allowed in this context");
+	  return -1;
+	}
+	if (get_prefix_1(dst, arg, family)) {
+	  TTCN_warning("inet prefix is expected in this context");
+	  return -1;
+	}
+	return 0;
+}
+
+int addattr_l(struct nlmsghdr *n, int maxlen, int type, const void *data,
+	      int alen)
+{
+	int len = RTA_LENGTH(alen);
+	struct rtattr *rta;
+
+	if (NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len) > (unsigned)maxlen) {
+	  return -1; 
+	}
+	rta = NLMSG_TAIL(n);
+	rta->rta_type = type;
+	rta->rta_len = len;
+	memcpy(RTA_DATA(rta), data, alen);
+	n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len);
+	return 0;
+}
+
+extern unsigned int if_nametoindex (const char *);
+
+struct idxmap
+{
+	struct idxmap * next;
+	unsigned	index;
+	int		type;
+	int		alen;
+	unsigned	flags;
+	unsigned char	addr[8];
+	char		name[16];
+};
+
+static struct idxmap *idxmap[16];
+
+unsigned ll_name_to_index(const char *name)
+{
+	static char ncache[16];
+	static int icache;
+	struct idxmap *im;
+	int i;
+
+	if (name == NULL)
+		return 0;
+	if (icache && strcmp(name, ncache) == 0)
+		return icache;
+	for (i=0; i<16; i++) {
+		for (im = idxmap[i]; im; im = im->next) {
+			if (strcmp(im->name, name) == 0) {
+				icache = im->index;
+				strcpy(ncache, name);
+				return im->index;
+			}
+		}
+	}
+
+	return if_nametoindex(name);
+}
+
+static int default_scope(inet_prefix *lcl)
+{
+	if (lcl->family == AF_INET) {
+		if (lcl->bytelen >= 1 && *(__u8*)&lcl->data == 127)
+			return RT_SCOPE_HOST;
+	}
+	return 0;
+}
+
+int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer,
+	      unsigned groups, struct nlmsghdr *answer,
+	      rtnl_filter_t junk,
+	      void *jarg)
+{
+	unsigned status;
+	unsigned seq;
+	struct nlmsghdr *h;
+	struct sockaddr_nl nladdr;
+	struct iovec iov = {
+	  /*.iov_base =*/ (void*) n,
+	  /*.iov_len =*/ n->nlmsg_len
+	};
+
+	struct msghdr msg = {
+	  /*.msg_name = */&nladdr,
+	  /*.msg_namelen =*/ sizeof(nladdr),
+	  /*.msg_iov =*/ &iov,
+	  /*.msg_iovlen =*/ 1,
+	};
+	char   buf[16384];
+
+	memset(&nladdr, 0, sizeof(nladdr));
+	nladdr.nl_family = AF_NETLINK;
+	nladdr.nl_pid = peer;
+	nladdr.nl_groups = groups;
+
+	n->nlmsg_seq = seq = ++rtnl->seq;
+
+	if (answer == NULL)
+		n->nlmsg_flags |= NLM_F_ACK;
+
+	status = sendmsg(rtnl->fd, &msg, 0);
+
+	if (status < 0) {
+	  TTCN_warning("Cannot talk to rtnetlink");
+	  return -1;
+	}
+
+	memset(buf,0,sizeof(buf));
+
+	iov.iov_base = buf;
+
+	while (1) {
+		iov.iov_len = sizeof(buf);
+		status = recvmsg(rtnl->fd, &msg, 0);
+
+		if (status < 0) {
+		  if (errno == EINTR || errno == EAGAIN)
+		    continue;
+		  TTCN_warning("rtln receives error");
+		  return -1;
+		}
+		if (status == 0) {
+		  TTCN_warning("EOF on netlink");
+		  return -1;
+		}
+		if (msg.msg_namelen != sizeof(nladdr)) {
+		  return -1;//exit(1); 
+		}
+		for (h = (struct nlmsghdr*)buf; status >= sizeof(*h); ) {
+			int err;
+			int len = h->nlmsg_len;
+			int l = len - sizeof(*h);
+
+			if (l<0 || len>(signed)status) {
+				if (msg.msg_flags & MSG_TRUNC) {
+				  return -1;
+				}
+				TTCN_warning("Malformed rtln message");
+				return -1;//exit(1);
+			}
+
+			if (nladdr.nl_pid != (unsigned)peer ||
+			    h->nlmsg_pid != rtnl->local.nl_pid ||
+			    h->nlmsg_seq != seq) {
+				if (junk) {
+					err = junk(&nladdr, h, jarg);
+					if (err < 0){
+						return err;
+					}
+				}
+				/* Don't forget to skip that message. */
+				status -= NLMSG_ALIGN(len);
+				h = (struct nlmsghdr*)((char*)h + NLMSG_ALIGN(len));
+				continue;
+			}
+		       
+			if (h->nlmsg_type == NLMSG_ERROR) {
+				struct nlmsgerr *err = (struct nlmsgerr*)NLMSG_DATA(h);
+				if ((unsigned)l < sizeof(struct nlmsgerr)) {
+
+				} else {
+					errno = -err->error;
+					if (errno == 0) {
+						if (answer)
+							memcpy(answer, h, h->nlmsg_len);
+						return 0;
+					}
+					TTCN_warning("RTNETLINK answers error, %s", strerror(errno));
+				}
+				return -1;
+			}
+			if (answer) {
+				memcpy(answer, h, h->nlmsg_len);
+				return 0;
+			}
+
+			TTCN_warning("Unexpected rtln replay!");
+
+			status -= NLMSG_ALIGN(len);
+			h = (struct nlmsghdr*)((char*)h + NLMSG_ALIGN(len));
+		}
+		if (msg.msg_flags & MSG_TRUNC) {
+			continue;
+		}
+		if (status) {
+		  return -1;//exit(1);
+		}
+	}
+}
diff --git a/src/TCCMaths.cc b/src/TCCMaths.cc
new file mode 100644
index 0000000000000000000000000000000000000000..c01fc81491d5f30f5fab3a669860e8b21607b2e8
--- /dev/null
+++ b/src/TCCMaths.cc
@@ -0,0 +1,936 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCMaths.cc
+//  Description:        TCC Useful Functions: Maths Functions.
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-03-07
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <TTCN3.hh>
+#include <math.h>
+#include "TCCMaths_Functions.hh"
+
+using namespace TCCMaths__GenericTypes;
+namespace TCCMaths__Functions {
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__maxIL
+//
+//  Purpose:
+//    Return an IntegerList with the highest number found at index 0 and
+//    the index of ilist where it's found at index 1
+//
+//  Parameters:
+//    ilist - *in* <IntegerList> - integer array
+//
+//  Return Value:
+//    <IntegerList> - integer array: { <max>, <max index> }
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+IntegerList f__maxIL(const IntegerList& ilist)
+{
+    IntegerList toret;
+
+    toret[0] = 0;
+    toret[1] = -1;
+    if(!ilist.is_bound()) return toret;
+    int len = ilist.size_of();
+
+    int m = - 0xffff;
+    for(int i=0;i<len;i++)
+        if(ilist[i]>m)
+        {
+            m = ilist[i];
+            toret[1] = i;
+        }
+    toret[0] = m;
+    return toret;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__minIL
+//
+//  Purpose:
+//     Return an IntegerList with the lowest number found
+//     at index 0 and the index of ilist where it's fond at index
+//     1
+//
+//  Parameters:
+//    ilist - *in* <IntegerList> - integer array
+//
+//  Return Value:
+//    <IntegerList> - integer array: { <min>, <min index> }
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+IntegerList f__minIL(const IntegerList& ilist)
+{
+    IntegerList toret;
+    toret[0] = 0;
+    toret[1] = -1;
+    if(!ilist.is_bound()) return toret;
+    int len = ilist.size_of();
+    int m = 0xffff;
+    for(int i=0;i<len;i++)
+        if(ilist[i]<m)
+        {
+            m = ilist[i];
+            toret[1] = i;
+        }
+    toret[0] = m;
+    return toret;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__maxFL
+//
+//  Purpose:
+//    Return an FloatList with the highest number found
+//    at index 0 and the index of flist where it's fond at index
+//    1
+//
+//  Parameters:
+//    flist - *in* <FloatList> - integer array
+//
+//  Return Value:
+//    <FloatList> - float array: { <max>, <max index> }
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FloatList f__maxFL(const FloatList& flist)
+{
+    FloatList toret;
+    toret[0] = 0.0;
+    toret[1] = -1.0;
+    if(!flist.is_bound()) return toret;
+    int i, len = flist.size_of();
+
+    double m = -1.7E308;
+    for(i=0;i<len;i++)
+        if(flist[i]>m)
+        {
+            m = flist[i];
+            toret[1] = (double)i;
+        }
+    toret[0] = m;
+    return toret;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__minFL
+//
+//  Purpose:
+//    Return an FloatList with the highest number found
+//    at index 0 and the index of flist where it's fond at index
+//    1
+//
+//  Parameters:
+//    flist - *in* <FloatList> - integer array
+//
+//  Return Value:
+//    <FloatList> - float array: { <min>, <min index> }
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FloatList f__minFL(const FloatList& flist)
+{
+    FloatList toret;
+    toret[0] = 0.0;
+    toret[1] = -1.0;
+    if(!flist.is_bound()) return toret;
+    unsigned int i, len = (unsigned int)flist.size_of();
+    double m = 1.7E308;
+    for(i=0;i<len;i++)
+        if(flist[i]<m)
+        {
+            m = flist[i];
+            toret[1] = (double)i;
+        }
+    toret[0] = m;
+    return toret;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__averageFL
+//
+//  Purpose:
+//    Return the average of flist
+//
+//  Parameters:
+//    flist - *in* <FloatList> - integer array
+//
+//  Return Value:
+//    float - average of float numbers
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__averageFL(const FloatList& flist)
+{
+    if(!flist.is_bound()) return FLOAT();
+    double toret = 0.0;
+    int i, len = flist.size_of();
+    if(len==0) return FLOAT();
+    for(i=0;i<len;i++) toret += flist[i];
+    return FLOAT(toret / (double)len);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__averageIL
+//
+//  Purpose:
+//    Return the average of ilist
+//
+//  Parameters:
+//    ilist - *in* <IntegerList> - integer array
+//
+//  Return Value:
+//    float - average of integer numbers
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__averageIL(const IntegerList& ilist)
+{
+    int toret = 0;
+    int i, len = ilist.size_of();
+    if(len == 0) return FLOAT();
+    for(i=0;i<len;i++) toret += ilist[i];
+    return FLOAT(((double)toret / (double)len));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__stdFL
+//
+//  Purpose:
+//    Return the normalized standard deviation of float list
+//    (so the average square distance from the center of elements in the list)
+//
+//  Parameters:
+//    flist - *in* <FloatList> - float list
+//
+//  Return Value:
+//    float - normalized, standard derivate
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    E.g.  list = {2.0, 4.0}
+//
+//          u = (2.0 + 4.0) / 2 <- *center of elements in the list*
+//
+//          len = sizeof(list)
+//
+//          [ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__stdFL(const FloatList& flist)
+{
+    if(!flist.is_bound()) return FLOAT();
+    double toret = 0.0;
+    int i, len = flist.size_of();
+    if(len == 0) return FLOAT();
+    double u = (double)TCCMaths__Functions::f__averageFL(flist);
+    for(i=0;i<len;i++) toret += pow((double)flist[i]-u,2.0);
+    return FLOAT(pow(toret/((double)len-1),0.5));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__stdFLL
+//
+//  Purpose:
+//    Return the normalized standard deviation of float list  using custom
+//    center
+//    (so it is the average square distance from a user defined central value)
+//
+//  Parameters:
+//    u - *in* *float* - user defined central value
+//    flist - *in* <FloatList> - float list
+//
+//  Return Value:
+//    float - normalized, standard derivate
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Note: u is the average value of flist and has to be calculated
+//    before a call to this function
+//
+//    E.g.  list = {2.0, 4.0}
+//
+//          u <- *user input*
+//
+//          len = sizeof(list)
+//
+//          [ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__stdFLL(const FloatList& flist, const FLOAT& u)
+{
+    if(!flist.is_bound()) FLOAT();
+    double toret = 0.0;
+    int i, len = flist.size_of();
+    if(len == 0) return FLOAT();
+    for(i=0;i<len;i++) toret += pow((double)flist[i]-(double)u,2.0);
+    return FLOAT(pow(toret/((double)(len-1)),0.5));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__updateFL
+//
+//  Purpose:
+//    Append tail to the end of head (head return as inout)
+//
+//  Parameters:
+//    head - *in* <FloatList> - first part of the float list
+//    tail - *in* <FloatList> - second part of the float list
+//
+//  Return Value:
+//    -
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+void f__updateFL(FloatList& head, const FloatList& tail)
+{
+    unsigned int i, count, len;
+    if(!tail.is_bound()) return;
+    len = tail.size_of();
+    if(head.is_bound()) count = (unsigned int)head.size_of();
+    else count = 0;
+    for(i=0;i<len;i++)
+    {
+        head[count] = tail[i];
+        count++;
+    }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__updateIL
+//
+//  Purpose:
+//     Append tail to the end of head (head return as inout)
+//
+//  Parameters:
+//    head - *in* <IntegerList> - first part of the integer list
+//    tail - *in* <IntegerList> - second part of the integer list
+//
+//  Return Value:
+//    -
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+void f__updateIL(IntegerList& head, const IntegerList& tail)
+{
+    unsigned int i, count, len;
+    if(!tail.is_bound()) return;
+    len = tail.size_of();
+    if(head.is_bound()) count = (unsigned int)head.size_of();
+    else count = 0;
+    for(i=0;i<len;i++)
+    {
+        head[count] = tail[i];
+        count++;
+    }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__stdIL
+//
+//  Purpose:
+//    Return the normalized standard deviation of integer list
+//    (so the average square distance from the center of points)
+//
+//  Parameters:
+//    ilist - *in* <IntegerList> - integer list
+//
+//  Return Value:
+//    float - normalized, standard derivate
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    E.g.  list = {2.0, 4.0}
+//
+//          u = (2.0 + 4.0) / 2 <- *center of elements in the list*
+//
+//          len = sizeof(list)
+//
+//          [ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)
+//
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__stdIL(const IntegerList& ilist)
+{
+    double toret = 0.0;
+    int i, len = ilist.size_of();
+    double u = (double)TCCMaths__Functions::f__averageIL(ilist);
+    for(i=0;i<len;i++) toret += pow((double)ilist[i]-u,2.0);
+    return FLOAT(pow(toret/((double)len-1),0.5));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__stdILL
+//
+//  Purpose:
+//    Return the normalized standard deviation of integer list using custom
+//    center
+//    (so it is the average square distance from a user defined central value)
+//
+//  Parameters:
+//    u - *in* *float* - user defined central value
+//    ilist - *in* <IntegerList> - integer list
+//
+//  Return Value:
+//    float - normalized, standard derivate
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Note: u is a user defined value
+//
+//    E.g.  list = {2.0, 4.0}
+//
+//          u <- *user input*
+//
+//          len = sizeof(list)
+//
+//          [ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__stdILL(const IntegerList& ilist, const FLOAT& u)
+{
+    if(!ilist.is_bound()) FLOAT();
+    double toret = 0.0;
+    int i, len = ilist.size_of();
+    if(len == 0) return FLOAT();
+    for(i=0;i<len;i++) toret += pow((double)ilist[i]-(double)u,2.0);
+    return FLOAT(pow(toret/((double)(len-1)),0.5));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__sinVL
+//
+//  Purpose:
+//    Return the values of the sin function
+//
+//  Parameters:
+//    freq - *in* *float* - the frequency of the sine curve
+//    altitude - *in* *float* - the altitude of the sine curve
+//    start_val - *in* *float* - the starting value passed to the sine function
+//    len - *in* *integer* - the wanted number of points of the sine curve
+//    step - *in* *float* - the length between the points on the sine curve
+//
+//  Return Value:
+//    <FloatList> - the wanted points in a float list
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Generation of one sin value:
+//
+//      altitude * sin(2 * pi * freq * start_val)
+//
+//      start_val := start_val + step
+//
+///////////////////////////////////////////////////////////////////////////////
+FloatList f__sinVL(const FLOAT& freq, const FLOAT& altitude, const FLOAT& start__val, const INTEGER& len, const FLOAT& step)
+{
+    double pi = 3.1415926535;
+    int i;
+    double tmp = (double)start__val;
+    FloatList toret;
+    for(i=0;i<(int)len;i++)
+    {
+        toret[i] = (double)altitude * sin(2.0 * pi * (double)freq * tmp);
+        tmp += (double)step;
+    }
+
+    return (toret);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__cosVL
+//
+//  Purpose:
+//    Return the values of the cos function
+//
+//  Parameters:
+//    freq - *in* *float* - the frequency of the sine curve
+//    altitude - *in* *float* - the altitude of the sine curve
+//    start_val - *in* *float* - the starting value passed to the sine function
+//    len - *in* *integer* - the wanted number of points of the sine curve
+//    step - *in* *float* - the length between the points on the sine curve
+//
+//  Return Value:
+//    <FloatList> - the wanted points in a float list
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Generation of one cos value:
+//
+//      altitude * cos(2 * pi * freq * start_val)
+//
+//      start_val := start_val + step
+//
+///////////////////////////////////////////////////////////////////////////////
+FloatList f__cosVL(const FLOAT& freq, const FLOAT& altitude, const FLOAT& start__val, const INTEGER& len, const FLOAT& step)
+{
+    double pi = 3.1415926535;
+    int i;
+    double tmp = (double)start__val;
+    FloatList toret;
+    for(i=0;i<(int)len;i++)
+    {
+        toret[i] = (double)altitude * cos(2.0 * pi * (double)freq * tmp);
+        tmp += (double)step;
+    }
+
+    return (toret);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__sin
+//
+//  Purpose:
+//    Return the sine of angle radians
+//
+//  Parameters:
+//    angle - *in* *float* - angle in radians
+//
+//  Return Value:
+//    float - the sine value of angle radians
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__sin(const FLOAT& angle)
+{
+  return FLOAT(sin(angle));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__cos
+//
+//  Purpose:
+//    Return the cosine of angle radians
+//
+//  Parameters:
+//    angle - *in* *float* - angle in radians
+//
+//  Return Value:
+//    float - the cosine value of angle radians
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__cos(const FLOAT& angle)
+{
+  return FLOAT(cos(angle));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__asin
+//
+//  Purpose:
+//    Return the arc sine of value in [-pi/2, +pi/2]
+//
+//  Parameters:
+//    val - *in* *float* - value
+//
+//  Return Value:
+//    float - the arc sine value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__asin(const FLOAT& val)
+{
+  return FLOAT(asin(val));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__acos
+//
+//  Purpose:
+//    Return the arc cosine of value in [0, pi]
+//
+//  Parameters:
+//    val - *in* *float* - value
+//
+//  Return Value:
+//    float - the arc cosine value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__acos(const FLOAT& val)
+{
+  return FLOAT(acos(val));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__powFF
+//
+//  Purpose:
+//    Raise to power (float to float power)
+//
+//  Parameters:
+//    base - *in* *float* - base value
+//    expo - *in* *float* - exponent value
+//
+//  Return Value:
+//    float - base raised to power expo
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__powFF(const FLOAT& base, const FLOAT& expo)
+{
+  return FLOAT(pow(base, expo));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__powII
+//
+//  Purpose:
+//    Raise to power (integer to integer power)
+//
+//  Parameters:
+//    base - *in* *integer* - base value
+//    expo - *in* *integer* - exponent value
+//
+//  Return Value:
+//    integer - base raised to power expo
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+INTEGER f__powII(const INTEGER& base, const INTEGER& expo)
+{
+  return INTEGER((int)pow(base, expo));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__powIF
+//
+//  Purpose:
+//    Raise to power (integer to float power)
+//
+//  Parameters:
+//    base - *in* *integer* - base value
+//    expo - *in* *float* - exponent value
+//
+//  Return Value:
+//    float - base raised to power expo
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__powIF(const INTEGER& base, const FLOAT& expo)
+{
+  return FLOAT(pow(base, expo));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__powFI
+//
+//  Purpose:
+//    Raise to power (float to integer power)
+//
+//  Parameters:
+//    base - *in* *float* - base value
+//    expo - *in* *integer* - exponent value
+//
+//  Return Value:
+//    float - base raised to power expo
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__powFI(const FLOAT& base, const INTEGER& expo)
+{
+  return FLOAT(pow(base, expo));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__sqrF
+//
+//  Purpose:
+//    Raise a float value to square
+//
+//  Parameters:
+//    base - *in* *float* - base value
+//
+//  Return Value:
+//    float - square of base
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__sqrF(const FLOAT& base)
+{
+  return FLOAT(base*base);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__sqrI
+//
+//  Purpose:
+//    Raise an integer value to square
+//
+//  Parameters:
+//    base - *in* *integer* - base value
+//
+//  Return Value:
+//    integer - square of base
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+INTEGER f__sqrI(const INTEGER& base)
+{
+  return INTEGER(base*base);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__sqrtF
+//
+//  Purpose:
+//    Square root of float value
+//
+//  Parameters:
+//    base - *in* *float* - base value
+//
+//  Return Value:
+//    float - square root of base
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__sqrtF(const FLOAT& base)
+{
+  return FLOAT(sqrt(base));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__sqrtI
+//
+//  Purpose:
+//    Square root of integer value
+//
+//  Parameters:
+//    base - *in* *integer* - base value
+//
+//  Return Value:
+//    float - square root of base
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__sqrtI(const INTEGER& base)
+{
+  return FLOAT(sqrt((double)base));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__ceil
+//
+//  Purpose:
+//    Return the smallest integer value that is not less then value
+//
+//  Parameters:
+//    val - *in* *float* - float value
+//
+//  Return Value:
+//    integer - ceil value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+INTEGER f__ceil(const FLOAT& val)
+{
+  return INTEGER((int)ceil(val));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__floor
+//
+//  Purpose:
+//    Return the largest integer value that is not greater then value
+//
+//  Parameters:
+//    val - *in* *float* - float value
+//
+//  Return Value:
+//    integer - floor value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+INTEGER f__floor(const FLOAT& val)
+{
+  return INTEGER((int)floor(val));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__exp
+//
+//  Purpose:
+//    Return the exponential value of the argument
+//
+//  Parameters:
+//    val - *in* *float* - float value
+//
+//  Return Value:
+//    float - exp value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__exp(const FLOAT& val)
+{
+  return FLOAT(exp(val));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__log
+//
+//  Purpose:
+//    Return the natural logarithm of the argument
+//
+//  Parameters:
+//    val - *in* *float* - float value
+//
+//  Return Value:
+//    float - ln value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+FLOAT f__log(const FLOAT& val)
+{
+  return FLOAT(log(val));
+}
+
+}
diff --git a/src/TCCMaths_Functions.ttcn b/src/TCCMaths_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..4baee7292167b91790cc3e599eca66d6000f8b64
--- /dev/null
+++ b/src/TCCMaths_Functions.ttcn
@@ -0,0 +1,937 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCMaths_Functions.ttcn
+//  Description:        TCC Useful Functions: Math Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2008-12-10
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCMaths_Functions
+//
+//  Purpose:
+//    This module supports mathematics
+//
+//  Module Parameters:
+//      -
+//
+//  Module depends on:
+//    <TCCMaths_GenericTypes>
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCMaths_Functions {
+
+import from TCCMaths_GenericTypes all;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module parameters:
+//
+//  Purpose:
+//    Module parameters used by TCCMaths_Functions.
+//
+///////////////////////////////////////////////////////////////////////////////
+
+//Types used by the poisson generation
+type record t_Poisson_Table
+{
+  boolean initialized,          //indicates if the table was initialized or not
+  float lambda,                 //the lambda that was used to generate the table
+  record of float poisson_value //the poisson table
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_maxIL
+//
+//  Purpose:
+//    Return an IntegerList with the highest number found at index 0 and
+//    the index of ilist where it's found at index 1
+//
+//  Parameters:
+//    ilist - *in* <IntegerList> - integer array
+//
+//  Return Value:
+//    <IntegerList> - integer array: { <max>, <max index> }
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_maxIL(in IntegerList ilist) return IntegerList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_maxFL
+//
+//  Purpose:
+//    Return an FloatList with the highest number found
+//    at index 0 and the index of flist where it's fond at index
+//    1
+//
+//  Parameters:
+//    flist - *in* <FloatList> - integer array
+//
+//  Return Value:
+//    <FloatList> - float array: { <max>, <max index> }
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_maxFL(in FloatList flist) return FloatList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_minIL
+//
+//  Purpose:
+//     Return an IntegerList with the lowest number found
+//     at index 0 and the index of ilist where it's fond at index
+//     1
+//
+//  Parameters:
+//    ilist - *in* <IntegerList> - integer array
+//
+//  Return Value:
+//    <IntegerList> - integer array: { <min>, <min index> }
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_minIL(in IntegerList ilist) return  IntegerList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_minFL
+//
+//  Purpose:
+//    Return an FloatList with the highest number found
+//    at index 0 and the index of flist where it's fond at index
+//    1
+//
+//  Parameters:
+//    flist - *in* <FloatList> - integer array
+//
+//  Return Value:
+//    <FloatList> - float array: { <min>, <min index> }
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_minFL(in FloatList flist) return FloatList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_averageFL
+//
+//  Purpose:
+//    Return the average of flist
+//
+//  Parameters:
+//    flist - *in* <FloatList> - integer array
+//
+//  Return Value:
+//    float - average of float numbers
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_averageFL(in FloatList flist) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_averageIL
+//
+//  Purpose:
+//    Return the average of ilist
+//
+//  Parameters:
+//    ilist - *in* <IntegerList> - integer array
+//
+//  Return Value:
+//    float - average of integer numbers
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_averageIL(in IntegerList ilist) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_updateFL
+//
+//  Purpose:
+//    Append tail to the end of head (head return as inout)
+//
+//  Parameters:
+//    head - *in* <FloatList> - first part of the float list
+//    tail - *in* <FloatList> - second part of the float list
+//
+//  Return Value:
+//    -
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_updateFL(inout FloatList head, in FloatList tail);
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_updateIL
+//
+//  Purpose:
+//     Append tail to the end of head (head return as inout)
+//
+//  Parameters:
+//    head - *in* <IntegerList> - first part of the integer list
+//    tail - *in* <IntegerList> - second part of the integer list
+//
+//  Return Value:
+//    -
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_updateIL(inout IntegerList head, in IntegerList tail);
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_stdFL
+//
+//  Purpose:
+//    Return the normalized standard devILtion of float list
+//    (so the average square distance from the center of elements in the list)
+//
+//  Parameters:
+//    flist - *in* <FloatList> - float list
+//
+//  Return Value:
+//    float - normalized, standard derivate
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    E.g.  list = {2.0, 4.0}
+//
+//          u = (2.0 + 4.0) / 2 <- *center of elements in the list*
+//
+//          len = sizeof(list)
+//
+//          [ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_stdFL(in FloatList flist) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_stdFLL
+//
+//  Purpose:
+//    Return the normalized standard devILtion of float list  using custom
+//    center
+//    (so it is the average square distance from a user defined central value)
+//
+//  Parameters:
+//    u - *in* *float* - user defined central value
+//    flist - *in* <FloatList> - float list
+//
+//  Return Value:
+//    float - normalized, standard derivate
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Note: u is the average value of flist and has to be calculated
+//    before a call to this function
+//
+//    E.g.  list = {2.0, 4.0}
+//
+//          u <- *user input*
+//
+//          len = sizeof(list)
+//
+//          [ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_stdFLL(in FloatList flist, in float u) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_stdIL
+//
+//  Purpose:
+//    Return the normalized standard devILtion of integer list
+//    (so the average square distance from the center of points)
+//
+//  Parameters:
+//    ilist - *in* <IntegerList> - integer list
+//
+//  Return Value:
+//    float - normalized, standard derivate
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    E.g.  list = {2.0, 4.0}
+//
+//          u = (2.0 + 4.0) / 2 <- *center of elements in the list*
+//
+//          len = sizeof(list)
+//
+//          [ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)
+//
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_stdIL(in IntegerList ilist) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_stdILL
+//
+//  Purpose:
+//    Return the normalized standard devILtion of integer list using custom
+//    center
+//    (so it is the average square distance from a user defined central value)
+//
+//  Parameters:
+//    u - *in* *float* - user defined central value
+//    ilist - *in* <IntegerList> - integer list
+//
+//  Return Value:
+//    float - normalized, standard derivate
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Note: u is a user defined value
+//
+//    E.g.  list = {2.0, 4.0}
+//
+//          u <- *user input*
+//
+//          len = sizeof(list)
+//
+//          [ ( (2.0-u)^2 + (4.0-u)^2 ) / len ] ^ (0.5)
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_stdILL(in IntegerList ilist, in float u) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_sinVL
+//
+//  Purpose:
+//    Return the values of the sine function
+//
+//  Parameters:
+//    freq - *in* *float* - the frequency of the sine curve
+//    altitude - *in* *float* - the altitude of the sine curve
+//    start_val - *in* *float* - the starting value passed to the sine function
+//    len - *in* *integer* - the wanted number of points of the sine curve
+//    step - *in* *float* - the length between the points on the sine curve
+//
+//  Return Value:
+//    <FloatList> - the wanted points in a float list
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Generation of one sin value:
+//
+//      altitude * sin(2 * pi * freq * start_val)
+//
+//      start_val := start_val + step
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_sinVL(
+  in float freq,
+  in float altitude,
+  in float start_val,
+  in integer len,
+  in float step) return FloatList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_cosVL
+//
+//  Purpose:
+//    Return the values of the cosine function
+//
+//  Parameters:
+//    freq - *in* *float* - the frequency of the sine curve
+//    altitude - *in* *float* - the altitude of the sine curve
+//    start_val - *in* *float* - the starting value passed to the sine function
+//    len - *in* *integer* - the wanted number of points of the sine curve
+//    step - *in* *float* - the length between the points on the sine curve
+//
+//  Return Value:
+//    <FloatList> - the wanted points in a float list
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    Generation of one cos value:
+//
+//      altitude * cos(2 * pi * freq * start_val)
+//
+//      start_val := start_val + step
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_cosVL(
+  in float freq,
+  in float altitude,
+  in float start_val,
+  in integer len,
+  in float step) return FloatList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_sin
+//
+//  Purpose:
+//    Return the sine of angle radILns
+//
+//  Parameters:
+//    angle - *in* *float* - angle in radILns
+//
+//  Return Value:
+//    float - the sine value of angle radILns
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_sin(in float angle) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_cos
+//
+//  Purpose:
+//    Return the cosine of angle radILns
+//
+//  Parameters:
+//    angle - *in* *float* - angle in radILns
+//
+//  Return Value:
+//    float - the cosine value of angle radILns
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_cos(in float angle) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_asin
+//
+//  Purpose:
+//    Return the arc sine of value in [-pi/2, +pi/2]
+//
+//  Parameters:
+//    val - *in* *float* - value
+//
+//  Return Value:
+//    float - the arc sine value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_asin(in float val) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_acos
+//
+//  Purpose:
+//    Return the arc cosine of value in [0, pi]
+//
+//  Parameters:
+//    val - *in* *float* - value
+//
+//  Return Value:
+//    float - the arc cosine value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_acos(in float val) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_powFF
+//
+//  Purpose:
+//    Raise to power (float to float power)
+//
+//  Parameters:
+//    base - *in* *float* - base value
+//    expo - *in* *float* - exponent value
+//
+//  Return Value:
+//    float - base raised to power expo
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_powFF(in float base, in float expo) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_powII
+//
+//  Purpose:
+//    Raise to power (integer to integer power)
+//
+//  Parameters:
+//    base - *in* *integer* - base value
+//    expo - *in* *integer* - exponent value
+//
+//  Return Value:
+//    integer - base raised to power expo
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_powII(in integer base, in integer expo) return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_powIF
+//
+//  Purpose:
+//    Raise to power (integer to float power)
+//
+//  Parameters:
+//    base - *in* *integer* - base value
+//    expo - *in* *float* - exponent value
+//
+//  Return Value:
+//    float - base raised to power expo
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_powIF(in integer base, in float expo) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_powFI
+//
+//  Purpose:
+//    Raise to power (float to integer power)
+//
+//  Parameters:
+//    base - *in* *float* - base value
+//    expo - *in* *integer* - exponent value
+//
+//  Return Value:
+//    float - base raised to power expo
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_powFI(in float base, in integer expo) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_sqrF
+//
+//  Purpose:
+//    Raise a float value to square
+//
+//  Parameters:
+//    base - *in* *float* - base value
+//
+//  Return Value:
+//    float - square of base
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_sqrF(in float base) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_sqrI
+//
+//  Purpose:
+//    Raise an integer value to square
+//
+//  Parameters:
+//    base - *in* *integer* - base value
+//
+//  Return Value:
+//    integer - square of base
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_sqrI(in integer base) return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_sqrtF
+//
+//  Purpose:
+//    Square root of float value
+//
+//  Parameters:
+//    base - *in* *float* - base value
+//
+//  Return Value:
+//    float - square root of base
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_sqrtF(in float base) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_sqrtI
+//
+//  Purpose:
+//    Square root of integer value
+//
+//  Parameters:
+//    base - *in* *integer* - base value
+//
+//  Return Value:
+//    float - square root of base
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_sqrtI(in integer base) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_ceil
+//
+//  Purpose:
+//    Return the smallest integer value that is not less then value
+//
+//  Parameters:
+//    val - *in* *float* - float value
+//
+//  Return Value:
+//    integer - ceil value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_ceil(in float val) return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_floor
+//
+//  Purpose:
+//    Return the largest integer value that is not greater then value
+//
+//  Parameters:
+//    val - *in* *float* - float value
+//
+//  Return Value:
+//    integer - floor value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_floor(in float val) return integer;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_exp
+//
+//  Purpose:
+//    Return the exponential value of the argument
+//
+//  Parameters:
+//    val - *in* *float* - float value
+//
+//  Return Value:
+//    float - exp value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_exp(in float val) return float;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_log
+//
+//  Purpose:
+//    Return the natural logarithm of the argument
+//
+//  Parameters:
+//    val - *in* *float* - float value
+//
+//  Return Value:
+//    float - ln value of val
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_log(in float val) return float;
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_generate_poissonTable
+//
+//  Purpose:
+//    Returns with an initialized poisson table which is a
+//    cumulative probability distribution list for a given lambda.
+//
+//  Parameters:
+//    p_lambda - *in* *float* - the lambda variance of the poisson distribution
+//    p_pTable - *out* *t_Poisson_Table* - the generated poisson table
+//
+//  Return Value:
+//    *boolean* - true if the generation was success
+//
+//  Errors:
+//    If exp(-lambda) is zero than the table generation fails
+//
+//  Detailed description:
+//    The table used to get a poisson value by a random number indicates the
+//    next poisson value that should be use. See <f_getNext_poissonValue>
+//    function for more details. The size of the table will be lambda * 2.
+//    Note: With this method we can only generate correct values for lambda-s smaller than about 100-110
+//	    This is due to f_powFF(p_lambda, j) is rounded to infinity above lambda-s bigger than about 150
+//
+///////////////////////////////////////////////////////////////////////////////
+function f_generate_poissonTable(in float p_lambda, out t_Poisson_Table p_pTable) return boolean
+{
+  var float t := f_exp(-1.0*p_lambda);
+  var float act_poisson := 0.0;
+  var float factJ := 1.0;
+  var float distr_lambda := 0.0;
+  var integer i := 0;
+  var integer vl_limit := float2int(p_lambda +1.0 ) * 2;
+  var boolean ret_val := true;
+  p_pTable.initialized := true;
+
+  if(p_lambda<0.0)
+  {
+	log("lambda is smaller than zero. The generated poisson table is corrupted. Lambda:",p_lambda);
+        p_pTable.initialized := false;
+	ret_val := false;
+  }
+
+  if(t==0.0)
+  {
+	log("exp(-lambda) is zero. This may corrupts the poisson table generation. Lambda:",p_lambda);
+        p_pTable.initialized := false;
+	ret_val := false;
+  }
+
+  p_pTable.lambda := p_lambda;
+
+
+  act_poisson := t;
+  distr_lambda := t;
+  factJ := 0.0;
+  p_pTable.poisson_value[0] := act_poisson;
+
+  for(i:=1; i < vl_limit + 1; i := i + 1)
+  {
+    factJ := factJ + 1.0;
+    distr_lambda := distr_lambda * p_lambda / factJ;
+    act_poisson := act_poisson + distr_lambda;
+
+    p_pTable.poisson_value[i] := act_poisson;
+  }
+
+  return ret_val;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_getNext_poissonValue
+//
+//  Purpose:
+//    Returns with a random poisson value by the given poisson table and lambda
+//    poisson variance.
+//
+//  Parameters:
+//    p_lambda - *in* *float* - the lambda variance of the poisson distribution
+//    p_pTable - *inout* *t_Poisson_Table* - the poisson table
+//    p_sucess - *out* *boolean* - indicates if the returned value is from a
+//                                 successfully generated poisson table or not
+//                                 If false, an extremly rare error happened under
+//                                 the table generation and this need to be
+//                                 regenerate!
+//
+//  Return Value:
+//    *integer* - the selected random poisson value between 0 and sizeof(p_pTable)
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    The function checks the input table if it is initialized or not and if
+//    not first of all generates it by the <f_generate_poissonTable> function.
+//    If the table was initialized checks the given lambda if it was used to
+//    generate the table. If it is different, regenerates the table.
+//    After these checks we have the correct initialized poisson table for
+//    the given p_lambda. Finally it returns with a random poisson value by
+//    the table.
+//
+///////////////////////////////////////////////////////////////////////////////
+function f_getNext_poissonValue(in float p_lambda, inout t_Poisson_Table p_pTable, out boolean p_sucess) return integer
+{
+  var integer ret_val := 0;
+  var float random_num := rnd();
+  var integer i := 0;
+  var integer vl_limit;
+
+  p_sucess := true;
+
+  //if it is the first time or for different lambda
+  //than (re-)generate the poisson table
+  if((not p_pTable.initialized) or p_lambda != p_pTable.lambda)
+  {
+    p_sucess := f_generate_poissonTable(p_lambda, p_pTable);
+  }
+  if(p_sucess)
+  {
+    vl_limit := sizeof(p_pTable.poisson_value) - 1;
+    i := float2int(p_lambda);
+    if(p_pTable.poisson_value[i] < random_num)
+    {
+  	i := i + 1;
+  	while((p_pTable.poisson_value[i] < random_num) and (i < vl_limit))
+  	{
+    	i := i + 1;
+  	}
+    }
+    else
+    {
+   	while((p_pTable.poisson_value[i] > random_num) and (i>0))
+  	{
+    	i := i - 1;
+  	}
+    }
+    ret_val := i;
+  }
+
+  return ret_val;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_gen_Exponential_Distribution(in float p_lambda) return float
+//
+//  Purpose:
+//    Returns with the exponential random variable for a given lambda
+//
+//  Parameters:
+//    p_lambda - *in* *float* - the lambda variance of the exponential distribution
+//
+//  Return Value:
+//    *float* - the exponential random variable for the given lambda
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    The function works as the following:
+//    - generate a random number U~U(0,1)
+//    - since U is uniform in (0,1) then so is U-1
+//    - X = - Log(1-U)/lambda = - Log(U)/lambda
+//    - return with X
+//    Note: Log means natural logarithm in this case
+//
+///////////////////////////////////////////////////////////////////////////////
+function f_gen_Exponential_Distribution(in float p_lambda) return float
+{
+  var float ret_val := 0.0;
+  var float random_num := rnd();
+
+  ret_val := -1.0*(f_log(random_num))/p_lambda;
+
+  return ret_val;
+}
+
+}
diff --git a/src/TCCMaths_GenericTypes.ttcn b/src/TCCMaths_GenericTypes.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..03311d51983f079f0ae52dc642b1bd6fddf82b69
--- /dev/null
+++ b/src/TCCMaths_GenericTypes.ttcn
@@ -0,0 +1,145 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCMaths_GenericTypes.ttcn
+//  Description:        TCC Useful Functions: Generic Types For Maths
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-11-12
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCMaths_GenericTypes
+//
+//  Purpose:
+//    This module stores generic types for math functions
+//
+//  Module Parameters:
+//      -
+//
+//  Module depends on:
+//    -
+//
+//  Current Owner:
+//    Akos Pernek (EAKOPER)
+//
+//  Last Review Date:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCMaths_GenericTypes {
+
+///////////////////////////////////////////////////////////////////////////////
+//  Const: pi
+//
+//  Purpose:
+//    Provide the value of pi
+//
+//  Value:
+//    3.1415926535
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+const float pi := 3.1415926535
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: VerdictList
+//
+//  Purpose:
+//    List of verdicttype
+//
+//  Elements:
+//    record of *verdicttype*
+//
+// Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+type record of verdicttype VerdictList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: IntegerList
+//
+//  Purpose:
+//    List of integer
+//
+//  Elements:
+//    record of *integer*
+//
+// Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+type record of integer IntegerList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: BooleanList
+//
+//  Purpose:
+//    List of boolean
+//
+//  Elements:
+//    record of *boolean*
+//
+// Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+type record of boolean BooleanList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: FloatList
+//
+//  Purpose:
+//    List of float
+//
+//  Elements:
+//    record of *float*
+//
+// Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+type record of float FloatList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: StringList
+//
+//  Purpose:
+//    List of charstring
+//
+//  Elements:
+//    record of *charstring*
+//
+// Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+type record of charstring StringList;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: OctetStringList
+//
+//  Purpose:
+//    List of octetstring
+//
+//  Elements:
+//    record of *octetstring*
+//
+// Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+type record of octetstring OctetStringList;
+}
diff --git a/src/TCCMessageHandling.cc b/src/TCCMessageHandling.cc
new file mode 100644
index 0000000000000000000000000000000000000000..2014840753978aa99bc47a5b6e4292d22bfeffc2
--- /dev/null
+++ b/src/TCCMessageHandling.cc
@@ -0,0 +1,215 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:     TCCMessageHandling.cc
+//  Rev:      R22B
+//  Prodnr:   CNL 113 472
+//  Updated:  2013-11-07
+//  Contact:  http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TTCN3.hh"
+#include "TCCMessageHandling_Functions.hh"
+#include <ctype.h>
+#include <stdio.h>
+#include <string.h>
+#include <strings.h>
+
+int get_content_length(char *buff, int length)
+{
+  int current_state=0;
+  int ret_val=-1;
+  for(int a=0;a<length;a++){
+    switch(current_state){
+      case 0:
+        if(buff[a]=='\n') current_state=1;
+        break;
+      case 1:
+        if(buff[a]=='l' || buff[a]=='L') current_state=2;
+        else if( (a+14 < length)  && (!strncasecmp(buff+a,"content-length",14))) {current_state=2;a+=13;}
+        else current_state=0;
+        break;
+      case 2:
+        if(buff[a]==':') current_state=3;
+        else if(buff[a]==' ' || buff[a]=='\t' || buff[a]=='\r' || buff[a]=='\n') current_state=2;
+        else current_state=0;
+        break;
+      case 3:
+        if(buff[a]>='0' && buff[a]<='9'){
+          ret_val=buff[a]-'0';
+          current_state=4;
+        }
+        else if(buff[a]==' ' || buff[a]=='\t' || buff[a]=='\r' || buff[a]=='\n') current_state=3;
+        else current_state=0;
+        break;
+      case 4:
+        if(buff[a]>='0' && buff[a]<='9'){
+          ret_val*=10;
+          ret_val+=buff[a]-'0';
+        }
+        else return ret_val;
+        break;
+    }
+  }
+  return ret_val;
+}
+
+char* get_header_end(char *buff, int length)
+{
+  int current_state = 0;
+  char* ret_val = NULL;
+  for (int a=0;a<length;a++)
+  {
+    switch(current_state){
+      case 0:
+        if(buff[a]=='\n') current_state=1;
+        break;
+      case 1:
+        if(buff[a]=='\r') current_state=2;
+        else current_state=0;
+        break;
+      case 2:
+        if(buff[a]=='\n')
+          return buff+a-2;
+        else current_state=0;
+        break;
+    }
+  }
+  return ret_val;
+}
+
+INTEGER TCCMessageHandling__Functions::f__TCCMessageHandling__getMessageLength
+(
+  const OCTETSTRING& stream
+)
+{
+  char *msg_in_buffer_loc = (char*) ((const unsigned char*) stream);
+  const int   buf_length = stream.lengthof();
+  const char *header_end;
+  char *atm = msg_in_buffer_loc;
+  int num_chars;
+
+  //check for STUN response
+  if (2 == buf_length && '\r' == msg_in_buffer_loc[0] && '\n' == msg_in_buffer_loc[1])
+    return 2;
+  
+  while((*atm<=' ') && (*atm>0) && (atm-msg_in_buffer_loc < buf_length-1)) {atm++;}  // skip leading blanks
+
+  //header_end=strstr(atm,"\n\r\n");  // search for alone crlf
+  header_end = get_header_end(atm, buf_length-(atm-msg_in_buffer_loc));
+
+  if(header_end)
+    num_chars=(header_end-msg_in_buffer_loc)+3;
+  else
+    return -1;
+
+  int cont_len = get_content_length(msg_in_buffer_loc,num_chars);
+  if (cont_len == -1) 
+    return -1;
+
+  return INTEGER(num_chars + cont_len);
+}
+
+INTEGER TCCMessageHandling__Functions::f__TCCMessageHandling__getMessageLength4Diameter
+(
+  const OCTETSTRING& stream
+)
+{
+  if (stream.lengthof() < 4){ return -1; }
+  const unsigned char *msg_in_buffer_loc =  ((const unsigned char*) stream);
+  
+  int ret_value = (msg_in_buffer_loc[1] << 16) + (msg_in_buffer_loc[2] << 8) + (msg_in_buffer_loc[3]);
+  return ret_value;
+}
+
+INTEGER TCCMessageHandling__Functions::f__TCCMessageHandling__getMessageLength4Radius
+(
+  const OCTETSTRING& stream
+)
+{
+  if (stream.lengthof() < 4){ return -1; }
+  const unsigned char *msg_in_buffer_loc =  ((const unsigned char*) stream);
+  
+  int ret_value = (msg_in_buffer_loc[2] << 8) + (msg_in_buffer_loc[3]);
+  return ret_value;
+}
+
+INTEGER TCCMessageHandling__Functions::f__TCCMessageHandling__getMessageLength4BER
+(
+  const OCTETSTRING& stream
+)
+{   
+    const unsigned char* data =  (const unsigned char*)stream;  
+    size_t length = stream.lengthof();
+  
+    enum position {TAG,LENGTH,INDEFINITE};
+
+    position pos = TAG;
+    size_t number_of_L_bytes = 0;
+    size_t leng = 0;
+  
+    for (size_t i = 0; i < length; ){
+	  switch(pos){
+		  case TAG:{
+			  if ((data[i] & 0x1F) > 30){
+				  ++i;
+				  for ( ;(i < length) && (data[i] & 0x80); ++i);
+			  }
+
+			  ++i;
+			  pos = LENGTH;
+			  break;
+
+		  }
+		  case LENGTH:{
+			  if (data[i] & 0x80){
+				  if (! (data[i] & 0x7F)) //indefinite form
+					  pos = INDEFINITE;
+				  else{ //long form
+					  number_of_L_bytes = data[i] & 0x7F;
+					  ++i;
+					  for(;(i < length) && number_of_L_bytes; ++i, --number_of_L_bytes){
+					    leng<<=8;
+					    leng+=data[i];
+					  }					  
+
+					  return leng + i;
+					    
+				  }
+			  } else{ //short form
+				 
+					  return i + data[i] + 1;
+			  }
+			  
+			  ++i;
+			  break;
+		  }
+		  case INDEFINITE:{
+	
+			ASN_BER_TLV_t tmp_tlv;   
+                        if(ASN_BER_str2TLV(stream.lengthof(),stream,tmp_tlv, BER_ACCEPT_ALL)){
+                          return tmp_tlv.get_len();
+                        } 
+                        else
+                          return -1; 
+		  }
+		  default:
+			  TTCN_error("Unknown state while parsing TLV.");
+	  }
+  }
+
+  return -1;  
+  
+   
+     
+}
+
+
diff --git a/src/TCCMessageHandling_Functions.ttcn b/src/TCCMessageHandling_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..2d45d7606de4bd8f6d3039f8c28336568d7c913c
--- /dev/null
+++ b/src/TCCMessageHandling_Functions.ttcn
@@ -0,0 +1,90 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCMessageHandling_Functions.ttcn
+//  Description:        TCC Useful Functions: MessageHandling Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2013-03-28
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCMessageHandling_Functions
+// 
+//  Purpose:
+//    This module provide message handling functions
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+// 
+//  Current Owner:
+//    Norbert Pinter (ENORPIN)
+// 
+//  Last Review Date:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+module TCCMessageHandling_Functions {
+
+/* Function: f_TCCMessageHandling_getMessageLength
+
+   Function to get the length of the received message. 
+
+   Parameters:
+     -
+
+   Returns:
+     -  */
+external function f_TCCMessageHandling_getMessageLength(in octetstring stream)
+return integer;
+
+/* Function: f_TCCMessageHandling_getMessageLength4Diameter
+
+   Function to get the length of the received message. 
+
+   Parameters:
+     -
+
+   Returns:
+     -  */
+external function f_TCCMessageHandling_getMessageLength4Diameter(in octetstring stream)
+return integer;
+
+/* Function: f_TCCMessageHandling_getMessageLength4Radius
+
+   Function to get the length of the received message. 
+
+   Parameters:
+     -
+
+   Returns:
+     -  */
+external function f_TCCMessageHandling_getMessageLength4Radius(in octetstring stream)
+return integer;
+
+
+/* Function: f_TCCMessageHandling_getMessageLength4BER
+
+   Function to get the length of the received BER encoded message. 
+
+   Parameters:
+     octetstring - BER encoded message(s) or a BER encoded segment
+
+   Returns:
+     integer - the length of the first BER encoded message if it can be determined, otherwise -1  */
+external function f_TCCMessageHandling_getMessageLength4BER(in octetstring stream)
+return integer;
+
+}
diff --git a/src/TCCPermutatedParameters_Definitions.ttcn b/src/TCCPermutatedParameters_Definitions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..6e1bda57adb3940d749715c7f272fdf9d887ae82
--- /dev/null
+++ b/src/TCCPermutatedParameters_Definitions.ttcn
@@ -0,0 +1,161 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCPermutatedParameters_Definitions.ttcn
+//  Description:        definitions for permutated params
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2013-05-30
+//  Contact:            http://ttcn.ericsson.se
+//////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCPermutatedParameters_Definitions
+//
+//  Purpose:
+//    This module contains the definitions of the PermutatedParameters
+//
+//  Module Parameters:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCPermutatedParameters_Definitions {
+
+import from General_Types all;
+
+//=========================================================================
+// Data Types
+//=========================================================================
+
+///////////////////////////////////////////////////////////
+//  Type: PP_ParameterAssignmentList
+// 
+//  Purpose:
+//   List of PP_ParameterAssignment
+// 
+//  Elements:
+//    list elements
+// 
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////
+type record of PP_ParameterAssignment PP_ParameterAssignmentList;
+
+///////////////////////////////////////////////////////////
+//  Type: PP_ParameterAssignment
+// 
+//  Purpose:
+//   Parameter definition, including type(s) and values of the parameter 
+// 
+//  Elements:
+//    typeField - *charstring* - type (list) of the parameter. List of types
+//      are separated by comma (',')
+//    valueField - *charstring* - value(s) of the parameter.
+//      Values can be single values, range of values, value list, or any combination of these.
+// 
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////
+type record PP_ParameterAssignment {
+  charstring  typeField,
+  charstring  valueField
+}
+
+///////////////////////////////////////////////////////////
+//  Type: PP_Range
+// 
+//  Purpose:
+//   Definition of a range. Ranges have prefix, minimum and maximum boundary.
+//   Prefix can contain any characters, while minimum and maximum only digits.
+// 
+//  Elements:
+//    prefix - *charstring* - prefix of a range.
+//    rangeMin - *integer* - the minimum (beginning) of a range
+//    rangeMax - *integer* - the maximum (end) of a range
+// 
+//  Detailed Comments:
+//
+//    Example range: +3614377100 - +3614377200
+//      prefix : +3614377
+//      rangeMin: 100
+//      rangeMin: 200
+//
+///////////////////////////////////////////////////////////
+type record PP_Range {
+  charstring  prefix,
+  integer     rangeMin,
+  integer     rangeMax
+}
+
+///////////////////////////////////////////////////////////
+//  Type: PP_RangeList
+// 
+//  Purpose:
+//   List of PP_Range
+// 
+//  Elements:
+//    list elements
+// 
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////
+type record of PP_Range PP_RangeList;
+
+///////////////////////////////////////////////////////////
+//  Type: PP_SingleParam
+// 
+//  Purpose:
+//   Single parameter, types and values
+// 
+//  Elements:
+//    types - *EPTF_CharstringList* - types assigned to the values
+//    values - *PP_RangeList* - values assigned to the types
+// 
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////
+type record PP_SingleParam {
+  Charstrings  types,
+  PP_RangeList         values
+}
+
+///////////////////////////////////////////////////////////
+//  Type: PP_ParamSetList
+// 
+//  Purpose:
+//   List of PP_ParamSet
+// 
+//  Elements:
+//    list elements
+// 
+//  Detailed Comments:
+//
+//    Can be used to group together PP_ParamSets
+//
+///////////////////////////////////////////////////////////
+type record of PP_ParamSet PP_ParamSetList; // is each CGPN has its own current ParamSet
+
+///////////////////////////////////////////////////////////
+//  Type: PP_ParamSet
+// 
+//  Purpose:
+//   Set of PP_SingleParam
+// 
+//  Elements:
+//    set elements
+// 
+//  Detailed Comments:
+//
+//    Can be used to group together PP_SingleParams
+//
+///////////////////////////////////////////////////////////
+type set of PP_SingleParam PP_ParamSet;  // ie params belonging to one particular call
+
+} with { extension "version R22B"}
diff --git a/src/TCCPermutatedParameters_Functions.ttcn b/src/TCCPermutatedParameters_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..6032fcaaa27f6444c2b4cb070c39308876a30626
--- /dev/null
+++ b/src/TCCPermutatedParameters_Functions.ttcn
@@ -0,0 +1,910 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCPermutatedParameters_Functions.ttcn
+//  Description:        functions for permutated params
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2013-07-17
+//  Contact:            http://ttcn.ericsson.se
+//////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCPermutatedParameters_Functions
+//
+//  Purpose:
+//    This module contains functions for the PermutatedParameters
+//
+//  Module Parameters:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCPermutatedParameters_Functions {
+
+import from TCCPermutatedParameters_Definitions all;
+
+import from TCCConversion_Functions all;
+import from General_Types all;
+
+//import from EPTF_CLL_Common_Definitions all; //Charstrings
+//import from EPTF_CLL_CLI_Functions all; //f_my_splitString()
+private function f_my_splitString(
+  in charstring pl_string,
+  in charstring pl_separator := " \t",
+  in boolean pl_multipleSeparators := true
+) return Charstrings {
+  var Charstrings vl_result := {};
+  var charstring vl_everything := "(*)";
+  var charstring vl_separatorNumber := "(,)";
+  if (not pl_multipleSeparators) {
+    vl_separatorNumber := "(,1)";
+  }
+  var charstring vl_separatorRegexp := "["&pl_separator&"]#"&vl_separatorNumber;
+  var charstring vl_anyWordRegexp := "([^"&pl_separator&"]#(,))"; // can be "" also
+  for(
+    var charstring vl_currentString := regexp(pl_string,vl_separatorRegexp&vl_everything&vl_separatorRegexp,0);
+    vl_currentString != "";
+    vl_currentString := regexp(vl_currentString,vl_anyWordRegexp&vl_separatorRegexp&vl_everything,1)) {
+     vl_result[sizeof(vl_result)] := regexp(vl_currentString,vl_anyWordRegexp&vl_separatorRegexp&vl_everything,0);
+  }
+  return vl_result;
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_getPermutatedParams
+// 
+//  Purpose:
+//    Returns a parameter set calculated from the index of the permutation.
+//    The values of the parameters are composed into the prefix field.
+//
+//  Parameters:
+//    - pl_permutationIdx - *in* *integer* - requested permutation index
+//    - pl_paramTypes - *in* *Charstrings* - types of the parameters
+//    - pl_assignmentList - *in* *PP_ParamSet* - assignment list
+//
+//  Return Value:
+//    *PP_ParamSet* - parameter set calculated for the permutation index
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//
+//    -
+//
+///////////////////////////////////////////////////////////
+// no HashMap or other booster is used, function could be enhanced to store intermittent results
+public function f_PP_getPermutatedParams(
+  in integer pl_permutationIdx,
+  in Charstrings pl_paramTypes,
+  in PP_ParamSet pl_assignmentList
+) return PP_ParamSet {
+
+  var Integers vl_TypesCount;
+  f_PP_calculateTypeCounts(pl_paramTypes, pl_assignmentList, vl_TypesCount);
+
+  var Integers vl_currentPermutationIdxs;
+  f_PP_getPermutationIndexList(pl_permutationIdx, vl_TypesCount, vl_currentPermutationIdxs);
+
+  var PP_ParamSet vl_ret := {};
+
+  var integer vl_iLoopEnd := sizeof(pl_paramTypes);
+  var integer vl_jLoopEnd := sizeof(pl_assignmentList);
+  for(var integer i := 0; i < vl_iLoopEnd; i := i + 1) {
+
+    for(var integer j := 0; j < vl_jLoopEnd; j := j + 1) {
+
+      if(f_PP_charListContains(pl_paramTypes[i], pl_assignmentList[j].types)
+        and (vl_currentPermutationIdxs[i] >= 0)) {
+
+        f_PP_getInRangeValue(pl_assignmentList[j], vl_currentPermutationIdxs[i], vl_ret);
+
+      }
+    }
+  }
+
+  return vl_ret;
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_getInRangeValue
+// 
+//  Purpose:
+//    Calculates a single value of a parameter value range,
+//    and appends it to the paramSet.
+//
+//  Parameters:
+//    - pl_param - *in* *PP_SingleParam* - parameter from which the value is calculated
+//    - pl_permutationIdx - *in* *integer* - requested permutation index
+//    - pl_paramSet - *in* *PP_ParamSet* - paramSet which to append the value
+//
+//  Return Value:
+//    -
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//
+//    -
+//
+///////////////////////////////////////////////////////////
+private function f_PP_getInRangeValue(
+  in PP_SingleParam pl_param,
+  in integer pl_permutationIdx,
+  inout PP_ParamSet pl_paramSet
+) {
+  var integer vl_typeCount := 0;
+
+  // count each range; if the selected value is within the range, then put it into the ParamSet
+  var integer vl_iLoopEnd := sizeof(pl_param.values);
+  for(var integer i := 0; i < vl_iLoopEnd; i := i + 1) {
+
+    if(vl_typeCount + pl_param.values[i].rangeMax - pl_param.values[i].rangeMin < pl_permutationIdx) {
+
+      vl_typeCount := vl_typeCount + pl_param.values[i].rangeMax - pl_param.values[i].rangeMin + 1;
+
+    } else {
+
+      pl_paramSet[sizeof(pl_paramSet)] := {
+        types := { pl_param.types[0] }, // normalized parameters have only one type
+        values := {
+          {
+            prefix := f_PP_getValueFromRange(
+              pl_param.values[i],
+              pl_permutationIdx - vl_typeCount),
+            rangeMin := -1,
+            rangeMax := -1
+          }
+        }
+      }
+
+      break;
+    }
+  }
+
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_getPermutationIndexList
+// 
+//  Purpose:
+//    Returns a list of indexes, calculated from the permutationIdx,
+//    which point to a value element in each parameter type.
+//
+//  Parameters:
+//    - pl_permutationIdx - *in* *integer* - requested permutation index
+//    - pl_TypesCount - *in* *Integers* - count of values in each type
+//    - pl_currentPermutationIdxs - *out* *Integers* - value indexes
+//
+//  Return Value:
+//    -
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//
+//    -
+//
+///////////////////////////////////////////////////////////
+private function f_PP_getPermutationIndexList(in integer pl_permutationIdx, in Integers pl_TypesCount, out Integers pl_currentPermutationIdxs) {
+
+  pl_currentPermutationIdxs := {};
+
+  var integer vl_permutationsBelow;
+  var integer vl_remainder := pl_permutationIdx;
+
+  var integer vl_typesCount := sizeof(pl_TypesCount);
+  for(var integer i := 0; i < vl_typesCount; i := i + 1) {
+
+    if(pl_TypesCount[i] != 0) {
+
+      vl_permutationsBelow := 1;
+
+      for(var integer j := i + 1; j < vl_typesCount; j := j + 1) {
+        if(pl_TypesCount[i] != 0) {
+          vl_permutationsBelow := vl_permutationsBelow * pl_TypesCount[j];
+        }
+      }
+
+      if(vl_permutationsBelow > 0) {
+
+        pl_currentPermutationIdxs[sizeof(pl_currentPermutationIdxs)] := vl_remainder / vl_permutationsBelow;
+        vl_remainder := vl_remainder - (pl_currentPermutationIdxs[sizeof(pl_currentPermutationIdxs) - 1] * vl_permutationsBelow);
+
+      } else {
+        pl_currentPermutationIdxs[sizeof(pl_currentPermutationIdxs)] := 0;
+      }
+
+    } else {
+      pl_currentPermutationIdxs[sizeof(pl_currentPermutationIdxs)] := -1;
+    }
+
+  }
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_countPermutations
+// 
+//  Purpose:
+//    Calculates the permutations of the parameters, filtered by types.
+//    Permutations is calculated by multiplying the number of parameters
+//    belonging to different types.
+//
+//  Parameters:
+//    - pl_paramTypes - *in* *Charstrings* - types of the parameters
+//    - pl_assignmentList - *in* *PP_ParamSet* - assignment list
+//
+//  Return Value:
+//    *integer* - number of permutations
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//
+//    -
+//
+///////////////////////////////////////////////////////////
+public function f_PP_countPermutations(
+  in Charstrings pl_paramTypes,
+  in PP_ParamSet pl_assignmentList
+) return integer {
+
+  var Integers vl_TypesCount := {};
+
+  f_PP_calculateTypeCounts(pl_paramTypes, pl_assignmentList, vl_TypesCount);
+
+  var charstring vl_multiplication := "";
+  var integer vl_permutations := 1;
+  var integer vl_iLoopEnd := sizeof(vl_TypesCount);
+  for(var integer i := 0; i < vl_iLoopEnd; i := i + 1) {
+    // If any of the types has 0 count, then the number of permutations will be 0.
+    vl_multiplication := vl_multiplication & pl_paramTypes[i] & " x " & int2str(vl_TypesCount[i]);
+    if(i != sizeof(vl_TypesCount) - 1) { vl_multiplication := vl_multiplication & " & "; }
+    vl_permutations := vl_permutations * vl_TypesCount[i];
+  }
+  vl_multiplication := vl_multiplication & " = " & int2str(vl_permutations);
+  log("permutation count is calculated by the formula: ", vl_multiplication);
+  return vl_permutations;
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_charListContains
+// 
+//  Purpose:
+//    Returns true if the value parameter is present within the list parameter. 
+//
+//  Parameters:
+//    - pl_value - *in* *Charstrings* - value parameter
+//    - pl_list - *in* *Charstrings* - list parameter
+//
+//  Return Value:
+//    *boolean* - true if the value parameter is present within the list parameter
+//       otherwise false
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////
+private function f_PP_charListContains(in charstring pl_value, in Charstrings pl_list) return boolean {
+  var integer vl_iLoopEnd := sizeof(pl_list);
+  for(var integer i := 0; i < vl_iLoopEnd; i := i + 1) {
+    if(pl_list[i] == pl_value) {
+      return true;
+    }  
+  }
+
+  return false;
+}//f_PP_charListContains
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_countRange
+// 
+//  Purpose:
+//    Function counts the number of elements
+//    defined in the value ranges of the parameter. 
+//
+//  Parameters:
+//    - pl_rangeList - *in* *PP_RangeList* - ranges
+//
+//  Return Value:
+//    *integer* - number of elements in ranges
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////
+private function f_PP_countRange(in PP_RangeList pl_rangeList) return integer {
+  var integer vl_result := 0;
+  var integer vl_iLoopEnd := sizeof(pl_rangeList);
+  for(var integer i:=0; i < vl_iLoopEnd; i := i + 1) {
+    vl_result := vl_result + pl_rangeList[i].rangeMax - pl_rangeList[i].rangeMin + 1;
+  }// for i
+
+  return vl_result;
+}//f_PP_countRange
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_calculateTypeCounts
+// 
+//  Purpose:
+//    Function calculates the number of values for each type. 
+//
+//  Parameters:
+//    - pl_paramTypes - *in* *Charstrings* - types of the parameters
+//    - pl_assignmentList - *in* *PP_ParamSet* - assignment list
+//    - pl_typeCounts - *out* *Integers* - value counts for each type
+//
+//  Return Value:
+//    -
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////
+private function f_PP_calculateTypeCounts(
+  in Charstrings pl_paramTypes,
+  in PP_ParamSet pl_assignmentList,
+  out Integers pl_typeCounts
+) {
+
+  pl_typeCounts := {};
+
+  var integer vl_iLoopEnd := sizeof(pl_paramTypes);
+  var integer vl_jLoopEnd := sizeof(pl_assignmentList);
+  for(var integer i := 0; i < vl_iLoopEnd; i := i + 1) {
+    pl_typeCounts[i] := 0;
+
+    for(var integer j := 0; j < vl_jLoopEnd; j := j + 1) {
+      if(f_PP_charListContains(pl_paramTypes[i], pl_assignmentList[j].types)) {
+        pl_typeCounts[i] := pl_typeCounts[i] + f_PP_countRange(pl_assignmentList[j].values);
+      }
+    } // for j
+  }// for i
+
+}//f_PP_calculateTypeCounts
+
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_divideValuesOfTypes
+// 
+//  Purpose:
+//    Function returns a portion of parameters.
+//    The portion is calculated from the portion (LGen) index
+//    and number of portions (LGens). 
+//
+//  Parameters:
+//    - pl_paramTypes - *in* *Charstrings* - types of the parameters
+//    - pl_assignmentList - *in* *PP_ParamSet* - assignment list
+//    - pl_LGenIdx - *in* *integer* - index of the portion (LGen)
+//    - pl_noOfLGens - *in* *integer* - number of portions (LGens)
+//
+//  Return Value:
+//    *PP_ParamSet* - list of parameters divided to this LGen
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//
+//    If the size of portions would not be equal, the remainder of the
+//    portion division will be allocated to the first portion (LGen)
+//
+///////////////////////////////////////////////////////////
+// beware: no HashMap or other booster is used, function assumes that there will be only ~200 values!!! 
+public function f_PP_divideValuesOfTypes(
+  in Charstrings pl_paramTypes,
+  in PP_ParamSet pl_assignmentList,
+  in integer pl_LGenIdx,
+  in integer pl_noOfLGens) return PP_ParamSet {
+
+  var PP_ParamSet vl_values := {};
+
+  var integer vl_iLoopEnd := sizeof(pl_paramTypes);
+  var integer vl_jLoopEnd := sizeof(pl_assignmentList);
+  for(var integer i := 0; i < vl_iLoopEnd; i := i + 1) {
+    for(var integer j := 0; j < vl_jLoopEnd; j := j + 1) {
+
+      if(f_PP_charListContains(pl_paramTypes[i], pl_assignmentList[j].types)) {
+        f_PP_mergeValuesToParamSet(pl_paramTypes[i], pl_assignmentList[j], vl_values);
+      }
+
+    }
+  }
+
+  var integer vl_count := sizeof(vl_values);
+  var integer vl_begin, vl_end;
+  vl_begin := pl_LGenIdx * vl_count / pl_noOfLGens;
+  vl_end := (pl_LGenIdx + 1) * (vl_count / pl_noOfLGens) - 1; // bracket around division makes integer from float, which is needed!!!
+  // add the remainder to the end, so the first LGen will get the remainder of the division
+  var integer vl_remainder := vl_count - pl_noOfLGens * (vl_count / pl_noOfLGens); // bracket around division makes integer from float, which is needed!!!
+  if(pl_LGenIdx != 0) {
+    vl_begin := vl_begin + vl_remainder;
+  }
+  vl_end := vl_end + vl_remainder + 1;
+
+  var PP_ParamSet vl_divided := {};
+
+  for(var integer i := vl_begin; i < vl_end; i := i + 1) {
+    vl_divided[sizeof(vl_divided)] := vl_values[i];
+  }
+
+  return vl_divided;
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_mergeValuesToParamSet
+// 
+//  Purpose:
+//    Function merge a parameter's values to a ParamSet, one by one. 
+//
+//  Parameters:
+//    - pl_type - *in* *charstring* - parameter type to merge
+//        type index points to a type within the pl_param's types
+//    - pl_param - *in* *PP_SingleParam* - parameter to merge
+//    - pl_values - *inout* *PP_ParamSet* - parameter values will
+//        be merged with pl_values
+//
+//  Return Value:
+//    -
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//    Example:
+//      parameter (type:value): 'MO_SUBS : 4700'
+//        1. merge with: 'MT_SUBS : 4700'
+//           output: 'MO_SUBS, MT_SUBS: 4700'
+//        2. merge with: 'MT_SUBS : 4701'
+//           output: 'MO_SUBS : 4700, MT_SUBS : 4701'
+//        3. merge with: 'MO_SUBS : 4700' (already in the list)
+//           output: 'MO_SUBS : 4700' (unchanged)
+//
+///////////////////////////////////////////////////////////
+private function f_PP_mergeValuesToParamSet(
+  in charstring pl_type,
+  in PP_SingleParam pl_param,
+  inout PP_ParamSet pl_values) {
+
+  var boolean vl_alreadyAdded;
+  var integer vl_elementIdx;
+  var charstring vl_currentValue;
+
+  // go through each range
+  var integer vl_iLoopEnd := sizeof(pl_param.values);
+  for(var integer i := 0; i < vl_iLoopEnd; i := i + 1) {
+    // add each value, if it's not already added
+    for(var integer j := 0; j < pl_param.values[i].rangeMax - pl_param.values[i].rangeMin + 1; j := j + 1) {
+
+      vl_currentValue := f_PP_getValueFromRange(pl_param.values[i], j);
+      vl_alreadyAdded := false;
+
+      for(var integer k := 0; (k < sizeof(pl_values)) and (not vl_alreadyAdded); k := k + 1) {
+        if(pl_values[k].values[0].prefix == vl_currentValue) {
+          vl_alreadyAdded := true;
+          vl_elementIdx := k;
+        }
+      }
+
+      if(not vl_alreadyAdded) {
+
+        pl_values[sizeof(pl_values)] := {
+          types := { pl_type },
+          values := {
+            {
+              prefix := vl_currentValue,
+              rangeMin := -1,
+              rangeMax := -1
+            }
+          } 
+        };
+
+      } else {
+
+        // check if the current type is already within the added types
+        vl_alreadyAdded := false;
+        for(var integer k := 0; (k < sizeof(pl_values[vl_elementIdx].types)) and (not vl_alreadyAdded); k := k + 1) {
+          if(pl_values[vl_elementIdx].types[k] == pl_type) {
+            vl_alreadyAdded := true;
+          }
+        }
+
+        if(not vl_alreadyAdded) {
+          pl_values[vl_elementIdx].types[sizeof(pl_values[vl_elementIdx].types)] := pl_type;
+        }
+
+      }
+
+    }
+
+  }
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_countValuesOfTypes
+// 
+//  Purpose:
+//    Returns the number of values present in the assignment list, filtered
+//    for the types requested
+//
+//  Parameters:
+//    - pl_paramTypes - *in* *Charstrings* - types to count
+//    - pl_assignmentList - *in* *PP_ParamSet* - assignment list
+//
+//  Return Value:
+//    *integer* - number of values assigned to the requested types
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////
+public function f_PP_countValuesOfTypes(
+  in Charstrings pl_paramTypes,
+  in PP_ParamSet pl_assignmentList
+) return integer {
+
+  var Charstrings vl_values := {};
+
+  var integer vl_iLoopEnd := sizeof(pl_paramTypes);
+  var integer vl_jLoopEnd := sizeof(pl_assignmentList);
+  for(var integer i := 0; i < vl_iLoopEnd; i := i + 1) {
+    for(var integer j := 0; j < vl_jLoopEnd; j := j + 1) {
+
+      if(f_PP_charListContains(pl_paramTypes[i], pl_assignmentList[j].types)) {
+
+        f_PP_mergeValuesFromRanges(pl_assignmentList[j].values, vl_values);
+
+      }
+
+    }
+  }
+
+  return sizeof(vl_values);
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_mergeValuesFromRanges
+// 
+//  Purpose:
+//    Merge the values in the given ranges.
+//    Values will be appended with the new elements of the ranges.
+//
+//  Parameters:
+//    - pl_ranges - *in* *PP_RangeList* - ranges to merge
+//    - pl_values - *inout* *Charstrings* - merged value list
+//
+//  Return Value:
+//    -
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////
+private function f_PP_mergeValuesFromRanges(
+  in PP_RangeList pl_ranges,
+  inout Charstrings pl_values
+) {
+
+  var charstring vl_currentValue;
+  var boolean vl_alreadyAdded;
+
+  // go through each range
+  for(var integer i := 0; i < sizeof(pl_values); i := i + 1) {
+    // add each value, if it's not already added
+    for(var integer j := 0; j < pl_ranges[i].rangeMax - pl_ranges[i].rangeMin + 1; j := j + 1) {
+
+      vl_currentValue := f_PP_getValueFromRange(pl_ranges[i], j);
+      vl_alreadyAdded := false;
+
+      for(var integer k := 0; (k < sizeof(pl_values)) and (not vl_alreadyAdded); k := k + 1) {
+        if(pl_values[k] == vl_currentValue) {
+          vl_alreadyAdded := true;
+        }
+      }
+
+      if(not vl_alreadyAdded) {
+
+        pl_values[sizeof(pl_values)] := vl_currentValue;
+
+      }
+
+    }
+
+  }
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_getValueFromRange
+// 
+//  Purpose:
+//    Returns an exact value from the range.
+//
+//  Parameters:
+//    - pl_range - *in* *PP_Range* - the range
+//    - pl_rangeIdx - *in* *integer* - the index (offset) within the range
+//
+//  Return Value:
+//    *charstring* - exact parameter value (prefix + range index) from the range
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//
+///////////////////////////////////////////////////////////
+public function f_PP_getValueFromRange(in PP_Range pl_range, in integer pl_rangeIdx) return charstring {
+  var charstring vl_ret;
+
+  // if this is a real range
+  if(pl_range.rangeMin < pl_range.rangeMax) {
+
+    if(pl_range.rangeMin + pl_rangeIdx <= pl_range.rangeMax) {
+
+      vl_ret := int2str(pl_range.rangeMin + pl_rangeIdx);
+
+      var integer vl_rangeStrLength := lengthof(int2str(pl_range.rangeMax));
+      // prepend with 0s to reach the rangeMax's length
+      while(lengthof(vl_ret) < vl_rangeStrLength) {
+        vl_ret := "0" & vl_ret;
+      }
+
+    } else {
+      log("Index: ", pl_rangeIdx, " is outside the range of: " , pl_range, "; PREPARE TO CRASH!!!");
+      return "";
+    }
+  }
+  // otherwise this is a single value
+  else {
+    return pl_range.prefix;
+  }
+
+  return pl_range.prefix & vl_ret;
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_normalizeParams
+// 
+//  Purpose:
+//    Converts the parameter assignments to a 'normalized' list.
+//    The normalized list contains exactly one PP_SingleParam per parameter type.
+//
+//  Parameters:
+//    - pl_assignmentList - *in* *PP_ParameterAssignmentList* - the assignment list to convert
+//    - pl_normalizedParams - *out* *PP_ParamSet* - the converted parameters.
+//        New parameters are appended to the end of the list.
+//
+//  Return Value:
+//    -
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//
+//  Conversion algorithm:
+//
+//  Go through the pl_assignmentList
+//    Go through type fields of each pl_assignmentList
+//      Go through the current pl_normalizedParams
+//        If pl_normalizedParams already contains the type in the pl_assignmentList, then append the
+//          value (ranges) of the current pl_assignmentList to the pl_normalizedParams's found element
+//        Else append a new element to the pl_normalizedParams, and assign the value (ranges) of the
+//          current pl_assignmentList to it
+//    
+///////////////////////////////////////////////////////////
+public function f_PP_normalizeParams(in PP_ParameterAssignmentList pl_assignmentList, out PP_ParamSet pl_normalizedParams) {
+
+  pl_normalizedParams := {};
+
+  var Charstrings vl_paramTypes;
+  var PP_RangeList vl_rangeList;
+  var integer vl_paramIdx;
+
+  var integer vl_sizeof_assignmentList := sizeof(pl_assignmentList);
+  var integer vl_sizeof_paramTypes := 0;
+
+  for(var integer i := 0; i < vl_sizeof_assignmentList; i := i + 1) {
+
+    vl_paramTypes := f_my_splitString(pl_assignmentList[i].typeField, ",", true);
+    vl_sizeof_paramTypes := sizeof(vl_paramTypes);
+
+    // go through the existing unwrappedParams, and check if we already have this type
+    for(var integer j := 0; j < vl_sizeof_paramTypes; j := j + 1) {
+
+      vl_paramIdx := -1;
+
+      for(var integer k := 0; (k < sizeof(pl_normalizedParams)) and (vl_paramIdx == -1); k := k + 1) {
+
+        if(pl_normalizedParams[k].types[0] == f_stripWhitespaces(vl_paramTypes[j])) {
+
+          vl_paramIdx := k;
+
+        }
+
+      }
+
+      // allocate new unwrappedParam if needed
+      if(vl_paramIdx == -1) {
+        vl_paramIdx := sizeof(pl_normalizedParams);
+        pl_normalizedParams[vl_paramIdx] := { { f_stripWhitespaces(vl_paramTypes[j]) }, {} };
+      }
+
+      f_PP_convertToRangeList(pl_assignmentList[i].valueField, vl_rangeList);
+
+      pl_normalizedParams[vl_paramIdx].types := { f_stripWhitespaces(vl_paramTypes[j]) }
+      pl_normalizedParams[vl_paramIdx].values := pl_normalizedParams[vl_paramIdx].values & vl_rangeList;
+
+    }
+  }
+
+}
+
+///////////////////////////////////////////////////////////
+//  Function: f_PP_convertToRangeList
+// 
+//  Purpose:
+//    Converts a string to a PP_RangeList.
+//    The first parameter is a string, which contains value(s) of parameter(s).
+//
+//  Parameters:
+//    - pl_rangeListStr - *in* *charstring* - the string to convert
+//    - pl_rangeList - *out* *PP_RangeList* - the converted RangeList
+//
+//  Return Value:
+//    -
+//
+//  Errors & assertions:
+//    - 
+//
+//  Detailed Comments:
+//
+//  Conversion algorithm:
+//    The string is split by commas, to determine a list of values
+//    Each comma separated element is split by dashes, to determine ranges
+//    If there was no dash, then add the element as simple value (prefix only) to the ranges
+//    If there was 1 dash, then
+//      Extract the prefix (common characters) from the range begin and range end
+//      If the range begin and range end are integer, then
+//        Swap them, if the range begin is bigger than range end
+//        Add the element as a range (prefix, rangeMin and rangeMax) to the ranges
+//    If there were more dashes (like in 2013-05-28), then add the element (prefix only) as simple value to the ranges
+//
+///////////////////////////////////////////////////////////
+private function f_PP_convertToRangeList(in charstring pl_rangeListStr, out PP_RangeList pl_rangeList) {
+
+  pl_rangeList := {};
+
+  var Charstrings vl_commaSeparated := f_my_splitString(pl_rangeListStr,",", true);
+  var Charstrings vl_dashSeparated := {};
+  var charstring vl_rangeLimit;
+
+  var integer vl_sizeof_commaSeparated := sizeof(vl_commaSeparated);
+  var integer vl_sizeof_dashSeparated;
+  for(var integer vl_i := 0; vl_i < vl_sizeof_commaSeparated; vl_i := vl_i + 1) {
+
+    vl_dashSeparated := f_my_splitString(vl_commaSeparated[vl_i],"-", true);
+    vl_sizeof_dashSeparated := sizeof(vl_dashSeparated);
+    for(var integer vl_j := 0; vl_j < vl_sizeof_dashSeparated; vl_j := vl_j + 1) {
+      vl_dashSeparated[vl_j] := f_stripWhitespaces(vl_dashSeparated[vl_j]);
+    }
+
+    select (sizeof(vl_dashSeparated)) {
+
+      case (1) {
+        pl_rangeList[sizeof(pl_rangeList)] := { vl_dashSeparated[0], 0, 0 };
+      }
+      case (2) {
+
+        var integer vl_newValueIdx := sizeof(pl_rangeList);
+        pl_rangeList[vl_newValueIdx].prefix := "";
+
+        // calculate the prefix, and store it
+        var integer vl_prefixIdx := 0;
+        var integer vl_lengthof_dashSeparated0 := lengthof(vl_dashSeparated[0]);
+        var integer vl_lengthof_dashSeparated1 := lengthof(vl_dashSeparated[1]);
+        while((vl_prefixIdx < vl_lengthof_dashSeparated0) and (vl_prefixIdx < vl_lengthof_dashSeparated1) and
+          (vl_dashSeparated[0][vl_prefixIdx] == vl_dashSeparated[1][vl_prefixIdx])) {
+          pl_rangeList[vl_newValueIdx].prefix := pl_rangeList[vl_newValueIdx].prefix & vl_dashSeparated[0][vl_prefixIdx];
+          vl_prefixIdx := vl_prefixIdx + 1;
+        }
+
+        pl_rangeList[vl_newValueIdx].prefix := f_stripWhitespaces(pl_rangeList[vl_newValueIdx].prefix);
+        vl_rangeLimit := f_stripWhitespaces(substr(vl_dashSeparated[0], vl_prefixIdx, lengthof(vl_dashSeparated[0]) - vl_prefixIdx));
+        if(f_isInteger(vl_rangeLimit)) {
+          pl_rangeList[vl_newValueIdx].rangeMin := f_str2int(vl_rangeLimit);
+        }
+        vl_rangeLimit := f_stripWhitespaces(substr(vl_dashSeparated[1], vl_prefixIdx, lengthof(vl_dashSeparated[1]) - vl_prefixIdx));
+        if(f_isInteger(vl_rangeLimit)) {
+          pl_rangeList[vl_newValueIdx].rangeMax := f_str2int(vl_rangeLimit);
+        }
+
+        if((pl_rangeList[vl_newValueIdx].rangeMin == -1) or (pl_rangeList[vl_newValueIdx].rangeMax == -1)) {
+          log("error: ranges do not end in numbers");
+        }
+
+
+        // replace rangeMin and rangeMax if user set the max lower than min
+        if(pl_rangeList[vl_newValueIdx].rangeMax < pl_rangeList[vl_newValueIdx].rangeMin) {
+          var integer vl_temp := pl_rangeList[vl_newValueIdx].rangeMin;
+          pl_rangeList[vl_newValueIdx].rangeMin := pl_rangeList[vl_newValueIdx].rangeMax;
+          pl_rangeList[vl_newValueIdx].rangeMax := vl_temp;
+        }
+      }
+      case else {
+
+        // consider it as single value
+        vl_commaSeparated[vl_i] := f_stripWhitespaces(vl_commaSeparated[vl_i]);
+        pl_rangeList[sizeof(pl_rangeList)] := { vl_commaSeparated[vl_i], 0, 0 };
+      }
+    }
+  }
+
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//  Function: f_PP_getParamValueFromSet()
+// 
+//  Purpose:
+//    Function to return parameter value if parameter types matches one of the given types
+// 
+//  Parameters:
+//    pl_paramSet - *in* *PP_ParamSet* - ParamSet to examine
+//    pl_typeList - *in* *PP_StringList* - typeList to search in the pl_paramSet
+//
+//  Return Value:
+//    *PP_StringList* - empty list, if none of the types are found in the pl_paramSet
+// 
+//  Errors:
+//    -
+// 
+//  Detailed Comments:
+//    
+///////////////////////////////////////////////////////////////////////////////
+public function f_PP_getParamValueFromSet(
+  in PP_ParamSet pl_paramSet,
+  in Charstrings pl_typeList
+) return Charstrings {
+  var Charstrings vl_ret := {};
+  var integer vl_i, vl_j;
+
+  var integer vl_sizeof_paramSet := sizeof(pl_paramSet);
+  var integer vl_sizeof_typeList := sizeof(pl_typeList);
+  for (vl_i := 0; vl_i < vl_sizeof_paramSet; vl_i := vl_i + 1) {
+    for (vl_j := 0; vl_j < vl_sizeof_typeList; vl_j := vl_j + 1) {
+
+      // assert there is only one type here!
+      if(pl_paramSet[vl_i].types[0] == pl_typeList[vl_j]) {
+        // assert there is only one value here!
+        vl_ret[sizeof(vl_ret)] := pl_paramSet[vl_i].values[0].prefix;
+        vl_j := sizeof(pl_typeList);
+      }
+
+    }
+  }
+  return vl_ret;
+}
+
+} with { extension "version R22B"}
diff --git a/src/TCCRegexp.cc b/src/TCCRegexp.cc
new file mode 100644
index 0000000000000000000000000000000000000000..80ab0325001521cdb54fb0b88d7be9c709908d38
--- /dev/null
+++ b/src/TCCRegexp.cc
@@ -0,0 +1,92 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCRegexp_Functions.ttcn
+//  Description:        TCC Useful Functions: Regexp Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2009-11-20
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TCCRegexp_Functions.hh"
+#include <pcre.h>
+
+namespace TCCRegexp__Functions{
+  CHARSTRING f__pcre__regexp(const CHARSTRING& instr,
+          const CHARSTRING& expression, const INTEGER& groupno ){
+    
+    pcre *re;
+    const char *error_text;
+    int erroroffset;
+    re = pcre_compile(expression,0,&error_text,&erroroffset,NULL);
+    if(re == NULL){
+      TTCN_error("Compilation of the pcre regexp failled at position %d."
+                 "Reason: \"%s\"",erroroffset,error_text);
+      return "";
+    }
+    int rc;
+    int max_groupno;
+    
+    rc=pcre_fullinfo(re,NULL,PCRE_INFO_CAPTURECOUNT,&max_groupno);
+    if(rc!=0){
+      TTCN_error("pcre_fullinfo failed. Error code: %d",rc);
+    }
+    max_groupno=(max_groupno+1)*3;
+    int *ovector = (int*)Malloc(max_groupno*sizeof(int));
+    rc = pcre_exec(re,NULL,instr,instr.lengthof(),0,0,ovector,max_groupno);
+    
+    CHARSTRING ret_val;
+    if(rc<=groupno){ ret_val="";}
+    else if( ovector[groupno*2] == -1 ) { ret_val="";}
+    else {
+      ret_val=substr(instr, ovector[groupno*2], ovector[(groupno*2)+1]- ovector[groupno*2]);
+    }
+    Free(ovector);
+    return ret_val;
+  }
+
+  charstring__list f__pcre__regexp__list(const CHARSTRING& instr,
+          const CHARSTRING& expression){
+    
+    pcre *re;
+    const char *error_text;
+    int erroroffset;
+    re = pcre_compile(expression,0,&error_text,&erroroffset,NULL);
+    if(re == NULL){
+      TTCN_error("Compilation of the pcre regexp failled at position %d."
+                 "Reason: \"%s\"",erroroffset,error_text);
+      return NULL_VALUE;
+    }
+    int rc;
+    int max_groupno;
+    
+    rc=pcre_fullinfo(re,NULL,PCRE_INFO_CAPTURECOUNT,&max_groupno);
+    if(rc!=0){
+      TTCN_error("pcre_fullinfo failed. Error code: %d",rc);
+    }
+    int ovecsivze=(max_groupno+1)*3;
+    int *ovector = (int*)Malloc(ovecsivze*sizeof(int));
+    rc = pcre_exec(re,NULL,instr,instr.lengthof(),0,0,ovector,ovecsivze);
+    
+    charstring__list ret_val;
+    for(int a=0;a<=max_groupno;a++){
+      if(rc<=a){ ret_val[a]="";}
+      else if( ovector[a*2] == -1 ) { ret_val[a]="";}
+      else {
+        ret_val[a]=substr(instr, ovector[a*2], ovector[(a*2)+1]- ovector[a*2]);
+      }
+    }
+    Free(ovector);
+    return ret_val;
+  }
+
+}
diff --git a/src/TCCRegexp_Functions.ttcn b/src/TCCRegexp_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..f47c1aab22498b8b3ed9716e0d086049b2c0d99d
--- /dev/null
+++ b/src/TCCRegexp_Functions.ttcn
@@ -0,0 +1,107 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCRegexp_Functions.ttcn
+//  Description:        TCC Useful Functions: Regexp Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2009-11-20
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: Regexp_Functions
+// 
+//  Purpose:
+//    This module provides a non TTCN regular expression handling
+//    functions
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+// 
+//  Current Owner:
+//    -
+// 
+//  Last Review Date:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+module TCCRegexp_Functions{
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_pcre_regexp
+// 
+//  Purpose:
+//    Evaulate a Perl compatible regular expression
+// 
+//  Parameters:
+//      instr - *in* *charstring* -   string to be matched
+//      expression - *in* *charstring* -  the pattern
+//      groupno - *in* *inteher* - the number of the group to return
+//
+//  Return Value:
+//    charstring - the matched substring
+// 
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    This function returns the substring of the input character string instr,
+//    which is the content of n-th group matching to the expression.  
+//    The expression is a Perl compatible regular expression pattern. 
+//    The number of the group to be returned is specified by groupno, which 
+//    shall be a positive integer or zero. Group numbers are assigned by the 
+//    order of occurrences of the opening bracket of a group and counted 
+//    starting from 1 by step 1. If the groupno is zero, a substring macthed 
+//    by the entire pattern is returned. If no substring fulfilling all 
+//    conditions (i.e. pattern and group number) is found within the input 
+//    string, an empty string is returned.
+// 
+///////////////////////////////////////////////////////////////////////////////
+  external function f_pcre_regexp(in charstring instr, in charstring expression,
+                                  in integer groupno) return charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_pcre_regexp
+// 
+//  Purpose:
+//    Evaulate a Perl compatible regular expression
+// 
+//  Parameters:
+//      instr - *in* *charstring* -   string to be matched
+//      expression - *in* *charstring* -  the pattern
+//
+//  Return Value:
+//    record of charstring - the matched substrings
+// 
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    This function returns the list of the substring of the input character 
+//    string instr, which is the content of n-th group matching to the expression.  
+//    The expression is a Perl compatible regular expression pattern. 
+//    Group numbers are assigned by the 
+//    order of occurrences of the opening bracket of a group and counted 
+//    starting from 1 by step 1. If no substring fulfilling all 
+//    conditions is found within the input 
+//    string, an empty record of is returned.
+// 
+///////////////////////////////////////////////////////////////////////////////
+  type record of charstring charstring_list 
+
+  external function f_pcre_regexp_list(in charstring instr, 
+                               in charstring expression) return charstring_list;
+
+}
diff --git a/src/TCCSystem.cc b/src/TCCSystem.cc
new file mode 100644
index 0000000000000000000000000000000000000000..adfd719d5279f28597a5de2bee6f78ef534913f0
--- /dev/null
+++ b/src/TCCSystem.cc
@@ -0,0 +1,47 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCSystem.cc
+//  Description:        TCC Useful Functions: System Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2009-04-10
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+#include "TCCSystem_Functions.hh"
+#include <unistd.h>
+
+namespace TCCSystem__Functions{
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_SYS_getpid
+// 
+//  Purpose:
+//    Returns the pid of the process
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    integer - pid
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+INTEGER f__SYS__getpid(){
+  return getpid();
+}
+
+}
diff --git a/src/TCCSystem_Functions.ttcn b/src/TCCSystem_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..64bf2be057e2e9a6c0fc162224972bb45fac20ac
--- /dev/null
+++ b/src/TCCSystem_Functions.ttcn
@@ -0,0 +1,41 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCSystem_Functions.ttcn
+//  Description:        TCC Useful Functions: System Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2009-04-10
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+module TCCSystem_Functions{
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_SYS_getpid
+// 
+//  Purpose:
+//    Returns the pid of the process
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    integer - pid
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+  external function f_SYS_getpid() return integer
+}
diff --git a/src/TCCTemplate_Functions.ttcn b/src/TCCTemplate_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..f2e9c2bad1564e5fb498e1a4dbc65277cc306a66
--- /dev/null
+++ b/src/TCCTemplate_Functions.ttcn
@@ -0,0 +1,251 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCTemplate_Functions.ttcn
+//  Description:        TCC Useful Functions: Template Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-12-20
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCTemplate_Functions
+// 
+//  Purpose:
+//    This module supports template handling
+//    Originally for TitanSIM R2 needs it for substituting substrings in a 
+//    charstring template.
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+// 
+//  Current Owner:
+//    Zsolt Szalai (EZSOSZA)
+// 
+//  Last Review Date:
+//    -
+// 
+//  Comments:
+//     Intruduction of ? regexp like behavior like \(x)? in our own pattern
+//     couses many troubles, like with the current templatefunc signature it 
+//     can be impossible to determine the parameters(using 2 ? pattern) and 
+//     lookup may need much more and complicated additions or rewrite that 
+//     we may want at that time;
+//
+///////////////////////////////////////////////////////////////////////////////
+module TCCTemplate_Functions {
+  
+//  import from TCCConversion_Functions all;
+  import from TCCFileIO_Functions all;
+
+  modulepar{
+    charstring TCCTemplate_opentoken := "$(";
+    charstring TCCTemplate_closetoken := ")";
+  }
+  
+  type function templatefunc(in charstringList pl_params) runs on self return charstring;
+
+  type record TCCSubstitution {
+    charstring patt,
+    charstring string,
+    templatefunc func optional
+    }
+
+  type record of TCCSubstitution TCCSubstitutionList;
+  
+  type record of charstring charstringList;
+
+
+  group PublicFunctions{
+
+    ///////////////////////////////////////////////////////////////////////////////
+    //  Function: f_Template_substitutetemplate
+    // 
+    //  Purpose:
+    //    Makes the substitutions according to the dictonary given
+    //
+    //  Parameters:
+    //    pl_dict - *in* *TCCSubstitutionList* - dictionary
+    //    pl_string - *in* *charstring* - string to substitute in 
+    // 
+    //  Return Value:
+    //    charstring - substituted string
+    //
+    //  Errors:
+    //    - 
+    // 
+    //  Detailed description:
+    //    -
+    // 
+    ///////////////////////////////////////////////////////////////////////////////
+    function f_Template_substitutetemplate(in TCCSubstitutionList pl_dict, in charstring pl_string) return charstring{
+      var charstring ret := pl_string;
+      //log("original template:",ret,"\n");
+      // heuristic implementation
+      /////////////////////////////////////////////////////////////////////////
+      // searches for every pattern
+      /*    for (var integer i := 0; i<sizeof(pl_dict); i:=i+1){
+	    if (ispresent(pl_dict[i].func)){
+	    var charstring matched := regexp(ret, "*(" & pl_dict[i].patt & ")*",0);//f_Template_searchpattern(ret, pl_dict[i].patt);
+	    if (matched != ""){
+	    ret := f_Template_substituteall(ret, matched, pl_dict[i].func.apply(matched, pl_dict[i].patt));
+	    }
+	    } else {
+	    ret := f_Template_substituteall(ret, pl_dict[i].patt, pl_dict[i].string);
+	    }
+	    }
+	    return ret;*/
+      //heuristic implementation end/////////////////////////////////////////////
+    
+      var charstring t_open := TCCTemplate_opentoken;
+      var charstring t_close := TCCTemplate_closetoken;
+
+
+      // fast implentation
+      //////////////////////////////////////////////////////////////////////////
+      for (var integer i:=0; i<lengthof(ret);i:=i+1){
+	if (ret[i] == t_open[0]) { // maybe its a variable in template?
+	  if (substr(ret,i,lengthof(t_open)) == t_open){ // it is a variable opening string
+	    var integer tokenstart := i;
+	    //	  log("tokenstart:",tokenstart,"\n");
+	    i := i + lengthof(t_open);
+	    while(ret[i] != t_close[0] and i<lengthof(ret)){ i:=i+1; }
+	    if (i<lengthof(ret)){
+	      if (substr(ret,i,lengthof(t_close)) == t_close){
+		i := i + lengthof(t_close);
+		var charstring variable := substr(ret, tokenstart, i - tokenstart);
+		//log("Variable found: ", variable,"\n");
+		var charstringList params := {};
+		var integer recindex := f_Template_lookup(pl_dict, variable, params);
+		if (recindex != -1){
+		  // substitution
+		  var charstring pvalue := "";
+		  if(ispresent(pl_dict[recindex].func)){
+		    pvalue := pl_dict[recindex].func.apply(params);
+		  } else{
+		    pvalue := pl_dict[recindex].string;
+		  }
+		  ret := substr(ret,0,tokenstart) & pvalue & substr(ret, i, lengthof(ret)-i);
+		  //log("New template: ", ret, "\n");
+		  i := tokenstart;
+		} else {
+		  i := tokenstart;
+		}
+	      }
+	    } else {
+	      log("No closing string in a variable!\n");
+	    }
+	  } // not a variable opening string, nothing to do
+	} // not a variable in template, nothing to do
+      }
+      return ret;
+      // fast implentation end /////////////////////////////////////////////////
+    }
+
+    ///////////////////////////////////////////////////////////////////////////////
+    //  Function: f_Template_subsfiletemplate
+    // 
+    //  Purpose:
+    //    Makes the substitutions in the content of the given file, 
+    //    according to the dictonary
+    //
+    //  Parameters:
+    //    pl_dict - *in* *TCCSubstitutionList* - dictionary
+    //    pl_file - *in* *charstring* - name of the file containing the template
+    // 
+    //  Return Value:
+    //    charstring - substituted string
+    //
+    //  Errors:
+    //    From FIO - in this case "" returns
+    // 
+    //  Detailed description:
+    //    -
+    // 
+    ///////////////////////////////////////////////////////////////////////////////  
+    function f_Template_subsfiletemplate(in TCCSubstitutionList pl_dict, in charstring pl_file) return charstring{
+      var integer fd := f_FIO_open_rdonly(pl_file);
+      if (fd == -1){
+	return "";
+      }
+      var integer len := f_FIO_seek_end(fd);
+      var charstring content;
+      if (f_FIO_seek_home(fd) != 0){
+	return ""
+      }
+      if (f_FIO_read_text(fd, content, len) == -1){
+	if (f_FIO_close(fd) == -1){log("Error while closing file!");}
+	return "";
+      }
+      if (f_FIO_close(fd) == -1){log("Error while closing file!");} 
+      return f_Template_substitutetemplate(pl_dict, content);
+    }
+
+  }
+
+
+  group PrivateFunctions{
+
+    function f_Template_getparams(in charstring matched, in charstring patt) 
+    return charstringList
+    {
+      var integer pc := 0;
+      var charstringList params:={};
+      for (var integer i:=0;i<lengthof(patt);i:=i+1){
+	if (patt[i]=="(" and i!=0 and patt[i-1]!="#" and patt[i-1]!="\\"){pc:=pc+1;}
+      }
+      for (var integer i:=0;i<pc;i:=i+1){ 
+	params[sizeof(params)] := regexp(matched, patt, i); 
+      } 
+      return params;
+    }
+
+    function f_Template_lookup(in TCCSubstitutionList pl_dict, in charstring pl_var, 
+			       out charstringList pl_params) return integer{
+      pl_params:={};
+      for (var integer i:=0; i<sizeof(pl_dict);i:=i+1){ // simple search
+	if(pl_dict[i].patt == pl_var){
+	  return i;
+	}
+      }
+      for (var integer i:=0; i<sizeof(pl_dict);i:=i+1){ // regexp like search
+	var integer j := 0;
+	var integer k := 0;
+	while (j<lengthof(pl_dict[i].patt) and k<lengthof(pl_var)){
+	  while(j<lengthof(pl_dict[i].patt) and k<lengthof(pl_var) and pl_dict[i].patt[j] == pl_var[k]){
+	    j := j + 1;
+	    k := k + 1; 
+	  }
+	  if (j<lengthof(pl_dict[i].patt) and pl_dict[i].patt[j]=="\\" and j+1<lengthof(pl_dict[i].patt) and pl_dict[i].patt[j+1]=="w" and j+2<lengthof(pl_dict[i].patt)){ 
+	    // we have found an escape, parameter begins
+	    j := j + 2;
+	    var integer paramstart := k;
+	    while (k<lengthof(pl_var) and pl_var[k] != pl_dict[i].patt[j]) {k := k + 1;}
+            var charstring parameter := substr(pl_var,paramstart, k - paramstart);
+	    pl_params[sizeof(pl_params)] := parameter;
+	  } else {
+	    if (j==lengthof(pl_dict[i].patt) and k==lengthof(pl_var)){
+	      return i;
+	    } else {
+	      // that is not the proper pattern;
+	      j := lengthof(pl_dict[i].patt);
+	    }
+	  }
+	}
+      }
+      return -1;
+    } 
+  } 
+}
diff --git a/src/TCCTitanMetadata.cc b/src/TCCTitanMetadata.cc
new file mode 100644
index 0000000000000000000000000000000000000000..e9d4a21d9acfea2202acbbb2dcfb87a17697b79e
--- /dev/null
+++ b/src/TCCTitanMetadata.cc
@@ -0,0 +1,50 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCTitanMetadata.cc
+//  Description:        TCC Useful Functions: TitanMetadata Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-10-26
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "TCCTitanMetadata_Functions.hh"
+
+namespace TCCTitanMetadata__Functions {
+
+static CHARSTRING compilationtime = __DATE__" " __TIME__;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f__compilationTime
+// 
+//  Purpose:
+//    Return the compilation time of module
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    charstring - compilation time
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+CHARSTRING f__compilationTime()
+{
+  return compilationtime;
+}
+
+} // end of namespace
diff --git a/src/TCCTitanMetadata_Functions.ttcn b/src/TCCTitanMetadata_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..99038f59741894aeae4c19732ae0ea546b0c9073
--- /dev/null
+++ b/src/TCCTitanMetadata_Functions.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCTitanMetadata_Functions.ttcn
+//  Description:        TCC Useful Functions: TitanMetadata Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2007-10-26
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCTitanMetadata_Functions
+// 
+//  Purpose:
+//    This module support handling of Titan related metadata
+// 
+//  Module Parameters:
+//      - 
+// 
+//  Module depends on:
+//    -
+// 
+//  Current Owner:
+//    Akos Pernek (EAKOPER)
+// 
+//  Last Review Date:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+module TCCTitanMetadata_Functions {
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_compilationTime
+// 
+//  Purpose:
+//    Return the compilation time of module
+//
+//  Parameters:
+//    -
+// 
+//  Return Value:
+//    charstring - compilation time
+//
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function f_compilationTime() return charstring;  
+
+}
diff --git a/src/TCCUsefulFunctions_Library.grp b/src/TCCUsefulFunctions_Library.grp
new file mode 100644
index 0000000000000000000000000000000000000000..caec77927c8fe555171e25b8d084b1a8377453f2
--- /dev/null
+++ b/src/TCCUsefulFunctions_Library.grp
@@ -0,0 +1,63 @@
+<!--
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:        TCCUsefulFunctions_Library.grp
+//  Description: FileGroup file for TCCUsefulFunctions ApplicationLibrary
+//  Rev:         R22B
+//  Prodnr:      CNL 113 472
+//  Updated:     2012-03-26
+//  Contact:     http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+-->
+<!DOCTYPE TITAN_GUI_FileGroup_file>
+<File_Group name="TCCUsefulFunctions_Library" >
+    <File path="TCCAssertion.cc" />
+    <File path="TCCAssertion_Functions.ttcn" />
+    <File path="TCCConversion.cc" />
+    <File path="TCCConversion_Functions.ttcn" />
+    <File path="TCCDateTime.cc" />
+    <File path="TCCDateTime_Functions.ttcn" />
+    <File path="TCCEncoding.cc" />
+    <File path="TCCEncoding_Functions.ttcn" />
+    <File path="TCCEnv.cc" />
+    <File path="TCCEnv_Functions.ttcn" />
+    <File path="TCCFileIO.cc" />
+    <File path="TCCFileIO_Functions.ttcn" />
+    <File path="TCCFileSystem.cc" />
+    <File path="TCCFileSystem_Functions.ttcn" />
+    <File path="TCCIPsec.cc" />
+    <File path="TCCIPsec_Definitions.ttcn" />
+    <File path="TCCIPsec_Functions.ttcn" />
+    <File path="TCCInterface.cc" />
+    <File path="TCCInterface_Functions.ttcn" />
+    <File path="TCCInterface_ip.h" />
+    <File path="TCCMaths.cc" />
+    <File path="TCCMaths_Functions.ttcn" />
+    <File path="TCCMaths_GenericTypes.ttcn" />
+    <File path="TCCMessageHandling.cc" />
+    <File path="TCCMessageHandling_Functions.ttcn" />
+    <File path="TCCSecurity.cc" />
+    <File path="TCCSecurity_Functions.ttcn" />
+    <File path="TCCSystem.cc" />
+    <File path="TCCSystem_Functions.ttcn" />
+    <File path="TCCTemplate_Functions.ttcn" />
+    <File path="TCCTitanMetadata.cc" />
+    <File path="TCCTitanMetadata_Functions.ttcn" />
+    <File path="aka_algorythm_set.c" />
+    <File path="aka_algorythm_set.h" />
+    <File path="digcalc.c" />
+    <File path="digcalc.h" />
+    <File path="zuc.c" />
+    <File path="zuc.h" />
+    <File path="snow3g.c" />
+    <File path="snow3g.h" />
+</File_Group>
diff --git a/src/TCCUsefulFunctions_PermutatedParameters.grp b/src/TCCUsefulFunctions_PermutatedParameters.grp
new file mode 100644
index 0000000000000000000000000000000000000000..918c7b40450a17e76c305857250480425d74ab8e
--- /dev/null
+++ b/src/TCCUsefulFunctions_PermutatedParameters.grp
@@ -0,0 +1,25 @@
+<!--
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:        TCCUsefulFunctions_PermutatedParameters.grp
+//  Description: FileGroup file for TCCUsefulFunctions Permutated Parameters
+//  Rev:         R22B
+//  Prodnr:      CNL 113 472
+//  Updated:     2013-05-30
+//  Contact:     http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+-->
+<!DOCTYPE TITAN_GUI_FileGroup_file>
+<File_Group name="TCCUsefulFunctions_PermutatedParameters" >
+    <File path="TCCPermutatedParameters_Definitions.ttcn" />
+    <File path="TCCPermutatedParameters_Functions.ttcn" />
+</File_Group>
diff --git a/src/TCCXPathSupport.cc b/src/TCCXPathSupport.cc
new file mode 100644
index 0000000000000000000000000000000000000000..a8772def6cbd43eabc353fb8e07ec496cc54ef7e
--- /dev/null
+++ b/src/TCCXPathSupport.cc
@@ -0,0 +1,124 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCXPathSupport_Functions.ttcn
+//  Description:        TCC Useful Functions: XPath Support Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2008-08-26
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <string.h>
+
+#include "tinyxml.h"
+#include "xpath_processor.h"
+
+#include "TCCXPathSupport_Functions.hh"
+
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: XPathQuery
+// 
+//  Purpose:
+//    apply an XPath query on an XML document
+// 
+//  Parameters:
+//    xml_doc: the XML document to be processed. It is modeled by a pure TTCN-3
+//                universal charstring and passed as an input parameter to this 
+//                function
+//
+//    xpath_query: the XPath Query. With this technology we can access a node of
+//                    the XML tree. It is passed to the function as a universal 
+//                    charstring
+//  
+//  Return Value:
+//    universal charstring - result of the query (information about one node of
+//                              the XML tree)
+// 
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+
+namespace TCCXPathSupport__Functions { 
+
+char * extract_string(const UNIVERSAL_CHARSTRING & us)
+{
+  TTCN_Buffer buf;
+  us.encode_utf8(buf);
+  
+  
+  size_t len = buf.get_len();
+  char * return_string = (char*) Malloc(len+1);
+  memcpy(return_string,buf.get_data(),len);
+  return_string[len] = '\0';
+  
+  return return_string;
+}
+
+UNIVERSAL_CHARSTRING XPathQuery(const UNIVERSAL_CHARSTRING& xml__doc, const UNIVERSAL_CHARSTRING& xpath__query)
+{
+  
+	char* xml_document = extract_string( xml__doc );
+  char* xpath_query  = extract_string( xpath__query );
+  
+      
+  TiXmlDocument * XDp_doc  = new TiXmlDocument();
+  
+  XDp_doc->Parse( xml_document );
+	  
+  TiXmlElement  * XEp_root = XDp_doc->RootElement();
+  
+  
+  
+  TinyXPath::xpath_processor *proc = new TinyXPath::xpath_processor( XEp_root, xpath_query );
+      
+  TIXML_STRING res = proc->S_compute_xpath(); 
+  
+	
+  
+  delete XDp_doc;
+  delete proc;
+  Free(xml_document);
+  Free(xpath_query);
+
+  
+  UNIVERSAL_CHARSTRING result;
+  result.decode_utf8(res.size(),(const unsigned char*)res.c_str());
+  return result;
+
+}
+
+BOOLEAN XPathCheckXML(const UNIVERSAL_CHARSTRING& xml__doc, CHARSTRING& error__string){
+	char* xml_document = extract_string( xml__doc );
+  TiXmlDocument * XDp_doc  = new TiXmlDocument();
+  
+  XDp_doc->Parse( xml_document );
+
+  bool ret_val= ! XDp_doc->Error();
+  if(ret_val){ // no error
+    error__string="OK";
+  } else { // error
+    char * e_str=mprintf("Error at line: %d, pos: %d, description: %s",XDp_doc->ErrorRow(),XDp_doc->ErrorCol(),XDp_doc->ErrorDesc());
+    error__string=e_str;
+    Free(e_str);
+  }
+  delete XDp_doc;
+  Free(xml_document);
+  return ret_val;
+}
+
+
+}
diff --git a/src/TCCXPathSupport_Functions.ttcn b/src/TCCXPathSupport_Functions.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..192d4f5e7ac4f8316c6e363bf14fd13d082c9447
--- /dev/null
+++ b/src/TCCXPathSupport_Functions.ttcn
@@ -0,0 +1,103 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+
+******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//
+//  File:               TCCXPathSupport_Functions.ttcn
+//  Description:        TCC Useful Functions: XPath Support Functions
+//  Rev:                R22B
+//  Prodnr:             CNL 113 472
+//  Updated:            2008-08-26
+//  Contact:            http://ttcn.ericsson.se
+//
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+//  Module: TCCXPathSupport_Functions
+// 
+//  Purpose:
+//    This module makes it possible to handle XML data throughout processing the
+//    XML data structure (tree) with in the way of handling XPath queries.
+// 
+//  Module Parameters:
+//    - 
+// 
+//  Module depends on:
+//    -
+// 
+//  Current Owner:
+//    Marton Godar (EMRTGOD)
+// 
+//  Last Review Date:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+module TCCXPathSupport_Functions {
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: XPathQuery
+// 
+//  Purpose:
+//    apply an XPath query on an XML document
+// 
+//  Parameters:
+//    xml_doc: the XML document to be processed. It is modeled by a pure TTCN-3
+//                universal charstring and passed as an input parameter to this 
+//                function
+//
+//    xpath_query: the XPath Query. With this technology we can access a node of
+//                    the XML tree. It is passed to the function as a universal 
+//                    charstring
+//  
+//  Return Value:
+//    universal charstring - result of the query (information about one node of
+//                              the XML tree)
+// 
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function XPathQuery ( 
+  in universal charstring xml_doc, 
+  in universal charstring xpath_query ) 
+return universal charstring;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: XPathCheckXML
+// 
+//  Purpose:
+//    check well formatness of the XML document
+// 
+//  Parameters:
+//    xml_doc: the XML document to be processed. It is modeled by a pure TTCN-3
+//                universal charstring and passed as an input parameter to this 
+//                function
+//
+//    error_string: the description of the error
+//  
+//  Return Value:
+//    boolean - result of check, true - if the documenbt is OK
+//                               false - soemthing is wrong// 
+//  Errors:
+//    - 
+// 
+//  Detailed description:
+//    -
+// 
+///////////////////////////////////////////////////////////////////////////////
+external function XPathCheckXML ( 
+  in universal charstring xml_doc, 
+  out charstring error_string ) 
+return boolean;
+
+
+
+}