From 99c23ecaffbd68e6cc263da96b5a69d2d30a7b2e Mon Sep 17 00:00:00 2001
From: erititan <elemer.lelik@ericsson.com>
Date: Wed, 24 Aug 2016 08:41:06 +0200
Subject: [PATCH] Added f_verifyIpAddr in TCCInterface_Functions

---
 TCCUsefulFunctions_CNL113472_Common.tpd       |   4 +-
 TCCUsefulFunctions_CNL113472_IPsec.tpd        |   4 +-
 TCCUsefulFunctions_CNL113472_Interface.tpd    |   7 +-
 TCCUsefulFunctions_CNL113472_Maths.tpd        |   4 +-
 ...nctions_CNL113472_PermutatedParameters.tpd |   4 +-
 TCCUsefulFunctions_CNL113472_Regexp.tpd       |   4 +-
 TCCUsefulFunctions_CNL113472_TitanSim.tpd     |   4 +-
 TCCUsefulFunctions_CNL113472_XPath.tpd        |   4 +-
 doc/TCCUsefulFunctions_CNL113472_1551.doc     | Bin 388608 -> 391680 bytes
 doc/TCCUsefulFunctions_CNL113472_PRI.doc      | Bin 139776 -> 143360 bytes
 doc/apidoc/Data/ClassHierarchy.nd             | Bin
 doc/apidoc/Data/ConfigFileInfo.nd             | Bin
 doc/apidoc/Data/FileInfo.nd                   |   0
 doc/apidoc/Data/ImageFileInfo.nd              | Bin
 doc/apidoc/Data/ImageReferenceTable.nd        | Bin
 doc/apidoc/Data/IndexInfo.nd                  | Bin
 doc/apidoc/Data/PreviousMenuState.nd          | Bin
 doc/apidoc/Data/PreviousSettings.nd           | Bin
 doc/apidoc/Data/SymbolTable.nd                | Bin
 doc/apidoc/Menu.txt                           |   2 +-
 doc/apidoc/html/index.html                    |   5 +-
 doc/apidoc/html/javascript/main.js            |   0
 doc/apidoc/html/javascript/searchdata.js      |   0
 doc/apidoc/html/menu.html                     |   4 +-
 doc/apidoc/html/styles/1.css                  |   0
 doc/apidoc/html/styles/2.css                  |   0
 doc/apidoc/html/styles/main.css               |   0
 src/TCCAssertion.cc                           |  19 +-
 src/TCCAssertion_Functions.ttcn               |  20 +-
 src/TCCConversion.cc                          |  19 +-
 src/TCCConversion_Functions.ttcn              |  96 ++++---
 src/TCCDateTime.cc                            |  19 +-
 src/TCCDateTime_Functions.ttcn                |  19 +-
 src/TCCEncoding.cc                            |  19 +-
 src/TCCEncoding_Functions.ttcn                |  21 +-
 src/TCCEnv.cc                                 |  19 +-
 src/TCCEnv_Functions.ttcn                     |  19 +-
 src/TCCFileIO.cc                              |  54 +++-
 src/TCCFileIO_Functions.ttcn                  |  44 +++-
 src/TCCFileSystem.cc                          |  19 +-
 src/TCCFileSystem_Functions.ttcn              |  19 +-
 src/TCCIPsec.cc                               | 245 ++++++++++++++----
 src/TCCIPsec_Definitions.ttcn                 |  19 +-
 src/TCCIPsec_Functions.ttcn                   |  88 ++++++-
 src/TCCInterface.cc                           |  19 +-
 src/TCCInterface_Functions.ttcn               |  60 ++++-
 src/TCCInterface_ip.h                         |  19 +-
 src/TCCMaths.cc                               |  19 +-
 src/TCCMaths_Functions.ttcn                   |  19 +-
 src/TCCMaths_GenericTypes.ttcn                |  19 +-
 src/TCCMessageHandling.cc                     |  18 +-
 src/TCCMessageHandling_Functions.ttcn         |  19 +-
 src/TCCPermutatedParameters_Definitions.ttcn  |  21 +-
 src/TCCPermutatedParameters_Functions.ttcn    |  21 +-
 src/TCCRegexp.cc                              |  19 +-
 src/TCCRegexp_Functions.ttcn                  |  19 +-
 src/TCCSystem.cc                              |  19 +-
 src/TCCSystem_Functions.ttcn                  |  19 +-
 src/TCCTemplate_Functions.ttcn                |  19 +-
 src/TCCTitanMetadata.cc                       |  19 +-
 src/TCCTitanMetadata_Functions.ttcn           |  19 +-
 src/TCCUsefulFunctions_Library.grp            |  19 +-
 ...CCUsefulFunctions_PermutatedParameters.grp |  19 +-
 src/TCCXPathSupport.cc                        |  19 +-
 src/TCCXPathSupport_Functions.ttcn            |  19 +-
 65 files changed, 803 insertions(+), 444 deletions(-)
 mode change 100755 => 100644 doc/apidoc/Data/ClassHierarchy.nd
 mode change 100755 => 100644 doc/apidoc/Data/ConfigFileInfo.nd
 mode change 100755 => 100644 doc/apidoc/Data/FileInfo.nd
 mode change 100755 => 100644 doc/apidoc/Data/ImageFileInfo.nd
 mode change 100755 => 100644 doc/apidoc/Data/ImageReferenceTable.nd
 mode change 100755 => 100644 doc/apidoc/Data/IndexInfo.nd
 mode change 100755 => 100644 doc/apidoc/Data/PreviousMenuState.nd
 mode change 100755 => 100644 doc/apidoc/Data/PreviousSettings.nd
 mode change 100755 => 100644 doc/apidoc/Data/SymbolTable.nd
 mode change 100755 => 100644 doc/apidoc/Menu.txt
 mode change 100755 => 100644 doc/apidoc/html/javascript/main.js
 mode change 100755 => 100644 doc/apidoc/html/javascript/searchdata.js
 mode change 100755 => 100644 doc/apidoc/html/styles/1.css
 mode change 100755 => 100644 doc/apidoc/html/styles/2.css
 mode change 100755 => 100644 doc/apidoc/html/styles/main.css

diff --git a/TCCUsefulFunctions_CNL113472_Common.tpd b/TCCUsefulFunctions_CNL113472_Common.tpd
index 2314c04..6588123 100644
--- a/TCCUsefulFunctions_CNL113472_Common.tpd
+++ b/TCCUsefulFunctions_CNL113472_Common.tpd
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2015 Ericsson
+ Copyright (c) 2016 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
@@ -10,7 +10,7 @@
 
    File:               TCCUsefulFunctions_CNL113472_Common.tpd
    Description:        tpd project file
