Index: /trunk/psLib/src/sys/psType.h
===================================================================
--- /trunk/psLib/src/sys/psType.h	(revision 7471)
+++ /trunk/psLib/src/sys/psType.h	(revision 7472)
@@ -10,6 +10,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.49 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-04-20 03:32:14 $
+*  @version $Revision: 1.50 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-10 02:28:17 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -101,7 +101,9 @@
     PS_DATA_S16  = PS_TYPE_S16,        ///< psS16
     PS_DATA_S32  = PS_TYPE_S32,        ///< psS32
+    PS_DATA_S64  = PS_TYPE_S64,        ///< psS64
     PS_DATA_U8   = PS_TYPE_U8,         ///< psU8
     PS_DATA_U16  = PS_TYPE_U16,        ///< psU16
     PS_DATA_U32  = PS_TYPE_U32,        ///< psU32
+    PS_DATA_U64  = PS_TYPE_U64,        ///< psU64
     PS_DATA_F32  = PS_TYPE_F32,        ///< psF32
     PS_DATA_F64  = PS_TYPE_F64,        ///< psF64
Index: /trunk/psLib/src/types/psMetadata.c
===================================================================
--- /trunk/psLib/src/types/psMetadata.c	(revision 7471)
+++ /trunk/psLib/src/types/psMetadata.c	(revision 7472)
@@ -12,6 +12,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.109 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-09 01:25:42 $
+ *  @version $Revision: 1.110 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-10 02:28:17 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -184,7 +184,9 @@
 METADATAITEM_ALLOC_TYPE(S16,psS16,PS_DATA_S16)
 METADATAITEM_ALLOC_TYPE(S32,psS32,PS_DATA_S32)
+METADATAITEM_ALLOC_TYPE(S64,psS64,PS_DATA_S64)
 METADATAITEM_ALLOC_TYPE(U8,psU8,PS_DATA_U8)
 METADATAITEM_ALLOC_TYPE(U16,psU16,PS_DATA_U16)
 METADATAITEM_ALLOC_TYPE(U32,psU32,PS_DATA_U32)
+METADATAITEM_ALLOC_TYPE(U64,psU64,PS_DATA_U64)
 METADATAITEM_ALLOC_TYPE(Bool,psBool,PS_DATA_BOOL)
 
@@ -247,4 +249,7 @@
         metadataItem->data.S32 = (psS32)va_arg(argPtr, psS32);
         break;
+    case PS_DATA_S64:
+        metadataItem->data.S64 = (psS64)va_arg(argPtr, psS64);
+        break;
     case PS_DATA_U8:
         metadataItem->data.U8 = (psU8)va_arg(argPtr, psU32);
@@ -255,4 +260,7 @@
     case PS_DATA_U32:
         metadataItem->data.U32 = (psU32)va_arg(argPtr, psU32);
+        break;
+    case PS_DATA_U64:
+        metadataItem->data.U64 = (psU64)va_arg(argPtr, psU64);
         break;
     case PS_DATA_F32:
@@ -360,7 +368,9 @@
         PS_METADATA_ITEM_COPY_CASE(S16,S16);
         PS_METADATA_ITEM_COPY_CASE(S32,S32);
+        PS_METADATA_ITEM_COPY_CASE(S64,S64);
         PS_METADATA_ITEM_COPY_CASE(U8,U8);
         PS_METADATA_ITEM_COPY_CASE(U16,U16);
         PS_METADATA_ITEM_COPY_CASE(U32,U32);
+        PS_METADATA_ITEM_COPY_CASE(U64,U64);
         PS_METADATA_ITEM_COPY_CASE(F32,F32);
         PS_METADATA_ITEM_COPY_CASE(F64,F64);
@@ -614,7 +624,9 @@
 METADATA_ADD_TYPE(S16,psS16,PS_DATA_S16)
 METADATA_ADD_TYPE(S32,psS32,PS_DATA_S32)
+METADATA_ADD_TYPE(S64,psS64,PS_DATA_S64)
 METADATA_ADD_TYPE(U8,psU8,PS_DATA_U8)
 METADATA_ADD_TYPE(U16,psU16,PS_DATA_U16)
 METADATA_ADD_TYPE(U32,psU32,PS_DATA_U32)
+METADATA_ADD_TYPE(U64,psU64,PS_DATA_U64)
 METADATA_ADD_TYPE(F32,psF32,PS_DATA_F32)
 METADATA_ADD_TYPE(F64,psF64,PS_DATA_F64)
