/*
 *
 * FILE : global.h - global definitions
 *
 * programmer - Pawel Cholewinski
 *
 * date 12/28/92
 * modified 19 Apr 1999 by Neil Moore <neil@cs.uky.edu>
 * modified 20 Aug 1999 by Neil Moore <neil@cs.uky.edu> 
 * modified  5 Sep 1999 by Neil Moore <neil@cs.uky.edu>
 *
 * Part of sderes.  See COPYRIGHT for copyright information.
 *
 */

#ifndef _GLOBAL_H_INCLUDED
#define _GLOBAL_H_INCLUDED

#include <string.h>
#include <stdio.h>
#include <time.h>

#define EOS '\0'
#define SPACE ' '
#define MAXBUFOR 256
#define WSIZE   32641   /* sum delimmiter for hash function */
#define MAXPAR 16
#define MAXFILENAME 256
#define MAXCOM 128
#define EOT 4
#define MAXSIZE 258
#define BDRSSIZE 128
#define HASHSIZE 17    /* 0 =< hashkey =< HASHSIZE  */
#define NONE -1

extern int err, timex, ff, verbosity;
extern char lexbuf[BDRSSIZE];

extern clock_t last_time;

extern char def_znak[MAXFILENAME];
extern long n_extnsns, n_cppcalls, n_candidates;
extern FILE *finp;
extern FILE *fdw;
extern FILE *fstratif;

struct symbolbox {
   char *id;
   int no;
   struct symbolbox *next;
};

struct formulabox {
   int fs;
   int ls;
   struct formulabox *next;
};

extern struct symbolbox *defhashtable[HASHSIZE];

struct symbolbox *lookup();
struct symbolbox *insert();

#endif