-   Rev:                R22B
+   Rev:                R25A
    Prodnr:             CNL 113 472
 
  -->
diff --git a/TCCUsefulFunctions_CNL113472_IPsec.tpd b/TCCUsefulFunctions_CNL113472_IPsec.tpd
index 961e065..ae7601c 100644
--- a/TCCUsefulFunctions_CNL113472_IPsec.tpd
+++ b/TCCUsefulFunctions_CNL113472_IPsec.tpd
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2015 Ericsson
+ Copyright (c) 2016 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
@@ -10,7 +10,7 @@
 
    File:               TCCUsefulFunctions_CNL113472_IPsec.tpd
    Description:        tpd project file
-   Rev:                R22B
+   Rev:                R25A
    Prodnr:             CNL 113 472
 
  -->
diff --git a/TCCUsefulFunctions_CNL113472_Interface.tpd b/TCCUsefulFunctions_CNL113472_Interface.tpd
index ce108f5..a669755 100644
--- a/TCCUsefulFunctions_CNL113472_Interface.tpd
+++ b/TCCUsefulFunctions_CNL113472_Interface.tpd
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2015 Ericsson
+ Copyright (c) 2016 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
@@ -10,12 +10,15 @@
 
    File:               TCCUsefulFunctions_CNL113472_Interface.tpd
    Description:        tpd project file
-   Rev:                R22B
+   Rev:                R25A
    Prodnr:             CNL 113 472
 
  -->
 <TITAN_Project_File_Information version="1.0">
   <ProjectName>TCCUsefulFunctions_CNL113472_Interface</ProjectName>
+  <ReferencedProjects>
+    <ReferencedProject name="TCCUsefulFunctions_CNL113472_Common" projectLocationURI="TCCUsefulFunctions_CNL113472_Common.tpd"/>
+  </ReferencedProjects>
   <Files>
     <FileResource projectRelativePath="TCCInterface.cc" relativeURI="src/TCCInterface.cc"/>
     <FileResource projectRelativePath="TCCInterface_Functions.ttcn" relativeURI="src/TCCInterface_Functions.ttcn"/>
diff --git a/TCCUsefulFunctions_CNL113472_Maths.tpd b/TCCUsefulFunctions_CNL113472_Maths.tpd
index def398a..c9fa16e 100644
--- a/TCCUsefulFunctions_CNL113472_Maths.tpd
+++ b/TCCUsefulFunctions_CNL113472_Maths.tpd
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2015 Ericsson
+ Copyright (c) 2016 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
@@ -10,7 +10,7 @@
 
    File:               TCCUsefulFunctions_CNL113472_Maths.tpd
    Description:        tpd project file
-   Rev:                R22B
+   Rev:                R25A
    Prodnr:             CNL 113 472
 
  -->
diff --git a/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd b/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd
index 4868d87..7ff0eca 100644
--- a/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd
+++ b/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2015 Ericsson
+ Copyright (c) 2016 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
@@ -10,7 +10,7 @@
 
    File:               TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd
    Description:        tpd project file
-   Rev:                R22B
+   Rev:                R25A
    Prodnr:             CNL 113 472
 
  -->
diff --git a/TCCUsefulFunctions_CNL113472_Regexp.tpd b/TCCUsefulFunctions_CNL113472_Regexp.tpd
index ded064f..3e996cf 100644
--- a/TCCUsefulFunctions_CNL113472_Regexp.tpd
+++ b/TCCUsefulFunctions_CNL113472_Regexp.tpd
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2015 Ericsson
+ Copyright (c) 2016 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
@@ -10,7 +10,7 @@
 
    File:               TCCUsefulFunctions_CNL113472_Regexp.tpd
    Description:        tpd project file
-   Rev:                R22B
+   Rev:                R25A
    Prodnr:             CNL 113 472
 
  -->
diff --git a/TCCUsefulFunctions_CNL113472_TitanSim.tpd b/TCCUsefulFunctions_CNL113472_TitanSim.tpd
index 02def4c..2a775d0 100644
--- a/TCCUsefulFunctions_CNL113472_TitanSim.tpd
+++ b/TCCUsefulFunctions_CNL113472_TitanSim.tpd
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2015 Ericsson
+ Copyright (c) 2016 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
@@ -10,7 +10,7 @@
 
    File:               TCCUsefulFunctions_CNL113472_TitanSim.tpd
    Description:        tpd project file
-   Rev:                R22B
+   Rev:                R25A
    Prodnr:             CNL 113 472
 
  -->
diff --git a/TCCUsefulFunctions_CNL113472_XPath.tpd b/TCCUsefulFunctions_CNL113472_XPath.tpd
index 809efac..4043c34 100644
--- a/TCCUsefulFunctions_CNL113472_XPath.tpd
+++ b/TCCUsefulFunctions_CNL113472_XPath.tpd
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2015 Ericsson
+ Copyright (c) 2016 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
@@ -10,7 +10,7 @@
 
    File:               TCCUsefulFunctions_CNL113472_XPath.tpd
    Description:        tpd project file
-   Rev:                R22B
+   Rev:                R25A
    Prodnr:             CNL 113 472
 
  -->
diff --git a/doc/TCCUsefulFunctions_CNL113472_1551.doc b/doc/TCCUsefulFunctions_CNL113472_1551.doc
index fc5b6cec28e0aea98e77b5bc8643be2da7c409f4..b82cc3a68ff785e12d9836e3b820fdf3cc504863 100644
GIT binary patch
delta 77908
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
RRjT~HFS%7lbh_h%{|_e9Q}h4;

