SF.net SVN: gar:[23818] csw/mgar/pkg/cfengine3/trunk

guengel at users.sourceforge.net guengel at users.sourceforge.net
Sun Jun 22 21:24:32 CEST 2014


Revision: 23818
          http://sourceforge.net/p/gar/code/23818
Author:   guengel
Date:     2014-06-22 19:24:25 +0000 (Sun, 22 Jun 2014)
Log Message:
-----------
New upstream release.

Modified Paths:
--------------
    csw/mgar/pkg/cfengine3/trunk/Makefile
    csw/mgar/pkg/cfengine3/trunk/checksums
    csw/mgar/pkg/cfengine3/trunk/files/changelog.CSW

Added Paths:
-----------
    csw/mgar/pkg/cfengine3/trunk/files/0001-Add-include-sys-loadavg.h-to-tests.h.patch
    csw/mgar/pkg/cfengine3/trunk/files/0002-Add-z-interpose-where-neccessary-in-unittests.patch
    csw/mgar/pkg/cfengine3/trunk/files/0003-Fix-lastseen_threaded_load.c.patch
    csw/mgar/pkg/cfengine3/trunk/files/0004-Disable-acceptance-tests.patch

Removed Paths:
-------------
    csw/mgar/pkg/cfengine3/trunk/files/0000-Disable-acceptance-test.patch
    csw/mgar/pkg/cfengine3/trunk/files/0002-Add-z-interpose-to-evalfunction_test-and-set_domainn.patch
    csw/mgar/pkg/cfengine3/trunk/files/0003-Make-it-compile-under-solaris-11.patch

Modified: csw/mgar/pkg/cfengine3/trunk/Makefile
===================================================================
--- csw/mgar/pkg/cfengine3/trunk/Makefile	2014-06-21 13:20:23 UTC (rev 23817)
+++ csw/mgar/pkg/cfengine3/trunk/Makefile	2014-06-22 19:24:25 UTC (rev 23818)
@@ -1,7 +1,7 @@
 # $Id$
 #
 NAME = cfengine3
-VERSION = 3.5.3
+VERSION = 3.6.0
 GARTYPE = v2
 GARCOMPILER = GCC4
 
@@ -16,7 +16,7 @@
 endef
 
 DISTNAME = cfengine-$(VERSION)
-MASTER_SITES = http://www.cfengine.com/source-code/download/
+MASTER_SITES = https://s3.amazonaws.com/cfengine.package-repos/tarballs/
 DISTFILES  = $(DISTNAME).tar.gz
 DISTFILES += $(NAME)rc
 DISTFILES += CSW$(NAME)utils.postinstall
@@ -38,9 +38,12 @@
 # uncomment the next line. Otherwise it is set by default to the value of MASTER_SITES
 # UPSTREAM_MASTER_SITES =
 
-PATCHFILES += 0000-Disable-acceptance-test.patch
-PATCHFILES += 0002-Add-z-interpose-to-evalfunction_test-and-set_domainn.patch
-PATCHFILES += 0003-Make-it-compile-under-solaris-11.patch
+#PATCHFILES += 0000-Disable-acceptance-test.patch
+#PATCHFILES += 0003-Make-it-compile-under-solaris-11.patch
+PATCHFILES += 0001-Add-include-sys-loadavg.h-to-tests.h.patch
+PATCHFILES += 0002-Add-z-interpose-where-neccessary-in-unittests.patch
+PATCHFILES += 0003-Fix-lastseen_threaded_load.c.patch
+PATCHFILES += 0004-Disable-acceptance-tests.patch
 
 #
 # CUSTOM VARIABLES
@@ -136,6 +139,8 @@
 EXTRA_CONFIGURE_ENV = LIBS="-lsocket -lnsl"
 
 include gar/category.mk
+# Require GNU id command...
+PATH:=/opt/csw/gnu:$(PATH)
 
 post-install-modulated: rename-cfengine-dir make-cfengine-workdir install-cfengine-links install-smf-manifests install-cfengine3rc install-cfengine3-csw-doc move-libpromises move-binaries
 	@$(MAKECOOKIE)

Modified: csw/mgar/pkg/cfengine3/trunk/checksums
===================================================================
--- csw/mgar/pkg/cfengine3/trunk/checksums	2014-06-21 13:20:23 UTC (rev 23817)
+++ csw/mgar/pkg/cfengine3/trunk/checksums	2014-06-22 19:24:25 UTC (rev 23818)
@@ -1 +1 @@
-c840eb0163924ca657ab180fe5a170b4  cfengine-3.5.3.tar.gz
+42b0d3a90a1b60bf25cf63ccd6366f59  cfengine-3.6.0.tar.gz

Deleted: csw/mgar/pkg/cfengine3/trunk/files/0000-Disable-acceptance-test.patch
===================================================================
--- csw/mgar/pkg/cfengine3/trunk/files/0000-Disable-acceptance-test.patch	2014-06-21 13:20:23 UTC (rev 23817)
+++ csw/mgar/pkg/cfengine3/trunk/files/0000-Disable-acceptance-test.patch	2014-06-22 19:24:25 UTC (rev 23818)
@@ -1,26 +0,0 @@
-From 4e30aaf0a0122218639f4232424d3e3b4877f2b7 Mon Sep 17 00:00:00 2001
-From: Rafael Ostertag <rafi at guengel.ch>
-Date: Sat, 28 Sep 2013 17:26:48 +0200
-Subject: [PATCH] Disable acceptance test.
-
-Tried to make it work, but didn't succeed, so I gave up...
----
- tests/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/Makefile.in b/tests/Makefile.in
-index fe93e76..b12df55 100644
---- a/tests/Makefile.in
-+++ b/tests/Makefile.in
-@@ -285,7 +285,7 @@ top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- workdir = @workdir@
--SUBDIRS = unit load acceptance
-+SUBDIRS = unit load
- all: all-recursive
- 
- .SUFFIXES:
--- 
-1.8.3.4
-

Added: csw/mgar/pkg/cfengine3/trunk/files/0001-Add-include-sys-loadavg.h-to-tests.h.patch
===================================================================
--- csw/mgar/pkg/cfengine3/trunk/files/0001-Add-include-sys-loadavg.h-to-tests.h.patch	                        (rev 0)
+++ csw/mgar/pkg/cfengine3/trunk/files/0001-Add-include-sys-loadavg.h-to-tests.h.patch	2014-06-22 19:24:25 UTC (rev 23818)
@@ -0,0 +1,24 @@
+From 86c74524fd8d2d66b1e72e80dd5f28889de5e0c8 Mon Sep 17 00:00:00 2001
+From: Rafael Ostertag <rafi at guengel.ch>
+Date: Sat, 21 Jun 2014 11:38:28 +0200
+Subject: [PATCH] Add #include <sys/loadavg.h> to tests.h.
+
+---
+ tests/unit/test.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/unit/test.h b/tests/unit/test.h
+index e4ce568..0cdf1a7 100644
+--- a/tests/unit/test.h
++++ b/tests/unit/test.h
+@@ -6,6 +6,7 @@
+ #include <setjmp.h>
+ #include <cmockery.h>
+ #include <stdio.h>
++#include <sys/loadavg.h>
+ 
+ #pragma GCC diagnostic ignored "-Wunused-parameter"
+ 
+-- 
+1.8.4.1
+

Deleted: csw/mgar/pkg/cfengine3/trunk/files/0002-Add-z-interpose-to-evalfunction_test-and-set_domainn.patch
===================================================================
--- csw/mgar/pkg/cfengine3/trunk/files/0002-Add-z-interpose-to-evalfunction_test-and-set_domainn.patch	2014-06-21 13:20:23 UTC (rev 23817)
+++ csw/mgar/pkg/cfengine3/trunk/files/0002-Add-z-interpose-to-evalfunction_test-and-set_domainn.patch	2014-06-22 19:24:25 UTC (rev 23818)
@@ -1,34 +0,0 @@
-From 7db6e67b943a7f8d04c0e9d05028239c0727a048 Mon Sep 17 00:00:00 2001
-From: Rafael Ostertag <raos at opencsw.org>
-Date: Thu, 26 Dec 2013 18:26:17 +0100
-Subject: [PATCH] Add -z interpose to evalfunction_test and set_domainname_test
-
----
- tests/unit/Makefile.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/unit/Makefile.in b/tests/unit/Makefile.in
-index 9304065..cfea627 100644
---- a/tests/unit/Makefile.in
-+++ b/tests/unit/Makefile.in
-@@ -205,7 +205,7 @@ domainname_test_DEPENDENCIES = ../../libpromises/libpromises.la \
- 	libtest.la
- evalfunction_test_SOURCES = evalfunction_test.c
- evalfunction_test_OBJECTS = evalfunction_test.$(OBJEXT)
--evalfunction_test_LDADD = $(LDADD)
-+evalfunction_test_LDADD = $(LDADD) -z interpose
- evalfunction_test_DEPENDENCIES = ../../libpromises/libpromises.la \
- 	libtest.la
- am_exec_config_test_OBJECTS = exec-config-test.$(OBJEXT) \
-@@ -728,7 +728,7 @@ csv_writer_test_SOURCES = csv_writer_test.c ../../libutils/csv_writer.c
- csv_writer_test_LDADD = libtest.la libstr.la
- conversion_test_SOURCES = conversion_test.c ../../libpromises/conversion.c
- set_domainname_test_SOURCES = set_domainname_test.c
--set_domainname_test_LDADD = libstr.la ../../libpromises/libpromises.la
-+set_domainname_test_LDADD = -z interpose libstr.la ../../libpromises/libpromises.la
- str_test_SOURCES = str_test.c
- str_test_LDADD = libstr.la
- xml_writer_test_SOURCES = xml_writer_test.c ../../libutils/xml_writer.c
--- 
-1.8.4.1
-

Added: csw/mgar/pkg/cfengine3/trunk/files/0002-Add-z-interpose-where-neccessary-in-unittests.patch
===================================================================
--- csw/mgar/pkg/cfengine3/trunk/files/0002-Add-z-interpose-where-neccessary-in-unittests.patch	                        (rev 0)
+++ csw/mgar/pkg/cfengine3/trunk/files/0002-Add-z-interpose-where-neccessary-in-unittests.patch	2014-06-22 19:24:25 UTC (rev 23818)
@@ -0,0 +1,34 @@
+From bec3b817f076a97120e0056b4e9e035499855e2c Mon Sep 17 00:00:00 2001
+From: Rafael Ostertag <rafi at guengel.ch>
+Date: Sat, 21 Jun 2014 12:02:09 +0200
+Subject: [PATCH] Add '-z interpose' where neccessary in unittests.
+
+---
+ tests/unit/Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/unit/Makefile.in b/tests/unit/Makefile.in
+index aa5f106..67f011b 100644
+--- a/tests/unit/Makefile.in
++++ b/tests/unit/Makefile.in
+@@ -339,7 +339,7 @@ eval_context_test_DEPENDENCIES = ../../libpromises/libpromises.la \
+ 	libtest.la
+ evalfunction_test_SOURCES = evalfunction_test.c
+ evalfunction_test_OBJECTS = evalfunction_test.$(OBJEXT)
+-evalfunction_test_LDADD = $(LDADD)
++evalfunction_test_LDADD = $(LDADD) -z interpose
+ evalfunction_test_DEPENDENCIES = ../../libpromises/libpromises.la \
+ 	libtest.la
+ am_exec_config_test_OBJECTS = exec-config-test.$(OBJEXT) \
+@@ -1254,7 +1254,7 @@ conversion_test_SOURCES = conversion_test.c ../../libpromises/conversion.c
+ @BUILTIN_EXTENSIONS_FALSE at cfengine_enterprise_la_LDFLAGS = -avoid-version -module -shared -export-dynamic -rpath /
+ @BUILTIN_EXTENSIONS_FALSE at EXTRA_enterprise_extension_test_DEPENDENCIES = cfengine-enterprise.la
+ set_domainname_test_SOURCES = set_domainname_test.c
+-set_domainname_test_LDADD = libstr.la ../../libpromises/libpromises.la
++set_domainname_test_LDADD = libstr.la ../../libpromises/libpromises.la -z interpose
+ str_test_SOURCES = str_test.c
+ str_test_LDADD = libstr.la
+ xml_writer_test_SOURCES = xml_writer_test.c ../../libutils/xml_writer.c
+-- 
+1.8.4.1
+

