00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef OBITINFOELEM_H
00028 #define OBITINFOELEM_H
00029 #include <stdio.h>
00030 #include <glib.h>
00031 #include "ObitTypes.h"
00032
00041 #undef CLASS
00042
00043 #define CLASS "ObitInfoElem"
00044
00046 #define MAXINFOELEMDIM 5
00047
00048 typedef struct {
00050 gchar *iname;
00052 ObitInfoType itype;
00054 gint32 idim[MAXINFOELEMDIM];
00056 gint32 size;
00058 gpointer data;
00059 } ObitInfoElem;
00060
00062 ObitInfoElem* newObitInfoElem (gchar *label, ObitInfoType type,
00063 gint32 *dim, gconstpointer data);
00065 ObitInfoElem* ObitInfoElemCopy (ObitInfoElem *in);
00066
00068 void freeObitInfoElem(ObitInfoElem *me);
00069
00071 gboolean ObitInfoElemTest (ObitInfoElem *me, char *testname);
00072
00074 gboolean ObitInfoElemComp (ObitInfoElem *me, ObitInfoType type, gint32 *dim);
00075
00077 gboolean ObitInfoElemUpdate (ObitInfoElem *me, gint32 type,
00078 gint32 *dim, gconstpointer data, gboolean warn);
00079
00081 void ObitInfoElemSave (ObitInfoElem *me, gconstpointer data);
00082
00084 void ObitInfoElemResize (ObitInfoElem *me, ObitInfoType type, gint32 *dim);
00085
00087 glong ObitInfoElemSize (ObitInfoType type, gint32 *dim);
00088
00090 void ObitInfoElemPrint(ObitInfoElem *me, FILE *file);
00091
00092 #endif