Index: /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.basic/list.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.basic/list.c	(revision 33475)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.basic/list.c	(revision 33476)
@@ -19,4 +19,24 @@
     remove_argument (N, &argc, argv);
     RunCommand = TRUE;
+  }
+
+  if ((N = get_argument (argc, argv, "-vectors"))) {
+    remove_argument (N, &argc, argv);
+    if (argc != 2) {
+      gprint (GP_ERR, "USAGE: list (root) -vectors\n");
+      return (FALSE);
+    }
+    ListVectorsToList (argv[1]);
+    return TRUE;
+  }
+
+  if ((N = get_argument (argc, argv, "-buffers"))) {
+    remove_argument (N, &argc, argv);
+    if (argc != 2) {
+      gprint (GP_ERR, "USAGE: list (root) -buffers\n");
+      return (FALSE);
+    }
+    ListBuffersToList (argv[1]);
+    return TRUE;
   }
 
@@ -156,4 +176,6 @@
     gprint (GP_ERR, "USAGE: list (root)                			       : supply list data, terminate with 'END'\n");
     gprint (GP_ERR, "USAGE: list (root) -x (command)   			       : create list from shell output\n");
+    gprint (GP_ERR, "USAGE: list (root) -vectors   			       : create list from vector names\n");
+    gprint (GP_ERR, "USAGE: list (root) -buffers   			       : create list from buffer names\n");
     gprint (GP_ERR, "USAGE: list (root) -split (words) 			       : create list from words\n");
     gprint (GP_ERR, "USAGE: list (root) -splitbychar (char) (word) [(words)..] : create list from words\n");
Index: /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.data/init.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.data/init.c	(revision 33475)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.data/init.c	(revision 33476)
@@ -61,4 +61,5 @@
 int header           PROTO((int, char **));
 int list_vectors     PROTO((int, char **));
+int vtype            PROTO((int, char **));
 int load             PROTO((int, char **));
 int lookup           PROTO((int, char **));
@@ -138,4 +139,8 @@
 int zplot            PROTO((int, char **));
 int zcplot            PROTO((int, char **));
+
+// ???
+// int mtype            PROTO((int, char **));
+//  {1, "mtype",        mtype,            "return the type of the defined buffer"},
 
 static Command cmds[] = {  
@@ -269,4 +274,5 @@
   {1, "vclip",        vclip,            "clip values in a vector to be within a range"},
   {1, "vectors",      list_vectors,     "list vectors"},
+  {1, "vtype",        vtype,            "return the vector type (FLT or INT)"},
   {1, "vgauss",       vgauss,           "fit a Gaussian to a vector"},
   {1, "vellipse",     vellipse,         "fit a Ellipse to a vector pair"},
Index: /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.data/list_buffers.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.data/list_buffers.c	(revision 33475)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.data/list_buffers.c	(revision 33476)
@@ -9,2 +9,43 @@
 
 }
