| version 1.1, 2003/11/03 03:11:21 | version 1.4, 2003/11/17 12:04:20 | 
|  |  | 
| /* $OpenXM$ */ | /* $OpenXM: OpenXM/src/ox_ntl/main.cpp,v 1.3 2003/11/15 09:06:20 iwane Exp $ */ | 
|  |  | 
| #include "ox_toolkit.h" | #include "ox_toolkit.h" | 
| #include "oxserv.h" | #include "oxserv.h" | 
|  | #include "oxstack.h" | 
| #include "ntl.h" | #include "ntl.h" | 
|  |  | 
| #define VERSION 0x00000001 | #define VERSION 0x00000001 | 
| #define ID_STRING "$Revision$" | #define ID_STRING "$Revision$" | 
|  |  | 
| #if 1 | static void | 
| extern "C" { |  | 
| void dprintf(const char *, ...); |  | 
| } |  | 
| #endif |  | 
|  |  | 
| static cmo * |  | 
| ntl_executeFunction(const char *func, cmo **arg, int argc) | ntl_executeFunction(const char *func, cmo **arg, int argc) | 
| { | { | 
| if (strcmp(func, "fctr") == 0) { | cmo *ans; | 
| return (ntl_fctr(arg, argc)); | int i; | 
|  |  | 
|  | struct { | 
|  | const char *name; | 
|  | cmo *(*func)(cmo **, int); | 
|  | } funcs[] = { | 
|  | {"fctr", ntl_fctr}, | 
|  | {"lll", ntl_lll}, | 
|  | {NULL, NULL}, | 
|  | }; | 
|  |  | 
|  | for (i = 0; funcs[i].name != NULL; i++) { | 
|  | if (strcmp(func, funcs[i].name) == 0) { | 
|  | ans = funcs[i].func(arg, argc); | 
|  | oxstack_push(ans); | 
|  | return ; | 
|  | } | 
| } | } | 
|  |  | 
| return (NULL); | oxstack_push((cmo *)new_cmo_error2((cmo *)new_cmo_string("Unknown Function"))); | 
| } | } | 
|  |  | 
|  |  | 
|  |  | 
| main(int argc, char *argv[]) | main(int argc, char *argv[]) | 
| { | { | 
| int fd = 3; | int fd = 3; | 
| int i; |  | 
| int ret; | int ret; | 
|  |  | 
| OXFILE *oxfp; | OXFILE *oxfp; | 
| 
| Line 39  main(int argc, char *argv[]) |  | 
| Line 49  main(int argc, char *argv[]) |  | 
| ox_stderr_init(stderr); | ox_stderr_init(stderr); | 
|  |  | 
| oxserv_set(OXSERV_SET_EXECUTE_FUNCTION, ntl_executeFunction, NULL); | oxserv_set(OXSERV_SET_EXECUTE_FUNCTION, ntl_executeFunction, NULL); | 
|  | oxserv_set(OXSERV_SET_DELETE_CMO, delete_cmon, NULL); | 
|  | oxserv_set(OXSERV_SET_GET_CMOTAG, get_cmon_tag, NULL); | 
|  | oxserv_set(OXSERV_SET_CONVERT_CMO, convert_cmon, NULL); | 
| oxserv_init(oxfp, VERSION, ID_STRING, "ox_ntl", NULL, NULL); | oxserv_init(oxfp, VERSION, ID_STRING, "ox_ntl", NULL, NULL); | 
|  |  | 
| for (i = 0;; i++) { | ret = oxserv_receive(oxfp); | 
| ret = oxserv_receive(oxfp); |  | 
| if (ret != OXSERV_SUCCESS) |  | 
| break; |  | 
| } |  | 
|  |  | 
| oxserv_dest(); | oxserv_dest(); | 
| oxf_close(oxfp); | oxf_close(oxfp); |