/*
  This defines a data structure shared between:
  * the C++ z3950proto class defined in z3950proto.cpp, and
  * the C function yyparse() created by bison from the file zparse.fl
  */

#ifndef _Z3950CFG_H
#define _Z3950CFG_H

#include <stdio.h> // for FILE* type

#ifdef __cplusplus
extern "C" {
#endif

struct z3950aboutlist {
  char *lang;
  char *text;
  struct z3950aboutlist *next;
};
struct z3950cfg {
  char *shortname;
  char *hostname;
  int port;
  char *dbname;
  char *longname;
  char *icon;
  char *smallicon;
  struct z3950aboutlist *about;
  struct z3950cfg *next;
};
extern struct z3950cfg *zserver_list;
extern FILE *errfile;

/* can't use default yyparse(), as this name is used elsewhere (eg mg)*/
#define yyin	zconfigin
#define yyout	zconfigout
#define yyparse	zconfigparse
#define yylex	zconfiglex

int yyparse ();

#ifdef __cplusplus
}
#endif

#endif
