
these routines make up the ohana library.  to compile a program with
them, include ohana.h and link with -libohana. 

the ohana library includes the following macros:

ALLOCATE (void *ptr, type, int Nelement)
REALLOCATE (void *ptr, type, int Nelement)

SIGN(X)  
ROUND(X) 
SQR(X)   
SQ(X)    
MIN(X,Y) 
MAX(X,Y) 
SWAP(X,Y) 

whitespace (char c)

the ohana library includes the following functions:

int stripwhite (char *string)
char *strcreate (char *string)
char *strncreate (char *string, int n)
int scan_line (FILE *f, char *line) 
char *_parse_nextword (char *string)
int dparse (double *X, int NX, char *line)

int get_argument (int argc, char **argv, char *arg)
int remove_argument (int N, int *argc, char **argv)

int Fread (char ptr, int size, int nitems, FILE *f, char *type)
int Fwrite (char ptr, int size, int nitems, FILE *f, char *type)
int ByteSwap (char *ptr, int size, int nitems, char *type) 

int _check_permissions (char *filename)
char *pathname (char *name)
char *filebasename (char *name)
char *findexec (int argc, char **argv)

char *SelectConfigFile (int *argc, char **argv, char *progname)
char *LoadConfigFile (char *filename) 
char *ScanConfig (char *config, char *field, char *mode, void *ptr)
char *expandline (char *line, char *config)

XY_to_RD (double *ra, double *dec, double x,  double y,   Coords *coords)
RD_to_XY (double *x,  double *y,   double ra, double dec, Coords *coords)
fXY_to_RD (float *ra, float *dec, float x,  float y,   Coords *coords)
fRD_to_XY (float *x,  float *y,   float ra, float dec, Coords *coords)
int GetCoords (Coords *coords, Header *header)

save_catalog (char *filename, Catalog *catalog, char VERBOSE)
load_catalog (char *filename, Catalog *catalog, char mode, char VERBOSE)

LoadPhotcodes (char *filename, PhotCodeData *photcodes)
GetPhotcodebyName (PhotCodeData *photcodes, char *name)
double applyphot (PhotCode photcode, int Nphotcode, Average *ave, Measure *meas)
