Main Page | Class List | Directories | File List | Class Members | File Members

ObitAIPSDir.c File Reference

ObitAIPSDir class function definitions. More...

#include <sys/types.h>
#include <time.h>
#include <math.h>
#include <string.h>
#include "ObitFile.h"
#include "ObitAIPSDir.h"
#include "ObitAIPSCat.h"

Classes

struct  ObitAIPSDir
 ObitAIPSDir Class Structure. More...
struct  ObitAIPSDirCatHead
 AIPS Catalog directory structure This is at the beginning of a catalog. More...

Functions

gboolean ObitAIPSDirIsA (ObitAIPSDir *in)
 Private: Returns true if input is a ObitAIPSDir*.
void ObitAIPSDirClassInit (gint number, gchar *dir[])
 Private: Class initializer.
gint ObitAIPSDirFindCNO (gint disk, gint user, gchar Aname[13], gchar Aclass[7], gchar Atype[3], gint seq, ObitErr *err)
 Public: Find AIPS Catalog for a given AIPS name ...
gint ObitAIPSDirAlloc (gint disk, gint user, gchar Aname[13], gchar Aclass[7], gchar Atype[3], gint seq, gboolean *exist, ObitErr *err)
 Public: Allocate AIPS directory slot an fill it in.
void ObitAIPSDirRemoveEntry (gint disk, gint user, gint cno, ObitErr *err)
 Public: Remove Catalog directory entry.
gint ObitAIPSDirNumber (gint disk, gint user, ObitErr *err)
 Public: Determine maximum catalog slot number occupied.
gint ObitAIPSDirHiSeq (gint disk, gint user, gchar Aname[13], gchar Aclass[7], gchar Atype[3], gboolean exist, ObitErr *err)
 Public: Determine maximum sequence number used.
void ObitAIPSDirRename (gint disk, gint user, gint cno, gchar *newName, gchar newClass[7], gint newSeq, ObitErr *err)
 Rename directory entry.
ObitAIPSDirCatEntryObitAIPSDirGetEntry (gint disk, gint user, gint cno, ObitErr *err)
 Public: Get Catalog directory entry.
void ObitAIPSDirGetAccess (ObitAIPSDirCatEntry *entry, gchar *timeDate)
 Public: Get last access.
ObitAIPSDirStatusError ObitAIPSDirStatus (gint disk, gint user, gint cno, ObitAIPSDirStatusCode code, ObitErr *err)
 Public: Change status of Catalog directory entry.


Detailed Description

ObitAIPSDir class function definitions.


Function Documentation

gint ObitAIPSDirAlloc gint  disk,
gint  user,
gchar  Aname[13],
gchar  Aclass[7],
gchar  Atype[3],
gint  seq,
gboolean *  exist,
ObitErr err
 

Public: Allocate AIPS directory slot an fill it in.

If it doesn't exist find the first free slot and allocate it to the new entry.

Parameters:
disk disk number.
user AIPS user number.
Aname AIPS name.
Aclass AIPS class.
Atype AIPS file type (MA, UV, SC).
seq AIPS sequence number. If <=0 then one is assigned if a matching file exists, the highest sequence number, is used, else seq 1 is allocated.
exist [out] TRUE iff the entry previously existed.
err Obit error stack.
Returns:
the catalog slot number or -1 if it was not found.

void ObitAIPSDirClassInit gint  number,
gchar *  dir[]
 

Private: Class initializer.

gint ObitAIPSDirFindCNO gint  disk,
gint  user,
gchar  Aname[13],
gchar  Aclass[7],
gchar  Atype[3],
gint  seq,
ObitErr err
 

Public: Find AIPS Catalog for a given AIPS name ...

Parameters:
disk disk number to search.
user AIPS user number
Aname AIPS name.
Aclass AIPS class.
Atype AIPS file type ("MA", "UV", "SC", " "=>any).
seq AIPS sequence number.
err Obit error stack
Returns:
the catalog slot number or -1 if it was not found.

void ObitAIPSDirGetAccess ObitAIPSDirCatEntry entry,
gchar *  timeDate
 

Public: Get last access.

Parameters:
entry Structure whose access time is desired
timeDate String to accept date/time string Must have at least 21 char allocated.

ObitAIPSDirCatEntry* ObitAIPSDirGetEntry gint  disk,
gint  user,
gint  cno,
ObitErr err
 

Public: Get Catalog directory entry.

Parameters:
disk disk number.
user user id number.
cno catalog slot number
err ObitErr error stack.
Returns:
pointer to a newly created ObitAIPSDirCatEntry, NULL on failure, this must be freed (g_free).

gint ObitAIPSDirHiSeq gint  disk,
gint  user,
gchar  Aname[13],
gchar  Aclass[7],
gchar  Atype[3],
gboolean  exist,
ObitErr err
 

Public: Determine maximum sequence number used.

If exist==TRUE and a match is found the highest value is returned. If If exist==FALSE and a match is found , the highest seq+1 is returned If there are no matches, 1 is returned

Parameters:
disk disk number., if 0, check all
user AIPS user number.
Aname AIPS name, NULLs assumed equivalent to blank
Aclass AIPS class. NULLs assumed equivalent to blank
Atype AIPS file type (MA, UV, SC).
exist TRUE iff the entry already exists (open for read)
err Obit error stack.
Returns:
the desired AIPS sequence number, -1 on error

gboolean ObitAIPSDirIsA ObitAIPSDir in  ) 
 

Private: Returns true if input is a ObitAIPSDir*.

Parameters:
in Pointer to catalog directory structure info.
Returns:
TRUE if the correct class else FALSE.

gint ObitAIPSDirNumber gint  disk,
gint  user,
ObitErr err
 

Public: Determine maximum catalog slot number occupied.

Parameters:
disk disk number.
user AIPS user number.
err Obit error stack.
Returns:
highest catalog slot number in directory

void ObitAIPSDirRemoveEntry gint  disk,
gint  user,
gint  cno,
ObitErr err
 

Public: Remove Catalog directory entry.

Parameters:
disk disk number.
user AIPS user number.
cno Catalog slot number.
err Obit error stack.

void ObitAIPSDirRename gint  disk,
gint  user,
gint  cno,
gchar *  newName,
gchar  newClass[7],
gint  newSeq,
ObitErr err
 

Rename directory entry.

Parameters:
disk Disk number
user AIPS user number.
cno Slot number to be renamed
newName New AIPS name (12 characters)
newClass New AIPS Class (6 characters)
newSeq New AIPS sequence
err Obit error stack.

ObitAIPSDirStatusError ObitAIPSDirStatus gint  disk,
gint  user,
gint  cno,
ObitAIPSDirStatusCode  code,
ObitErr err
 

Public: Change status of Catalog directory entry.

Only one program/thread can mark an entry write and if the entry is marked write no reads can be added. Errors are indicated in err and as the return code.

Parameters:
disk disk number.
user user id number.
cno catalog slot number
code a status change code as an #ObitAIPSDirStatusCode defined in ObitAIPSDir.h.
  • OBIT_AIPS_Dir_AddWrite => Add Write Status
  • OBIT_AIPS_Dir_ClearWrite => Clear Write Status
  • OBIT_AIPS_Dir_IncRead => Increment Read Status
  • OBIT_AIPS_Dir_DecRead => Decrement Read Status
err ObitErr error stack.
Returns:
a completion code as an #ObitAIPSDirStatusError. OBIT_AIPS_Dir_StatusOK on success.


Generated on Fri Aug 31 22:13:04 2007 for Obit by  doxygen 1.3.9.1