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 </td> +<td class=PParameter nowrap>pl_assertMessage,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>boolean </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 </td> +<td class=PParameter nowrap>pl_assertMessage,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>boolean </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>par2 2: par1<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. 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. 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. 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</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. 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. Any occurance of the s2 before the offset is ignored. 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. IPv6 address is assumed if the input string contains ‘:’</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 </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 </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> </td> +<td class=PTypePrefix nowrap>in universal </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in charstring </td> +<td class=PType nowrap>parInStr </td> +<td class=PParameter nowrap width=100%>,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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>par2 2: par1<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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>str,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>begin_token,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. 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. 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. 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</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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>s1,</td> +<td class=PDefaultValuePrefix> </td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>s2,</td> +<td class=PDefaultValuePrefix> </td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>offset:</td> +<td class=PDefaultValuePrefix> = </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. 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. Any occurance of the s2 before the offset is ignored. 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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. IPv6 address is assumed if the input string contains ‘:’</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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </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 </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 </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> </td> +<td class=PTypePrefix nowrap>in universal </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in charstring </td> +<td class=PType nowrap>parInStr </td> +<td class=PParameter nowrap width=100%>,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>str,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>begin_token,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>s1,</td> +<td class=PDefaultValuePrefix> </td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>s2,</td> +<td class=PDefaultValuePrefix> </td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>offset:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </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. 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. 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. 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. 2007)</td></tr> +<tr> +<td class=CDLEntry>pl__mon</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - month (e.g. 3)</td></tr> +<tr> +<td class=CDLEntry>pl__day</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 7)</td></tr> +<tr> +<td class=CDLEntry>pl__hour</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 12)</td></tr> +<tr> +<td class=CDLEntry>pl__min</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 50)</td></tr> +<tr> +<td class=CDLEntry>pl__sec</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 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. 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. 2007)</td></tr> +<tr> +<td class=CDLEntry>pl__mon</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - month (e.g. 3)</td></tr> +<tr> +<td class=CDLEntry>pl__day</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 7)</td></tr> +<tr> +<td class=CDLEntry>pl__hour</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 12)</td></tr> +<tr> +<td class=CDLEntry>pl__min</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 50)</td></tr> +<tr> +<td class=CDLEntry>pl__sec</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 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! This function depends on used library version. 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! This function depends on used library version. 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 </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 </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 </td> +<td class=PParameter nowrap>pl_sec,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </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 </td> +<td class=PParameter nowrap>pl_year,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_mon,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_day,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_hour,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_min,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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. 2007)</td></tr> +<tr> +<td class=CDLEntry>pl_mon</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - month (e.g. 3)</td></tr> +<tr> +<td class=CDLEntry>pl_day</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 7)</td></tr> +<tr> +<td class=CDLEntry>pl_hour</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 12)</td></tr> +<tr> +<td class=CDLEntry>pl_min</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 50)</td></tr> +<tr> +<td class=CDLEntry>pl_sec</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 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 </td> +<td class=PParameter nowrap>pl_year,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_mon,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_day,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_hour,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_min,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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. 2007)</td></tr> +<tr> +<td class=CDLEntry>pl_mon</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - month (e.g. 3)</td></tr> +<tr> +<td class=CDLEntry>pl_day</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 7)</td></tr> +<tr> +<td class=CDLEntry>pl_hour</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 12)</td></tr> +<tr> +<td class=CDLEntry>pl_min</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 50)</td></tr> +<tr> +<td class=CDLEntry>pl_sec</td> +<td class=CDLDescription> +<b>in</b> +<b>integer</b> - day (e.g. 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 </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! This function depends on used library version. 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 </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! This function depends on used library version. 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 </td> +<td class=PParameter nowrap>t_stop,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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 </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 </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 </td> +<td class=PParameter nowrap>pl_sec,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </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 </td> +<td class=PParameter nowrap>pl_year,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_mon,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_day,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_hour,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_min,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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 </td> +<td class=PParameter nowrap>pl_year,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_mon,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_day,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_hour,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_min,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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 </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 </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 </td> +<td class=PParameter nowrap>t_stop,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>p_env_name,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>p_env_name,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 (“flushes”) 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. (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. This function runs in linear time. (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. This function runs in logarithmic time. (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. It creates the file if it doesn’t exist. (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. 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. 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. It opens the file with the given name for writing only. 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. It opens the file with the given name for reading and writing. 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. It opens the file with the given name for writing only. 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. It opens the file with the given name for reading and writing. 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. 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.</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. 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.</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. It opens the file with the given name for writing only in exclusive mode. 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. It opens the file with the given name for reading and writing in exclusive mode. 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 (“flushes”) 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. It works with textual and binary data. (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. 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. 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. 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. 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. (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’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. 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. 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. 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. 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. 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. If the value of the field is:</p> +<ul> +<li>true: set the permission</li> +<li>false: clear the permission</li> +<li>omit: doesn’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 (“flushes”) 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 </td> +<td class=PType nowrap>charstring </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. 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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. It opens the file with the given name for writing only. 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 </td> +<td class=PType nowrap>charstring </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. It opens the file with the given name for reading and writing. 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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. It opens the file with the given name for writing only. 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 </td> +<td class=PType nowrap>charstring </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. It opens the file with the given name for reading and writing. 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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. 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.</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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. 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.</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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. It opens the file with the given name for writing only in exclusive mode. 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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. It opens the file with the given name for reading and writing in exclusive mode. 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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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. 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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. 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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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. 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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. 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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd</td> +<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote> +<p>Transfers (“flushes”) 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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_data,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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. 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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>pl_text,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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. 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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>pl_text,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. 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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_data,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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. 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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </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. 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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>charstring </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. 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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>p_name,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>FIO_permissions </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>p_name,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>FIO_permissions </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. If the value of the field is:</p> +<ul> +<li>true: set the permission</li> +<li>false: clear the permission</li> +<li>omit: doesn’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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd</td> +<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Transfers (“flushes”) 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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_data,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>pl_text,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>pl_text,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_data,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>p_name,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>FIO_permissions </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>p_name,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>FIO_permissions </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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. 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 “null” algorithm EALG_3DESCBC: The “3des-cbc” algorithm (rfc2451) EALG_NULL: The NULL encryption algorithm (rfc2367) EALG_AESCBC: The “aes-cbc” 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 “null” algorithm AALG_MD5HMAC: The “hmac-md5” algorithm (rfc2403) AALG_SHA1HMAC: The “hmac-sha1” 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. 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. 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. 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’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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Protocol </td> +<td class=PParameter nowrap>protocol,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>spi,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_ExtensionList </td> +<td class=PType nowrap>extensionList </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> {},</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Algorithm </td> +<td class=PParameter nowrap>alg,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in boolean </td> +<td class=PType nowrap>setparitybit </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> false,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_IPsecMode </td> +<td class=PType nowrap>ipSecMode </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>srcAddress,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>dstAddress,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Protocol </td> +<td class=PParameter nowrap width=100%>protocol,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto </td> +<td class=PType nowrap>transpProto </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> anyTranspProto,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyDirection </td> +<td class=PParameter nowrap>dir,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyRule </td> +<td class=PParameter nowrap>rule</td> +<td class=PDefaultValuePrefix> </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto </td> +<td class=PType nowrap>transpProto </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> anyTranspProto,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyDirection </td> +<td class=PParameter nowrap>dir</td> +<td class=PDefaultValuePrefix> </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Protocol </td> +<td class=PParameter nowrap>protocol,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>spi,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_ExtensionList </td> +<td class=PType nowrap>extensionList </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> {},</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Algorithm </td> +<td class=PParameter nowrap>alg,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in boolean </td> +<td class=PType nowrap>setparitybit </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> false,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_IPsecMode </td> +<td class=PType nowrap>ipSecMode </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>srcAddress,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>dstAddress,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Protocol </td> +<td class=PParameter nowrap width=100%>protocol,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto </td> +<td class=PType nowrap>transpProto </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> anyTranspProto,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyDirection </td> +<td class=PParameter nowrap>dir,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyRule </td> +<td class=PParameter nowrap>rule</td> +<td class=PDefaultValuePrefix> </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto </td> +<td class=PType nowrap>transpProto </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> anyTranspProto,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyDirection </td> +<td class=PParameter nowrap>dir</td> +<td class=PDefaultValuePrefix> </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. 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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ipaddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>subnetmask,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>broadcast,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>number </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ipaddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>prefix </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> 32,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>v_set </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ipaddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>prefix </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ip,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>netmask,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>broadcast,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>hostname,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ipaddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>subnetmask,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>broadcast,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>number </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ipaddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>prefix </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> 32,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>v_set </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ipaddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>prefix </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ip,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>netmask,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>broadcast,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>hostname,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </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’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’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’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’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’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><IntegerList></td> +<td class=CDLDescription>integer array: { <max>, <max index> }</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’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><IntegerList></td> +<td class=CDLDescription>integer array: { <min>, <min index> }</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’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><FloatList></td> +<td class=CDLDescription>float array: { <max>, <max index> }</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’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><FloatList></td> +<td class=CDLDescription>float array: { <min>, <min index> }</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. list = {2.0, 4.0}</p> +<p>u = (2.0 + 4.0) / 2 <- <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. list = {2.0, 4.0}</p> +<p>u <- <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. list = {2.0, 4.0}</p> +<p>u = (2.0 + 4.0) / 2 <- <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. list = {2.0, 4.0}</p> +<p>u <- <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><FloatList></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><FloatList></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’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’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’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’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 </td> +<td class=PType nowrap>IntegerList </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’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><IntegerList></td> +<td class=CDLDescription>integer array: { <max>, <max index> }</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 </td> +<td class=PType nowrap>FloatList </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’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><FloatList></td> +<td class=CDLDescription>float array: { <max>, <max index> }</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 </td> +<td class=PType nowrap>IntegerList </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’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><IntegerList></td> +<td class=CDLDescription>integer array: { <min>, <min index> }</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 </td> +<td class=PType nowrap>FloatList </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’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><FloatList></td> +<td class=CDLDescription>float array: { <min>, <min index> }</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 </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>IntegerList </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 </td> +<td class=PType nowrap>FloatList </td> +<td class=PParameter nowrap>head,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>IntegerList </td> +<td class=PParameter nowrap>head,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>IntegerList </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 </td> +<td class=PType nowrap>FloatList </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. list = {2.0, 4.0}</p> +<p>u = (2.0 + 4.0) / 2 <- <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 </td> +<td class=PType nowrap>FloatList </td> +<td class=PParameter nowrap>flist,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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. list = {2.0, 4.0}</p> +<p>u <- <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 </td> +<td class=PType nowrap>IntegerList </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. list = {2.0, 4.0}</p> +<p>u = (2.0 + 4.0) / 2 <- <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 </td> +<td class=PType nowrap>IntegerList </td> +<td class=PParameter nowrap>ilist,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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. list = {2.0, 4.0}</p> +<p>u <- <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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>freq,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>altitude,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>start_val,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>len,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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><FloatList></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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>freq,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>altitude,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>start_val,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>len,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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><FloatList></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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>p_lambda,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>t_Poisson_Table </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. 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. 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</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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>p_lambda,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>t_Poisson_Table </td> +<td class=PParameter nowrap>p_pTable,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>boolean </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. 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.</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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>IntegerList </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’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 </td> +<td class=PType nowrap>FloatList </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’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 </td> +<td class=PType nowrap>IntegerList </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’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 </td> +<td class=PType nowrap>FloatList </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’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 </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>IntegerList </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 </td> +<td class=PType nowrap>FloatList </td> +<td class=PParameter nowrap>head,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>IntegerList </td> +<td class=PParameter nowrap>head,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>IntegerList </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 </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>FloatList </td> +<td class=PParameter nowrap>flist,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>IntegerList </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 </td> +<td class=PType nowrap>IntegerList </td> +<td class=PParameter nowrap>ilist,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>freq,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>altitude,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>start_val,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>len,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>freq,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>altitude,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>start_val,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>len,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>p_lambda,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>t_Poisson_Table </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>p_lambda,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>t_Poisson_Table </td> +<td class=PParameter nowrap>p_pTable,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>boolean </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 </td> +<td class=PType nowrap>float </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>instr,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>expression,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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. 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.</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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>instr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. 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.</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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>instr,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>expression,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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: “”, “auth”, “auth-int”</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=”auth-int”</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. When a request arrives to server for an access-protected object, it responds an “401 Unauthorized” status code and a WWW-Authenticate header (encapsulate nonce and other necessary parameters). 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> <char*> - input value</td></tr> +<tr> +<td class=CDLEntry>str</td> +<td class=CDLDescription> +<b>out</b> <char*> - 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> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>nonce,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>cnonce,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>user,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>realm,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>passwd,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>alg,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>nonceCount,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>method,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>qop,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>URI,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </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: “”, “auth”, “auth-int”</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=”auth-int”</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. When a request arrives to server for an access-protected object, it responds an “401 Unauthorized” status code and a WWW-Authenticate header (encapsulate nonce and other necessary parameters). 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 </td> +<td class=PParameter nowrap>nonce,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>cnonce,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>user,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>realm,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>passwd,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_sqn,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_OP,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_k,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_sqn,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>OCT_16 </td> +<td class=PParameter nowrap>Ki,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap></td> +<td class=PType nowrap>OCT_16 </td> +<td class=PParameter nowrap>rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>sres,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>OCT_6 </td> +<td class=PParameter nowrap>SQN,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_6 </td> +<td class=PParameter nowrap>AK,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_2 </td> +<td class=PParameter nowrap>AMF,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_8 </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>msg,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_64 </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_key,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_input,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_key,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_input,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>nonce,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>cnonce,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>user,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>realm,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>passwd,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>alg,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>nonceCount,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>method,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>qop,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>URI,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PParameter nowrap>nonce,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>cnonce,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>user,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>realm,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>passwd,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_sqn,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_OP,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_k,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_sqn,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>OCT_16 </td> +<td class=PParameter nowrap>Ki,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap></td> +<td class=PType nowrap>OCT_16 </td> +<td class=PParameter nowrap>rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>sres,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>OCT_6 </td> +<td class=PParameter nowrap>SQN,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_6 </td> +<td class=PParameter nowrap>AK,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_2 </td> +<td class=PParameter nowrap>AMF,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_8 </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>msg,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_64 </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_key,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_input,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_key,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_input,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCSubstitutionList </td> +<td class=PParameter nowrap width=100%>pl_dict,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCSubstitutionList </td> +<td class=PParameter nowrap width=100%>pl_dict,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 “” 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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCSubstitutionList </td> +<td class=PParameter nowrap width=100%>pl_dict,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCSubstitutionList </td> +<td class=PParameter nowrap width=100%>pl_dict,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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. 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. With this technology we can access a node of the XML tree. 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> </td> +<td class=PTypePrefix nowrap>in universal </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>xml_doc,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in universal </td> +<td class=PType nowrap>charstring </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. 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. With this technology we can access a node of the XML tree. 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> </td> +<td class=PTypePrefix nowrap>in universal </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>xml_doc,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in universal </td> +<td class=PType nowrap>charstring </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. 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. Takes 16-byte key and creates all Rijndael’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. 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> <HASH> - hash value to be converted</td></tr> +<tr> +<td class=CDLEntry>Hex</td> +<td class=CDLDescription> +<b>out</b> <HASHHEX> - 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> <HASHHEX> - 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: “”, “auth”, “auth-int”</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=”auth-int”</td></tr> +<tr> +<td class=CDLEntry>Response</td> +<td class=CDLDescription> +<b>out</b> <HASHHEX> - 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 “auth-init”</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>$#! · 0-9 · A · B · <a href="#C">C</a> · D · E · F · G · H · I · J · K · L · M · N · O · <a href="#P">P</a> · Q · R · S · T · U · V · W · X · Y · 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> </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> </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> </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>$#! · 0-9 · <a href="#A">A</a> · B · C · <a href="#D">D</a> · E · F · G · H · I · J · K · L · M · N · O · P · Q · <a href="#R">R</a> · S · <a href="#T">T</a> · U · V · W · X · Y · <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> </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> </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> </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> </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> </td> +<td class=IEntry> +<a href="../files/TCCConversion-cc.html#TCCConversion.cc" class=ISymbol>TCCConversion.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </td> +<td class=IEntry> +<a href="../files/TCCDateTime-cc.html#TCCDateTime.cc" class=ISymbol>TCCDateTime.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </td> +<td class=IEntry> +<a href="../files/TCCEncoding-cc.html#TCCEncoding.cc" class=ISymbol>TCCEncoding.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </td> +<td class=IEntry> +<a href="../files/TCCEnv-cc.html#TCCEnv.cc" class=ISymbol>TCCEnv.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </td> +<td class=IEntry> +<a href="../files/TCCFileIO-cc.html#TCCFileIO.cc" class=ISymbol>TCCFileIO.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </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> </td> +<td class=IEntry> +<a href="../files/TCCInterface-cc.html#TCCInterface.cc" class=ISymbol>TCCInterface.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </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> </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> </td> +<td class=IEntry> +<a href="../files/TCCMaths-cc.html#TCCMaths.cc" class=ISymbol>TCCMaths.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </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> </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> </td> +<td class=IEntry> +<a href="../files/TCCSecurity-cc.html#TCCSecurity.cc" class=ISymbol>TCCSecurity.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </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> </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> </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> </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>$#! · 0-9 · A · <a href="#B">B</a> · <a href="#C">C</a> · <a href="#D">D</a> · <a href="#E">E</a> · <a href="Functions2.html#F">F</a> · G · H · I · J · <a href="Functions3.html#K">K</a> · L · <a href="Functions3.html#M">M</a> · N · O · P · Q · <a href="Functions3.html#R">R</a> · <a href="Functions3.html#S">S</a> · T · U · V · W · <a href="Functions3.html#X">X</a> · Y · 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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </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>$#! · 0-9 · A · <a href="Functions.html#B">B</a> · <a href="Functions.html#C">C</a> · <a href="Functions.html#D">D</a> · <a href="Functions.html#E">E</a> · <a href="#F">F</a> · G · H · I · J · <a href="Functions3.html#K">K</a> · L · <a href="Functions3.html#M">M</a> · N · O · P · Q · <a href="Functions3.html#R">R</a> · <a href="Functions3.html#S">S</a> · T · U · V · W · <a href="Functions3.html#X">X</a> · Y · 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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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 (“flushes”) 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’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’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’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’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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PParameter nowrap>pl_assertMessage,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>boolean </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 </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>IntegerList </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_key,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_input,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_key,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_input,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PParameter nowrap>nonce,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>cnonce,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>user,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>realm,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>passwd,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </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> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>nonce,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>cnonce,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>user,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>realm,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>passwd,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>alg,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>nonceCount,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>method,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>qop,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>URI,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>msg,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_64 </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>freq,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>altitude,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>start_val,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>len,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </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 </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>OCT_16 </td> +<td class=PParameter nowrap>Ki,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap></td> +<td class=PType nowrap>OCT_16 </td> +<td class=PParameter nowrap>rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>sres,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd</td> +<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Transfers (“flushes”) 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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_data,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_data,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>pl_text,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>pl_text,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>p_lambda,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>t_Poisson_Table </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 </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ip,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>netmask,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>broadcast,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>hostname,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>p_lambda,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>t_Poisson_Table </td> +<td class=PParameter nowrap>p_pTable,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>boolean </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 </td> +<td class=PParameter nowrap>pl_sec,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>OCT_6 </td> +<td class=PParameter nowrap>SQN,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_6 </td> +<td class=PParameter nowrap>AK,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_2 </td> +<td class=PParameter nowrap>AMF,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_8 </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_sqn,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_sqn,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_OP,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_k,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Protocol </td> +<td class=PParameter nowrap>protocol,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>spi,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_ExtensionList </td> +<td class=PType nowrap>extensionList </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> {},</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Algorithm </td> +<td class=PParameter nowrap>alg,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in boolean </td> +<td class=PType nowrap>setparitybit </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> false,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_IPsecMode </td> +<td class=PType nowrap>ipSecMode </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>srcAddress,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>dstAddress,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Protocol </td> +<td class=PParameter nowrap width=100%>protocol,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto </td> +<td class=PType nowrap>transpProto </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> anyTranspProto,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyDirection </td> +<td class=PParameter nowrap>dir,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyRule </td> +<td class=PParameter nowrap>rule</td> +<td class=PDefaultValuePrefix> </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto </td> +<td class=PType nowrap>transpProto </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> anyTranspProto,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyDirection </td> +<td class=PParameter nowrap>dir</td> +<td class=PDefaultValuePrefix> </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>FloatList </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’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 </td> +<td class=PType nowrap>IntegerList </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’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 </td> +<td class=PType nowrap>FloatList </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’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 </td> +<td class=PType nowrap>IntegerList </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’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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>instr,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>expression,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>p_env_name,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </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 </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in charstring </td> +<td class=PType nowrap>parInStr </td> +<td class=PParameter nowrap width=100%>,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ipaddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>subnetmask,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>broadcast,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>number </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>freq,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>altitude,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>start_val,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>len,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>FloatList </td> +<td class=PParameter nowrap>flist,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>IntegerList </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 </td> +<td class=PType nowrap>IntegerList </td> +<td class=PParameter nowrap>ilist,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCSubstitutionList </td> +<td class=PParameter nowrap width=100%>pl_dict,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCSubstitutionList </td> +<td class=PParameter nowrap width=100%>pl_dict,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PParameter nowrap>pl_year,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_mon,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_day,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_hour,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_min,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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 </td> +<td class=PParameter nowrap>pl_year,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_mon,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_day,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_hour,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_min,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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 </td> +<td class=PParameter nowrap>t_stop,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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 </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> </td> +<td class=PTypePrefix nowrap>in universal </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>FloatList </td> +<td class=PParameter nowrap>head,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>IntegerList </td> +<td class=PParameter nowrap>head,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>IntegerList </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>$#! · 0-9 · A · <a href="Functions.html#B">B</a> · <a href="Functions.html#C">C</a> · <a href="Functions.html#D">D</a> · <a href="Functions.html#E">E</a> · <a href="Functions2.html#F">F</a> · G · H · I · J · <a href="#K">K</a> · L · <a href="#M">M</a> · N · O · P · Q · <a href="#R">R</a> · <a href="#S">S</a> · T · U · V · W · <a href="#X">X</a> · Y · 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> </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> </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> </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> </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> </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> </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>$#! · 0-9 · <a href="#A">A</a> · <a href="#B">B</a> · <a href="#C">C</a> · <a href="#D">D</a> · <a href="#E">E</a> · <a href="General2.html#F">F</a> · G · H · <a href="General3.html#I">I</a> · J · <a href="General3.html#K">K</a> · L · <a href="General3.html#M">M</a> · N · <a href="General3.html#O">O</a> · <a href="General3.html#P">P</a> · Q · <a href="General3.html#R">R</a> · <a href="General3.html#S">S</a> · <a href="General3.html#T">T</a> · <a href="General3.html#U">U</a> · <a href="General3.html#V">V</a> · W · <a href="General3.html#X">X</a> · Y · <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> </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> </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> </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> </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> </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> </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> </td> +<td class=IEntry> +<a href="../files/TCCMaths_GenericTypes-ttcn.html#Constants" class=ISymbol>Constants</a></td></tr> +<tr> +<td class=ISymbolPrefix id=ILastSymbolPrefix> </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> </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> </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> </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> </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> </td> +<td class=IEntry> +<a href="../files/digcalc-h.html#digcalc.h" class=ISymbol>digcalc.h</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </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> </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> </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> </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> </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> </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> </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> </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </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>$#! · 0-9 · <a href="General.html#A">A</a> · <a href="General.html#B">B</a> · <a href="General.html#C">C</a> · <a href="General.html#D">D</a> · <a href="General.html#E">E</a> · <a href="#F">F</a> · G · H · <a href="General3.html#I">I</a> · J · <a href="General3.html#K">K</a> · L · <a href="General3.html#M">M</a> · N · <a href="General3.html#O">O</a> · <a href="General3.html#P">P</a> · Q · <a href="General3.html#R">R</a> · <a href="General3.html#S">S</a> · <a href="General3.html#T">T</a> · <a href="General3.html#U">U</a> · <a href="General3.html#V">V</a> · W · <a href="General3.html#X">X</a> · Y · <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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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 (“flushes”) 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’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’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’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’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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PParameter nowrap>pl_assertMessage,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>boolean </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 </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>IntegerList </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_key,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_input,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_key,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_input,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PParameter nowrap>nonce,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>cnonce,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>user,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>realm,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>passwd,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </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> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>nonce,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>cnonce,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>user,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>realm,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>passwd,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>alg,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>nonceCount,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>method,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>qop,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>URI,</td></tr> +<tr> +<td> </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>msg,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_64 </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>freq,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>altitude,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>start_val,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>len,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </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 </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>OCT_16 </td> +<td class=PParameter nowrap>Ki,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap></td> +<td class=PType nowrap>OCT_16 </td> +<td class=PParameter nowrap>rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>sres,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd</td> +<td class=PAfterParameters nowrap>) return integer</td></tr></table></td></tr></table></blockquote>Transfers (“flushes”) 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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_data,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_data,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>pl_text,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>pl_text,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap width=100%>pl_fd,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_fd,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>p_lambda,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>t_Poisson_Table </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 </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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ip,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>netmask,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>broadcast,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>hostname,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>p_lambda,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>inout </td> +<td class=PType nowrap>t_Poisson_Table </td> +<td class=PParameter nowrap>p_pTable,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>out </td> +<td class=PType nowrap>boolean </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 </td> +<td class=PParameter nowrap>pl_sec,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>OCT_6 </td> +<td class=PParameter nowrap>SQN,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_6 </td> +<td class=PParameter nowrap>AK,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_2 </td> +<td class=PParameter nowrap>AMF,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>OCT_8 </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_sqn,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_rand,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_sqn,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_OP,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap width=100%>pl_k,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_OP,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>pl_k,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Protocol </td> +<td class=PParameter nowrap>protocol,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>spi,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_ExtensionList </td> +<td class=PType nowrap>extensionList </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> {},</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Algorithm </td> +<td class=PParameter nowrap>alg,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in boolean </td> +<td class=PType nowrap>setparitybit </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> false,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_IPsecMode </td> +<td class=PType nowrap>ipSecMode </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>srcAddress,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>dstAddress,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_Protocol </td> +<td class=PParameter nowrap width=100%>protocol,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto </td> +<td class=PType nowrap>transpProto </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> anyTranspProto,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyDirection </td> +<td class=PParameter nowrap>dir,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyRule </td> +<td class=PParameter nowrap>rule</td> +<td class=PDefaultValuePrefix> </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>srcAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>srcPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>dstAddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPrefixLen </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_prefixAll,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>dstPort </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> c_TCCIPsec_anyPort,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in TCCIPsec_TranspProto </td> +<td class=PType nowrap>transpProto </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </td> +<td class=PDefaultValue width=100%> anyTranspProto,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCIPsec_PolicyDirection </td> +<td class=PParameter nowrap>dir</td> +<td class=PDefaultValuePrefix> </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>FloatList </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’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 </td> +<td class=PType nowrap>IntegerList </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’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 </td> +<td class=PType nowrap>FloatList </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’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 </td> +<td class=PType nowrap>IntegerList </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’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 </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>instr,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>expression,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>base,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>p_env_name,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </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 </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parInStr,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in charstring </td> +<td class=PType nowrap>parInStr </td> +<td class=PParameter nowrap width=100%>,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap width=100%>parSubStrA,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCInterface_IPAddressType </td> +<td class=PParameter nowrap>addressType:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>interface,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>ipaddress,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>subnetmask,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </td> +<td class=PParameter nowrap>broadcast,</td> +<td class=PDefaultValuePrefix> </td> +<td class=PDefaultValue width=100%></td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in integer </td> +<td class=PType nowrap>number </td> +<td class=PParameter nowrap>:</td> +<td class=PDefaultValuePrefix> = </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>freq,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>altitude,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </td> +<td class=PParameter nowrap>start_val,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>len,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>integer </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 </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>FloatList </td> +<td class=PParameter nowrap>flist,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>IntegerList </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 </td> +<td class=PType nowrap>IntegerList </td> +<td class=PParameter nowrap>ilist,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>float </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 </td> +<td class=PType nowrap>octetstring </td> +<td class=PParameter nowrap>par1,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>octetstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCSubstitutionList </td> +<td class=PParameter nowrap width=100%>pl_dict,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>TCCSubstitutionList </td> +<td class=PParameter nowrap width=100%>pl_dict,</td></tr> +<tr> +<td> </td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PParameter nowrap>pl_year,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_mon,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_day,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_hour,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_min,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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 </td> +<td class=PParameter nowrap>pl_year,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_mon,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_day,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_hour,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </td> +<td class=PParameter nowrap>pl_min,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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 </td> +<td class=PParameter nowrap>t_stop,</td></tr> +<tr> +<td></td> +<td class=PType nowrap>integer </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 </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> </td> +<td class=PTypePrefix nowrap>in universal </td> +<td class=PType nowrap>charstring </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 </td> +<td class=PType nowrap>FloatList </td> +<td class=PParameter nowrap>head,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>FloatList </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 </td> +<td class=PType nowrap>IntegerList </td> +<td class=PParameter nowrap>head,</td></tr> +<tr> +<td></td> +<td class=PTypePrefix nowrap>in </td> +<td class=PType nowrap>IntegerList </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>$#! · 0-9 · <a href="General.html#A">A</a> · <a href="General.html#B">B</a> · <a href="General.html#C">C</a> · <a href="General.html#D">D</a> · <a href="General.html#E">E</a> · <a href="General2.html#F">F</a> · G · H · <a href="#I">I</a> · J · <a href="#K">K</a> · L · <a href="#M">M</a> · N · <a href="#O">O</a> · <a href="#P">P</a> · Q · <a href="#R">R</a> · <a href="#S">S</a> · <a href="#T">T</a> · <a href="#U">U</a> · <a href="#V">V</a> · W · <a href="#X">X</a> · Y · <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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </td> +<td class=IEntry> +<a href="../files/TCCConversion-cc.html#TCCConversion.cc" class=ISymbol>TCCConversion.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </td> +<td class=IEntry> +<a href="../files/TCCDateTime-cc.html#TCCDateTime.cc" class=ISymbol>TCCDateTime.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </td> +<td class=IEntry> +<a href="../files/TCCEncoding-cc.html#TCCEncoding.cc" class=ISymbol>TCCEncoding.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </td> +<td class=IEntry> +<a href="../files/TCCEnv-cc.html#TCCEnv.cc" class=ISymbol>TCCEnv.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </td> +<td class=IEntry> +<a href="../files/TCCFileIO-cc.html#TCCFileIO.cc" class=ISymbol>TCCFileIO.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </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> </td> +<td class=IEntry> +<a href="../files/TCCInterface-cc.html#TCCInterface.cc" class=ISymbol>TCCInterface.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </td> +<td class=IEntry> +<a href="../files/TCCMaths-cc.html#TCCMaths.cc" class=ISymbol>TCCMaths.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </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> </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> </td> +<td class=IEntry> +<a href="../files/TCCSecurity-cc.html#TCCSecurity.cc" class=ISymbol>TCCSecurity.cc</a></td></tr> +<tr> +<td class=ISymbolPrefix> </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> </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> </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> </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> </td> +<td class=IEntry> +<a href="../files/TCCMaths_GenericTypes-ttcn.html#Types" class=ISymbol>Types</a></td></tr> +<tr> +<td class=ISymbolPrefix id=ILastSymbolPrefix> </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> </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> </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> </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> </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> </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>$#! · 0-9 · A · <a href="#B">B</a> · C · D · E · <a href="#F">F</a> · G · H · <a href="#I">I</a> · J · K · L · M · N · <a href="#O">O</a> · P · Q · R · <a href="#S">S</a> · <a href="#T">T</a> · U · <a href="#V">V</a> · W · X · Y · 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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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>$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · <a href="#U">U</a> · V · W · X · Y · 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> </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; + + + +}