Added: csw/mgar/pkg/cfengine3/trunk/files/0003-Fix-lastseen_threaded_load.c.patch
===================================================================
--- csw/mgar/pkg/cfengine3/trunk/files/0003-Fix-lastseen_threaded_load.c.patch	                        (rev 0)
+++ csw/mgar/pkg/cfengine3/trunk/files/0003-Fix-lastseen_threaded_load.c.patch	2014-06-22 19:24:25 UTC (rev 23818)
@@ -0,0 +1,62 @@
+From 86c99cf2011c171e34bc3f016c2f80611312439d Mon Sep 17 00:00:00 2001
+From: Rafael Ostertag <rafi at guengel.ch>
+Date: Sun, 22 Jun 2014 20:31:48 +0200
+Subject: [PATCH] Fix lastseen_threaded_load.c.
+
+---
+ tests/load/lastseen_threaded_load.c | 25 ++++++++++++++++++++-----
+ 1 file changed, 20 insertions(+), 5 deletions(-)
+
+diff --git a/tests/load/lastseen_threaded_load.c b/tests/load/lastseen_threaded_load.c
+index a91c55d..9ff4744 100644
+--- a/tests/load/lastseen_threaded_load.c
++++ b/tests/load/lastseen_threaded_load.c
+@@ -17,7 +17,15 @@
+  * from child threads and read from the main one. It's only a test, so
+  * @ediosyncratic please spare me. */
+ time_t START_TIME;
+-char CFWORKDIR[CF_BUFSIZE];
++
++/*
++ * This doesn't work, since CFWORKDIR is defined in libpromises.so. So, whatever
++ * we do to this CFWORKDIR, it ain't be seen by libpromises.so.
++ *
++ * Why it works on FreeBSD, no clue so far...
++ *
++ * char CFWORKDIR[CF_BUFSIZE];
++ */
+ unsigned long      lastsaw_COUNTER[MAX_NUM_THREADS];
+ unsigned long     keycount_COUNTER[MAX_NUM_THREADS];
+ unsigned long scanlastseen_COUNTER[MAX_NUM_THREADS];
+@@ -179,7 +187,8 @@ void *scanlastseen_worker_thread(void *arg)
+ 
+ unsigned long child_COUNTER;
+ int PIPE_FD[2];
+-bool child_START = false;
++/* Hmm, that should be volatile */
++volatile bool child_START = false;
+ 
+ void print_progress_handler(int signum ARG_UNUSED)
+ {
+@@ -203,9 +212,15 @@ void worker_process()
+     int ret;
+ 
+     /* 0. Output stdout to pipe. */
+-    close(1);
+-    dup(PIPE_FD[1]);
+-    close(PIPE_FD[1]);
++    /* Really?
++     *  close(1);
++     *  dup(PIPE_FD[1]);
++     */
++    dup2(PIPE_FD[1], 1);
++    /* Is that smart? I believe it should be like that
++     * close(PIPE_FD[1]);
++     */
++    close(PIPE_FD[0]);
+ 
+     /* 1a. Register SIGUSR1 handler so that we start/finish the test */
+     new_handler = (struct sigaction) { .sa_handler = startstop_handler };
+-- 
+1.8.4.1
+

Deleted: csw/mgar/pkg/cfengine3/trunk/files/0003-Make-it-compile-under-solaris-11.patch
===================================================================
--- csw/mgar/pkg/cfengine3/trunk/files/0003-Make-it-compile-under-solaris-11.patch	2014-06-21 13:20:23 UTC (rev 23817)
+++ csw/mgar/pkg/cfengine3/trunk/files/0003-Make-it-compile-under-solaris-11.patch	2014-06-22 19:24:25 UTC (rev 23818)
@@ -1,2557 +0,0 @@
-From ae4b57fd3c073eecd9c21c0eeb59df73eddd0851 Mon Sep 17 00:00:00 2001
-From: Rafael Ostertag <raos at opencsw.org>
-Date: Fri, 27 Dec 2013 15:54:51 +0100
-Subject: [PATCH] Make it compile under solaris 11.
-
----
- cf-agent/cf-agent.c               |   4 +-
- cf-agent/files_editline.c         |   2 +-
- cf-agent/files_editxml.c          |   2 +-
- cf-agent/vercmp.c                 |   4 +-
- cf-agent/verify_environments.c    |   2 +-
- cf-agent/verify_exec.c            |   2 +-
- cf-agent/verify_files.c           |   4 +-
- cf-agent/verify_files_utils.c     |   2 +-
- cf-agent/verify_methods.c         |   2 +-
- cf-agent/verify_packages.c        |  24 +-
- cf-agent/verify_processes.c       |   2 +-
- cf-agent/verify_services.c        |  10 +-
- cf-execd/cf-execd.c               |   2 +-
- cf-gendoc/export_xml.c            |   4 +-
- cf-gendoc/manual.c                |   2 +-
- cf-monitord/verify_measurements.c |   2 +-
- libpromises/attributes.c          |   2 +-
- libpromises/bootstrap.c           |   6 +-
- libpromises/cf3.defs.h            |   4 +-
- libpromises/conversion.c          |   4 +-
- libpromises/evalfunction.c        | 466 +++++++++++++++++++-------------------
- libpromises/expand.c              |  30 +--
- libpromises/generic_agent.c       |   4 +-
- libpromises/policy.c              |   4 +-
- libpromises/rlist.c               |   4 +-
- libpromises/scope.c               |  18 +-
- libpromises/syntax.c              |  14 +-
- libpromises/syntax.h              |   4 +-
- libpromises/sysinfo.c             | 100 ++++----
- libpromises/unix.c                |  28 +--
- libpromises/vars.c                |  10 +-
- libpromises/verify_reports.c      |   2 +-
- tests/unit/assoc_test.c           |   2 +-
- tests/unit/exec-config-test.c     |   2 +-
- tests/unit/expand_test.c          |  30 +--
- tests/unit/scope_test.c           |   6 +-
- tests/unit/set_domainname_test.c  |   2 +-
- 37 files changed, 406 insertions(+), 406 deletions(-)
-
-diff --git a/cf-agent/cf-agent.c b/cf-agent/cf-agent.c
-index 61ca750..d969bc9 100644
---- a/cf-agent/cf-agent.c
-+++ b/cf-agent/cf-agent.c
-@@ -1311,7 +1311,7 @@ static void DefaultVarPromise(EvalContext *ctx, const Promise *pp)
- 
-     switch (dt)
-        {
--       case DATA_TYPE_STRING:
-+       case CFE_DATA_TYPE_STRING:
-        case DATA_TYPE_INT:
-        case DATA_TYPE_REAL:
- 
-@@ -1327,7 +1327,7 @@ static void DefaultVarPromise(EvalContext *ctx, const Promise *pp)
- 
-            break;
- 
--       case DATA_TYPE_STRING_LIST:
-+       case CFE_DATA_TYPE_STRING_LIST:
-        case DATA_TYPE_INT_LIST:
-        case DATA_TYPE_REAL_LIST:
- 
-diff --git a/cf-agent/files_editline.c b/cf-agent/files_editline.c
-index ab8e7a7..12dcde6 100644
---- a/cf-agent/files_editline.c
-+++ b/cf-agent/files_editline.c
-@@ -114,7 +114,7 @@ int ScheduleEditLineOperations(EvalContext *ctx, Bundle *bp, Attributes a, const
-         return false;
-     }
- 
--    ScopeNewSpecial(ctx, "edit", "filename", edcontext->filename, DATA_TYPE_STRING);
-+    ScopeNewSpecial(ctx, "edit", "filename", edcontext->filename, CFE_DATA_TYPE_STRING);
- 
-     for (pass = 1; pass < CF_DONEPASSES; pass++)
-     {
-diff --git a/cf-agent/files_editxml.c b/cf-agent/files_editxml.c
-index ebe953e..ef5510f 100644
---- a/cf-agent/files_editxml.c
-+++ b/cf-agent/files_editxml.c
-@@ -160,7 +160,7 @@ int ScheduleEditXmlOperations(EvalContext *ctx, Bundle *bp, Attributes a, const
-         return false;
-     }
- 
--    ScopeNewSpecial(ctx, "edit", "filename", edcontext->filename, DATA_TYPE_STRING);
-+    ScopeNewSpecial(ctx, "edit", "filename", edcontext->filename, CFE_DATA_TYPE_STRING);
- 
-     for (pass = 1; pass < CF_DONEPASSES; pass++)
-     {
-diff --git a/cf-agent/vercmp.c b/cf-agent/vercmp.c
-index ce932a5..3e32cf8 100644
---- a/cf-agent/vercmp.c
-+++ b/cf-agent/vercmp.c
-@@ -64,8 +64,8 @@ static VersionCmpResult RunCmpCommand(EvalContext *ctx, const char *command, con
-     char expanded_command[CF_EXPANDSIZE];
- 
-     {
--        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "v1" }, (Rval) { v1, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
--        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "v2" }, (Rval) { v2, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
-+        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "v1" }, (Rval) { v1, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-+        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "v2" }, (Rval) { v2, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-         ExpandScalar(ctx, "cf_pack_context", command, expanded_command);
- 
-         ScopeClear("cf_pack_context");
-diff --git a/cf-agent/verify_environments.c b/cf-agent/verify_environments.c
-index 67e6fab..fe0471f 100644
---- a/cf-agent/verify_environments.c
-+++ b/cf-agent/verify_environments.c
-@@ -136,7 +136,7 @@ void VerifyEnvironmentsPromise(EvalContext *ctx, Promise *pp)
-         }
- 
-         PromiseBanner(pp);
--        ScopeNewSpecial(ctx, "this", "promiser", pp->promiser, DATA_TYPE_STRING);
-+        ScopeNewSpecial(ctx, "this", "promiser", pp->promiser, CFE_DATA_TYPE_STRING);
- 
-         pexp = ExpandDeRefPromise(ctx, "this", pp);
-         VerifyEnvironments(ctx, a, pp);
-diff --git a/cf-agent/verify_exec.c b/cf-agent/verify_exec.c
-index 1dd7a86..b7c46d7 100644
---- a/cf-agent/verify_exec.c
-+++ b/cf-agent/verify_exec.c
-@@ -64,7 +64,7 @@ void VerifyExecPromise(EvalContext *ctx, Promise *pp)
- 
-     a = GetExecAttributes(ctx, pp);
- 
--    ScopeNewSpecial(ctx, "this", "promiser", pp->promiser, DATA_TYPE_STRING);
-+    ScopeNewSpecial(ctx, "this", "promiser", pp->promiser, CFE_DATA_TYPE_STRING);
- 
-     if (!SyntaxCheckExec(a, pp))
-     {
-diff --git a/cf-agent/verify_files.c b/cf-agent/verify_files.c
-index 8e28387..c1e556f 100644
---- a/cf-agent/verify_files.c
-+++ b/cf-agent/verify_files.c
-@@ -197,7 +197,7 @@ static void VerifyFilePromise(EvalContext *ctx, char *path, Promise *pp)
-     }
- 
-     ScopeDeleteSpecial("this", "promiser");
--    ScopeNewSpecial(ctx, "this", "promiser", path, DATA_TYPE_STRING);
-+    ScopeNewSpecial(ctx, "this", "promiser", path, CFE_DATA_TYPE_STRING);
-     
-     thislock = AcquireLock(ctx, path, VUQNAME, CFSTARTTIME, a.transaction, pp, false);
- 
-@@ -589,7 +589,7 @@ static void FindFilePromiserObjects(EvalContext *ctx, Promise *pp)
-     if (literal)
-     {
-         // Prime the promiser temporarily, may override later
--        ScopeNewSpecial(ctx, "this", "promiser", pp->promiser, DATA_TYPE_STRING);
-+        ScopeNewSpecial(ctx, "this", "promiser", pp->promiser, CFE_DATA_TYPE_STRING);
-         VerifyFilePromise(ctx, pp->promiser, pp);
-     }
-     else                        // Default is to expand regex paths
-diff --git a/cf-agent/verify_files_utils.c b/cf-agent/verify_files_utils.c
-index 85d0637..ef4de98 100644
---- a/cf-agent/verify_files_utils.c
-+++ b/cf-agent/verify_files_utils.c
-@@ -124,7 +124,7 @@ int VerifyFileLeaf(EvalContext *ctx, char *path, struct stat *sb, Attributes att
- /* We still need to augment the scope of context "this" for commands */
- 
-     ScopeDeleteSpecial("this", "promiser");
--    ScopeNewSpecial(ctx, "this", "promiser", path, DATA_TYPE_STRING);        // Parameters may only be scalars
-+    ScopeNewSpecial(ctx, "this", "promiser", path, CFE_DATA_TYPE_STRING);        // Parameters may only be scalars
- 
-     if (attr.transformer != NULL)
-     {
-diff --git a/cf-agent/verify_methods.c b/cf-agent/verify_methods.c
-index 14296e2..8288c56 100644
---- a/cf-agent/verify_methods.c
-+++ b/cf-agent/verify_methods.c
-@@ -227,7 +227,7 @@ static void GetReturnValue(EvalContext *ctx, char *scope, Promise *pp)
-                     snprintf(newname, CF_BUFSIZE, "%s", result);
-                 }
- 
--                EvalContextVariablePut(ctx, (VarRef) { NULL, PromiseGetBundle(pp)->name, newname }, assoc->rval, DATA_TYPE_STRING);
-+                EvalContextVariablePut(ctx, (VarRef) { NULL, PromiseGetBundle(pp)->name, newname }, assoc->rval, CFE_DATA_TYPE_STRING);
-             }
-         }
-         
-diff --git a/cf-agent/verify_packages.c b/cf-agent/verify_packages.c
-index fc8823d..38bec73 100644
---- a/cf-agent/verify_packages.c
-+++ b/cf-agent/verify_packages.c
-@@ -940,9 +940,9 @@ static void SchedulePackageOp(EvalContext *ctx, const char *name, const char *ve
- 
-     if ((a.packages.package_name_convention) || (a.packages.package_delete_convention))
-     {
--        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "name" }, (Rval) { name, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
--        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "version" }, (Rval) { version, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
--        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "arch" }, (Rval) { arch, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
-+        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "name" }, (Rval) { name, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-+        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "version" }, (Rval) { version, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-+        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "arch" }, (Rval) { arch, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
- 
-         if ((a.packages.package_delete_convention) && (a.packages.package_policy == PACKAGE_ACTION_DELETE))
-         {
-@@ -1004,9 +1004,9 @@ static void SchedulePackageOp(EvalContext *ctx, const char *name, const char *ve
-             if ((a.packages.package_file_repositories != NULL))
-             {
-                 {
--                    EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "name" }, (Rval) { name, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
--                    EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "version" }, (Rval) { "(.*)", RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
--                    EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "arch" }, (Rval) { arch, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
-+                    EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "name" }, (Rval) { name, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-+                    EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "version" }, (Rval) { "(.*)", RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-+                    EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "arch" }, (Rval) { arch, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-                     ExpandScalar(ctx, "cf_pack_context_anyver", a.packages.package_name_convention, refAnyVer);
- 
-                     ScopeClear("cf_pack_context_anyver");
-@@ -1124,9 +1124,9 @@ static void SchedulePackageOp(EvalContext *ctx, const char *name, const char *ve
-         if ((a.packages.package_file_repositories != NULL))
-         {
-             {
--                EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "name" }, (Rval) { name, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
--                EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "version" }, (Rval) { "(.*)", RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
--                EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "arch" }, (Rval) { arch, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
-+                EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "name" }, (Rval) { name, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-+                EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "version" }, (Rval) { "(.*)", RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-+                EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context_anyver", "arch" }, (Rval) { arch, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-                 ExpandScalar(ctx, "cf_pack_context_anyver", a.packages.package_name_convention, refAnyVer);
- 
-                 ScopeClear("cf_pack_context_anyver");
-@@ -1189,9 +1189,9 @@ static void SchedulePackageOp(EvalContext *ctx, const char *name, const char *ve
-                     }
- 
-                     {
--                        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "name" }, (Rval) { name, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
--                        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "version" }, (Rval) { instVer, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
--                        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "arch" }, (Rval) { instArch, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
-+                        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "name" }, (Rval) { name, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-+                        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "version" }, (Rval) { instVer, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-+                        EvalContextVariablePut(ctx, (VarRef) { NULL, "cf_pack_context", "arch" }, (Rval) { instArch, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-                         ExpandScalar(ctx, "cf_pack_context", a.packages.package_delete_convention, reference2);
-                         id_del = reference2;
- 
-diff --git a/cf-agent/verify_processes.c b/cf-agent/verify_processes.c
-index ebd9975..700f0d8 100644
---- a/cf-agent/verify_processes.c
-+++ b/cf-agent/verify_processes.c
-@@ -124,7 +124,7 @@ static void VerifyProcesses(EvalContext *ctx, Attributes a, Promise *pp)
-     }
- 
-     ScopeDeleteSpecial("this", "promiser");
--    ScopeNewSpecial(ctx, "this", "promiser", pp->promiser, DATA_TYPE_STRING);
-+    ScopeNewSpecial(ctx, "this", "promiser", pp->promiser, CFE_DATA_TYPE_STRING);
-     PromiseBanner(pp);
-     VerifyProcessOp(ctx, PROCESSTABLE, a, pp);
-     ScopeDeleteSpecial("this", "promiser");
-diff --git a/cf-agent/verify_services.c b/cf-agent/verify_services.c
-index 9adb726..613136e 100644
---- a/cf-agent/verify_services.c
-+++ b/cf-agent/verify_services.c
-@@ -163,7 +163,7 @@ void VerifyServices(EvalContext *ctx, Attributes a, Promise *pp)
-         return;
-     }
- 
--    ScopeNewSpecial(ctx, "this", "promiser", pp->promiser, DATA_TYPE_STRING);
-+    ScopeNewSpecial(ctx, "this", "promiser", pp->promiser, CFE_DATA_TYPE_STRING);
-     PromiseBanner(pp);
- 
-     if (strcmp(a.service.service_type, "windows") == 0)
-@@ -229,21 +229,21 @@ static void DoVerifyServices(EvalContext *ctx, Attributes a, Promise *pp)
-     switch (a.service.service_policy)
-     {
-     case SERVICE_POLICY_START:
--        ScopeNewSpecial(ctx, "this", "service_policy", "start", DATA_TYPE_STRING);
-+        ScopeNewSpecial(ctx, "this", "service_policy", "start", CFE_DATA_TYPE_STRING);
-         break;
- 
-     case SERVICE_POLICY_RESTART:
--        ScopeNewSpecial(ctx, "this", "service_policy", "restart", DATA_TYPE_STRING);
-+        ScopeNewSpecial(ctx, "this", "service_policy", "restart", CFE_DATA_TYPE_STRING);
-         break;
- 
-     case SERVICE_POLICY_RELOAD:
--        ScopeNewSpecial(ctx, "this", "service_policy", "reload", DATA_TYPE_STRING);
-+        ScopeNewSpecial(ctx, "this", "service_policy", "reload", CFE_DATA_TYPE_STRING);
-         break;
-         
-     case SERVICE_POLICY_STOP:
-     case SERVICE_POLICY_DISABLE:
-     default:
--        ScopeNewSpecial(ctx, "this", "service_policy", "stop", DATA_TYPE_STRING);
-+        ScopeNewSpecial(ctx, "this", "service_policy", "stop", CFE_DATA_TYPE_STRING);
-         break;
-     }
- 
-diff --git a/cf-execd/cf-execd.c b/cf-execd/cf-execd.c
-index 7f25dc2..0ac4cb1 100644
---- a/cf-execd/cf-execd.c
-+++ b/cf-execd/cf-execd.c
-@@ -553,7 +553,7 @@ static bool ScheduleRun(EvalContext *ctx, Policy **policy, GenericAgentConfig *c
-             free(existing_policy_server);
-         }
- 
--        ScopeNewSpecial(ctx, "sys", "policy_hub", POLICY_SERVER, DATA_TYPE_STRING);
-+        ScopeNewSpecial(ctx, "sys", "policy_hub", POLICY_SERVER, CFE_DATA_TYPE_STRING);
- 
-         GetNameInfo3(ctx, AGENT_TYPE_EXECUTOR);
-         GetInterfacesInfo(ctx, AGENT_TYPE_EXECUTOR);
-diff --git a/cf-gendoc/export_xml.c b/cf-gendoc/export_xml.c
-index e8699ff..1e8463c 100644
---- a/cf-gendoc/export_xml.c
-+++ b/cf-gendoc/export_xml.c
-@@ -454,8 +454,8 @@ static void XmlExportType(Writer *writer, const ConstraintSyntax *constraint_syn
-             break;
-         }
- 
--    case DATA_TYPE_STRING:
--    case DATA_TYPE_STRING_LIST:
-+    case CFE_DATA_TYPE_STRING:
-+    case CFE_DATA_TYPE_STRING_LIST:
-     case DATA_TYPE_CONTEXT:
-     case DATA_TYPE_CONTEXT_LIST:
-         /* XML ELEMENT -- ACCEPTED-VALUES */
-diff --git a/cf-gendoc/manual.c b/cf-gendoc/manual.c
-index f1096ee..18cca16 100644
---- a/cf-gendoc/manual.c
-+++ b/cf-gendoc/manual.c
-@@ -249,7 +249,7 @@ void TexinfoManual(EvalContext *ctx, const char *source_dir, const char *output_
- 
- // scopes const and sys
- 
--    ScopeNewSpecial(ctx, "edit", "filename", "x", DATA_TYPE_STRING);
-+    ScopeNewSpecial(ctx, "edit", "filename", "x", CFE_DATA_TYPE_STRING);
- 
-     ScopePutMatch(0, "x");
- 
-diff --git a/cf-monitord/verify_measurements.c b/cf-monitord/verify_measurements.c
-index 1c35a16..6ee995c 100644
---- a/cf-monitord/verify_measurements.c
-+++ b/cf-monitord/verify_measurements.c
-@@ -98,7 +98,7 @@ static bool CheckMeasureSanity(Measurement m, Promise *pp)
-             switch (m.data_type)
-             {
-             case DATA_TYPE_COUNTER:
--            case DATA_TYPE_STRING:
-+            case CFE_DATA_TYPE_STRING:
-             case DATA_TYPE_INT:
-             case DATA_TYPE_REAL:
-                 break;
-diff --git a/libpromises/attributes.c b/libpromises/attributes.c
-index 3b8e1f4..8c95b14 100644
---- a/libpromises/attributes.c
-+++ b/libpromises/attributes.c
-@@ -1608,7 +1608,7 @@ Measurement GetMeasurementConstraint(const EvalContext *ctx, const Promise *pp)
- 
-     if (m.data_type == DATA_TYPE_NONE)
-     {
--        m.data_type = DATA_TYPE_STRING;
-+        m.data_type = CFE_DATA_TYPE_STRING;
-     }
- 
-     m.history_type = ConstraintGetRvalValue(ctx, "history_type", pp, RVAL_TYPE_SCALAR);
-diff --git a/libpromises/bootstrap.c b/libpromises/bootstrap.c
-index 0cd27f1..c6dbe3f 100644
---- a/libpromises/bootstrap.c
-+++ b/libpromises/bootstrap.c
-@@ -113,12 +113,12 @@ void SetPolicyServer(EvalContext *ctx, const char *new_policy_server)
-     if (new_policy_server)
-     {
-         snprintf(POLICY_SERVER, CF_MAX_IP_LEN, "%s", new_policy_server);
--        ScopeNewSpecial(ctx, "sys", "policy_hub", new_policy_server, DATA_TYPE_STRING);
-+        ScopeNewSpecial(ctx, "sys", "policy_hub", new_policy_server, CFE_DATA_TYPE_STRING);
-     }
-     else
-     {
-         POLICY_SERVER[0] = '\0';
--        ScopeNewSpecial(ctx, "sys", "policy_hub", "undefined", DATA_TYPE_STRING);
-+        ScopeNewSpecial(ctx, "sys", "policy_hub", "undefined", CFE_DATA_TYPE_STRING);
-     }
- 
-     // Get the timestamp on policy update
-@@ -137,7 +137,7 @@ void SetPolicyServer(EvalContext *ctx, const char *new_policy_server)
-     char timebuf[26];
-     cf_strtimestamp_local(sb.st_mtime, timebuf);
-     
--    ScopeNewSpecial(ctx, "sys", "last_policy_update", timebuf, DATA_TYPE_STRING);
-+    ScopeNewSpecial(ctx, "sys", "last_policy_update", timebuf, CFE_DATA_TYPE_STRING);
- }
- 
- static char *PolicyServerFilename(const char *workdir)
-diff --git a/libpromises/cf3.defs.h b/libpromises/cf3.defs.h
-index c04c2a1..db6c565 100644
---- a/libpromises/cf3.defs.h
-+++ b/libpromises/cf3.defs.h
-@@ -428,10 +428,10 @@ typedef struct FnCall_ FnCall;
- 
- typedef enum
- {
--    DATA_TYPE_STRING,
-+    CFE_DATA_TYPE_STRING,
-     DATA_TYPE_INT,
-     DATA_TYPE_REAL,
--    DATA_TYPE_STRING_LIST,
-+    CFE_DATA_TYPE_STRING_LIST,
-     DATA_TYPE_INT_LIST,
-     DATA_TYPE_REAL_LIST,
-     DATA_TYPE_OPTION,
-diff --git a/libpromises/conversion.c b/libpromises/conversion.c
-index 4c4b7c6..81a8fe7 100644
---- a/libpromises/conversion.c
-+++ b/libpromises/conversion.c
-@@ -274,10 +274,10 @@ FileComparator FileComparatorFromString(const char *s)
- 
- static const char *datatype_strings[] =
- {
--    [DATA_TYPE_STRING] = "string",
-+    [CFE_DATA_TYPE_STRING] = "string",
-     [DATA_TYPE_INT] = "int",
-     [DATA_TYPE_REAL] = "real",
--    [DATA_TYPE_STRING_LIST] = "slist",
-+    [CFE_DATA_TYPE_STRING_LIST] = "slist",
-     [DATA_TYPE_INT_LIST] = "ilist",
-     [DATA_TYPE_REAL_LIST] = "rlist",
-     [DATA_TYPE_OPTION] = "option",
-diff --git a/libpromises/evalfunction.c b/libpromises/evalfunction.c
-index e714fec..e18970a 100644
---- a/libpromises/evalfunction.c
-+++ b/libpromises/evalfunction.c
-@@ -228,7 +228,7 @@ static FnCallResult FnCallAnd(EvalContext *ctx, FnCall *fp, Rlist *finalargs)
- /* We need to check all the arguments, ArgTemplate does not check varadic functions */
-     for (arg = finalargs; arg; arg = arg->next)
-     {
--        SyntaxTypeMatch err = CheckConstraintTypeMatch(id, (Rval) {arg->item, arg->type}, DATA_TYPE_STRING, "", 1);
-+        SyntaxTypeMatch err = CheckConstraintTypeMatch(id, (Rval) {arg->item, arg->type}, CFE_DATA_TYPE_STRING, "", 1);
-         if (err != SYNTAX_TYPE_MATCH_OK && err != SYNTAX_TYPE_MATCH_ERROR_UNEXPANDED)
-         {
-             FatalError(ctx, "in %s: %s", id, SyntaxTypeMatchToString(err));
-@@ -635,7 +635,7 @@ static FnCallResult FnCallConcat(EvalContext *ctx, FnCall *fp, Rlist *finalargs)
- /* We need to check all the arguments, ArgTemplate does not check varadic functions */
-     for (arg = finalargs; arg; arg = arg->next)
-     {
--        SyntaxTypeMatch err = CheckConstraintTypeMatch(id, (Rval) {arg->item, arg->type}, DATA_TYPE_STRING, "", 1);
-+        SyntaxTypeMatch err = CheckConstraintTypeMatch(id, (Rval) {arg->item, arg->type}, CFE_DATA_TYPE_STRING, "", 1);
-         if (err != SYNTAX_TYPE_MATCH_OK && err != SYNTAX_TYPE_MATCH_ERROR_UNEXPANDED)
-         {
-             FatalError(ctx, "in %s: %s", id, SyntaxTypeMatchToString(err));
-@@ -684,7 +684,7 @@ static FnCallResult FnCallIfElse(EvalContext *ctx, FnCall *fp, Rlist *finalargs)
-     /* We need to check all the arguments, ArgTemplate does not check varadic functions */
-     for (arg = finalargs; arg; arg = arg->next)
-     {
--        SyntaxTypeMatch err = CheckConstraintTypeMatch(id, (Rval) {arg->item, arg->type}, DATA_TYPE_STRING, "", 1);
-+        SyntaxTypeMatch err = CheckConstraintTypeMatch(id, (Rval) {arg->item, arg->type}, CFE_DATA_TYPE_STRING, "", 1);
-         if (err != SYNTAX_TYPE_MATCH_OK && err != SYNTAX_TYPE_MATCH_ERROR_UNEXPANDED)
-         {
-             FatalError(ctx, "in %s: %s", id, SyntaxTypeMatchToString(err));
-@@ -1611,7 +1611,7 @@ static FnCallResult FnCallGetFields(EvalContext *ctx, FnCall *fp, Rlist *finalar
-             for (rp = newlist; rp != NULL; rp = rp->next)
-             {
-                 snprintf(name, CF_MAXVARSIZE - 1, "%s[%d]", array_lval, vcount);
--                EvalContextVariablePut(ctx, (VarRef) { NULL, PromiseGetBundle(fp->caller)->name, name }, (Rval) { RlistScalarValue(rp), RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
-+                EvalContextVariablePut(ctx, (VarRef) { NULL, PromiseGetBundle(fp->caller)->name, name }, (Rval) { RlistScalarValue(rp), RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-                 Log(LOG_LEVEL_VERBOSE, "getfields: defining '%s' => '%s'", name, RlistScalarValue(rp));
-                 vcount++;
-             }
-@@ -1795,12 +1795,12 @@ static FnCallResult FnCallMapArray(EvalContext *ctx, FnCall *fp, Rlist *finalarg
- 
-             if (strlen(index) > 0)
-             {
--                ScopeNewSpecial(ctx, "this", "k", index, DATA_TYPE_STRING);
-+                ScopeNewSpecial(ctx, "this", "k", index, CFE_DATA_TYPE_STRING);
- 
-                 switch (assoc->rval.type)
-                 {
-                 case RVAL_TYPE_SCALAR:
--                    ScopeNewSpecial(ctx, "this", "v", assoc->rval.item, DATA_TYPE_STRING);
-+                    ScopeNewSpecial(ctx, "this", "v", assoc->rval.item, CFE_DATA_TYPE_STRING);
-                     ExpandScalar(ctx, PromiseGetBundle(fp->caller)->name, map, expbuf);
- 
-                     if (strstr(expbuf, "$(this.k)") || strstr(expbuf, "${this.k}") ||
-@@ -1819,7 +1819,7 @@ static FnCallResult FnCallMapArray(EvalContext *ctx, FnCall *fp, Rlist *finalarg
-                 case RVAL_TYPE_LIST:
-                     for (rp = assoc->rval.item; rp != NULL; rp = rp->next)
-                     {
--                        ScopeNewSpecial(ctx, "this", "v", rp->item, DATA_TYPE_STRING);
-+                        ScopeNewSpecial(ctx, "this", "v", rp->item, CFE_DATA_TYPE_STRING);
-                         ExpandScalar(ctx, PromiseGetBundle(fp->caller)->name, map, expbuf);
- 
-                         if (strstr(expbuf, "$(this.k)") || strstr(expbuf, "${this.k}") ||
-@@ -1903,7 +1903,7 @@ static FnCallResult FnCallMapList(EvalContext *ctx, FnCall *fp, Rlist *finalargs
-         return (FnCallResult) { FNCALL_FAILURE };
-     }
- 
--    if (retype != DATA_TYPE_STRING_LIST && retype != DATA_TYPE_INT_LIST && retype != DATA_TYPE_REAL_LIST)
-+    if (retype != CFE_DATA_TYPE_STRING_LIST && retype != DATA_TYPE_INT_LIST && retype != DATA_TYPE_REAL_LIST)
-     {
-         return (FnCallResult) { FNCALL_FAILURE };
-     }
-@@ -1911,7 +1911,7 @@ static FnCallResult FnCallMapList(EvalContext *ctx, FnCall *fp, Rlist *finalargs
-     for (const Rlist *rp = RvalRlistValue(rval); rp != NULL; rp = rp->next)
-     {
-         const char *current_value = RlistScalarValue(rp);
--        ScopeNewSpecial(ctx, "this", "this", current_value, DATA_TYPE_STRING);
-+        ScopeNewSpecial(ctx, "this", "this", current_value, CFE_DATA_TYPE_STRING);
- 
-         ExpandScalar(ctx, "this", map, expbuf);
- 
-@@ -2051,7 +2051,7 @@ static FnCallResult FnCallSelectServers(EvalContext *ctx, FnCall *fp, Rlist *fin
-             {
-                 Log(LOG_LEVEL_VERBOSE, "Host '%s' is alive and responding correctly", RlistScalarValue(rp));
-                 snprintf(buffer, CF_MAXVARSIZE - 1, "%s[%d]", array_lval, count);
--                EvalContextVariablePut(ctx, (VarRef) { NULL, PromiseGetBundle(fp->caller)->name, buffer }, (Rval) { rp->item, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
-+                EvalContextVariablePut(ctx, (VarRef) { NULL, PromiseGetBundle(fp->caller)->name, buffer }, (Rval) { rp->item, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-                 count++;
-             }
-         }
-@@ -2059,7 +2059,7 @@ static FnCallResult FnCallSelectServers(EvalContext *ctx, FnCall *fp, Rlist *fin
-         {
-             Log(LOG_LEVEL_VERBOSE, "Host '%s' is alive", RlistScalarValue(rp));
-             snprintf(buffer, CF_MAXVARSIZE - 1, "%s[%d]", array_lval, count);
--            EvalContextVariablePut(ctx, (VarRef) { NULL, PromiseGetBundle(fp->caller)->name, buffer }, (Rval) { rp->item, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
-+            EvalContextVariablePut(ctx, (VarRef) { NULL, PromiseGetBundle(fp->caller)->name, buffer }, (Rval) { rp->item, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
- 
-             if (IsDefinedClass(ctx, CanonifyName(rp->item), PromiseGetNamespace(fp->caller)))
-             {
-@@ -2099,7 +2099,7 @@ static FnCallResult FnCallShuffle(EvalContext *ctx, FnCall *fp, Rlist *finalargs
-         return (FnCallResult) { FNCALL_FAILURE };
-     }
- 
--    if (list_dtype != DATA_TYPE_STRING_LIST)
-+    if (list_dtype != CFE_DATA_TYPE_STRING_LIST)
-     {
-         Log(LOG_LEVEL_ERR, "Function '%s' expected a variable that resolves to a string list, got '%s'", fp->name, DataTypeToString(list_dtype));
-         return (FnCallResult) { FNCALL_FAILURE };
-@@ -2727,7 +2727,7 @@ static FnCallResult FnCallSort(EvalContext *ctx, FnCall *fp, Rlist *finalargs)
- 
-     VarRefDestroy(list_var_lval);
- 
--    if (list_var_dtype != DATA_TYPE_STRING_LIST)
-+    if (list_var_dtype != CFE_DATA_TYPE_STRING_LIST)
-     {
-         return (FnCallResult) { FNCALL_FAILURE };
-     }
-@@ -2748,7 +2748,7 @@ static FnCallResult FnCallFormat(EvalContext *ctx, FnCall *fp, Rlist *finalargs)
- /* We need to check all the arguments, ArgTemplate does not check varadic functions */
-     for (const Rlist *arg = finalargs; arg; arg = arg->next)
-     {
--        SyntaxTypeMatch err = CheckConstraintTypeMatch(id, (Rval) {arg->item, arg->type}, DATA_TYPE_STRING, "", 1);
-+        SyntaxTypeMatch err = CheckConstraintTypeMatch(id, (Rval) {arg->item, arg->type}, CFE_DATA_TYPE_STRING, "", 1);
-         if (err != SYNTAX_TYPE_MATCH_OK && err != SYNTAX_TYPE_MATCH_ERROR_UNEXPANDED)
-         {
-             FatalError(ctx, "in %s: %s", id, SyntaxTypeMatchToString(err));
-@@ -3549,7 +3549,7 @@ static FnCallResult FnCallRegExtract(EvalContext *ctx, FnCall *fp, Rlist *finala
-             else
-             {
-                 snprintf(var, CF_MAXVARSIZE - 1, "%s[%s]", arrayname, assoc->lval);
--                EvalContextVariablePut(ctx, (VarRef) { NULL, PromiseGetBundle(fp->caller)->name, var }, assoc->rval, DATA_TYPE_STRING);
-+                EvalContextVariablePut(ctx, (VarRef) { NULL, PromiseGetBundle(fp->caller)->name, var }, assoc->rval, CFE_DATA_TYPE_STRING);
-             }
-         }
-     }
-@@ -3766,7 +3766,7 @@ static FnCallResult FnCallReverse(EvalContext *ctx, FnCall *fp, Rlist *finalargs
-         return (FnCallResult) { FNCALL_FAILURE };
-     }
- 
--    if (list_dtype != DATA_TYPE_STRING_LIST)
-+    if (list_dtype != CFE_DATA_TYPE_STRING_LIST)
-     {
-         Log(LOG_LEVEL_ERR, "Function '%s' expected a variable that resolves to a string list, got '%s'", fp->name, DataTypeToString(list_dtype));
-         return (FnCallResult) { FNCALL_FAILURE };
-@@ -3836,7 +3836,7 @@ static FnCallResult FnCallOr(EvalContext *ctx, FnCall *fp, Rlist *finalargs)
- /* We need to check all the arguments, ArgTemplate does not check varadic functions */
-     for (arg = finalargs; arg; arg = arg->next)
-     {
--        SyntaxTypeMatch err = CheckConstraintTypeMatch(id, (Rval) {arg->item, arg->type}, DATA_TYPE_STRING, "", 1);
-+        SyntaxTypeMatch err = CheckConstraintTypeMatch(id, (Rval) {arg->item, arg->type}, CFE_DATA_TYPE_STRING, "", 1);
-         if (err != SYNTAX_TYPE_MATCH_OK && err != SYNTAX_TYPE_MATCH_ERROR_UNEXPANDED)
-         {
-             FatalError(ctx, "in %s: %s", id, SyntaxTypeMatchToString(err));
-@@ -4116,7 +4116,7 @@ static FnCallResult ReadList(EvalContext *ctx, FnCall *fp, Rlist *finalargs, Dat
- 
-     switch (type)
-     {
--    case DATA_TYPE_STRING:
-+    case CFE_DATA_TYPE_STRING:
-         break;
- 
-     case DATA_TYPE_INT:
-@@ -4163,7 +4163,7 @@ static FnCallResult ReadList(EvalContext *ctx, FnCall *fp, Rlist *finalargs, Dat
- 
- static FnCallResult FnCallReadStringList(EvalContext *ctx, FnCall *fp, Rlist *args)
- {
--    return ReadList(ctx, fp, args, DATA_TYPE_STRING);
-+    return ReadList(ctx, fp, args, CFE_DATA_TYPE_STRING);
- }
- 
- static FnCallResult FnCallReadIntList(EvalContext *ctx, FnCall *fp, Rlist *args)
-@@ -4228,7 +4228,7 @@ static FnCallResult ReadArray(EvalContext *ctx, FnCall *fp, Rlist *finalargs, Da
- 
-     switch (type)
-     {
--    case DATA_TYPE_STRING:
-+    case CFE_DATA_TYPE_STRING:
-     case DATA_TYPE_INT:
-     case DATA_TYPE_REAL:
-         break;
-@@ -4249,14 +4249,14 @@ static FnCallResult ReadArray(EvalContext *ctx, FnCall *fp, Rlist *finalargs, Da
- 
- static FnCallResult FnCallReadStringArray(EvalContext *ctx, FnCall *fp, Rlist *args)
- {
--    return ReadArray(ctx, fp, args, DATA_TYPE_STRING, false);
-+    return ReadArray(ctx, fp, args, CFE_DATA_TYPE_STRING, false);
- }
- 
- /*********************************************************************/
- 
- static FnCallResult FnCallReadStringArrayIndex(EvalContext *ctx, FnCall *fp, Rlist *args)
- {
--    return ReadArray(ctx, fp, args, DATA_TYPE_STRING, true);
-+    return ReadArray(ctx, fp, args, CFE_DATA_TYPE_STRING, true);
- }
- 
- /*********************************************************************/
-@@ -4327,7 +4327,7 @@ static FnCallResult ParseArray(EvalContext *ctx, FnCall *fp, Rlist *finalargs, D
- 
-     switch (type)
-     {
--    case DATA_TYPE_STRING:
-+    case CFE_DATA_TYPE_STRING:
-     case DATA_TYPE_INT:
-     case DATA_TYPE_REAL:
-         break;
-@@ -4348,14 +4348,14 @@ static FnCallResult ParseArray(EvalContext *ctx, FnCall *fp, Rlist *finalargs, D
- 
- static FnCallResult FnCallParseStringArray(EvalContext *ctx, FnCall *fp, Rlist *args)
- {
--    return ParseArray(ctx, fp, args, DATA_TYPE_STRING, false);
-+    return ParseArray(ctx, fp, args, CFE_DATA_TYPE_STRING, false);
- }
- 
- /*********************************************************************/
- 
- static FnCallResult FnCallParseStringArrayIndex(EvalContext *ctx, FnCall *fp, Rlist *args)
- {
--    return ParseArray(ctx, fp, args, DATA_TYPE_STRING, true);
-+    return ParseArray(ctx, fp, args, CFE_DATA_TYPE_STRING, true);
- }
- 
- /*********************************************************************/
-@@ -4854,7 +4854,7 @@ static int BuildLineArray(EvalContext *ctx, const Bundle *bundle, char *array_lv
- 
-             switch (type)
-             {
--            case DATA_TYPE_STRING:
-+            case CFE_DATA_TYPE_STRING:
-                 strncpy(this_rval, rp->item, CF_MAXVARSIZE - 1);
-                 break;
- 
-@@ -5028,7 +5028,7 @@ void ModuleProtocol(EvalContext *ctx, char *command, char *line, int print, cons
-         if (CheckID(name))
-         {
-             Log(LOG_LEVEL_VERBOSE, "Defined variable '%s' in context '%s' with value '%s'", name, context, content);
--            EvalContextVariablePut(ctx, (VarRef) { NULL, context, name }, (Rval) { content, RVAL_TYPE_SCALAR }, DATA_TYPE_STRING);
-+            EvalContextVariablePut(ctx, (VarRef) { NULL, context, name }, (Rval) { content, RVAL_TYPE_SCALAR }, CFE_DATA_TYPE_STRING);
-         }
-         break;
- 
-@@ -5043,7 +5043,7 @@ void ModuleProtocol(EvalContext *ctx, char *command, char *line, int print, cons
-             list = RlistParseString(content);
-             Log(LOG_LEVEL_VERBOSE, "Defined variable '%s' in context '%s' with value '%s'", name, context, content);
- 
--            EvalContextVariablePut(ctx, (VarRef) { NULL, context, name }, (Rval) { list, RVAL_TYPE_LIST }, DATA_TYPE_STRING_LIST);
-+            EvalContextVariablePut(ctx, (VarRef) { NULL, context, name }, (Rval) { list, RVAL_TYPE_LIST }, CFE_DATA_TYPE_STRING_LIST);
-         }
-         break;
- 
-@@ -5095,8 +5095,8 @@ FnCallResult CallFunction(EvalContext *ctx, const FnCallType *function, FnCall *
- 
- FnCallArg ACCESSEDBEFORE_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Newer filename"},
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Older filename"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Newer filename"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Older filename"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
-@@ -5140,26 +5140,26 @@ FnCallArg LATERTHAN_ARGS[] =
- 
- FnCallArg CANONIFY_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "String containing non-identifier characters"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "String containing non-identifier characters"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg CHANGEDBEFORE_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Newer filename"},
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Older filename"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Newer filename"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Older filename"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg CLASSIFY_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Input string"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Input string"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg CLASSMATCH_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
-@@ -5170,38 +5170,38 @@ FnCallArg CONCAT_ARGS[] =
- 
- FnCallArg COUNTCLASSESMATCHING_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg COUNTLINESMATCHING_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression"},
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Filename"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Filename"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg DIRNAME_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "File path"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "File path"},
-     {NULL, DATA_TYPE_NONE, NULL},
- };
- 
- FnCallArg DISKFREE_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "File system directory"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "File system directory"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg ESCAPE_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "IP address or string to escape"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "IP address or string to escape"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg EXECRESULT_ARGS[] =
- {
--    {CF_PATHRANGE, DATA_TYPE_STRING, "Fully qualified command path"},
-+    {CF_PATHRANGE, CFE_DATA_TYPE_STRING, "Fully qualified command path"},
-     {"useshell,noshell,powershell", DATA_TYPE_OPTION, "Shell encapsulation option"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
-@@ -5210,27 +5210,27 @@ FnCallArg EXECRESULT_ARGS[] =
- 
- FnCallArg FILESTAT_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "File object name"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "File object name"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg FILESTAT_DETAIL_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "File object name"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "File object name"},
-     {"size,gid,uid,ino,nlink,ctime,atime,mtime,mode,modeoct,permstr,permoct,type,devno,dev_minor,dev_major,basename,dirname", DATA_TYPE_OPTION, "stat() field to get"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg FILESEXIST_ARGS[] =
- {
--    {CF_NAKEDLRANGE, DATA_TYPE_STRING, "Array identifier containing list"},
-+    {CF_NAKEDLRANGE, CFE_DATA_TYPE_STRING, "Array identifier containing list"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg FILTER_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression or string"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression or string"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-     {CF_BOOL, DATA_TYPE_OPTION, "Match as regular expression if true, as exact string otherwise"},
-     {CF_BOOL, DATA_TYPE_OPTION, "Invert matches"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of matches to return"},
-@@ -5239,95 +5239,95 @@ FnCallArg FILTER_ARGS[] =
- 
- FnCallArg GETFIELDS_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression to match line"},
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Filename to read"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression to split fields"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Return array name"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression to match line"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Filename to read"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression to split fields"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Return array name"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg GETINDICES_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine array identifier"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine array identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg GETUSERS_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Comma separated list of User names"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Comma separated list of UserID numbers"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Comma separated list of User names"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Comma separated list of UserID numbers"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg GETENV_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "Name of environment variable"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Name of environment variable"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of characters to read "},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg GETGID_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Group name in text"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Group name in text"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg GETUID_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "User name in text"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "User name in text"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg GREP_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg GROUPEXISTS_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Group name or identifier"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Group name or identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg HASH_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Input text"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Input text"},
-     {"md5,sha1,sha256,sha512,sha384,crypt", DATA_TYPE_OPTION, "Hash or digest algorithm"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg HASHMATCH_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Filename to hash"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Filename to hash"},
-     {"md5,sha1,crypt,cf_sha224,cf_sha256,cf_sha384,cf_sha512", DATA_TYPE_OPTION, "Hash or digest algorithm"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "ASCII representation of hash for comparison"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "ASCII representation of hash for comparison"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg HOST2IP_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Host name in ascii"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Host name in ascii"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg IP2HOST_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "IP address (IPv4 or IPv6)"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "IP address (IPv4 or IPv6)"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg HOSTINNETGROUP_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Netgroup name"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Netgroup name"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg HOSTRANGE_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Hostname prefix"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Enumerated range"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Hostname prefix"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Enumerated range"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
-@@ -5341,7 +5341,7 @@ FnCallArg HOSTSSEEN_ARGS[] =
- 
- FnCallArg HOSTSWITHCLASS_ARGS[] =
- {
--    {"[a-zA-Z0-9_]+", DATA_TYPE_STRING, "Class name to look for"},
-+    {"[a-zA-Z0-9_]+", CFE_DATA_TYPE_STRING, "Class name to look for"},
-     {"name,address", DATA_TYPE_OPTION, "Type of return value desired"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
-@@ -5353,7 +5353,7 @@ FnCallArg IFELSE_ARGS[] =
- 
- FnCallArg IPRANGE_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "IP address range syntax"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "IP address range syntax"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
-@@ -5366,51 +5366,51 @@ FnCallArg IRANGE_ARGS[] =
- 
- FnCallArg ISGREATERTHAN_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Larger string or value"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Smaller string or value"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Larger string or value"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Smaller string or value"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg ISLESSTHAN_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Smaller string or value"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Larger string or value"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Smaller string or value"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Larger string or value"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg ISNEWERTHAN_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Newer file name"},
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Older file name"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Newer file name"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Older file name"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg ISVARIABLE_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "Variable identifier"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Variable identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg JOIN_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Join glue-string"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Join glue-string"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg LASTNODE_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Input string"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Link separator, e.g. /,:"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Input string"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Link separator, e.g. /,:"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg LDAPARRAY_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Array name"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "URI"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Distinguished name"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Filter"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Array name"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "URI"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Distinguished name"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Filter"},
-     {"subtree,onelevel,base", DATA_TYPE_OPTION, "Search scope policy"},
-     {"none,ssl,sasl", DATA_TYPE_OPTION, "Security level"},
-     {NULL, DATA_TYPE_NONE, NULL}
-@@ -5418,10 +5418,10 @@ FnCallArg LDAPARRAY_ARGS[] =
- 
- FnCallArg LDAPLIST_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "URI"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Distinguished name"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Filter"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Record name"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "URI"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Distinguished name"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Filter"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Record name"},
-     {"subtree,onelevel,base", DATA_TYPE_OPTION, "Search scope policy"},
-     {"none,ssl,sasl", DATA_TYPE_OPTION, "Security level"},
-     {NULL, DATA_TYPE_NONE, NULL}
-@@ -5429,10 +5429,10 @@ FnCallArg LDAPLIST_ARGS[] =
- 
- FnCallArg LDAPVALUE_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "URI"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Distinguished name"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Filter"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Record name"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "URI"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Distinguished name"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Filter"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Record name"},
-     {"subtree,onelevel,base", DATA_TYPE_OPTION, "Search scope policy"},
-     {"none,ssl,sasl", DATA_TYPE_OPTION, "Security level"},
-     {NULL, DATA_TYPE_NONE, NULL}
-@@ -5440,29 +5440,29 @@ FnCallArg LDAPVALUE_ARGS[] =
- 
- FnCallArg LSDIRLIST_ARGS[] =
- {
--    {CF_PATHRANGE, DATA_TYPE_STRING, "Path to base directory"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression to match files or blank"},
-+    {CF_PATHRANGE, CFE_DATA_TYPE_STRING, "Path to base directory"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression to match files or blank"},
-     {CF_BOOL, DATA_TYPE_OPTION, "Include the base path in the list"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg MAPLIST_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Pattern based on $(this) as original text"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "The name of the list variable to map"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Pattern based on $(this) as original text"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "The name of the list variable to map"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg MAPARRAY_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Pattern based on $(this.k) and $(this.v) as original text"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "The name of the array variable to map"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Pattern based on $(this.k) and $(this.v) as original text"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "The name of the array variable to map"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg NOT_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Class value"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Class value"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
-@@ -5478,13 +5478,13 @@ FnCallArg OR_ARGS[] =
- 
- FnCallArg SUM_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "A list of arbitrary real values"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "A list of arbitrary real values"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg PRODUCT_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "A list of arbitrary real values"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "A list of arbitrary real values"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
-@@ -5501,24 +5501,24 @@ FnCallArg DATE_ARGS[] =
- 
- FnCallArg PEERS_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "File name of host list"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Comment regex pattern"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "File name of host list"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Comment regex pattern"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Peer group size"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg PEERLEADER_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "File name of host list"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Comment regex pattern"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "File name of host list"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Comment regex pattern"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Peer group size"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg PEERLEADERS_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "File name of host list"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Comment regex pattern"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "File name of host list"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Comment regex pattern"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Peer group size"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
-@@ -5532,17 +5532,17 @@ FnCallArg RANDOMINT_ARGS[] =
- 
- FnCallArg READFILE_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "File name"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "File name"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of bytes to read"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg READSTRINGARRAY_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "Array identifier to populate"},
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "File name to read"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex matching comments"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex to split data"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Array identifier to populate"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "File name to read"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex matching comments"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex to split data"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of entries to read"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum bytes to read"},
-     {NULL, DATA_TYPE_NONE, NULL}
-@@ -5550,10 +5550,10 @@ FnCallArg READSTRINGARRAY_ARGS[] =
- 
- FnCallArg PARSESTRINGARRAY_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "Array identifier to populate"},
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "A string to parse for input data"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex matching comments"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex to split data"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Array identifier to populate"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "A string to parse for input data"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex matching comments"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex to split data"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of entries to read"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum bytes to read"},
-     {NULL, DATA_TYPE_NONE, NULL}
-@@ -5561,10 +5561,10 @@ FnCallArg PARSESTRINGARRAY_ARGS[] =
- 
- FnCallArg READSTRINGARRAYIDX_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "Array identifier to populate"},
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "A string to parse for input data"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex matching comments"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex to split data"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Array identifier to populate"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "A string to parse for input data"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex matching comments"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex to split data"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of entries to read"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum bytes to read"},
-     {NULL, DATA_TYPE_NONE, NULL}
-@@ -5572,10 +5572,10 @@ FnCallArg READSTRINGARRAYIDX_ARGS[] =
- 
- FnCallArg PARSESTRINGARRAYIDX_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "Array identifier to populate"},
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "A string to parse for input data"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex matching comments"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex to split data"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Array identifier to populate"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "A string to parse for input data"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex matching comments"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex to split data"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of entries to read"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum bytes to read"},
-     {NULL, DATA_TYPE_NONE, NULL}
-@@ -5583,9 +5583,9 @@ FnCallArg PARSESTRINGARRAYIDX_ARGS[] =
- 
- FnCallArg READSTRINGLIST_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "File name to read"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex matching comments"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex to split data"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "File name to read"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex matching comments"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex to split data"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of entries to read"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum bytes to read"},
-     {NULL, DATA_TYPE_NONE, NULL}
-@@ -5593,94 +5593,94 @@ FnCallArg READSTRINGLIST_ARGS[] =
- 
- FnCallArg READTCP_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Host name or IP address of server socket"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Host name or IP address of server socket"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Port number"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Protocol query string"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Protocol query string"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of bytes to read"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg REGARRAY_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine array identifier"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine array identifier"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg REGCMP_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Match string"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Match string"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg REGEXTRACT_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Match string"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "Identifier for back-references"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Match string"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Identifier for back-references"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg REGISTRYVALUE_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Windows registry key"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Windows registry value-id"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Windows registry key"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Windows registry value-id"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg REGLINE_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Filename to search"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Filename to search"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg REGLIST_ARGS[] =
- {
--    {CF_NAKEDLRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression"},
-+    {CF_NAKEDLRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg REGLDAP_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "URI"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Distinguished name"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Filter"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Record name"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "URI"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Distinguished name"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Filter"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Record name"},
-     {"subtree,onelevel,base", DATA_TYPE_OPTION, "Search scope policy"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex to match results"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex to match results"},
-     {"none,ssl,sasl", DATA_TYPE_OPTION, "Security level"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg REMOTESCALAR_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "Variable identifier"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Hostname or IP address of server"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Variable identifier"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Hostname or IP address of server"},
-     {CF_BOOL, DATA_TYPE_OPTION, "Use enryption"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg HUB_KNOWLEDGE_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "Variable identifier"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Variable identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg REMOTECLASSESMATCHING_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Server name or address"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Server name or address"},
-     {CF_BOOL, DATA_TYPE_OPTION, "Use encryption"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "Return class prefix"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Return class prefix"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg RETURNSZERO_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Fully qualified command path"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Fully qualified command path"},
-     {"useshell,noshell,powershell", DATA_TYPE_OPTION, "Shell encapsulation option"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
-@@ -5694,48 +5694,48 @@ FnCallArg RRANGE_ARGS[] =
- 
- FnCallArg SELECTSERVERS_ARGS[] =
- {
--    {CF_NAKEDLRANGE, DATA_TYPE_STRING, "The identifier of a cfengine list of hosts or addresses to contact"},
-+    {CF_NAKEDLRANGE, CFE_DATA_TYPE_STRING, "The identifier of a cfengine list of hosts or addresses to contact"},
-     {CF_VALRANGE, DATA_TYPE_INT, "The port number"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "A query string"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "A regular expression to match success"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "A query string"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "A regular expression to match success"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of bytes to read from server"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "Name for array of results"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "Name for array of results"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg SPLAYCLASS_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Input string for classification"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Input string for classification"},
-     {"daily,hourly", DATA_TYPE_OPTION, "Splay time policy"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg SPLITSTRING_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "A data string"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regex to split on"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "A data string"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regex to split on"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of pieces"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg STRCMP_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "String"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "String"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "String"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "String"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg STRFTIME_ARGS[] =
- {
-     {"gmtime,localtime", DATA_TYPE_OPTION, "Use GMT or local time"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "A format string"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "A format string"},
-     {CF_VALRANGE, DATA_TYPE_INT, "The time as a Unix epoch offset"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg SUBLIST_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-     {"head,tail", DATA_TYPE_OPTION, "Whether to return elements from the head or from the tail of the list"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Maximum number of elements to return"},
-     {NULL, DATA_TYPE_NONE, NULL}
-@@ -5743,79 +5743,79 @@ FnCallArg SUBLIST_ARGS[] =
- 
- FnCallArg TRANSLATEPATH_ARGS[] =
- {
--    {CF_ABSPATHRANGE, DATA_TYPE_STRING, "Unix style path"},
-+    {CF_ABSPATHRANGE, CFE_DATA_TYPE_STRING, "Unix style path"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg USEMODULE_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Name of module command"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Argument string for the module"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Name of module command"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Argument string for the module"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg UNIQUE_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg NTH_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-     {CF_VALRANGE, DATA_TYPE_INT, "Offset of element to return"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg EVERY_SOME_NONE_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Regular expression or string"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Regular expression or string"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg USEREXISTS_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "User name or identifier"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "User name or identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg SORT_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
--    {"lex", DATA_TYPE_STRING, "Sorting method: lex"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {"lex", CFE_DATA_TYPE_STRING, "Sorting method: lex"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg REVERSE_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg SHUFFLE_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
--    {CF_ANYSTRING, DATA_TYPE_STRING, "Any seed string"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "Any seed string"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg LENGTH_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine list identifier"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine list identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg SETOP_ARGS[] =
- {
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine base list identifier"},
--    {CF_IDRANGE, DATA_TYPE_STRING, "CFEngine filter list identifier"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine base list identifier"},
-+    {CF_IDRANGE, CFE_DATA_TYPE_STRING, "CFEngine filter list identifier"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
- FnCallArg FORMAT_ARGS[] =
- {
--    {CF_ANYSTRING, DATA_TYPE_STRING, "CFEngine format string"},
-+    {CF_ANYSTRING, CFE_DATA_TYPE_STRING, "CFEngine format string"},
-     {NULL, DATA_TYPE_NONE, NULL}
- };
- 
-@@ -5830,47 +5830,47 @@ const FnCallType CF_FNCALL_TYPES[] =
-     FnCallTypeNew("accessedbefore", DATA_TYPE_CONTEXT, ACCESSEDBEFORE_ARGS, &FnCallIsAccessedBefore, "True if arg1 was accessed before arg2 (atime)", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("accumulated", DATA_TYPE_INT, ACCUM_ARGS, &FnCallAccumulatedDate, "Convert an accumulated amount of time into a system representation", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("ago", DATA_TYPE_INT, AGO_ARGS, &FnCallAgoDate, "Convert a time relative to now to an integer system representation", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("and", DATA_TYPE_STRING, AND_ARGS, &FnCallAnd, "Calculate whether all arguments evaluate to true", true, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("canonify", DATA_TYPE_STRING, CANONIFY_ARGS, &FnCallCanonify, "Convert an abitrary string into a legal class name", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("concat", DATA_TYPE_STRING, CONCAT_ARGS, &FnCallConcat, "Concatenate all arguments into string", true, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("and", CFE_DATA_TYPE_STRING, AND_ARGS, &FnCallAnd, "Calculate whether all arguments evaluate to true", true, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("canonify", CFE_DATA_TYPE_STRING, CANONIFY_ARGS, &FnCallCanonify, "Convert an abitrary string into a legal class name", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("concat", CFE_DATA_TYPE_STRING, CONCAT_ARGS, &FnCallConcat, "Concatenate all arguments into string", true, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("changedbefore", DATA_TYPE_CONTEXT, CHANGEDBEFORE_ARGS, &FnCallIsChangedBefore, "True if arg1 was changed before arg2 (ctime)", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("classify", DATA_TYPE_CONTEXT, CLASSIFY_ARGS, &FnCallClassify, "True if the canonicalization of the argument is a currently defined class", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("classmatch", DATA_TYPE_CONTEXT, CLASSMATCH_ARGS, &FnCallClassMatch, "True if the regular expression matches any currently defined class", false, FNCALL_CATEGORY_UTILS, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("classesmatching", DATA_TYPE_STRING_LIST, CLASSMATCH_ARGS, &FnCallClassesMatching, "List the defined classes matching regex arg1", false, FNCALL_CATEGORY_UTILS, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("classesmatching", CFE_DATA_TYPE_STRING_LIST, CLASSMATCH_ARGS, &FnCallClassesMatching, "List the defined classes matching regex arg1", false, FNCALL_CATEGORY_UTILS, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("countclassesmatching", DATA_TYPE_INT, COUNTCLASSESMATCHING_ARGS, &FnCallCountClassesMatching, "Count the number of defined classes matching regex arg1", false, FNCALL_CATEGORY_UTILS, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("countlinesmatching", DATA_TYPE_INT, COUNTLINESMATCHING_ARGS, &FnCallCountLinesMatching, "Count the number of lines matching regex arg1 in file arg2", false, FNCALL_CATEGORY_IO, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("difference", DATA_TYPE_STRING_LIST, SETOP_ARGS, &FnCallSetop, "Returns all the unique elements of list arg1 that are not in list arg2", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("dirname", DATA_TYPE_STRING, DIRNAME_ARGS, &FnCallDirname, "Return the parent directory name for given path", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("difference", CFE_DATA_TYPE_STRING_LIST, SETOP_ARGS, &FnCallSetop, "Returns all the unique elements of list arg1 that are not in list arg2", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("dirname", CFE_DATA_TYPE_STRING, DIRNAME_ARGS, &FnCallDirname, "Return the parent directory name for given path", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("diskfree", DATA_TYPE_INT, DISKFREE_ARGS, &FnCallDiskFree, "Return the free space (in KB) available on the directory's current partition (0 if not found)", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("escape", DATA_TYPE_STRING, ESCAPE_ARGS, &FnCallEscape, "Escape regular expression characters in a string", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("escape", CFE_DATA_TYPE_STRING, ESCAPE_ARGS, &FnCallEscape, "Escape regular expression characters in a string", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("every", DATA_TYPE_CONTEXT, EVERY_SOME_NONE_ARGS, &FnCallEverySomeNone, "True if every element in the named list matches the given regular expression", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("execresult", DATA_TYPE_STRING, EXECRESULT_ARGS, &FnCallExecResult, "Execute named command and assign output to variable", false, FNCALL_CATEGORY_UTILS, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("execresult", CFE_DATA_TYPE_STRING, EXECRESULT_ARGS, &FnCallExecResult, "Execute named command and assign output to variable", false, FNCALL_CATEGORY_UTILS, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("fileexists", DATA_TYPE_CONTEXT, FILESTAT_ARGS, &FnCallFileStat, "True if the named file can be accessed", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("filesexist", DATA_TYPE_CONTEXT, FILESEXIST_ARGS, &FnCallFileSexist, "True if the named list of files can ALL be accessed", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("filesize", DATA_TYPE_INT, FILESTAT_ARGS, &FnCallFileStat, "Returns the size in bytes of the file", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("filestat", DATA_TYPE_STRING, FILESTAT_DETAIL_ARGS, &FnCallFileStatDetails, "Returns stat() details of the file", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("filter", DATA_TYPE_STRING_LIST, FILTER_ARGS, &FnCallFilter, "Similarly to grep(), filter the list arg2 for matches to arg2.  The matching can be as a regular expression or exactly depending on arg3.  The matching can be inverted with arg4.  A maximum on the number of matches returned can be set with arg5.", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("format", DATA_TYPE_STRING, FORMAT_ARGS, &FnCallFormat, "Applies a list of string values in arg2,arg3... to a string format in arg1 with sprintf() rules", true, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("getenv", DATA_TYPE_STRING, GETENV_ARGS, &FnCallGetEnv, "Return the environment variable named arg1, truncated at arg2 characters", false, FNCALL_CATEGORY_SYSTEM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("filestat", CFE_DATA_TYPE_STRING, FILESTAT_DETAIL_ARGS, &FnCallFileStatDetails, "Returns stat() details of the file", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("filter", CFE_DATA_TYPE_STRING_LIST, FILTER_ARGS, &FnCallFilter, "Similarly to grep(), filter the list arg2 for matches to arg2.  The matching can be as a regular expression or exactly depending on arg3.  The matching can be inverted with arg4.  A maximum on the number of matches returned can be set with arg5.", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("format", CFE_DATA_TYPE_STRING, FORMAT_ARGS, &FnCallFormat, "Applies a list of string values in arg2,arg3... to a string format in arg1 with sprintf() rules", true, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("getenv", CFE_DATA_TYPE_STRING, GETENV_ARGS, &FnCallGetEnv, "Return the environment variable named arg1, truncated at arg2 characters", false, FNCALL_CATEGORY_SYSTEM, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("getfields", DATA_TYPE_INT, GETFIELDS_ARGS, &FnCallGetFields, "Get an array of fields in the lines matching regex arg1 in file arg2, split on regex arg3 as array name arg4", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("getgid", DATA_TYPE_INT, GETGID_ARGS, &FnCallGetGid, "Return the integer group id of the named group on this host", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("getindices", DATA_TYPE_STRING_LIST, GETINDICES_ARGS, &FnCallGetIndices, "Get a list of keys to the array whose id is the argument and assign to variable", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("getindices", CFE_DATA_TYPE_STRING_LIST, GETINDICES_ARGS, &FnCallGetIndices, "Get a list of keys to the array whose id is the argument and assign to variable", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("getuid", DATA_TYPE_INT, GETUID_ARGS, &FnCallGetUid, "Return the integer user id of the named user on this host", false, FNCALL_CATEGORY_SYSTEM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("getusers", DATA_TYPE_STRING_LIST, GETUSERS_ARGS, &FnCallGetUsers, "Get a list of all system users defined, minus those names defined in arg1 and uids in arg2", false, FNCALL_CATEGORY_SYSTEM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("getvalues", DATA_TYPE_STRING_LIST, GETINDICES_ARGS, &FnCallGetValues, "Get a list of values corresponding to the right hand sides in an array whose id is the argument and assign to variable", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("grep", DATA_TYPE_STRING_LIST, GREP_ARGS, &FnCallGrep, "Extract the sub-list if items matching the regular expression in arg1 of the list named in arg2", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("getusers", CFE_DATA_TYPE_STRING_LIST, GETUSERS_ARGS, &FnCallGetUsers, "Get a list of all system users defined, minus those names defined in arg1 and uids in arg2", false, FNCALL_CATEGORY_SYSTEM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("getvalues", CFE_DATA_TYPE_STRING_LIST, GETINDICES_ARGS, &FnCallGetValues, "Get a list of values corresponding to the right hand sides in an array whose id is the argument and assign to variable", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("grep", CFE_DATA_TYPE_STRING_LIST, GREP_ARGS, &FnCallGrep, "Extract the sub-list if items matching the regular expression in arg1 of the list named in arg2", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("groupexists", DATA_TYPE_CONTEXT, GROUPEXISTS_ARGS, &FnCallGroupExists, "True if group or numerical id exists on this host", false, FNCALL_CATEGORY_SYSTEM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("hash", DATA_TYPE_STRING, HASH_ARGS, &FnCallHash, "Return the hash of arg1, type arg2 and assign to a variable", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("hash", CFE_DATA_TYPE_STRING, HASH_ARGS, &FnCallHash, "Return the hash of arg1, type arg2 and assign to a variable", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("hashmatch", DATA_TYPE_CONTEXT, HASHMATCH_ARGS, &FnCallHashMatch, "Compute the hash of arg1, of type arg2 and test if it matches the value in arg3", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("host2ip", DATA_TYPE_STRING, HOST2IP_ARGS, &FnCallHost2IP, "Returns the primary name-service IP address for the named host", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("ip2host", DATA_TYPE_STRING, IP2HOST_ARGS, &FnCallIP2Host, "Returns the primary name-service host name for the IP address", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("host2ip", CFE_DATA_TYPE_STRING, HOST2IP_ARGS, &FnCallHost2IP, "Returns the primary name-service IP address for the named host", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("ip2host", CFE_DATA_TYPE_STRING, IP2HOST_ARGS, &FnCallIP2Host, "Returns the primary name-service host name for the IP address", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("hostinnetgroup", DATA_TYPE_CONTEXT, HOSTINNETGROUP_ARGS, &FnCallHostInNetgroup, "True if the current host is in the named netgroup", false, FNCALL_CATEGORY_SYSTEM, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("hostrange", DATA_TYPE_CONTEXT, HOSTRANGE_ARGS, &FnCallHostRange, "True if the current host lies in the range of enumerated hostnames specified", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("hostsseen", DATA_TYPE_STRING_LIST, HOSTSSEEN_ARGS, &FnCallHostsSeen, "Extract the list of hosts last seen/not seen within the last arg1 hours", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("hostswithclass", DATA_TYPE_STRING_LIST, HOSTSWITHCLASS_ARGS, &FnCallHostsWithClass, "Extract the list of hosts with the given class set from the hub database (enterprise extension)", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("hubknowledge", DATA_TYPE_STRING, HUB_KNOWLEDGE_ARGS, &FnCallHubKnowledge, "Read global knowledge from the hub host by id (enterprise extension)", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("ifelse", DATA_TYPE_STRING, IFELSE_ARGS, &FnCallIfElse, "Do If-ElseIf-ElseIf-...-Else evaluation of arguments", true, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("intersection", DATA_TYPE_STRING_LIST, SETOP_ARGS, &FnCallSetop, "Returns all the unique elements of list arg1 that are also in list arg2", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("hostsseen", CFE_DATA_TYPE_STRING_LIST, HOSTSSEEN_ARGS, &FnCallHostsSeen, "Extract the list of hosts last seen/not seen within the last arg1 hours", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("hostswithclass", CFE_DATA_TYPE_STRING_LIST, HOSTSWITHCLASS_ARGS, &FnCallHostsWithClass, "Extract the list of hosts with the given class set from the hub database (enterprise extension)", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("hubknowledge", CFE_DATA_TYPE_STRING, HUB_KNOWLEDGE_ARGS, &FnCallHubKnowledge, "Read global knowledge from the hub host by id (enterprise extension)", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("ifelse", CFE_DATA_TYPE_STRING, IFELSE_ARGS, &FnCallIfElse, "Do If-ElseIf-ElseIf-...-Else evaluation of arguments", true, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("intersection", CFE_DATA_TYPE_STRING_LIST, SETOP_ARGS, &FnCallSetop, "Returns all the unique elements of list arg1 that are also in list arg2", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("iprange", DATA_TYPE_CONTEXT, IPRANGE_ARGS, &FnCallIPRange, "True if the current host lies in the range of IP addresses specified", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("irange", DATA_TYPE_INT_RANGE, IRANGE_ARGS, &FnCallIRange, "Define a range of integer values for cfengine internal use", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("isdir", DATA_TYPE_CONTEXT, FILESTAT_ARGS, &FnCallFileStat, "True if the named object is a directory", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-@@ -5881,64 +5881,64 @@ const FnCallType CF_FNCALL_TYPES[] =
-     FnCallTypeNew("isnewerthan", DATA_TYPE_CONTEXT, ISNEWERTHAN_ARGS, &FnCallIsNewerThan, "True if arg1 is newer (modified later) than arg2 (mtime)", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("isplain", DATA_TYPE_CONTEXT, FILESTAT_ARGS, &FnCallFileStat, "True if the named object is a plain/regular file", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("isvariable", DATA_TYPE_CONTEXT, ISVARIABLE_ARGS, &FnCallIsVariable, "True if the named variable is defined", false, FNCALL_CATEGORY_UTILS, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("join", DATA_TYPE_STRING, JOIN_ARGS, &FnCallJoin, "Join the items of arg2 into a string, using the conjunction in arg1", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("lastnode", DATA_TYPE_STRING, LASTNODE_ARGS, &FnCallLastNode, "Extract the last of a separated string, e.g. filename from a path", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("join", CFE_DATA_TYPE_STRING, JOIN_ARGS, &FnCallJoin, "Join the items of arg2 into a string, using the conjunction in arg1", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("lastnode", CFE_DATA_TYPE_STRING, LASTNODE_ARGS, &FnCallLastNode, "Extract the last of a separated string, e.g. filename from a path", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("laterthan", DATA_TYPE_CONTEXT, LATERTHAN_ARGS, &FnCallLaterThan, "True if the current time is later than the given date", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("ldaparray", DATA_TYPE_CONTEXT, LDAPARRAY_ARGS, &FnCallLDAPArray, "Extract all values from an ldap record", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("ldaplist", DATA_TYPE_STRING_LIST, LDAPLIST_ARGS, &FnCallLDAPList, "Extract all named values from multiple ldap records", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("ldapvalue", DATA_TYPE_STRING, LDAPVALUE_ARGS, &FnCallLDAPValue, "Extract the first matching named value from ldap", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("ldaplist", CFE_DATA_TYPE_STRING_LIST, LDAPLIST_ARGS, &FnCallLDAPList, "Extract all named values from multiple ldap records", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("ldapvalue", CFE_DATA_TYPE_STRING, LDAPVALUE_ARGS, &FnCallLDAPValue, "Extract the first matching named value from ldap", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("length", DATA_TYPE_INT, LENGTH_ARGS, &FnCallLength, "Return the length of a list", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("lsdir", DATA_TYPE_STRING_LIST, LSDIRLIST_ARGS, &FnCallLsDir, "Return a list of files in a directory matching a regular expression", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("maparray", DATA_TYPE_STRING_LIST, MAPARRAY_ARGS, &FnCallMapArray, "Return a list with each element modified by a pattern based $(this.k) and $(this.v)", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("maplist", DATA_TYPE_STRING_LIST, MAPLIST_ARGS, &FnCallMapList, "Return a list with each element modified by a pattern based $(this)", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("lsdir", CFE_DATA_TYPE_STRING_LIST, LSDIRLIST_ARGS, &FnCallLsDir, "Return a list of files in a directory matching a regular expression", false, FNCALL_CATEGORY_FILES, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("maparray", CFE_DATA_TYPE_STRING_LIST, MAPARRAY_ARGS, &FnCallMapArray, "Return a list with each element modified by a pattern based $(this.k) and $(this.v)", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("maplist", CFE_DATA_TYPE_STRING_LIST, MAPLIST_ARGS, &FnCallMapList, "Return a list with each element modified by a pattern based $(this)", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("none", DATA_TYPE_CONTEXT, EVERY_SOME_NONE_ARGS, &FnCallEverySomeNone, "True if no element in the named list matches the given regular expression", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("not", DATA_TYPE_STRING, NOT_ARGS, &FnCallNot, "Calculate whether argument is false", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("not", CFE_DATA_TYPE_STRING, NOT_ARGS, &FnCallNot, "Calculate whether argument is false", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("now", DATA_TYPE_INT, NOW_ARGS, &FnCallNow, "Convert the current time into system representation", false, FNCALL_CATEGORY_SYSTEM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("nth", DATA_TYPE_STRING, NTH_ARGS, &FnCallNth, "Get the element at arg2 in list arg1", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("nth", CFE_DATA_TYPE_STRING, NTH_ARGS, &FnCallNth, "Get the element at arg2 in list arg1", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("on", DATA_TYPE_INT, DATE_ARGS, &FnCallOn, "Convert an exact date/time to an integer system representation", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("or", DATA_TYPE_STRING, OR_ARGS, &FnCallOr, "Calculate whether any argument evaluates to true", true, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("or", CFE_DATA_TYPE_STRING, OR_ARGS, &FnCallOr, "Calculate whether any argument evaluates to true", true, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("parseintarray", DATA_TYPE_INT, PARSESTRINGARRAY_ARGS, &FnCallParseIntArray, "Read an array of integers from a file and assign the dimension to a variable", false, FNCALL_CATEGORY_IO, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("parserealarray", DATA_TYPE_INT, PARSESTRINGARRAY_ARGS, &FnCallParseRealArray, "Read an array of real numbers from a file and assign the dimension to a variable", false, FNCALL_CATEGORY_IO, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("parsestringarray", DATA_TYPE_INT, PARSESTRINGARRAY_ARGS, &FnCallParseStringArray, "Read an array of strings from a file and assign the dimension to a variable", false, FNCALL_CATEGORY_IO, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("parsestringarrayidx", DATA_TYPE_INT, PARSESTRINGARRAYIDX_ARGS, &FnCallParseStringArrayIndex, "Read an array of strings from a file and assign the dimension to a variable with integer indeces", false, FNCALL_CATEGORY_IO, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("peers", DATA_TYPE_STRING_LIST, PEERS_ARGS, &FnCallPeers, "Get a list of peers (not including ourself) from the partition to which we belong", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("peerleader", DATA_TYPE_STRING, PEERLEADER_ARGS, &FnCallPeerLeader, "Get the assigned peer-leader of the partition to which we belong", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("peerleaders", DATA_TYPE_STRING_LIST, PEERLEADERS_ARGS, &FnCallPeerLeaders, "Get a list of peer leaders from the named partitioning", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("peers", CFE_DATA_TYPE_STRING_LIST, PEERS_ARGS, &FnCallPeers, "Get a list of peers (not including ourself) from the partition to which we belong", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("peerleader", CFE_DATA_TYPE_STRING, PEERLEADER_ARGS, &FnCallPeerLeader, "Get the assigned peer-leader of the partition to which we belong", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("peerleaders", CFE_DATA_TYPE_STRING_LIST, PEERLEADERS_ARGS, &FnCallPeerLeaders, "Get a list of peer leaders from the named partitioning", false, FNCALL_CATEGORY_COMM, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("product", DATA_TYPE_REAL, PRODUCT_ARGS, &FnCallProduct, "Return the product of a list of reals", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("randomint", DATA_TYPE_INT, RANDOMINT_ARGS, &FnCallRandomInt, "Generate a random integer between the given limits", false, FNCALL_CATEGORY_DATA, SYNTAX_STATUS_NORMAL),
--    FnCallTypeNew("readfile", DATA_TYPE_STRING, READFILE_ARGS, &FnCallReadFile, "Read max number of bytes from named file and assign to variable", false, FNCALL_CATEGORY_IO, SYNTAX_STATUS_NORMAL),
-+    FnCallTypeNew("readfile", CFE_DATA_TYPE_STRING, READFILE_ARGS, &FnCallReadFile, "Read max number of bytes from named file and assign to variable", false, FNCALL_CATEGORY_IO, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("readintarray", DATA_TYPE_INT, READSTRINGARRAY_ARGS, &FnCallReadIntArray, "Read an array of integers from a file and assign the dimension to a variable", false, FNCALL_CATEGORY_IO, SYNTAX_STATUS_NORMAL),
-     FnCallTypeNew("readintlist", DATA_TYPE_INT_LIST, READSTRINGLIST_ARGS, &FnCallReadIntList, "Read and assign a list variable from a file of separated ints", false, FNCALL_CATEGORY_IO, SYNTAX_STATUS_NORMAL),

@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list