@@ -825,4 +837,7 @@
         value = (ps##TYPE)metadataItem->data.S32; \
         break; \
+    case PS_DATA_S64: \
+        value = (ps##TYPE)metadataItem->data.S64; \
+        break; \
     case PS_DATA_U8: \
         value = (ps##TYPE)metadataItem->data.U8; \
@@ -833,4 +848,7 @@
     case PS_DATA_U32: \
         value = (ps##TYPE)metadataItem->data.U32; \
+        break; \
+    case PS_DATA_U64: \
+        value = (ps##TYPE)metadataItem->data.U64; \
         break; \
     case PS_DATA_F32: \
@@ -862,7 +880,9 @@
 psMetadataLookupNumTYPE(S16)
 psMetadataLookupNumTYPE(S32)
+psMetadataLookupNumTYPE(S64)
 psMetadataLookupNumTYPE(U8)
 psMetadataLookupNumTYPE(U16)
 psMetadataLookupNumTYPE(U32)
+psMetadataLookupNumTYPE(U64)
 psMetadataLookupNumTYPE(Bool)
 
@@ -1096,9 +1116,9 @@
 
 
-void psMetadataPrint(FILE *fd,
+bool psMetadataPrint(FILE *fd,
                      psMetadata *md,
                      int level)
 {
-    PS_ASSERT_PTR_NON_NULL(md,);
+    PS_ASSERT_PTR_NON_NULL(md,false);
     if (fd == NULL) {
         fd = stdout;
@@ -1107,5 +1127,5 @@
             psError(PS_ERR_IO, true,
                     "Invalid file pointer in psMetadataPrint.  Could not write to fd.\n");
-            return;
+            return false;
         }
     }
@@ -1142,4 +1162,7 @@
             fprintf(fd, "%d", item->data.S32);
             break;
+        case PS_DATA_S64:
+            fprintf(fd, "%ld", item->data.S64);
+            break;
         case PS_DATA_U8:
             fprintf(fd, "%u", item->data.U8);
@@ -1150,4 +1173,7 @@
         case PS_DATA_U32:
             fprintf(fd, "%u", item->data.U32);
+            break;
+        case PS_DATA_U64:
+            fprintf(fd, "%lu", item->data.U64);
             break;
         case PS_DATA_F32:
@@ -1201,11 +1227,10 @@
                     }
                     break;
-                    /*            case PS_DATA_U64:
-                                    fprintf(fd, "U64  ");
-                                    for (int i = 0; i < vector->n; i++) {
-                                        fprintf(fd, "%u ", vector->data.U64[i]);
-                                    }
-                                    break;
-                    */
+                case PS_DATA_U64:
+                    fprintf(fd, "U64  ");
+                    for (int i = 0; i < vector->n; i++) {
+                        fprintf(fd, "%lu ", vector->data.U64[i]);
+                    }
+                    break;
                 case PS_DATA_S8:
                     fprintf(fd, "S8  ");
@@ -1226,11 +1251,10 @@
                     }
                     break;
-                    /*            case PS_DATA_S64:
-                                    fprintf(fd, "S64  ");
-                                    for (int i = 0; i < vector->n; i++) {
-                                        fprintf(fd, "%ld ", vector->data.S64[i]);
-                                    }
-                                    break;
-                    */
+                case PS_DATA_S64:
+                    fprintf(fd, "S64  ");
+                    for (int i = 0; i < vector->n; i++) {
+                        fprintf(fd, "%ld ", vector->data.S64[i]);
+                    }
+                    break;
                 case PS_DATA_F32:
                     fprintf(fd, "F32 ");
@@ -1249,5 +1273,5 @@
                     psError(PS_ERR_BAD_PARAMETER_VALUE, true,
                             PS_ERRORTEXT_psMetadata_METATYPE_INVALID, vector->type.type);
-                    return;
+                    return false;
                 }
                 break;
@@ -1261,5 +1285,5 @@
     psFree(iter);
 
-    return;
+    return true;
 }
 
Index: /trunk/psLib/src/types/psMetadata.h
===================================================================
--- /trunk/psLib/src/types/psMetadata.h	(revision 7471)
+++ /trunk/psLib/src/types/psMetadata.h	(revision 7472)
@@ -11,6 +11,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.78 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-06-09 01:25:42 $
+*  @version $Revision: 1.79 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-10 02:28:17 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -36,7 +36,9 @@
  TYPE == PS_DATA_S16 || \
  TYPE == PS_DATA_S32 || \
+ TYPE == PS_DATA_S64 || \
  TYPE == PS_DATA_U8 || \
  TYPE == PS_DATA_U16 || \
  TYPE == PS_DATA_U32 || \
+ TYPE == PS_DATA_U64 || \
  TYPE == PS_DATA_F32 || \
  TYPE == PS_DATA_F64 || \
@@ -45,7 +47,7 @@
 #define PS_DATA_PRIMITIVE_TYPE(DATATYPE) ( \
         (DATATYPE==PS_DATA_S8 || DATATYPE==PS_DATA_S16 || \
-         DATATYPE==PS_DATA_S32 || DATATYPE==PS_DATA_U8 || \
-         DATATYPE==PS_DATA_U16 || DATATYPE==PS_DATA_U32 || DATATYPE==PS_DATA_F32 || \
-         DATATYPE==PS_DATA_F64 || DATATYPE==PS_DATA_BOOL) ? DATATYPE : 0)
+         DATATYPE==PS_DATA_S32 || DATATYPE==PS_DATA_S64 || DATATYPE==PS_DATA_U8 || \
+         DATATYPE==PS_DATA_U16 || DATATYPE==PS_DATA_U32 || DATATYPE==PS_DATA_U64 || \
+         DATATYPE==PS_DATA_F32 || DATATYPE==PS_DATA_F64 || DATATYPE==PS_DATA_BOOL) ? DATATYPE : 0)
 
 
@@ -108,7 +110,9 @@
         psS16 S16;                     ///< Signed 16-bit integer data.
         psS32 S32;                     ///< Signed 32-bit integer data.
