Replace UINT64 marshaling with functions from libmarshal.

This required the same tricks in sys_api_marshalUnmarshal.h.

Signed-off-by: Philip Tricca <philip.b.tricca@intel.com>
diff --git a/sysapi/include/sys_api_marshalUnmarshal.h b/sysapi/include/sys_api_marshalUnmarshal.h
index 39e5a58..13ce116 100644
--- a/sysapi/include/sys_api_marshalUnmarshal.h
+++ b/sysapi/include/sys_api_marshalUnmarshal.h
@@ -33,7 +33,18 @@
 void Marshal_Simple_TPM2B( UINT8 *inBuffPtr, UINT32 maxCommandSize, UINT8 **nextData, TPM2B *value, TSS2_RC *rval );
 void Unmarshal_Simple_TPM2B( UINT8 *outBuffPtr, UINT32 maxResponseSize, UINT8 **nextData, TPM2B *value, TSS2_RC *rval );
 void Unmarshal_Simple_TPM2B_NoSizeCheck( UINT8 *outBuffPtr, UINT32 maxResponseSize, UINT8 **nextData, TPM2B *value, TSS2_RC *rval );
-void Marshal_UINT64( UINT8 *inBuffPtr, UINT32 maxCommandSize, UINT8 **nextData, UINT64 value, TSS2_RC *rval );
+#define Marshal_UINT64(inBuffPtr, maxCommandSize, nextData, src, rval) \
+    do { \
+        if (*rval != TSS2_RC_SUCCESS) \
+            break; \
+        size_t index = *nextData - inBuffPtr; \
+        UINT64 floop = src; \
+        *rval = UINT64_Marshal (&floop, \
+                                inBuffPtr, \
+                                maxCommandSize, \
+                                &index); \
+        *nextData = inBuffPtr + index; \
+    } while (0);
 #define Marshal_UINT32(inBuffPtr, maxCommandSize, nextData, src, rval) \
     do { \
         if (*rval != TSS2_RC_SUCCESS) \
@@ -77,7 +88,17 @@
                                &index); \
         *nextData = inBuffPtr + index; \
     } while (0);
-void Unmarshal_UINT64( UINT8 *outBuffPtr, UINT32 maxResponseSize, UINT8 **nextData, UINT64 *value, TSS2_RC *rval );
+#define Unmarshal_UINT64(outBuffPtr, maxResponseSize, nextData, dest, rval) \
+    do { \
+        if (*rval != TSS2_RC_SUCCESS) \
+            break; \
+        size_t index = *nextData - outBuffPtr; \
+        *rval = UINT64_Unmarshal (outBuffPtr, \
+                                  maxResponseSize, \
+                                  &index, \
+                                  dest); \
+        *nextData = outBuffPtr + index; \
+    } while (0);
 #define Unmarshal_UINT32(outBuffPtr, maxResponseSize, nextData, dest, rval) \
     do { \
         if (*rval != TSS2_RC_SUCCESS) \
diff --git a/sysapi/sysapi_util/marshal_uint64.c b/sysapi/sysapi_util/marshal_uint64.c
deleted file mode 100644
index 80090fd..0000000
--- a/sysapi/sysapi_util/marshal_uint64.c
+++ /dev/null
@@ -1,46 +0,0 @@
-//**********************************************************************;
-// Copyright (c) 2015, 2016 Intel Corporation
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-// THE POSSIBILITY OF SUCH DAMAGE.
-//**********************************************************************;
-
-#include <sapi/tpm20.h>
-#include "sysapi_util.h"
-
-void Marshal_UINT64( UINT8 *inBuffPtr, UINT32 maxCommandSize, UINT8 **nextData, UINT64 value, TSS2_RC *rval )
-{
-    if( *rval != TSS2_RC_SUCCESS )
-        return;
-
-    *rval = CheckDataPointers( inBuffPtr, nextData);
-    if( *rval != TSS2_RC_SUCCESS )
-        return;
-
-    *rval = CheckOverflow( inBuffPtr, maxCommandSize, *nextData, sizeof(UINT64) );
-    if( *rval != TSS2_RC_SUCCESS )
-        return;
-
-    *( (UINT64 *)*nextData ) = CHANGE_ENDIAN_QWORD( value );
-    *nextData = *nextData + sizeof( UINT64 );
-}
diff --git a/sysapi/sysapi_util/unmarshal_uint64.c b/sysapi/sysapi_util/unmarshal_uint64.c
deleted file mode 100644
index 0f829ba..0000000
--- a/sysapi/sysapi_util/unmarshal_uint64.c
+++ /dev/null
@@ -1,50 +0,0 @@
-//**********************************************************************;
-// Copyright (c) 2015, 2016 Intel Corporation
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-// THE POSSIBILITY OF SUCH DAMAGE.
-//**********************************************************************;
-
-#include <sapi/tpm20.h>
-#include "sysapi_util.h"
-
-void Unmarshal_UINT64( UINT8 *outBuffPtr, UINT32 maxResponseSize, UINT8 **nextData, UINT64 *value, TSS2_RC *rval )
-{
-    if( *rval != TSS2_RC_SUCCESS )
-        return;
-
-    *rval = CheckDataPointers( outBuffPtr, nextData );
-    if( *rval != TSS2_RC_SUCCESS )
-        return;
-
-    *rval = CheckOverflow( outBuffPtr, maxResponseSize, *nextData, sizeof(UINT64) );
-    if( *rval != TSS2_RC_SUCCESS )
-        return;
-
-    if( value )
-    {
-        *value = CHANGE_ENDIAN_QWORD( *(UINT64 *)*nextData );
-    }
-    *nextData = *nextData + sizeof( UINT64 );
-}
-