libohana API reference
functions in string.c
int get_argument (int argc, char **argv, char *arg);
search argv, argc list (starting at argv[1]) for desired argument.
returns entry number if found, 0 otherwise.
int remove_argument (int Narg, int &argc, char **argv);
remove the given entry Narg from the argv list, adjusting argc
appropriately.
int stripwhite (char *string);
strip whitespace (space or tab) from start and end of string.
int strnumcmp (char *str1, char *str2);
compare str1 and str2 as strings, or as numbers if both are pure
numeric values (base 10 only). returns TRUE / FALSE.
char *strcreate (char *string);
char *strncreate (char *string, int Nbytes);
int scan_line (FILE *f, char *line);
int dparse (double *value, int Nentry, char *line);
int fparse (double *value, int Nentry, char *line);
char *_parse_nextword (char *string);
functions in findexec.c
char *pathname (char *file);
char *filerootname (char *file);
char *fileextname (char *file);
char *filebasename (char *file);
char *findexec (int argc, char **argv);
int mkdirhier (char *path);
char *getcwd_cfht (char *path, int size);
functions in glockfile.c
FILE *fsetlockfile (char *filename, double timeout, int type, int *state);
int fclearlockfile (char *filename, FILE *f, int type, int *state);
int setlockfile2 (char *filename, double timeout, int type, int *state);
int clearlockfile2 (char *filename, double timeout, int type, int *state);
deprecated functions : are they all removed?
int setlockfile (char *name, double timeout, int hard);
int clearlockfile (char *name, int fd, int hard);
int gnfsflush (char *filename);
functions in Fread.c
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 ConvertStruct (char *buffer, int size, int nitems, char *type);
functions in LoadPhotcodes.c
int LoadPhotcodes (char *filename, PhotCodeData *photcodes);
int FreePhotcodes (PhotCodeData *photcodes);
int GetPhotcodebyName (PhotCodeData *photcodes, char *name);
int GetPhotcodeRefs (PhotCodeData *photcodes, char *name, int *code, int *ref);
int GetPhotcodeEquiv (PhotCodeData *photcodes, char *name, int *code, int *ref);
char *GetPhotnamebyCode (PhotCodeData *photcodes, int code);
functions in config.c
char *SelectConfigFile (int *argc, char **argv, char *progname);
char *LoadConfigFile (char *filename);
char *ScanConfig (char *config, char *field, char *mode, int Nentry, ...);
char *expandline (char *line, char *config);
char *LoadRawConfigFile (char *filename, int options);
functions in coordops.c
int XY_to_RD (double *ra, double *dec, double x, double y, Coords *coords);
int RD_to_XY (double *x, double *y, double ra, double dec, Coords *coords);
int fXY_to_RD (float *ra, float *dec, float x, float y, Coords *coords);
int fRD_to_XY (float *x, float *y, float ra, float dec, Coords *coords);
int GetCoords (Coords *coords, Header *header);
int coords_precess (double *ra, double *dec, double in_epoch, double out_epoch);
functions in phot_catalog.c
int lock_catalog (Catalog *catalog, int lockmode);
int unlock_catalog (Catalog *catalog);
int load_catalog (Catalog *catalog, char mode, int VERBOSE);
int save_catalog (Catalog *catalog, char VERBOSE);
Measure *FixOldMeasure (OldMeasure *in, int Nvalues);
Average *FixOldAverage (OldAverage *in, int Nvalues);
SecFilt *FixOldSecFilt (OldSecFilt *in, int Nvalues);
functions in photfits.c
short int putMi (double value);
double getMi (short int value);
void returnMcal (Image *image, double *c);
void assignMcal (Image *image, double *c, int order);
double applyMcal (Image *image, double x, double y);
double findscatter (double *X, double *Y, double *M, double *dM, int N, double *c, int order);
defined macros
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)
defined constants
TRUE
FALSE
LCK_SOFT - block writing
LCK_XCLD - block reading and writing
LCK_HARD - block reading and writing, persistent
LCK_UNLOCK - file is unlocked
LCK_ACCESS - can't get access to file
LCK_TIMEOUT - timeout setting lock
LCK_HARDLCK - error setting hard lockfile
LCK_HUNLOCK - error clearing hard lockfile
LCK_EMPTY - locked file is empty
LCK_FULL - locked file is not empty
LCK_UNKNOWN - can't stat file to get size