+        psS64 S64;                     ///< Signed 64-bit integer data.
         psU8 U8;                       ///< Unsigned 8-bit integer data.
         psU16 U16;                     ///< Unsigned 16-bit integer data.
         psU32 U32;                     ///< Unsigned 32-bit integer data.
+        psU64 U64;                     ///< Unsigned 64-bit integer data.
         psF32 F32;                     ///< Single-precision float data.
         psF64 F64;                     ///< Double-precision float data.
@@ -233,4 +237,17 @@
 );
 
+/** Create a metadata item with specified psS64 data.
+ *
+ *  Returns a fill psMetadataItem ready for insertion into the psMetadata
+ *  struct.
+ *
+ * @return psMetadataItem* : Pointer metadata item.
+ */
+psMetadataItem* psMetadataItemAllocS64(
+    const char* name,                  ///< Name of metadata item.
+    const char* comment,               ///< Comment for metadata item.
+    psS64 value                        ///< the value of the metadata item.
+);
+
 /** Create a metadata item with specified psU8 data.
  *
@@ -270,4 +287,17 @@
     const char* comment,               ///< Comment for metadata item.
     psU32 value                        ///< the value of the metadata item.
+);
+
+/** Create a metadata item with specified psU64 data.
+ *
+ *  Returns a fill psMetadataItem ready for insertion into the psMetadata
+ *  struct.
+ *
+ * @return psMetadataItem* : Pointer metadata item.
+ */
+psMetadataItem* psMetadataItemAllocU64(
+    const char* name,                  ///< Name of metadata item.
+    const char* comment,               ///< Comment for metadata item.
+    psU64 value                        ///< the value of the metadata item.
 );
 
@@ -351,5 +381,7 @@
 );
 
