184614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato#ifndef SPEC_H 284614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato#define SPEC_H 384614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato 4dd758091b6490c1ca3038f4b9ec50a83ae02b321Joe Onorato#include <string.h> 5dd758091b6490c1ca3038f4b9ec50a83ae02b321Joe Onorato#include <stdlib.h> 6dd758091b6490c1ca3038f4b9ec50a83ae02b321Joe Onorato 784614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato#if __cplusplus 884614dd02411e1cf9a4c37aa421898c471cfad20Joe Onoratoextern "C" { 984614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato#endif 1084614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato 1184614dd02411e1cf9a4c37aa421898c471cfad20Joe Onoratoextern int num_lines; 1284614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato 1384614dd02411e1cf9a4c37aa421898c471cfad20Joe Onoratotypedef struct { 1484614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato int isConst; 1584614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato int type; 1684614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato int bits; 1784614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato int ptrLevel; 1884614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato char name[256]; 1984614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato char typeName[256]; 2084614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato} VarType; 2184614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato 2284614dd02411e1cf9a4c37aa421898c471cfad20Joe Onoratoextern VarType *currType; 2384614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato 2484614dd02411e1cf9a4c37aa421898c471cfad20Joe Onoratotypedef struct { 2584614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato char name[256]; 2684614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato int sync; 279397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams int handcodeApi; 28186e59154a0fb86e05e283e9c083b69878c06720Jason Sams int direct; 29186e59154a0fb86e05e283e9c083b69878c06720Jason Sams int nocontext; 3084614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato int paramCount; 3184614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato VarType ret; 3284614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato VarType params[16]; 3384614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato} ApiEntry; 3484614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato 3584614dd02411e1cf9a4c37aa421898c471cfad20Joe Onoratoextern ApiEntry apis[128]; 3684614dd02411e1cf9a4c37aa421898c471cfad20Joe Onoratoextern int apiCount; 3784614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato 3884614dd02411e1cf9a4c37aa421898c471cfad20Joe Onoratoextern int typeNextState; 3984614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato 4084614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato#if __cplusplus 4184614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato} // extern "C" 4284614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato#endif 4384614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato 4484614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato#endif // SPEC_H 45