delta 75126
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
Xk+sCIzIJ$V{k8D3W#b!RsonnohAt_G

diff --git a/doc/TCCUsefulFunctions_CNL113472_PRI.doc b/doc/TCCUsefulFunctions_CNL113472_PRI.doc
index caa94014f9635e48d5d8771da1e0c23760190556..a56962994c8b617bb5afdeeeb252a68cce4254b9 100644
GIT binary patch
delta 33509
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

delta 31977
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

diff --git a/doc/apidoc/Data/ClassHierarchy.nd b/doc/apidoc/Data/ClassHierarchy.nd
old mode 100755
new mode 100644
diff --git a/doc/apidoc/Data/ConfigFileInfo.nd b/doc/apidoc/Data/ConfigFileInfo.nd
old mode 100755
new mode 100644
diff --git a/doc/apidoc/Data/FileInfo.nd b/doc/apidoc/Data/FileInfo.nd
old mode 100755
new mode 100644
diff --git a/doc/apidoc/Data/ImageFileInfo.nd b/doc/apidoc/Data/ImageFileInfo.nd
old mode 100755
new mode 100644
diff --git a/doc/apidoc/Data/ImageReferenceTable.nd b/doc/apidoc/Data/ImageReferenceTable.nd
old mode 100755
new mode 100644
diff --git a/doc/apidoc/Data/IndexInfo.nd b/doc/apidoc/Data/IndexInfo.nd
old mode 100755
new mode 100644
diff --git a/doc/apidoc/Data/PreviousMenuState.nd b/doc/apidoc/Data/PreviousMenuState.nd
old mode 100755
new mode 100644
diff --git a/doc/apidoc/Data/PreviousSettings.nd b/doc/apidoc/Data/PreviousSettings.nd
old mode 100755
new mode 100644
diff --git a/doc/apidoc/Data/SymbolTable.nd b/doc/apidoc/Data/SymbolTable.nd
old mode 100755
new mode 100644
diff --git a/doc/apidoc/Menu.txt b/doc/apidoc/Menu.txt
old mode 100755
new mode 100644
index c11aca7..f53b1c2
--- a/doc/apidoc/Menu.txt
+++ b/doc/apidoc/Menu.txt
@@ -4,7 +4,7 @@ Format: 1.4
 Title: TCCUsefulFunctions
 SubTitle: R12A02
 
-Footer: Copyright 2015 Ericsson AB<br/><a href="http://ttcn.ericsson.se/">http://ttcn.ericsson.se</a>
+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
diff --git a/doc/apidoc/html/index.html b/doc/apidoc/html/index.html
index 45487b7..ac4e368 100644
--- a/doc/apidoc/html/index.html
+++ b/doc/apidoc/html/index.html
@@ -3,7 +3,10 @@
 <head>
 <title>TCCUsefulFunctions</title></head>
 
-<!--  Copyright (c) 2015 Ericsson AB -->
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
 
 <frameset cols="250,*">
   <frame name=Menu src="menu.html">
diff --git a/doc/apidoc/html/javascript/main.js b/doc/apidoc/html/javascript/main.js
old mode 100755
new mode 100644
diff --git a/doc/apidoc/html/javascript/searchdata.js b/doc/apidoc/html/javascript/searchdata.js
old mode 100755
new mode 100644
diff --git a/doc/apidoc/html/menu.html b/doc/apidoc/html/menu.html
index 31b8457..f637c1d 100644
--- a/doc/apidoc/html/menu.html
+++ b/doc/apidoc/html/menu.html
@@ -242,7 +242,7 @@ HideAllBut([], 21);// --></script></div>
 
 
 <div id=Footer>
-<p>Copyright 2015 Ericsson AB<br/>
+<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>
@@ -251,4 +251,4 @@ HideAllBut([], 21);// --></script></div>
 
 <script language=JavaScript>
 <!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
+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
old mode 100755
new mode 100644
diff --git a/doc/apidoc/html/styles/2.css b/doc/apidoc/html/styles/2.css
old mode 100755
new mode 100644
diff --git a/doc/apidoc/html/styles/main.css b/doc/apidoc/html/styles/main.css
old mode 100755
new mode 100644
diff --git a/src/TCCAssertion.cc b/src/TCCAssertion.cc
index c1b0f8d..41b38e3 100644
--- a/src/TCCAssertion.cc
+++ b/src/TCCAssertion.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2007                           //
+//                                                                           //
+// 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:               TCCAssertion.cc
 //  Description:        TCC Useful Functions: Assert Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2007-11-12
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCAssertion_Functions.ttcn b/src/TCCAssertion_Functions.ttcn
index dba6261..28bb7ad 100644
--- a/src/TCCAssertion_Functions.ttcn
+++ b/src/TCCAssertion_Functions.ttcn
@@ -1,17 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
-
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2007                           //
+//                                                                           //
+// 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:               TCCAssertion_Functions.ttcn
 //  Description:        TCC Useful Functions: Assert Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2007-11-12
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCConversion.cc b/src/TCCConversion.cc
index f3d7170..668203a 100644
--- a/src/TCCConversion.cc
+++ b/src/TCCConversion.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// 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:               TCCConversion.cc
 //  Description:        TCC Useful Functions: Conversion Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2013-04-15
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCConversion_Functions.ttcn b/src/TCCConversion_Functions.ttcn
index 031292e..c828ac6 100644
--- a/src/TCCConversion_Functions.ttcn
+++ b/src/TCCConversion_Functions.ttcn
@@ -1,18 +1,18 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2016                           //
+//                                                                           //
+// 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:               TCCConversion_Functions.ttcn
 //  Description:        TCC Useful Functions: Conversion Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
-//  Updated:            2013-09-23
 //  Contact:            http://ttcn.ericsson.se
 //
 ///////////////////////////////////////////////////////////////////////////////
@@ -552,7 +552,7 @@ function f_substr_all_tokens(in charstring str,
 //    because the function requires a type compatibility support for record of types
 //
 ///////////////////////////////////////////////////////////////////////////////
-
+const TCC_Conversion_ch_list TCC_Converion_ch_empty_list := {};
 function f_substr_all_tokens_oct(in octetstring str,
   in octetstring begin_token,
   in octetstring end_token) return TCC_Conversion_ch_list
@@ -573,8 +573,7 @@ function f_substr_all_tokens_oct(in octetstring str,
       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:{})
+          return TCC_Converion_ch_empty_list;
         }
         startIndex := endIndex + lengthof(end_token);
       } else {
@@ -667,32 +666,7 @@ external function f_strstr_oct(in octetstring s1,
 ///////////////////////////////////////////////////////////////////////////////
 //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));
+  return f_convertIPAddrToBinary(pl_ip);
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -953,7 +927,49 @@ public function f_str2int(in charstring pl_str) return integer {
   return str2int(substr(pl_str,  vl_zeros, lengthof(pl_str) - vl_zeros));
 }
 
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_prePadString
+//
+//  Purpose:
+//    Pads a string to fit in a specified length (pl_length).
+//    The pl_string will be prepended by the first character of pl_pad
+//    to reach the length specified by pl_length.
+//      The result string will be placed in pl_result, and function will
+//        return true.
+//      If the length of pl_string is longer than pl_length, the function
+//        will return false, as it cannot do the paddig.
+//
+//  Parameters:
+//    pl_string - *in* *charstring* - the string to augment
+//    pl_pad - *in* *charstring* - character to use for padding
+//    pl_length - *in* *integer* - desired length of result string
+//    pl_result - *inout* *charstring* - result string
+//
+//  Return Value:
+//    boolean - true if successful
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+public function f_prePadString(charstring pl_string, charstring pl_pad, integer pl_length, inout charstring pl_result)
+return boolean
+{
+  if( pl_length < lengthof(pl_string) ){
+    return false;
+  }
+  pl_result := "";
+  for(var integer vl_i := 0; vl_i<pl_length-lengthof(pl_string); vl_i := vl_i+1){
+    pl_result := pl_result & pl_pad[0];
+  }
+  pl_result := pl_result & pl_string;
+  return true;
+}
+
 }//end of module
 with {
-extension "version R22B"}
+extension "version R25A"}
 