-/** Creates a new copy of all the psMetadataItems in the psMetadata collection, in, and
+/** Create a copy of an existing psMetadata collection.
+ *
+ *  Creates a new copy of all the psMetadataItems in the psMetadata collection, in, and
  *  returns them in out, or creates a new container if out is NULL.
  *
@@ -361,9 +393,16 @@
 );
 
-// Copy a metadata item from one psMetadata to another
-bool psMetadataItemTransfer(psMetadata *out, // Destination: copy is placed here
-                            const psMetadata *in, // Source: item comes from here
-                            const char *key // key to identify the metadata item
-                           );
+/** Copy a metadata item from one psMetadata to another.
+ *
+ *  Creates a copy of a psMetadataItem from in and appends it to out.  If out is NULL,
+ *  a new container is created.
+ *
+ *  @return bool:       True if successful, otherwise false.
+ */
+bool psMetadataItemTransfer(
+    psMetadata *out,                   ///< output Metadata container for copying.
+    const psMetadata *in,              ///< Metadata collection from which to copy.
+    const char *key                    ///< key to identify the metadata item for copying.
+);
 
 /** Add existing metadata item to metadata collection.
@@ -465,4 +504,17 @@
 );
 
+/** Add a psS64 value to metadata collection.
+ *
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddS64(
+    psMetadata* md,                    ///< Metadata collection to insert metadata item
+    long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
+    const char* name,                  ///< Name of metadata item
+    int format,                        ///< psMetadataFlag options/flags
+    const char* comment,               ///< Comment for metadata item
+    psS64 value                        ///< Value for metadata item data
+);
+
 /** Add a psU8 value to metadata collection.
  *
@@ -502,4 +554,17 @@
     const char* comment,               ///< Comment for metadata item
     psU32 value                        ///< Value for metadata item data
+);
+
+/** Add a psU64 value to metadata collection.
+ *
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddU64(
+    psMetadata* md,                    ///< Metadata collection to insert metadata item
+    long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
+    const char* name,                  ///< Name of metadata item
+    int format,                        ///< psMetadataFlag options/flags
+    const char* comment,               ///< Comment for metadata item
+    psU64 value                        ///< Value for metadata item data
 );
 
@@ -796,4 +861,18 @@
  *  returned.
  *
+ * @return psS64 : Value of metadata item.
+ */
+psS64 psMetadataLookupS64(
+    bool *status,                      ///< Status of lookup.
+    const psMetadata *md,              ///< Metadata collection to lookup metadata item.
+    const char *key                    ///< Name of metadata key.
+);
+
+/** Find an item in the metadata collection based on key name and return its integer value.
+ *
+ *  Items may be found in the metadata by providing a key. If the key is
+ *  non-unique, the value of the first item is returned. If the item is not found, zero is
+ *  returned.
+ *
  * @return psU8 : Value of metadata item.
  */
