cantera/tools/testtools/tok_input_util.h
Ray Speth f922a9c348 Removed unnecessary TRUE and FALSE macros
Replaced with built-in true and false values, and the variables
these were assigned to have been converted from int to bool.
2012-01-20 23:13:32 +00:00

84 lines
3.3 KiB
C

#ifndef TOK_INPUT_UTIL_H
#define TOK_INPUT_UTIL_H
#include "stdio.h"
#ifndef MAX_INPUT_STR_LN
#define MAX_INPUT_STR_LN 16100
#endif
#ifndef MAX_TOKEN_STR_LN
#define MAX_TOKEN_STR_LN 255
#endif
#ifndef MAXTOKENS
#define MAXTOKENS 20
#endif
/**************************************************************************/
/* TOKEN structure:
* This structure is used to parse strings. The original string is
* tokenized into a set of tokens via separation wrt white space.
* Both the tokens and the original
* string are storred within the structure
*/
struct TOKEN {
char *orig_str;
char *tok_str;
char *tok_ptr[MAXTOKENS];
int ntokes;
TOKEN(void);
~TOKEN();
TOKEN(const char *str);
};
#define NO_DEFAULT_INT -68361
#define NO_DEFAULT_BOOLEAN NO_DEFAULT_INT
#define NO_DEFAULT_DOUBLE -1.241E+11
#define NO_DEFAULT_STR "NO_DEFAULT"
/**************************************************************************/
/* Prototypes for routines tok_input_util.c */
/**************************************************************************/
extern bool get_next_keyLine(FILE *, TOKEN *, TOKEN *);
extern int tok_to_int (const TOKEN *, const int, const int,
const int, bool *);
extern int str_to_int (const char *, const int, const int,
const int, bool *);
extern double tok_to_double (const TOKEN *, const double, const double,
const double, bool *);
extern double str_to_double (const char *, const double, const double,
const double, bool *);
extern bool tok_to_boolean(const TOKEN *, const int, bool *);
extern bool str_to_boolean(const char *, const int, bool *);
extern char *tok_to_string (const TOKEN *, const int, const int,
const char *, bool *);
extern char *str_to_string (const char *, const char *, bool *);
extern int scan_for_int(FILE *, const char *, const int, const int);
extern double scan_for_double(FILE *, const char *, const double,
const double);
extern char *scan_for_string(FILE *, const char *, const int, const int);
extern bool scan_for_boolean(FILE *, const char *);
extern int scan_for_line(FILE *, const char *, char [], const char,
const int);
extern int read_line(FILE *, char [], const int);
extern int read_string(FILE *, char [], const char);
extern int strip(char []);
extern void lower_case(char []);
extern char *TokToStrng(const TOKEN *);
extern int stokenize(char *, const char *, char *[], const int);
extern bool strmatch(const char *, const char*);
extern bool strstrmatch(const char *, const char*);
extern bool strtokmatch(const TOKEN *, const char *);
extern bool toktokmatch(const TOKEN *, const TOKEN *);
extern void fillTokStruct(TOKEN *, const char *);
extern void copyTokStruct(TOKEN *, const TOKEN *);
extern int in_char_list(const char * const, const char ** const, int);
extern char *copy_string(const char *);
extern void strip_item_from_token(int, TOKEN *);
/**************************************************************************/
#endif /* END OF TOK_INPUT_UTIL_H */
/**************************************************************************/