diff --git a/src/TCCDateTime.cc b/src/TCCDateTime.cc
index 4ae1db4..68a73a1 100644
--- a/src/TCCDateTime.cc
+++ b/src/TCCDateTime.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2011                           //
+//                                                                           //
+// 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:               TCCDateTime.cc
 //  Description:        TCC Useful Functions: DateTime Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2011-06-29
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCDateTime_Functions.ttcn b/src/TCCDateTime_Functions.ttcn
index 365fbc5..023c0f0 100644
--- a/src/TCCDateTime_Functions.ttcn
+++ b/src/TCCDateTime_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2007                           //
+//                                                                           //
+// 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:               TCCDateTime_Functions.ttcn
 //  Description:        TCC Useful Functions: DateTime Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2011-06-29
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCEncoding.cc b/src/TCCEncoding.cc
index f79911a..9df864a 100644
--- a/src/TCCEncoding.cc
+++ b/src/TCCEncoding.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2012                           //
+//                                                                           //
+// 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:               TCCEncoding.cc
 //  Description:        TCC Useful Functions: Message Encoding Functions.
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2012-06-28
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCEncoding_Functions.ttcn b/src/TCCEncoding_Functions.ttcn
index 9bb1082..603ceb1 100644
--- a/src/TCCEncoding_Functions.ttcn
+++ b/src/TCCEncoding_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// 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:               TCCEncoding_Functions.ttcn
 //  Description:        TCC Useful Functions: Message Encoding Functions.
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2013-08-05
 //  Contact:            http://ttcn.ericsson.se
@@ -732,4 +733,4 @@ public function f_enc_TBCD_hex(in hexstring pl_hex) return octetstring
   return vl_oct;
 }
 
-} with {extension "version R22B"}
+} with {extension "version R25A"}
diff --git a/src/TCCEnv.cc b/src/TCCEnv.cc
index b3cd96b..d35c2a3 100644
--- a/src/TCCEnv.cc
+++ b/src/TCCEnv.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2008                           //
+//                                                                           //
+// 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:               TCCEnv.cc
 //  Description:        TCC Useful Functions: Environment Handling Functions.
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2008-01-18
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCEnv_Functions.ttcn b/src/TCCEnv_Functions.ttcn
index 355354c..a1e45e2 100644
--- a/src/TCCEnv_Functions.ttcn
+++ b/src/TCCEnv_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2008                           //
+//                                                                           //
+// 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:               TCCEnv_Functions.ttcn
 //  Description:        TCC Useful Functions: Environment Handling Functions.
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2008-01-18
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCFileIO.cc b/src/TCCFileIO.cc
index 7197eca..09b0b21 100644
--- a/src/TCCFileIO.cc
+++ b/src/TCCFileIO.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2009                           //
+//                                                                           //
+// 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:               TCCFileIO.cc
 //  Description:        TCC Useful Functions: FileIO Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2009-04-09
 //  Contact:            http://ttcn.ericsson.se
@@ -1124,6 +1125,41 @@ BOOLEAN f__FIO__fileOrDirExists(const CHARSTRING& filename ) {
   return FALSE ;
 }
 
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_rename
+//
+//  Purpose:
+//    Renames a file.
+//
+//  Parameters:
+//    pl__old__name - *in* *charstring* - file/directory that needs to be renamed
+//    pl__new__name - *in* *charstring* - new name of the file/directory
+//
+//  Return Value:
+//    boolean - indicate that the rename procedure was successful or not
+//
+//  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:
+//    Permissions needed to rename the file/directory.
+//    The file or directory, that would be renamed, should exist, otherwise it
+//    returns false. The rename procedure fails in case of the target path is
+//    not exist.
+//
+///////////////////////////////////////////////////////////////////////////////
+
+BOOLEAN f__FIO__rename(const CHARSTRING& pl__old__name, const CHARSTRING& pl__new__name)
+{
+  if(rename((const char *)(pl__old__name), (const char *)(pl__new__name)))
+  {
+    f__FIO__realize__error("f_FIO_rename", "Cannot rename the given file or directory.", __FILE__, __LINE__);
+    return FALSE;
+  } else
+    return TRUE;
+}
+
 ///////////////////////////////////////////////////////////////////////////////
 //  Function: f_FIO_stat
 // 
diff --git a/src/TCCFileIO_Functions.ttcn b/src/TCCFileIO_Functions.ttcn
index 058197c..f78878b 100644
--- a/src/TCCFileIO_Functions.ttcn
+++ b/src/TCCFileIO_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2009                           //
+//                                                                           //
+// 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:               TCCFileIO_Functions.ttcn
 //  Description:        TCC Useful Functions: FileIO Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2009-04-09
 //  Contact:            http://ttcn.ericsson.se
