ECGSYN - A realistic ECG waveform generator 1.0.0
(5,237 bytes)
/*
opt.h version 3.17 - User Include File for options package.
OPT is a subroutine library which facilitates the convenient
input of parameters to a C or C++ program. Parameters are parsed
from a command line, with further facilities for reading options
from files, from environment strings, or from an interactive
environment. The aim of the opt package is to permit programs to
be both user- and programmer- friendly. The package attempts to
on the one hand provide a direct and relatively full-featured
input interface to the ultimate user of the program, and at the
same time impose a minimal amount of work on the programmer to
"attach" the package to his or her software. A texinfo file is
part of the distribution; or you can view the html documentation at:
http://nis-www.lanl.gov/~jt/Software/opt/opt_toc.html
Download the lastest version of the source code from:
http://nis-www.lanl.gov/~jt/Software/
opt is available to the public under the GNU General Public License:
http://www.gnu.org/copyleft/gpl.html
This SOFTWARE has been authored by an employee of the University of
California, operator of the Los Alamos National Laboratory under
Contract No. W-7405-ENG-36 with the U.S. Department of Energy. The
U.S. Government has rights to use, reproduce, and distribute this
SOFTWARE. The public may copy, distribute, prepare derivative works
and publicly display this SOFTWARE without charge, provided that this
Notice and any statement of authorship are reproduced on all
copies. Neither the Government nor the University makes any warranty,
express or implied, or assumes any liability or responsibility for the
use of this SOFTWARE. If SOFTWARE is modified to produce derivative
works, such modified SOFTWARE should be clearly marked, so as not to
confuse it with the version available from LANL.
*/
#ifndef _OPT_H
#define _OPT_H /* Signal that this header file has been included */
/*
* These are delimiter characters
*/
#define DELIM '-' /* option delimiter character */
#define ALTDELIM '/' /* alternate delimiter character */
#define OPTFROMFILE '@' /* denotes options are in a file */
#define OPTTOFILE '%' /* says to put options in a file */
#define DOCUMENT '-' /* write document to file */
#define INTERACT '$' /* Flags interactive menu */
#define HELPCH '?' /* Help character */
/*
* These are not available on command line
* But may be invoked from a file
*/
#define IGNOREEOL ';' /* Ignore until the end of line */
#define RUN '=' /* Says to just run to completion */
#define QUITCH '.' /* Quit character */
/*
* These are not available on command line or from a file
* But may be invoked from the menu
*/
#define BANG '!' /* Shell escape character */
#define ADDITIONAL_OPTS '+' /* Additional options */
typedef enum {
INT, UNSINT, LONG, CHAR,
INTLEVEL,
FLOAT, DOUBLE,
FLAG, NEGFLAG, ABSFLAG, ABSNEGFLAG,
VSTRING, CSTRING, UNDELIMV, UNDELIMC
}
opt_TYPE;
typedef int (*PFI)();
#define OPT_EXT ".opt" /* standard options file extension */
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
#ifndef ARGCHECK
#ifdef __TURBOC__
#define ARGCHECK
#endif /* __TURBOC__ */
#ifdef __cplusplus
#define ARGCHECK
#endif /* __cplusplus */
#endif /* ARGCHECK */
#ifdef ARGCHECK
extern int opt_register(char *,opt_TYPE,char,char *);
extern void opt_usage_set(char *);
extern void opt_title_set(char *);
extern void opt_verify_set(PFI);
extern void opt_doc_set(PFI);
extern void opt_quit_set(PFI);
extern void opt_run_set(PFI);
extern void opt_help_setf(PFI);
extern void opt_help_set(char,char *);
extern void opt_ufilter_set(PFI);
extern void opt_dfilter_set(PFI);
extern void opt_env_set(char *);
extern void opt_default_set(char *);
#if DISABLE_VARARGS
extern void opt_errmess(char *);
extern void opt_message(char *);
extern void opt_warning(char *);
extern void opt_fatal(char *);
#else
extern void opt_errmess();
extern void opt_message();
extern void opt_warning();
extern void opt_fatal();
#endif /* DISABLE_VARARGS */
extern void opt_abort_run(void);
extern int opt_begin_run(PFI);
extern int getopts(int,char **);
#else
extern int opt_register();
extern void opt_usage_set();
extern void opt_title_set();
extern void opt_verify_set();
extern void opt_doc_set();
extern void opt_quit_set();
extern void opt_run_set();
extern void opt_help_setf();
extern void opt_help_set();
extern void opt_help_set();
extern void opt_ufilter_set();
extern void opt_dfilter_set();
extern void opt_env_set();
extern void opt_default_set();
extern void opt_errmess();
extern void opt_message();
extern void opt_warning();
extern void opt_fatal();
extern void opt_abort_run();
extern int opt_begin_run();
extern int getopts();
#endif /* ARGCHECK */
/*********************************
* Macro's for registering options
*/
#define optregister(val,typ,c,str) opt_register((char *)&val,typ,c,str)
#define optrunset(r) {int r(); opt_run_set( r );}
#endif /* _OPT_H */