AcePerl
view release on metacpan or search on metacpan
acelib/wh/regular.h view on Meta::CPAN
/* Last edited: Dec 21 13:45 1998 (fw) */
/* $Id: regular.h,v 1.1 2002/11/14 20:00:06 lstein Exp $ */
/***************************************************************
* File regular.h : header file for ACEDB utility functions
* Author: Richard Durbin (rd@sanger.ac.uk)
* Copyright (C) J Thierry-Mieg and R Durbin, 1994
*-------------------------------------------------------------------
* This file is part of the ACEDB genome database package, written by
* Richard Durbin (MRC LMB, UK) rd@mrc-lmb.cam.ac.uk, and
* Jean Thierry-Mieg (CRBM du CNRS, France) mieg@kaa.cnrs-mop.fr
*
* HISTORY:
* Last edited: Aug 20 11:50 1997 (rbrusk)
* * Sep 9 16:54 1998 (edgrif): Add messErrorInit decl.
* * Sep 9 14:31 1998 (edgrif): Add filGetFilename decl.
* * Aug 20 11:50 1998 (rbrusk): AUL_FUNC_DCL
* * Sep 3 11:50 1998 (edgrif): Add macro version of messcrash to give
* file/line info for debugging.
* Created: 1991 (rd)
*-------------------------------------------------------------------
*/
#ifndef DEF_REGULAR_H
#define DEF_REGULAR_H
/* library EXPORT/IMPORT symbols */
#if defined (WIN32)
#include "win32libspec.h" /* must come before mystdlib.h...*/
#else
#define UTIL_FUNC_DCL
#define UTIL_VAR_DCL extern
#define UTIL_FUNC_DEF
#define UTIL_VAR_DEF
#endif
#include "mystdlib.h" /* contains full prototypes of system calls */
#if defined(WIN32)
#if defined(_DEBUG)
#define MEM_DEBUG /* must be defined here, before acelibspec.h */
#include <crtdbg.h>
#endif
UTIL_VAR_DCL char* linkDate ;
UTIL_VAR_DCL int isInteractive ; /* can set FALSE, i.e. in tace */
#endif
#ifdef FALSE
typedef int BOOL ;
#else
typedef enum {FALSE=0,TRUE=1} BOOL ;
#endif
typedef unsigned char UCHAR ; /* for convenience */
typedef unsigned int KEY ;
typedef void (*VoidRoutine)(void) ;
typedef void (*Arg1Routine)(void *arg1) ;
/* magic_t : the type that all magic symbols are declared of.
They become magic (i.e. unique) by using the pointer
to that unique symbol, which has been placed somewhere
in the address space by the compiler */
/* type-magics and associator codes are defined at
magic_t MYTYPE_MAGIC = "MYTYPE";
The address of the string is then used as the unique
identifier (as type->magic or graphAssXxx-code), and the
string can be used during debugging */
typedef char* magic_t;
typedef struct freestruct
{ KEY key ;
char *text ;
} FREEOPT ;
/*---------------------------------------------------------------------*/
/* The free package for reading from files/stdout, see freesubs.c */
/* */
UTIL_FUNC_DCL void freeinit (void) ;
UTIL_FUNC_DCL int freeCurrLevel(void) ; /* Returns current level. */
UTIL_FUNC_DCL char* freecard (int level) ; /* 0 if below level (returned by freeset*) */
UTIL_FUNC_DCL void freecardback (void) ; /* goes back one card */
UTIL_FUNC_DCL void freeforcecard (char *string);
UTIL_FUNC_DCL int freesettext (char *string, char *parms) ; /* returns level to be used in freecard () */
UTIL_FUNC_DCL int freesetfile (FILE *fil, char *parms) ;
UTIL_FUNC_DCL int freesetpipe (FILE *fil, char *parms) ; /* will call pclose */
UTIL_FUNC_DCL void freeclose(int level) ; /* closes the above */
UTIL_FUNC_DCL void freespecial (char *set) ; /* set of chars to be recognized from "\n;/%\\@$" */
UTIL_FUNC_DCL BOOL freeread (FILE *fil) ; /* returns FALSE if EOF */
UTIL_FUNC_DCL int freeline (FILE *fil) ; /* line number in file */
UTIL_FUNC_DCL int freestreamline (int level) ;/* line number in stream(level)*/
UTIL_FUNC_DCL char *freeword (void) ;
#if defined(WIN32) /* A variation to correctly parse MS DOS/Windows pathnames */
UTIL_FUNC_DCL char *freepath (void) ;
#else /* NOT defined(WIN32) */
#define freepath freeword /* freeword() works fine if not in WIN32 */
#endif /* defined(WIN32) */
UTIL_FUNC_DCL char *freewordcut (char *cutset, char *cutter) ;
UTIL_FUNC_DCL void freeback (void) ; /* goes back one word */
UTIL_FUNC_DCL BOOL freeint (int *p) ;
UTIL_FUNC_DCL BOOL freefloat (float *p) ;
UTIL_FUNC_DCL BOOL freedouble (double *p) ;
UTIL_FUNC_DCL BOOL freekey (KEY *kpt, FREEOPT *options) ;
UTIL_FUNC_DCL BOOL freekeymatch (char *text, KEY *kpt, FREEOPT *options) ;
UTIL_FUNC_DCL void freemenu (void (*proc)(KEY), FREEOPT *options) ;
UTIL_FUNC_DCL char *freekey2text (KEY k, FREEOPT *o) ; /* Return text corresponding to key */
UTIL_FUNC_DCL BOOL freeselect (KEY *kpt, FREEOPT *options) ;
UTIL_FUNC_DCL BOOL freelevelselect (int level,
KEY *kpt, FREEOPT *options);
UTIL_FUNC_DCL void freedump (FREEOPT *options) ;
UTIL_FUNC_DCL BOOL freestep (char x) ;
UTIL_FUNC_DCL void freenext (void) ;
UTIL_FUNC_DCL BOOL freeprompt (char *prompt, char *dfault, char *fmt) ;/* gets a card */
UTIL_FUNC_DCL BOOL freecheck (char *fmt) ; /* checks remaining card fits fmt */
UTIL_FUNC_DCL int freefmtlength (char *fmt) ;
UTIL_FUNC_DCL BOOL freequery (char *query) ;
UTIL_FUNC_DCL char *freepos (void) ; /* pointer to present position in card */
UTIL_FUNC_DCL char *freeprotect (char* text) ; /* protect so freeword() reads correctly */
UTIL_FUNC_DCL char* freeunprotect (char *text) ; /* reverse of protect, removes \ etc */
UTIL_VAR_DCL char FREE_UPPER[] ;
#define freeupper(x) (FREE_UPPER[(x) & 0xff]) /* table is only 128 long */
acelib/wh/regular.h view on Meta::CPAN
/* returns an absolute path string for dir in relation to user's CWD */
/* returns pointer to internal static */
UTIL_FUNC_DCL char *filGetFullPath (char *dir);
/* returns filename part of a pathname. */
/* returns pointer to internal static */
UTIL_FUNC_DCL char *filGetFilename(char *path);
/* returns the file-extension part of a path or file-name */
/* returns pointer to internal static */
UTIL_FUNC_DCL char *filGetExtension(char *path);
UTIL_FUNC_DCL char *filName (char *name, char *ending, char *spec) ;
UTIL_FUNC_DCL char *filStrictName (char *name, char *ending, char *spec) ;
/* determines time since last modification, FALSE if no file */
UTIL_FUNC_DCL BOOL filAge (char *name, char *ending,
int *diffYears, int *diffMonths, int *diffDays,
int *diffHours, int *diffMins, int *diffSecs);
UTIL_FUNC_DCL FILE *filopen (char *name, char *ending, char *spec) ;
UTIL_FUNC_DCL FILE *filmail (char *address) ;
UTIL_FUNC_DCL void filclose (FILE* fil) ;
UTIL_FUNC_DCL BOOL filremove (char *name, char *ending) ;
UTIL_FUNC_DCL FILE *filtmpopen (char **nameptr, char *spec) ;
UTIL_FUNC_DCL BOOL filtmpremove (char *name) ;
UTIL_FUNC_DCL void filtmpcleanup (void) ;
/* file chooser */
typedef FILE* (*QueryOpenRoutine)(char*, char*, char*, char*, char*) ;
UTIL_FUNC_DCL QueryOpenRoutine filQueryOpenRegister (QueryOpenRoutine new);
/* allow graphic file choosers to be registered */
UTIL_FUNC_DCL FILE *filqueryopen (char *dirname, char *filname,
char *ending, char *spec, char *title);
/* if dirname is given it should be DIR_BUFFER_SIZE long
and filname FILE_BUFFER_SIZE long
if not given, then default (static) buffers will be used */
/* directory access */
UTIL_FUNC_DCL Array filDirectoryCreate (char *dirName,
char *ending,
char *spec);
UTIL_FUNC_DCL void filDirectoryDestroy (Array filDirArray);
/*******************************************************************/
/************* randsubs.c random number generator ******************/
UTIL_FUNC_DCL double randfloat (void) ;
UTIL_FUNC_DCL double randgauss (void) ;
UTIL_FUNC_DCL int randint (void) ;
UTIL_FUNC_DCL void randsave (int *arr) ;
UTIL_FUNC_DCL void randrestore (int *arr) ;
/* Unix debugging. */
/* put "break invokeDebugger" in your favourite debugger init file */
/* this function is empty, it is defined in messubs.c used in
messerror, messcrash and when ever you need it.
*/
UTIL_FUNC_DCL void invokeDebugger(void) ;
/*******************************************************************/
/************* some WIN32 debugging utilities **********************/
#if defined (WIN32)
#if defined(_DEBUG)
/* See win32util.cpp for these functions */
UTIL_FUNC_DCL const char *dbgPos( const char *caller, int lineno, const char *called ) ;
UTIL_FUNC_DCL void WinTrace(char *prompt, unsigned long code) ;
UTIL_FUNC_DCL void AceASSERT(int condition) ;
UTIL_FUNC_DCL void NoMemoryTracking() ;
#else /* !defined(_DEBUG) */
#define dbgPos(c,l,fil) (const char *)(fil)
#endif /* !defined(_DEBUG) */
#endif /* defined(WIN32) */
#endif /* defined(DEF_REGULAR_H) */
/******************************* End of File **********************************/
( run in 1.673 second using v1.01-cache-2.11-cpan-39bf76dae61 )