@@ -456,6 +457,31 @@ external function f_FIO_rmdir (in charstring p_dir_name) return boolean;
 ///////////////////////////////////////////////////////////////////////////////
 external function f_FIO_fileOrDirExists (in charstring p_name) return boolean;
 
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_FIO_rename
+//
+//  Purpose:
+//    Renames a file.
+//
+//  Parameters:
+//    pl__old__name - *in* *charstring* - file/directory that needs to be renamed
+//    pl__new__name - *in* *charstring* - new name of the file/directory
+//
+//  Return Value:
+//    boolean - indicate that the rename procedure was successful or not
+//
+//  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:
+//    Permissions needed to rename the file/directory.
+//    The file or directory, that would be renamed, should exist, otherwise it
+//    returns false. The rename procedure fails in case of the target path is
+//    not exist.
+//
+///////////////////////////////////////////////////////////////////////////////
+external function f_FIO_rename(in charstring p_old_name, in charstring p_new_name) return boolean;
 
 type record FIO_permissions{
   boolean   set_uid       optional, // Set user ID on execution.
diff --git a/src/TCCFileSystem.cc b/src/TCCFileSystem.cc
index 93fffe6..4cc851a 100644
--- a/src/TCCFileSystem.cc
+++ b/src/TCCFileSystem.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2011                           //
+//                                                                           //
+// 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:               TCCFileSystem.cc
 //  Description:        TCC Useful Functions: FileSystem Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2011-07-14
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCFileSystem_Functions.ttcn b/src/TCCFileSystem_Functions.ttcn
index 113d698..62b96ba 100644
--- a/src/TCCFileSystem_Functions.ttcn
+++ b/src/TCCFileSystem_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2011                           //
+//                                                                           //
+// 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:               TCC_FileSystem_Functions.ttcn
 //  Description:        TCC Useful Functions: FileSystem Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2011-07-14
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCIPsec.cc b/src/TCCIPsec.cc
index e7b3621..4dc4224 100644
--- a/src/TCCIPsec.cc
+++ b/src/TCCIPsec.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2016                           //
+//                                                                           //
+// 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:               TCCIPsec.cc
 //  Description:        TCC Useful Functions: IPsec Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2012-10-31
 //  Contact:            http://ttcn.ericsson.se
@@ -78,9 +79,10 @@ int           sd = -1;
 
 class PfKey
 {
-  unsigned int  seq;
-  unsigned char rdBuf[2048];
+  static unsigned int  TCCIPsec_PfKey_seq;
 
+  public:
+  unsigned char rdBuf[2048];
   int cnvErr ( int osErr ) {
     int err = TCCIPsec__Result::socketError;
     switch ( osErr ) {
@@ -99,26 +101,29 @@ class PfKey
     return err;
   }
 
+  private:
   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 );
+    if(TTCN_Logger::log_this_event(TTCN_DEBUG)) {
+      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( " %03i ", i + 1 );
+          }
         }
       }
-    }*/
-    TTCN_Logger::end_event();
+      TTCN_Logger::end_event();
+    }
   }
-    
+
 public:
   PfKey () throw ( Error ) {
     if (sd < 0){
@@ -128,18 +133,17 @@ public:
 	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 );
+    !TCCIPsec_PfKey_seq ? TCCIPsec_PfKey_seq = getpid() : TCCIPsec_PfKey_seq++;
+    TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::PfKey: sd: %i, initial seq: 0x%08X", sd, TCCIPsec_PfKey_seq );
   }
   ~PfKey () { /*close ( sd );*/ }
-  unsigned int getSeq () { return seq; }
+  unsigned int getSeq () { return TCCIPsec_PfKey_seq; }
 
-  int receive ( const void ** buf ) throw ( Error ) {
+  int receive ( ) throw ( Error ) {
     for (;;) {
-      * buf = 0;
-      int r = recv ( sd, rdBuf, sizeof ( rdBuf ), MSG_DONTWAIT );
+      int r = recv ( sd, rdBuf, sizeof ( rdBuf ), MSG_DONTWAIT );  // #ED note: MSG_WAITALL seem to return EINVAL (Invalid Argument)
       if ( r < 0 ) {
         if ( errno != EAGAIN ) {
           TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::receive: OS error: %i: \"%s\"", errno, strerror ( errno ) );
@@ -147,19 +151,20 @@ public:
         }
         return 0;
       }
-      if ( r == 0 )
+      if ( r == 0 ) {
+        TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: PfKey::receive: received answer length 0" );
         return 0;
+      }
       dump ( "TCCIPsec: PfKey::receive: ", rdBuf, r );
-      sadb_msg  * msg = (sadb_msg*) rdBuf;
+      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 ||
+           msg->sadb_msg_seq != TCCIPsec_PfKey_seq ||
            (int) msg->sadb_msg_pid != getpid () ) {
-        TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::receive: Received mesasage discarded" );
+        TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::receive: Received message discarded" );
         continue;
       }
-      * buf = (const void*) rdBuf;
       return r;
     }
   }
@@ -182,12 +187,11 @@ public:
       len -= r;
     }
   }
