double Calc(char *b, int *fres) { //char **argv = {"script.c"}; char *argv[3]; argv[0] = b; /* initiate EiC */ EiC_init_EiC(); /* add in the standard C library */ stdClib(); /* pass EiC the following command line switches */ EiC_switches(CLINE); /* you can also set the function used to display EiC's error and warning messages */ EiC_setMessageDisplay(myDisplay); scada_interpreter(argv); return 0; }
int main(int argc, char ** argv) { EiC_init_EiC(); /* the macro PLATFORM * is passed in by the * compiler */ dodefine("_EiC"); dodefine(&(xstr(PLATFORM)[1])); #ifdef PPCLIB prs("Starting EiC...\n"); setvbuf(stdout,NULL,_IONBF,0); EiC_add_builtinfunc("puts",eic_puts); EiC_add_builtinfunc("gets",eic_gets); EiC_add_builtinfunc("putch",eic_putch); EiC_add_builtinfunc("getch",eic_getch); EiC_add_builtinfunc("getchq",eic_getchq); EiC_add_builtinfunc("in",eic_in); EiC_add_builtinfunc("out",eic_out); EiC_add_builtinfunc("load",eic_load); EiC_add_builtinfunc("printf",eic_printf); EiC_add_builtinfunc("sprintf",eic_sprintf); EiC_add_builtinfunc("scanf",eic_scanf); EiC_add_builtinfunc("sscanf",eic_sscanf); EiC_add_builtinfunc("setvbuf",eic_setvbuf); /* string .h */ EiC_add_builtinfunc("memcpy",eic_memcpy); EiC_add_builtinfunc("memmove",eic_memmove); EiC_add_builtinfunc("strcpy",eic_strcpy); EiC_add_builtinfunc("strncpy",eic_strncpy); EiC_add_builtinfunc("strcat",eic_strcat); EiC_add_builtinfunc("strncat",eic_strncat); EiC_add_builtinfunc("memcmp",eic_memcmp); EiC_add_builtinfunc("strcmp",eic_strcmp); EiC_add_builtinfunc("strcoll",eic_strcoll); EiC_add_builtinfunc("strncmp",eic_strncmp); EiC_add_builtinfunc("strxfrm",eic_strxfrm); EiC_add_builtinfunc("memchr",eic_memchr); EiC_add_builtinfunc("strchr",eic_strchr); EiC_add_builtinfunc("strcspn",eic_strcspn); EiC_add_builtinfunc("strpbrk",eic_strpbrk); EiC_add_builtinfunc("strrchr",eic_strrchr); EiC_add_builtinfunc("strspn",eic_strspn); EiC_add_builtinfunc("strstr",eic_strstr); EiC_add_builtinfunc("strtok",eic_strtok); EiC_add_builtinfunc("memset",eic_memset); EiC_add_builtinfunc("strerror",eic_strerror); EiC_add_builtinfunc("strlen",eic_strlen); EiC_add_builtinfunc("strrev", eic_strrev); /* stdlib.h */ EiC_add_builtinfunc("_itoa", eic_itoa); EiC_add_builtinfunc("_ltoa", eic_ltoa); EiC_add_builtinfunc("fftoa", eic_fftoa); EiC_add_builtinfunc("malloc", eic_malloc); EiC_add_builtinfunc("calloc", eic_calloc); EiC_add_builtinfunc("realloc", eic_realloc); EiC_add_builtinfunc("free", eic_free); EiC_add_builtinfunc("strtod", eic_strtod); EiC_add_builtinfunc("strtol", eic_strtol); EiC_add_builtinfunc("strtoul", eic_strtoul); EiC_add_builtinfunc("rand", eic_rand); EiC_add_builtinfunc("srand", eic_srand); EiC_add_builtinfunc("atoi", eic_atoi); EiC_add_builtinfunc("atof", eic_atof); EiC_add_builtinfunc("atol", eic_atol); EiC_add_builtinfunc("abort",eic_exit); EiC_add_builtinfunc("eic_exit",eic_exit); EiC_add_builtinfunc("div",eic_div); EiC_add_builtinfunc("ldiv",eic_ldiv); EiC_add_builtinfunc("acos",eic_acos); EiC_add_builtinfunc("asin",eic_asin); EiC_add_builtinfunc("atan",eic_atan); EiC_add_builtinfunc("atan2",eic_atan2); EiC_add_builtinfunc("cos",eic_cos); EiC_add_builtinfunc("sin",eic_sin); EiC_add_builtinfunc("tan",eic_tan); EiC_add_builtinfunc("cosh",eic_cosh); EiC_add_builtinfunc("sinh",eic_sinh); EiC_add_builtinfunc("tanh",eic_tanh); EiC_add_builtinfunc("exp",eic_exp); EiC_add_builtinfunc("frexp",eic_frexp); EiC_add_builtinfunc("ldexp",eic_ldexp); EiC_add_builtinfunc("log",eic_log); EiC_add_builtinfunc("log10",eic_log10); EiC_add_builtinfunc("modf",eic_modf); EiC_add_builtinfunc("pow",eic_pow); EiC_add_builtinfunc("sqrt",eic_sqrt); EiC_add_builtinfunc("ceil",eic_ceil); EiC_add_builtinfunc("fabs",eic_fabs); EiC_add_builtinfunc("floor",eic_floor); EiC_add_builtinfunc("fmod",eic_fmod); startstr=loadstring; /* load defines */ /* strcat(startstr,"typedef struct {void *p, *sp, *ep;} ptr_t;\n"); strcat(startstr,"typedef struct { ptr_t _ptr; int _cnt; ptr_t _base;\\\n"); strcat(startstr,"unsigned short _flag; short _fd; unsigned long _pid;\\\n"); strcat(startstr,"unsigned _bsize; ptr_t _tmpnam; char _sbuf[4];\\\n"); strcat(startstr,"unsigned _entry; }FILE;\n"); strcat(startstr,"int fgetc(FILE * fp);\n"); strcat(startstr,"int fputc(int c, FILE * fp);\n"); strcat(startstr,"char * fgets(char *s, int n, FILE *fp);\n"); strcat(startstr,"int fputs(const char *s, FILE *fp);\n"); */ #endif EiC_startEiC(argc, argv); return 0; }