@@ -827,4 +906,18 @@
  */
 psU32 psMetadataLookupU32(
+    bool *status,                      ///< Status of lookup.
+    const psMetadata *md,              ///< Metadata collection to lookup metadata item.
+    const char *key                    ///< Name of metadata key.
+);
+
+/** Find an item in the metadata collection based on key name and return its integer value.
+ *
+ *  Items may be found in the metadata by providing a key. If the key is
+ *  non-unique, the value of the first item is returned. If the item is not found, zero is
+ *  returned.
+ *
+ * @return psU64 : Value of metadata item.
+ */
+psU64 psMetadataLookupU64(
     bool *status,                      ///< Status of lookup.
     const psMetadata *md,              ///< Metadata collection to lookup metadata item.
@@ -951,6 +1044,8 @@
  *  Metadata contents are printed to a valid file descriptor if one exists.  Otherwise,
  *  fd should be NULL and the contents are printed to the screen (stdout).
+ *
+ *  @return bool:           True if successful, otherwise false.
 */
-void psMetadataPrint(
+bool psMetadataPrint(
     FILE *fd,                          ///< File Descriptor or NULL
     psMetadata *md,                    ///< Metadata collection to print.
Index: /trunk/psLib/src/types/psMetadataConfig.c
===================================================================
--- /trunk/psLib/src/types/psMetadataConfig.c	(revision 7471)
+++ /trunk/psLib/src/types/psMetadataConfig.c	(revision 7472)
@@ -10,6 +10,6 @@
 *  @author Eric Van Alst, MHPCC
 *
-*  @version $Revision: 1.60 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-06-10 01:27:52 $
+*  @version $Revision: 1.61 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-10 02:28:17 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -484,4 +484,7 @@
             fprintf(fd,format,(FORMAT_TYPE)  item->data.S32); \
             break; \
+        case PS_DATA_S64: \
+            fprintf(fd,format,(FORMAT_TYPE)  item->data.S64); \
+            break; \
         case PS_DATA_U8: \
             fprintf(fd,format,(FORMAT_TYPE)  item->data.U8); \
@@ -492,4 +495,7 @@
         case PS_DATA_U32: \
             fprintf(fd,format,(FORMAT_TYPE)  item->data.U32); \
+            break; \
+        case PS_DATA_U64: \
+            fprintf(fd,format,(FORMAT_TYPE)  item->data.U64); \
             break; \
         case PS_DATA_F32: \
@@ -1533,7 +1539,15 @@
             psStringAppend(&content, " \n");
             break;
+        case PS_DATA_S64:
+            psStringAppend(&content, "%s S64  ", item->name);
+            psStringAppend(&content, "%ld ", item->data.S64);
+            if ( strncmp(item->comment,"",2) ) {
+                psStringAppend(&content, " #%s", item->comment);
+            }
+            psStringAppend(&content, " \n");
+            break;
         case PS_DATA_U8:
             psStringAppend(&content, "%s U8  ", item->name);
-            psStringAppend(&content, "%d ", item->data.U8);
+            psStringAppend(&content, "%u ", item->data.U8);
             if ( strncmp(item->comment,"",2) ) {
                 psStringAppend(&content, " #%s", item->comment);
@@ -1543,5 +1557,5 @@
         case PS_DATA_U16:
             psStringAppend(&content, "%s U16  ", item->name);
-            psStringAppend(&content, "%d ", item->data.U16);
+            psStringAppend(&content, "%u ", item->data.U16);
             if ( strncmp(item->comment,"",2) ) {
                 psStringAppend(&content, " #%s", item->comment);
@@ -1551,5 +1565,13 @@
         case PS_DATA_U32:
             psStringAppend(&content, "%s U32  ", item->name);
-            psStringAppend(&content, "%d ", item->data.U32);
+            psStringAppend(&content, "%u ", item->data.U32);
+            if ( strncmp(item->comment,"",2) ) {
+                psStringAppend(&content, " #%s", item->comment);
+            }
+            psStringAppend(&content, " \n");
+            break;
+        case PS_DATA_U64:
+            psStringAppend(&content, "%s U64  ", item->name);
+            psStringAppend(&content, "%lu ", item->data.U64);
             if ( strncmp(item->comment,"",2) ) {
                 psStringAppend(&content, " #%s", item->comment);
@@ -1637,5 +1659,5 @@
                 psStringAppend(&content, "U8 ");
                 for (int i = 0; i < vector->n; i++) {
-                    psStringAppend(&content, "%d ", vector->data.U8[i]);
+                    psStringAppend(&content, "%u ", vector->data.U8[i]);
                 }
                 break;
@@ -1643,5 +1665,5 @@
                 psStringAppend(&content, "U16 ");
                 for (int i = 0; i < vector->n; i++) {
-                    psStringAppend(&content, "%d ", vector->data.U16[i]);
+                    psStringAppend(&content, "%u ", vector->data.U16[i]);
                 }
                 break;
@@ -1649,5 +1671,11 @@
                 psStringAppend(&content, "U32 ");
                 for (int i = 0; i < vector->n; i++) {
-                    psStringAppend(&content, "%d ", vector->data.U32[i]);
+                    psStringAppend(&content, "%u ", vector->data.U32[i]);
+                }
+                break;
+            case PS_DATA_U64:
+                psStringAppend(&content, "U64 ");
+                for (int i = 0; i < vector->n; i++) {
+                    psStringAppend(&content, "%lu ", vector->data.U64[i]);
                 }
                 break;
@@ -1668,4 +1696,10 @@
                 for (int i = 0; i < vector->n; i++) {
                     psStringAppend(&content, "%d ", vector->data.S32[i]);
+                }
+                break;
+            case PS_DATA_S64:
+                psStringAppend(&content, "S64 ");
+                for (int i = 0; i < vector->n; i++) {
+                    psStringAppend(&content, "%ld ", vector->data.S64[i]);
                 }
                 break;
Index: /trunk/psLib/test/types/tst_psMetadata_01.c
===================================================================
--- /trunk/psLib/test/types/tst_psMetadata_01.c	(revision 7471)
+++ /trunk/psLib/test/types/tst_psMetadata_01.c	(revision 7472)
@@ -5,6 +5,6 @@
 *  @author  dRob, MHPCC
 *
-*  @version $Revision: 1.7 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2006-06-09 01:25:42 $
+*  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2006-06-10 02:28:17 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -126,4 +126,6 @@
     psMetadataAddU16(md, PS_LIST_TAIL, "item9", 0, "I am U16", 666);
     psMetadataAddU32(md, PS_LIST_TAIL, "item10", 0, "I am U32", 666);
+    psMetadataAddS64(md, PS_LIST_TAIL, "item11", 0, "I am S64", 666);
+    psMetadataAddU64(md, PS_LIST_TAIL, "item12", 0, "I am U64", 666);
 
     psMetadataAddS32(newMD, PS_LIST_TAIL, "ITEM01", 0, NULL, 666);
Index: /trunk/psLib/test/types/verified/tst_psMetadata_01.stdout
===================================================================
--- /trunk/psLib/test/types/verified/tst_psMetadata_01.stdout	(revision 7471)
+++ /trunk/psLib/test/types/verified/tst_psMetadata_01.stdout	(revision 7472)
@@ -11,4 +11,6 @@
 item9 (I am U16): 666
 item10 (I am U32): 666
+item11 (I am S64): 666
+item12 (I am U64): 666
 metadata7 (I am a metadata): 
   ITEM01: 666