-  
+
   void checkAnswer () throw ( Error ) {
-    const void * buf;
     int r = 0;
     for ( int i = 1;; ++i ) {
-      r = receive ( & buf );
+      r = receive ( );
       if ( r > 0 ) break;
       if ( i > 5 ) {
         TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::checkAnswer: No answer" );
@@ -196,21 +200,24 @@ public:
       TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::checkAnswer: try again (%i)", i );
       usleep ( 0 );
     }
-    int res = ((const sadb_msg*) rdBuf )->sadb_msg_errno;
+    sadb_msg * msg = (sadb_msg*) rdBuf;
+    int res = msg->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
 
+unsigned int  PfKey::TCCIPsec_PfKey_seq = 0;
+
 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;
@@ -219,7 +226,7 @@ int setSadbMsg ( void * buf, unsigned char type, unsigned char saType, unsigned
   msg->sadb_msg_reserved = 0;
   msg->sadb_msg_seq = seq;
   msg->sadb_msg_pid = getpid ();
-  return sizeof ( * msg );
+  return sizeof (sadb_msg);
 }
 
 int set_saEndPoint( void *buf, const char *address, int port)
@@ -322,7 +329,81 @@ inline unsigned short ipSecModeToIPMode ( const TCCIPsec__IPsecMode & ipSecMode
   }
 }
 
-TCCIPsec__Result f__IPsec__SADB__add (
+TCCIPsec__Result f__IPsec__SPI__get (
+    const CHARSTRING& srcAddress,
+    const CHARSTRING& dstAddress,
+    const TCCIPsec__Protocol& protocol,
+    INTEGER& spi)
+{
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: Enter" );
+  spi = -1;
+  try {
+    PfKey           pfKey;
+    unsigned char   msg[1024];
+    int             pos = sizeof(sadb_msg);
+
+    pos += setAddressPart ( msg + pos, SADB_EXT_ADDRESS_SRC, srcAddress );
+    pos += setAddressPart ( msg + pos, SADB_EXT_ADDRESS_DST, dstAddress );
+    setSadbMsg ( & msg, SADB_GETSPI, protocol, pos / 8, pfKey.getSeq () );
+
+    unsigned int r = 0;
+    for ( int i = 1;; i++ ) {
+      pfKey.send ( & msg, pos );
+      r = pfKey.receive ( );
+      if ( r > 0 ) break;
+      if ( i > 5 ) {
+        TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: No answer" );
+        return TCCIPsec__Result::socketError;
+      }
+      TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: try again (%i)", i );
+      usleep ( 0 );
+    }
+    sadb_msg * sa_msg = (sadb_msg*)pfKey.rdBuf;
+    int res = sa_msg->sadb_msg_errno;
+    if ( res != 0 ) {
+      TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: OS error in returned answer: %i: \"%s\"", res, strerror ( res ) );
+      return pfKey.cnvErr ( res );
+    }
+
+    if(sa_msg->sadb_msg_type != SADB_GETSPI) {
+      TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: response is not valid; SADB_GETSPI was expected" );
+      return TCCIPsec__Result::socketError;
+    }
+
+    TTCN_Logger::log( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: full message length: %u", (sa_msg-> sadb_msg_len) * 8);
+
+    pos = sizeof(sadb_msg);
+    sadb_ext *ext = NULL;          // generic extension type
+    sadb_sa *sa = NULL;            // SA extension type - the one we are looking for
+    do {                           // look through the response for SADB_EXT_SA extension containing the SPI we need
+      TTCN_Logger::log( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: pos: %u", pos );
+      ext = (sadb_ext*) (pfKey.rdBuf + pos);
+      if(ext -> sadb_ext_type == SADB_EXT_SA) {
+        sa = (sadb_sa*) (pfKey.rdBuf + pos);
+        break;
+      }
+      TTCN_Logger::log( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: jumping over extension: %u, length: %u", (unsigned int)ext -> sadb_ext_type, ext -> sadb_ext_len * 8 );
+      pos += (ext -> sadb_ext_len) * 8;
+    } while( pos < (sa_msg->sadb_msg_len) * 8 );
+
+    if(sa) {
+      spi = ntohl(sa -> sadb_sa_spi);
+      TTCN_Logger::log( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: got SPI: %u", (unsigned int)spi.get_long_long_val() );
+    } else {
+      TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: response is not valid; SADB_GETSPI / SADB_EXT_SA was expected" );
+      return TCCIPsec__Result::socketError;
+    }
+
+  } catch ( Error err ) {
+    TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: Leave (error)" );
+    return err.result;
+  }
+  TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: Leave (ok)" );
+  return TCCIPsec__Result::ok;
+}
+
+TCCIPsec__Result f__IPsec__SADB__add_or_update (
+    int method,
     const CHARSTRING& srcAddress,
     const CHARSTRING& dstAddress,
     const TCCIPsec__Protocol& protocol,
@@ -348,7 +429,7 @@ TCCIPsec__Result f__IPsec__SADB__add (
       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);
+    if (setparity) f__IPsec__setParityBits((unsigned char*)encrKey, encrKeyLen);
         break;
       case TCCIPsec__Algorithm::ALT_auth:
         authAlgo = TCCIPsec__AAlgo::enum_type ( alg.auth().algo() );
@@ -359,7 +440,7 @@ TCCIPsec__Result f__IPsec__SADB__add (
         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);
+    if (setparity) f__IPsec__setParityBits((unsigned char*)encrKey, encrKeyLen);
         break;
       default:
         throw Error ( TCCIPsec__Result::parameterInvalid );
@@ -437,7 +518,7 @@ TCCIPsec__Result f__IPsec__SADB__add (
             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 );
@@ -446,7 +527,7 @@ TCCIPsec__Result f__IPsec__SADB__add (
                 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);
@@ -463,9 +544,9 @@ TCCIPsec__Result f__IPsec__SADB__add (
                 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
@@ -475,7 +556,7 @@ TCCIPsec__Result f__IPsec__SADB__add (
           throw Error ( TCCIPsec__Result::parameterInvalid );
       }
     }
-    setSadbMsg ( & msg, SADB_ADD, protocol, len / 8, pfKey.getSeq () );
+    setSadbMsg ( & msg, method, protocol, len / 8, pfKey.getSeq () );
     pfKey.send ( & msg, len );
     pfKey.checkAnswer ();
   } catch ( Error err ) {
@@ -486,6 +567,34 @@ TCCIPsec__Result f__IPsec__SADB__add (
   return TCCIPsec__Result::ok;
 }
 
+TCCIPsec__Result f__IPsec__SADB__update (
+    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)
+{
+  return f__IPsec__SADB__add_or_update(SADB_UPDATE, srcAddress, dstAddress, protocol, spi, extensionList, alg, setparitybit, useNatt, ipSecMode);
+}
+
+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)
+{
+  return f__IPsec__SADB__add_or_update(SADB_ADD, srcAddress, dstAddress, protocol, spi, extensionList, alg, setparitybit, useNatt, ipSecMode);
+}
+
 TCCIPsec__Result f__IPsec__SADB__delete (
     const CHARSTRING& srcAddress,
     const CHARSTRING& dstAddress,
@@ -703,6 +812,38 @@ TCCIPsec__Result f__IPsec__SPDB__flush ()
 #endif // defined USE_IPSEC || defined USE_KAME_IPSEC
 
 #if ! defined USE_IPSEC && ! defined USE_KAME_IPSEC
+
+TCCIPsec__Result f__IPsec__SPI__get (
+    const CHARSTRING& srcAddress,
+    const CHARSTRING& dstAddress,
+    const TCCIPsec__Protocol& protocol,
+    INTEGER& spi)
+{
+  static bool first = true;
+  if ( first ) {
+    TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: f__IPsec__SPI__get: IPsec support was not specified during compilation" );
+    first = false;
+  }
+  return TCCIPsec__Result::notImplemented;
+}
+TCCIPsec__Result f__IPsec__SADB__update (
+    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__update: IPsec support was not specified during compilation" );
+    first = false;
+  }
+  return TCCIPsec__Result::notImplemented;
+}
 TCCIPsec__Result f__IPsec__SADB__add (
     const CHARSTRING& srcAddress,
     const CHARSTRING& dstAddress,
diff --git a/src/TCCIPsec_Definitions.ttcn b/src/TCCIPsec_Definitions.ttcn
index 0cb87b2..7d2fed5 100644
--- a/src/TCCIPsec_Definitions.ttcn
+++ b/src/TCCIPsec_Definitions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2012                           //
+//                                                                           //
+// 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:               TCCIPsec_Definitions.ttcn
 //  Description:        TCC Useful Functions: Definitions for IPsec functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2012-10-31
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCIPsec_Functions.ttcn b/src/TCCIPsec_Functions.ttcn
index b4e96f7..5300418 100644
--- a/src/TCCIPsec_Functions.ttcn
+++ b/src/TCCIPsec_Functions.ttcn
@@ -1,18 +1,18 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2016                           //
+//                                                                           //
+// 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:               TCCIPsec_Functions.ttcn
 //  Description:        TCC Useful Functions: IPsec Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
-//  Updated:            2012-10-31
 //  Contact:            http://ttcn.ericsson.se
 //
 ///////////////////////////////////////////////////////////////////////////////
@@ -33,6 +33,74 @@
 module TCCIPsec_Functions {
   import from TCCIPsec_Definitions all;
 
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_IPsec_SPI_get
+//
+//  Purpose:
+//    Queries a unique SPI from the kernel
+//
+//  Parameters:
+//    srcAddress - *in* *charstring* - source IP address
+//    dstAddress - *in* *charstring* - destination IP address
+//    protocol - *in* <TCCIPsec_Protocol> - security protocol (esp or ah)
+//    spi - *out* *integer* - Security Parameter Index
+//
+//  Return Value:
+//    TCCIPsec_Result - indicates success (ok) or error
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+  external function f_IPsec_SPI_get (
+    in charstring               srcAddress,
+    in charstring               dstAddress,
+    in TCCIPsec_Protocol        protocol,
+    out integer                 spi
+  ) return TCCIPsec_Result;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_IPsec_SADB_update
+//
+//  Purpose:
+//    Updates a Security Association in 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_update (
+    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_add
 //
diff --git a/src/TCCInterface.cc b/src/TCCInterface.cc
index f6d54ed..14c57f3 100644
--- a/src/TCCInterface.cc
+++ b/src/TCCInterface.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2012                           //
+//                                                                           //
+// 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:               TCCInterface.cc
 //  Description:        TCC Useful Functions: Interface Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2012-10-18
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCInterface_Functions.ttcn b/src/TCCInterface_Functions.ttcn
index 7a7cec8..3243f4f 100644
--- a/src/TCCInterface_Functions.ttcn
+++ b/src/TCCInterface_Functions.ttcn
@@ -1,18 +1,19 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2016                           //
+//                                                                           //
+// 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:               TCCInterface_Functions.ttcn
 //  Description:        TCC Useful Functions: Interface Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
-//  Updated:            2010-03-25
+//  Updated:            2016-06-06
 //  Contact:            http://ttcn.ericsson.se
 //
 ///////////////////////////////////////////////////////////////////////////////
@@ -31,7 +32,7 @@
 //
 ///////////////////////////////////////////////////////////////////////////////
 module TCCInterface_Functions {
-
+import from TCCConversion_Functions all
 ///////////////////////////////////////////////////////////////////////////////
 //  Record: IPAddresses
 // 
@@ -61,7 +62,8 @@ type record IPAddresses{
 type enumerated TCCInterface_IPAddressType 
 {
   IPv4,
-  IPv6
+  IPv6,
+  UNKNOWN
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -356,4 +358,38 @@ external function f_getIpAddr(in charstring hostname, in TCCInterface_IPAddressT
 // 
 ///////////////////////////////////////////////////////////////////////////////
 external function f_getIpAddresses(in charstring hostname) return IPAddresses;
+
+///////////////////////////////////////////////////////////////////////////////
+//  Function: f_verifyIpAddr
+//
+//  Purpose:
+//    Returns the given host is valid IPv4/IPv6 or not.
+//
+//  Parameters:
+//    pl_host   - *in* *charstring* - host to investigate
+//    pl_ipType - *TCCInterface_IPAddressType* - type of IP
+//
+//  Return Value:
+//    boolean - true if given host is an IPv4 or IPv6 valid address
+//
+//  Errors:
+//    -
+//
+//  Detailed description:
+//    If pl_ipType  is not default value "UNKNOWN",
+//       function also check matching real IP type of host with
+//       given type in parameter
+//
+///////////////////////////////////////////////////////////////////////////////
+public function f_verifyIpAddr(in charstring pl_host, in TCCInterface_IPAddressType pl_ipType := UNKNOWN) return boolean
+{
+  var boolean vl_valid_ip := f_convertIPAddrToBinary(pl_host) != ''O;
+  if(vl_valid_ip and pl_ipType != UNKNOWN)
+  {
+    var boolean vl_ipv6_real := f_strstr(pl_host, ":") != -1;
+    if(pl_ipType == IPv4){return not vl_ipv6_real}
+    else if (pl_ipType == IPv6) {return vl_ipv6_real}
+  }
+  return vl_valid_ip
+}
 }
diff --git a/src/TCCInterface_ip.h b/src/TCCInterface_ip.h
index 5c4184d..c1a35a0 100644
--- a/src/TCCInterface_ip.h
+++ b/src/TCCInterface_ip.h
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2009                           //
+//                                                                           //
+// 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:               TCCInterface_ip.h
 //  Description:        TCC Useful Functions: Interface Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2009-02-02
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCMaths.cc b/src/TCCMaths.cc
index c01fc81..4d0aaad 100644
--- a/src/TCCMaths.cc
+++ b/src/TCCMaths.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2007                           //
+//                                                                           //
+// 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:               TCCMaths.cc
 //  Description:        TCC Useful Functions: Maths Functions.
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2007-03-07
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCMaths_Functions.ttcn b/src/TCCMaths_Functions.ttcn
index 4baee72..889f6f5 100644
--- a/src/TCCMaths_Functions.ttcn
+++ b/src/TCCMaths_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2008                           //
+//                                                                           //
+// 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:               TCCMaths_Functions.ttcn
 //  Description:        TCC Useful Functions: Math Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2008-12-10
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCMaths_GenericTypes.ttcn b/src/TCCMaths_GenericTypes.ttcn
index 03311d5..2197a64 100644
--- a/src/TCCMaths_GenericTypes.ttcn
+++ b/src/TCCMaths_GenericTypes.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2007                           //
+//                                                                           //
+// 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:               TCCMaths_GenericTypes.ttcn
 //  Description:        TCC Useful Functions: Generic Types For Maths
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2007-11-12
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCMessageHandling.cc b/src/TCCMessageHandling.cc
index 2014840..ad11881 100644
--- a/src/TCCMessageHandling.cc
+++ b/src/TCCMessageHandling.cc
@@ -1,15 +1,15 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// 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.cc
-//  Rev:      R22B
+//  Rev:      R25A
 //  Prodnr:   CNL 113 472
 //  Updated:  2013-11-07
 //  Contact:  http://ttcn.ericsson.se
diff --git a/src/TCCMessageHandling_Functions.ttcn b/src/TCCMessageHandling_Functions.ttcn
index 2d45d76..cc84f67 100644
--- a/src/TCCMessageHandling_Functions.ttcn
+++ b/src/TCCMessageHandling_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// 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_Functions.ttcn
 //  Description:        TCC Useful Functions: MessageHandling Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2013-03-28
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCPermutatedParameters_Definitions.ttcn b/src/TCCPermutatedParameters_Definitions.ttcn
index 6e1bda5..5199ff0 100644
--- a/src/TCCPermutatedParameters_Definitions.ttcn
+++ b/src/TCCPermutatedParameters_Definitions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// 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:               TCCPermutatedParameters_Definitions.ttcn
 //  Description:        definitions for permutated params
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2013-05-30
 //  Contact:            http://ttcn.ericsson.se
@@ -158,4 +159,4 @@ type record of PP_ParamSet PP_ParamSetList; // is each CGPN has its own current
 ///////////////////////////////////////////////////////////
 type set of PP_SingleParam PP_ParamSet;  // ie params belonging to one particular call
 
-} with { extension "version R22B"}
+} with { extension "version R25A"}
diff --git a/src/TCCPermutatedParameters_Functions.ttcn b/src/TCCPermutatedParameters_Functions.ttcn
index 6032fca..092e4df 100644
--- a/src/TCCPermutatedParameters_Functions.ttcn
+++ b/src/TCCPermutatedParameters_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// 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:               TCCPermutatedParameters_Functions.ttcn
 //  Description:        functions for permutated params
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2013-07-17
 //  Contact:            http://ttcn.ericsson.se
@@ -907,4 +908,4 @@ public function f_PP_getParamValueFromSet(
   return vl_ret;
 }
 
-} with { extension "version R22B"}
+} with { extension "version R25A"}
diff --git a/src/TCCRegexp.cc b/src/TCCRegexp.cc
index 80ab032..96cae5c 100644
--- a/src/TCCRegexp.cc
+++ b/src/TCCRegexp.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2009                           //
+//                                                                           //
+// 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:               TCCRegexp_Functions.ttcn
 //  Description:        TCC Useful Functions: Regexp Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2009-11-20
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCRegexp_Functions.ttcn b/src/TCCRegexp_Functions.ttcn
index f47c1aa..3fa2df0 100644
--- a/src/TCCRegexp_Functions.ttcn
+++ b/src/TCCRegexp_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2009                           //
+//                                                                           //
+// 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:               TCCRegexp_Functions.ttcn
 //  Description:        TCC Useful Functions: Regexp Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2009-11-20
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCSystem.cc b/src/TCCSystem.cc
index adfd719..6e6b246 100644
--- a/src/TCCSystem.cc
+++ b/src/TCCSystem.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2009                           //
+//                                                                           //
+// 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:               TCCSystem.cc
 //  Description:        TCC Useful Functions: System Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2009-04-10
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCSystem_Functions.ttcn b/src/TCCSystem_Functions.ttcn
index 64bf2be..82f925c 100644
--- a/src/TCCSystem_Functions.ttcn
+++ b/src/TCCSystem_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2009                           //
+//                                                                           //
+// 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:               TCCSystem_Functions.ttcn
 //  Description:        TCC Useful Functions: System Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2009-04-10
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCTemplate_Functions.ttcn b/src/TCCTemplate_Functions.ttcn
index f2e9c2b..ed604a9 100644
--- a/src/TCCTemplate_Functions.ttcn
+++ b/src/TCCTemplate_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2007                           //
+//                                                                           //
+// 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:               TCCTemplate_Functions.ttcn
 //  Description:        TCC Useful Functions: Template Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2007-12-20
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCTitanMetadata.cc b/src/TCCTitanMetadata.cc
index e9d4a21..cdec765 100644
--- a/src/TCCTitanMetadata.cc
+++ b/src/TCCTitanMetadata.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2007                           //
+//                                                                           //
+// 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:               TCCTitanMetadata.cc
 //  Description:        TCC Useful Functions: TitanMetadata Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2007-10-26
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCTitanMetadata_Functions.ttcn b/src/TCCTitanMetadata_Functions.ttcn
index 99038f5..723c70a 100644
--- a/src/TCCTitanMetadata_Functions.ttcn
+++ b/src/TCCTitanMetadata_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2007                           //
+//                                                                           //
+// 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:               TCCTitanMetadata_Functions.ttcn
 //  Description:        TCC Useful Functions: TitanMetadata Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2007-10-26
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCUsefulFunctions_Library.grp b/src/TCCUsefulFunctions_Library.grp
index caec779..a75bf7e 100644
--- a/src/TCCUsefulFunctions_Library.grp
+++ b/src/TCCUsefulFunctions_Library.grp
@@ -1,17 +1,18 @@
 <!--
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2012                           //
+//                                                                           //
+// 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) has been supplied.          //
+//                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 //
 //  File:        TCCUsefulFunctions_Library.grp
 //  Description: FileGroup file for TCCUsefulFunctions ApplicationLibrary
-//  Rev:         R22B
+//  Rev:         R25A
 //  Prodnr:      CNL 113 472
 //  Updated:     2012-03-26
 //  Contact:     http://ttcn.ericsson.se
diff --git a/src/TCCUsefulFunctions_PermutatedParameters.grp b/src/TCCUsefulFunctions_PermutatedParameters.grp
index 918c7b4..e8329ac 100644
--- a/src/TCCUsefulFunctions_PermutatedParameters.grp
+++ b/src/TCCUsefulFunctions_PermutatedParameters.grp
@@ -1,17 +1,18 @@
 <!--
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// 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) has been supplied.          //
+//                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 //
 //  File:        TCCUsefulFunctions_PermutatedParameters.grp
 //  Description: FileGroup file for TCCUsefulFunctions Permutated Parameters
-//  Rev:         R22B
+//  Rev:         R25A
 //  Prodnr:      CNL 113 472
 //  Updated:     2013-05-30
 //  Contact:     http://ttcn.ericsson.se
diff --git a/src/TCCXPathSupport.cc b/src/TCCXPathSupport.cc
index a8772de..1df4da0 100644
--- a/src/TCCXPathSupport.cc
+++ b/src/TCCXPathSupport.cc
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2008                           //
+//                                                                           //
+// 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:               TCCXPathSupport_Functions.ttcn
 //  Description:        TCC Useful Functions: XPath Support Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2008-08-26
 //  Contact:            http://ttcn.ericsson.se
diff --git a/src/TCCXPathSupport_Functions.ttcn b/src/TCCXPathSupport_Functions.ttcn
index 192d4f5..895ad2d 100644
--- a/src/TCCXPathSupport_Functions.ttcn
+++ b/src/TCCXPathSupport_Functions.ttcn
@@ -1,16 +1,17 @@
-/******************************************************************************
-* 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
-
-******************************************************************************/
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Copyright Test Competence Center (TCC) ETH 2008                           //
+//                                                                           //
+// 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:               TCCXPathSupport_Functions.ttcn
 //  Description:        TCC Useful Functions: XPath Support Functions
-//  Rev:                R22B
+//  Rev:                R25A
 //  Prodnr:             CNL 113 472
 //  Updated:            2008-08-26
 //  Contact:            http://ttcn.ericsson.se
-- 
GitLab