
string / argv functions:

int get_argument (int argc, char **argv, char *arg);
int remove_argument (int Narg, int &argc, char **argv);
int stripwhite (char *string);
int strnumcmp (char *str1, char *str2);
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);

char *_parse_nextword (char *string);

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);


locking functions / catalog

int setlockfile2 (char *filename, double timeout, int type, int *state);
int clearlockfile2 (char *filename, double timeout, int type, int *state);

int lock_catalog (Catalog *catalog, int lockmode);
int unlock_catalog (Catalog *catalog);
int load_catalog (Catalog *catalog, char mode, int VERBOSE);
void save_catalog (Catalog *catalog, char VERBOSE);

locks:

LCK_SOFT - block writing
LCK_XCLD - block reading and writing
LCK_HARD - block reading and writing, persistent

setlockfile (LCK_SOFT):

errors:
 HARD,XCLD: if file missing, create (666?) 
 SOFT: if file missing: error LCK_ACCESS
 