Index: trunk/Ohana/src/opihi/include/data.h
===================================================================
--- trunk/Ohana/src/opihi/include/data.h	(revision 4689)
+++ trunk/Ohana/src/opihi/include/data.h	(revision 4693)
@@ -8,7 +8,30 @@
 # define DATA_H
 
+/* socket / pipe communication buffer */
+typedef struct {
+  char *buffer;
+  int   Nalloc;
+  int   Nreset;
+  int   Nblock;
+  int   Nbuffer;
+} IOBuffer;
+
+/*** typedef structs used by math functions ***/
+typedef struct {
+  int   NLINES;
+  int   Nlines;
+  char **lines;
+  char  *name;
+} Queue;
+
 void InitData ();
 
-/* in misc/queues.c */
+/* IOBuffersOps.c */
+int InitIOBuffer (IOBuffer *buffer, int Nalloc);
+int FlushIOBuffer (IOBuffer *buffer);
+int ReadtoIOBuffer (IOBuffer *buffer, int fd);
+void FreeIOBuffer (IOBuffer *buffer);
+
+/* in queues.c */
 void InitQueues ();
 void ListQueues ();
@@ -18,5 +41,5 @@
 char *PopQueue (Queue *queue);
 
-/* in misc/sort.c */
+/* in sort.c */
 void sort (double *value, int N);
 void fsort (float *value, int N);
@@ -27,5 +50,5 @@
 void dsort_lists (double *X, double *Y, int *S, int N);
 
-/* in misc/fft.c */
+/* in fft.c */
 void fft (float *Data, int N, int isign);
 void fftold (float *Data, int N, int isign);
@@ -34,16 +57,16 @@
 void fourn (float *data, int *nn, int ndim, int isign);
 
-/* in misc/gaussj.c */
+/* in gaussj.c */
 int gaussj (double **a, int n, double **b, int m);
 int fgaussj (float **a, int n, float **b, int m);
 
-/* in misc/svdcmp.c */
+/* in svdcmp.c */
 int svdcmp (float *a, float *w, float *v, int Nx, int Ny);
 
-/* in misc/spline.c */
+/* in spline.c */
 void spline (float *x, float *y, int N, float *y2);
 float splint (float *x, float *y, float *y2, int N, float X);
 
-/* misc/mrqmin.c */
+/* mrqmin.c */
 float mrqcof (float *x, float *y, float *dy, int Npts, 
 	      float *par, int Npar, float **ta, float **tb, 
@@ -62,5 +85,5 @@
 void mrqfree (int Npar);
 
-/* misc/mrq2dmin.c */
+/* mrq2dmin.c */
 float mrq2dcof (float *x, float *t, float *y, float *dy, int Npts, 
 		float *par, int Npar, float **ta, float **tb, 
@@ -85,22 +108,22 @@
 void mrq2dfree (int Npar);
 
-/* misc/powell.c */
+/* powell.c */
 void powell (float *p, int Npar, float (func)() );
 
-/* misc/gaussian.c */
+/* gaussian.c */
 double gaussian (double x, double mean, double sigma);
 void gauss_init (int Nbin);
 double rnd_gauss (double mean, double sigma);
 
-/* misc/starfuncs.c */
+/* starfuncs.c */
 double get_aperture_stats (Matrix *matrix, int X, int Y, int Npix, int Nborder, double max);
 int set_rough_radii (double Ra, double Ri, double Ro);
 int get_rough_star (float *data, int Nx, int Ny, int x, int y, float *xc, float *yc, float *sx, float *sy, float *sxy, float *zs, float *zp, float *sk);
 
-/* misc/precess.c */
+/* precess.c */
 double BtoJ (double in_epoch);
 double get_epoch (char *in_epoch, char mode);
 
-/* misc/graphtools.c */
+/* graphtools.c */
 void          SetLimits             PROTO((Vector *xvec, Vector *yvec, Graphdata *graphmode));
 void          ApplyLimits           PROTO((int Xgraph, Graphdata *graphmode, int apply));
