#ifndef SPEC_H
#define SPEC_H

#include <string.h>
#include <stdlib.h>

#if __cplusplus
extern "C" {
#endif

extern int num_lines;

typedef struct {
  int isConst;
  int type;
  int bits;
  int ptrLevel;
  char name[256];
  char typeName[256];
} VarType;

extern VarType *currType;

typedef struct {
  char name[256];
  int sync;
  int handcodeApi;
  int handcodePlay;
  int paramCount;
  VarType ret;
  VarType params[16];
} ApiEntry;

extern ApiEntry apis[128];
extern int apiCount;

extern int typeNextState;

#if __cplusplus
} // extern "C"
#endif

#endif // SPEC_H
