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 OBITAIPSDIR_H
00028 #define OBITAIPSDIR_H
00029 #include <glib.h>
00030 #include "ObitErr.h"
00031 #include "ObitThread.h"
00032 #include "ObitAIPS.h"
00033
00042
00047 typedef struct {
00049 gint user;
00056 gint32 status;
00062 guint32 access[2];
00064 gint32 seq;
00066 gchar name[12];
00068 gchar class[6];
00070 gchar type[2];
00071 } ObitAIPSDirCatEntry;
00072
00073
00075 enum _ObitAIPSDirStatusCode {
00077 OBIT_AIPS_Dir_AddWrite,
00079 OBIT_AIPS_Dir_ClearWrite,
00081 OBIT_AIPS_Dir_IncRead,
00083 OBIT_AIPS_Dir_DecRead,
00085 OBIT_AIPS_Dir_ClearAll
00086 };
00088 typedef enum _ObitAIPSDirStatusCode ObitAIPSDirStatusCode;
00089
00091 enum _ObitAIPSDirStatusError {
00093 OBIT_AIPS_Dir_StatusOK,
00095 OBIT_AIPS_Dir_StatusSpecErr,
00097 OBIT_AIPS_Dir_StatusIOErr,
00099 OBIT_AIPS_Dir_StatusRead,
00101 OBIT_AIPS_Dir_StatusWrite
00102 };
00104 typedef enum _ObitAIPSDirStatusError ObitAIPSDirStatusError;
00105
00106
00108 gint ObitAIPSDirFindCNO(gint disk, gint user,
00109 gchar Aname[13], gchar Aclass[7], gchar Atype[3],
00110 gint seq, ObitErr *err);
00111
00113 gint ObitAIPSDirAlloc(gint disk, gint user,
00114 gchar Aname[13], gchar Aclass[7], gchar Atype[3],
00115 gint seq, gboolean *exist, ObitErr *err);
00116
00118 void ObitAIPSDirRemoveEntry(gint disk, gint user, gint cno, ObitErr *err);
00119
00121 gint ObitAIPSDirNumber(gint disk, gint user, ObitErr *err);
00122
00124 gint ObitAIPSDirHiSeq(gint disk, gint user, gchar Aname[13],
00125 gchar Aclass[7], gchar Atype[3],
00126 gboolean exist, ObitErr *err);
00127
00129 void ObitAIPSDirRename(gint disk, gint user, gint cno, gchar *newName,
00130 gchar *newClass, gint newSeq, ObitErr *err);
00131
00133 ObitAIPSDirCatEntry*
00134 ObitAIPSDirGetEntry(gint disk, gint user, gint cno, ObitErr *err);
00135
00137 void ObitAIPSDirGetAccess(ObitAIPSDirCatEntry* entry, gchar *timeDate);
00138
00140 ObitAIPSDirStatusError
00141 ObitAIPSDirStatus(gint disk, gint user, gint cno,
00142 ObitAIPSDirStatusCode code, ObitErr *err);
00143
00144 #endif
00145