+
+# if (0) 
+int mtype (int argc, char **argv) {
+
+  Variable = (char *) NULL;
+  if ((N = get_argument (argc, argv, "-var"))) {
+    remove_argument (N, &argc, argv);
+    Variable = strcreate (argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
+  if (argc != 2) {
+    gprint (GP_ERR, "USAGE: mtype (buffer) [-var out]\n");
+    return (FALSE);
+  }
+
+  Buffer *buf = SelectBuffer (argv[1], OLDBUFFER, FALSE);
+  if (!buf) {
+    gprint (GP_ERR, "unknown buffer %s\n", argv[1]);
+    free (Variable);
+    return FALSE;
+  }
+
+  if (buf->type == OPIHI_FLT) {
+    if (Variable) {
+      set_str_variable (Variable, "FLT");
+    } else {
+      gprint (GP_LOG, "%s : FLT\n", argv[1]);
+    }
+  } else {
+    if (Variable) {
+      set_str_variable (Variable, "INT");
+    } else {
+      gprint (GP_LOG, "%s : INT\n", argv[1]);
+    }
+  }
+  if (Variable) free (Variable);
+
+  return (TRUE);
+}
+# endif
Index: /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.data/list_vectors.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.data/list_vectors.c	(revision 33475)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/opihi/cmd.data/list_vectors.c	(revision 33476)
@@ -7,2 +7,43 @@
 }
 
+int vtype (int argc, char **argv) {
+
+  int N;
+
+  char *Variable = (char *) NULL;
+  if ((N = get_argument (argc, argv, "-var"))) {
+    remove_argument (N, &argc, argv);
+    Variable = strcreate (argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
+  if (argc != 2) {
+    gprint (GP_ERR, "USAGE: vtype (vector) [-var out]\n");
+    return (FALSE);
+  }
+
+  Vector *vec = SelectVector (argv[1], OLDVECTOR, FALSE);
+  if (!vec) {
+    gprint (GP_ERR, "unknown vector %s\n", argv[1]);
+    free (Variable);
+    return FALSE;
+  }
+
+  if (vec->type == OPIHI_FLT) {
+    if (Variable) {
+      set_str_variable (Variable, "FLT");
+    } else {
+      gprint (GP_LOG, "%s : FLT\n", argv[1]);
+    }
+  } else {
+    if (Variable) {
+      set_str_variable (Variable, "INT");
+    } else {
+      gprint (GP_LOG, "%s : INT\n", argv[1]);
+    }
+  }
+  if (Variable) free (Variable);
+
+  return (TRUE);
+}
+
Index: /branches/eam_branches/ipp-20111122/Ohana/src/opihi/include/dvomath.h
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/opihi/include/dvomath.h	(revision 33475)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/opihi/include/dvomath.h	(revision 33476)
@@ -128,4 +128,5 @@
 int           IsVectorPtr           PROTO((Vector *vec));
 int           ListVectors           PROTO((void));
+int           ListVectorsToList     PROTO((char *name));
 Vector       *SelectVector          PROTO((char *name, int mode, int verbose));
 int           AssignVector          PROTO((Vector *vec, char *name, int mode, int verbose));
@@ -147,4 +148,5 @@
 int           IsBufferPtr           PROTO((Buffer *buf));
 int           PrintBuffers          PROTO((int Long));
+int           ListBuffersToList     PROTO((char *name));
 int           CreateBuffer          PROTO((Buffer *buf, int Nx, int Ny, int bitpix, float bzero, float bscale));
 Buffer       *SelectBuffer          PROTO((char *name, int mode, int verbose));
Index: /branches/eam_branches/ipp-20111122/Ohana/src/opihi/lib.shell/BufferOps.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/opihi/lib.shell/BufferOps.c	(revision 33475)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/opihi/lib.shell/BufferOps.c	(revision 33476)
@@ -256,2 +256,16 @@
   return (TRUE);
 }
+
+int ListBuffersToList (char *name) {
+
+  int i;
+  char line[1024];
+
+  for (i = 0; i < Nbuffers; i++) {
+    sprintf (line, "%s:%d", name, i);
+    set_str_variable (line, buffers[i][0].name);
+  }
+  sprintf (line, "%s:n", name);
+  set_int_variable (line, Nbuffers);
+  return (Nbuffers);
+}
Index: /branches/eam_branches/ipp-20111122/Ohana/src/opihi/lib.shell/VectorOps.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/opihi/lib.shell/VectorOps.c	(revision 33475)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/opihi/lib.shell/VectorOps.c	(revision 33476)
@@ -324,2 +324,16 @@
   return (TRUE);
 }
+
+int ListVectorsToList (char *name) {
+
+  int i;
+  char line[1024];
+
+  for (i = 0; i < Nvectors; i++) {
+    sprintf (line, "%s:%d", name, i);
+    set_str_variable (line, vectors[i][0].name);
+  }
+  sprintf (line, "%s:n", name);
+  set_int_variable (line, Nvectors);
+  return (Nvectors);
+}
