00001 using System;
00002 using System.Collections.Generic;
00003 using System.Text;
00004 using System.Runtime.InteropServices;
00005
00006 namespace EmbeddedCh
00007 {
00008
00009 public class ChInterp
00010 {
00011
00012
00013 public const String chdll = "embedchdll.dll";
00014
00015
00016 public delegate void ChCallback(IntPtr interp, ref ChBlock_t calldata, IntPtr clientdata);
00017
00018
00019 private IntPtr interp = IntPtr.Zero;
00020
00021
00022 private ChOptions_t options = new ChOptions_t();
00023 private bool useOptions = false;
00024
00025 public ChInterp()
00026 {
00027 }
00028
00029 public bool UseOptions
00030 {
00031 get
00032 {
00033 return useOptions;
00034 }
00035 set
00036 {
00037 useOptions = value;
00038 }
00039 }
00040
00041 public ChShellType ShellType
00042 {
00043 get
00044 {
00045 return (ChShellType)options.shelltype;
00046 }
00047 set
00048 {
00049 options.shelltype = (int)value;
00050 }
00051 }
00052
00053 public String ChHome
00054 {
00055 get
00056 {
00057 return options.chhome;
00058 }
00059 set
00060 {
00061 options.chhome = value;
00062 }
00063 }
00064
00065 public int Initialize()
00066 {
00067 if (!useOptions)
00068 return _Ch_Initialize(ref interp, IntPtr.Zero);
00069 else
00070 return _Ch_Initialize(ref interp, ref options);
00071 }
00072
00073 public int RunScript(String[] argv)
00074 {
00075 return _Ch_RunScript(interp, argv);
00076 }
00077
00078 public int AppendRunScript(String argv)
00079 {
00080 return _Ch_AppendRunScript(interp, argv);
00081 }
00082
00083 public int AppendRunScriptFile(String filename)
00084 {
00085 return _Ch_AppendRunScriptFile(interp, filename);
00086 }
00087
00088 public int InitGlobalVar(Int32 flag)
00089 {
00090 return _Ch_InitGlobalVar(interp, flag);
00091 }
00092
00093 public int ParseScript(String[] argv)
00094 {
00095 return _Ch_ParseScript(interp, argv);
00096 }
00097
00098 public int ExecScript(String progname)
00099 {
00100 return _Ch_ExecScript(interp, progname);
00101 }
00102
00103 public int ExecScriptM(String progname)
00104 {
00105 return _Ch_ExecScriptM(interp, progname);
00106 }
00107
00108 public int RunScriptM(String[] argv)
00109 {
00110 return _Ch_RunScriptM(interp, argv);
00111 }
00112
00113 public int AppendParseScript(String code)
00114 {
00115 return _Ch_AppendParseScript(interp, code);
00116 }
00117
00118 public int AppendParseScriptFile(String filename)
00119 {
00120 return _Ch_AppendParseScriptFile(interp, filename);
00121 }
00122
00123 public int End()
00124 {
00125 int temp = _Ch_End(interp);
00126 interp = IntPtr.Zero;
00127 return temp;
00128 }
00129
00130
00131 public int ExprCalc(String expr, ChType_t datatype, IntPtr result)
00132 {
00133 return _Ch_ExprCalc(interp, expr, datatype, result);
00134 }
00135
00136 public int ExprEval(String expr)
00137 {
00138 return _Ch_ExprEval(interp, expr);
00139 }
00140
00141 public int ExprParse(String expr)
00142 {
00143 return _Ch_ExprParse(interp, expr);
00144 }
00145
00146
00147 public IntPtr ExprValue(String expr, IntPtr result)
00148 {
00149 return _Ch_ExprValue(interp, expr, result);
00150 }
00151
00152
00153 public int DeleteExprValue(IntPtr vn)
00154 {
00155 return _Ch_DeleteExprValue(interp, vn);
00156 }
00157
00158
00159 public Int32 SetVar(String name, ChType_t atype
00160
00161 )
00162 {
00163 return _Ch_SetVar(interp, name, atype
00164
00165 );
00166 }
00167
00168 public Int32 Close(Int32 fildes)
00169 {
00170 return _Ch_Close(interp, fildes);
00171 }
00172
00173 public Int32 Reopen(String filename, String mode, Int32 fildes)
00174 {
00175 return _Ch_Reopen(interp, filename, mode, fildes);
00176 }
00177
00178 public Int32 Flush(Int32 fildes)
00179 {
00180 return _Ch_Flush(interp, fildes);
00181 }
00182
00183 public Int32 Abort()
00184 {
00185 return _Ch_Abort(interp);
00186 }
00187
00188 public Int32 DeclareVar(String declaration)
00189 {
00190 return _Ch_DeclareVar(interp, declaration);
00191 }
00192
00193 public Int32 DeclareTypedef(String name)
00194 {
00195 return _Ch_DeclareTypedef(interp, name);
00196 }
00197
00198 public Int32 DeclareFunc(String funcprototype, IntPtr funcptr)
00199 {
00200 return _Ch_DeclareFunc(interp, funcprototype, funcptr);
00201 }
00202
00203 public Int32 SetGlobalUserData(IntPtr userdata)
00204 {
00205 return _Ch_SetGlobalUserData(interp, userdata);
00206 }
00207
00208 public IntPtr GetGlobalUserData()
00209 {
00210 return _Ch_GetGlobalUserData(interp);
00211 }
00212
00213 public Int32 AddCallback(Int32 _event, ChCallback callback,
00214 IntPtr clientdata, Int32 count)
00215 {
00216 return _Ch_AddCallback(interp, _event, callback, clientdata, count);
00217 }
00218
00219 public Int32 ChangeStack(Int32 level, ref ChBlock_t calldata)
00220 {
00221 return _Ch_ChangeStack(interp, level, ref calldata);
00222 }
00223
00224 public Int32 StackLevel(ref Int32 clevel, ref Int32 hlevel)
00225 {
00226 return _Ch_StackLevel(interp, ref clevel, ref hlevel);
00227 }
00228
00229 public String StackName(Int32 level, ref Int32 isfunc, String[] classname)
00230 {
00231 return _Ch_StackName(interp, level, ref isfunc, classname);
00232 }
00233
00234 public Int32 GlobalSymbolTotalNum()
00235 {
00236 return _Ch_GlobalSymbolTotalNum(interp);
00237 }
00238
00239 public Int32 GlobalSymbolIndexByName(String name)
00240 {
00241 return _Ch_GlobalSymbolIndexByName(interp, name);
00242 }
00243
00244 public IntPtr GlobalSymbolAddrByIndex(Int32 index)
00245 {
00246 return _Ch_GlobalSymbolAddrByIndex(interp, index);
00247 }
00248
00249 public String GlobalSymbolNameByIndex(Int32 index)
00250 {
00251 return _Ch_GlobalSymbolNameByIndex(interp, index);
00252 }
00253
00254 public ChType_t DataType(String expr)
00255 {
00256 return _Ch_DataType(interp, expr);
00257 }
00258
00259 public Int32 DataSize(String expr)
00260 {
00261 return _Ch_DataSize(interp, expr);
00262 }
00263
00264 public ChType_t ArrayType(String expr)
00265 {
00266 return _Ch_ArrayType(interp, expr);
00267 }
00268
00269 public Int32 ArrayDim(String expr)
00270 {
00271 return _Ch_ArrayDim(interp, expr);
00272 }
00273
00274 public Int32 ArrayExtent(String expr, Int32 index)
00275 {
00276 return _Ch_ArrayExtent(interp, expr, index);
00277 }
00278
00279 public Int32 ArrayNum(String expr)
00280 {
00281 return _Ch_ArrayNum(interp, expr);
00282 }
00283
00284 public ChVarType_t VarType(String name)
00285 {
00286 return _Ch_VarType(interp, name);
00287 }
00288
00289 public ChFuncType_t FuncType(String name)
00290 {
00291 return _Ch_FuncType(interp, name);
00292 }
00293
00294 public Int32 IsFuncVarArg(String name)
00295 {
00296 return _Ch_IsFuncVarArg(interp, name);
00297 }
00298
00299 public Int32 FuncArgNum(String name)
00300 {
00301 return _Ch_FuncArgNum(interp, name);
00302 }
00303
00304 public IntPtr SymbolAddrByName(String name)
00305 {
00306 return _Ch_SymbolAddrByName(interp, name);
00307 }
00308
00309 public Int32 SymbolTotalNum()
00310 {
00311 return _Ch_SymbolTotalNum(interp);
00312 }
00313
00314 public Int32 SymbolIndexByName(String name)
00315 {
00316 return _Ch_SymbolIndexByName(interp, name);
00317 }
00318
00319 public IntPtr SymbolAddrByIndex(Int32 index)
00320 {
00321 return _Ch_SymbolAddrByIndex(interp, index);
00322 }
00323
00324 public String SymbolNameByIndex(Int32 index)
00325 {
00326 return _Ch_SymbolNameByIndex(interp, index);
00327 }
00328
00329 public IntPtr UserDefinedTag(String expr)
00330 {
00331 return _Ch_UserDefinedTag(interp, expr);
00332 }
00333
00334 public Int32 UserDefinedInfo(IntPtr udtag, ref ChUserDefinedInfo_t udinfo)
00335 {
00336 return _Ch_UserDefinedInfo(interp, udtag, ref udinfo);
00337 }
00338
00339 public Int32 UserDefinedMemInfoByName(IntPtr udtag, String memname, ref ChMemInfo_t meminfo)
00340 {
00341 return _Ch_UserDefinedMemInfoByName(interp, udtag, memname, ref meminfo);
00342 }
00343
00344 public Int32 UserDefinedMemInfoByIndex(IntPtr udtag, Int32 index, ref ChMemInfo_t meminfo)
00345 {
00346 return _Ch_UserDefinedMemInfoByIndex(interp, udtag, index, ref meminfo);
00347 }
00348
00349 public String UserDefinedName(String name)
00350 {
00351 return _Ch_UserDefinedName(interp, name);
00352 }
00353
00354 public Int32 UserDefinedSize(String name)
00355 {
00356 return _Ch_UserDefinedSize(interp, name);
00357 }
00358
00359 public ChType_t FuncArgDataType(String funcname, Int32 argnum)
00360 {
00361 return _Ch_FuncArgDataType(interp, funcname, argnum);
00362 }
00363
00364 public ChType_t FuncArgArrayType(String funcname, Int32 argnum)
00365 {
00366 return _Ch_FuncArgArrayType(interp, funcname, argnum);
00367 }
00368
00369 public Int32 FuncArgArrayDim(String funcname, Int32 argnum)
00370 {
00371 return _Ch_FuncArgArrayDim(interp, funcname, argnum);
00372 }
00373
00374 public Int32 FuncArgArrayExtent(String funcname, Int32 argnum, Int32 index)
00375 {
00376 return _Ch_FuncArgArrayExtent(interp, funcname, argnum, index);
00377 }
00378
00379 public Int32 FuncArgArrayNum(String funcname, Int32 argnum)
00380 {
00381 return _Ch_FuncArgArrayNum(interp, funcname, argnum);
00382 }
00383
00384 public Int32 FuncArgIsFunc(String funcname, Int32 argnum)
00385 {
00386 return _Ch_FuncArgIsFunc(interp, funcname, argnum);
00387 }
00388
00389 public Int32 FuncArgIsFuncVarArg(String funcname, Int32 argnum)
00390 {
00391 return _Ch_FuncArgIsFuncVarArg(interp, funcname, argnum);
00392 }
00393
00394 public Int32 FuncArgFuncArgNum(String funcname, Int32 argnum)
00395 {
00396 return _Ch_FuncArgFuncArgNum(interp, funcname, argnum);
00397 }
00398
00399 public String FuncArgUserDefinedName(String funcname, Int32 argnum)
00400 {
00401 return _Ch_FuncArgUserDefinedName(interp, funcname, argnum);
00402 }
00403
00404 public Int32 FuncArgUserDefinedSize(String funcname, Int32 argnum)
00405 {
00406 return _Ch_FuncArgUserDefinedSize(interp, funcname, argnum);
00407 }
00408
00409
00411 [DllImport(chdll, EntryPoint = "Ch_Initialize")]
00412 private static extern Int32 _Ch_Initialize(ref IntPtr interpp, ref ChOptions_t option);
00413 [DllImport(chdll, EntryPoint = "Ch_Initialize")]
00414 private static extern Int32 _Ch_Initialize(ref IntPtr interpp, IntPtr option);
00415 [DllImport(chdll, EntryPoint = "Ch_InitGlobalVar")]
00416 private static extern Int32 _Ch_InitGlobalVar(IntPtr interp, Int32 flag);
00417 [DllImport(chdll, EntryPoint = "Ch_ParseScript")]
00418 private static extern Int32 _Ch_ParseScript(IntPtr interp, String[] argv);
00419 [DllImport(chdll, EntryPoint = "Ch_ExecScript")]
00420 private static extern Int32 _Ch_ExecScript(IntPtr interp, String progname);
00421 [DllImport(chdll, EntryPoint = "Ch_ExecScriptM")]
00422 private static extern Int32 _Ch_ExecScriptM(IntPtr interp, String progname);
00423 [DllImport(chdll, EntryPoint = "Ch_RunScript")]
00424 private static extern Int32 _Ch_RunScript(IntPtr interp, String[] argv);
00425 [DllImport(chdll, EntryPoint = "Ch_RunScriptM")]
00426 private static extern Int32 _Ch_RunScriptM(IntPtr interp, String[] argv);
00427 [DllImport(chdll, EntryPoint = "Ch_AppendParseScript")]
00428 private static extern Int32 _Ch_AppendParseScript(IntPtr interp, String code);
00429 [DllImport(chdll, EntryPoint = "Ch_AppendParseScriptFile")]
00430 private static extern Int32 _Ch_AppendParseScriptFile(IntPtr interp, String filename);
00431 [DllImport(chdll, EntryPoint = "Ch_AppendRunScript")]
00432 private static extern Int32 _Ch_AppendRunScript(IntPtr interp, String code);
00433 [DllImport(chdll, EntryPoint = "Ch_AppendRunScriptFile")]
00434 private static extern Int32 _Ch_AppendRunScriptFile(IntPtr interp, String filename);
00435
00436 [DllImport(chdll, EntryPoint = "Ch_ExprCalc")]
00437 private static extern Int32 _Ch_ExprCalc(IntPtr interp, String expr, ChType_t datatype, IntPtr result);
00438 [DllImport(chdll, EntryPoint = "Ch_ExprEval")]
00439 private static extern Int32 _Ch_ExprEval(IntPtr interp, String expr);
00440 [DllImport(chdll, EntryPoint = "Ch_ExprParse")]
00441 private static extern Int32 _Ch_ExprParse(IntPtr interp, String expr);
00442 [DllImport(chdll, EntryPoint = "Ch_ExprValue")]
00443 private static extern IntPtr _Ch_ExprValue(IntPtr interp, String expr, IntPtr result);
00444 [DllImport(chdll, EntryPoint = "Ch_DeleteExprValue")]
00445 private static extern Int32 _Ch_DeleteExprValue(IntPtr interp, IntPtr vn);
00446
00447 [DllImport(chdll, EntryPoint = "Ch_SetVar")]
00448 private static extern Int32 _Ch_SetVar(IntPtr interp, String name, ChType_t atype
00449
00450 );
00451 [DllImport(chdll, EntryPoint = "Ch_Close")]
00452 private static extern Int32 _Ch_Close(IntPtr interp, Int32 fildes);
00453 [DllImport(chdll, EntryPoint = "Ch_Reopen")]
00454 private static extern Int32 _Ch_Reopen(IntPtr interp, String filename, String mode, Int32 fildes);
00455 [DllImport(chdll, EntryPoint = "Ch_Flush")]
00456 private static extern Int32 _Ch_Flush(IntPtr interp, Int32 fildes);
00457 [DllImport(chdll, EntryPoint = "Ch_End")]
00458 private static extern Int32 _Ch_End(IntPtr interp);
00459 [DllImport(chdll, EntryPoint = "Ch_Abort")]
00460 private static extern Int32 _Ch_Abort(IntPtr interp);
00461 [DllImport(chdll, EntryPoint = "Ch_DeclareVar")]
00462 private static extern Int32 _Ch_DeclareVar(IntPtr interp, String declaration);
00463 [DllImport(chdll, EntryPoint = "Ch_DeclareTypedef")]
00464 private static extern Int32 _Ch_DeclareTypedef(IntPtr interp, String name);
00465 [DllImport(chdll, EntryPoint = "Ch_DeclareFunc")]
00466 private static extern Int32 _Ch_DeclareFunc(IntPtr interp, String funcprototype, IntPtr funcptr);
00467 [DllImport(chdll, EntryPoint = "Ch_SetGlobalUserData")]
00468 private static extern Int32 _Ch_SetGlobalUserData(IntPtr interp, IntPtr userdata);
00469 [DllImport(chdll, EntryPoint = "Ch_GetGlobalUserData")]
00470 private static extern IntPtr _Ch_GetGlobalUserData(IntPtr interp);
00471 [DllImport(chdll, EntryPoint = "Ch_AddCallback")]
00472 private static extern Int32 _Ch_AddCallback(IntPtr interp, Int32 _event, ChCallback callback,
00473 IntPtr clientdata, Int32 count);
00474 [DllImport(chdll, EntryPoint = "Ch_ChangeStack")]
00475 private static extern Int32 _Ch_ChangeStack(IntPtr interp, Int32 level, ref ChBlock_t calldata);
00476 [DllImport(chdll, EntryPoint = "Ch_StackLevel")]
00477 private static extern Int32 _Ch_StackLevel(IntPtr interp, ref Int32 clevel, ref Int32 hlevel);
00478 [DllImport(chdll, EntryPoint = "Ch_StackName")]
00479 private static extern String _Ch_StackName(IntPtr interp, Int32 level, ref Int32 isfunc, String[] classname);
00480
00481 [DllImport(chdll, EntryPoint = "Ch_GlobalSymbolTotalNum")]
00482 private static extern Int32 _Ch_GlobalSymbolTotalNum(IntPtr interp);
00483 [DllImport(chdll, EntryPoint = "Ch_GlobalSymbolIndexByName")]
00484 private static extern Int32 _Ch_GlobalSymbolIndexByName(IntPtr interp, String name);
00485 [DllImport(chdll, EntryPoint = "Ch_GlobalSymbolAddrByIndex")]
00486 private static extern IntPtr _Ch_GlobalSymbolAddrByIndex(IntPtr interp, Int32 index);
00487 [DllImport(chdll, EntryPoint = "Ch_GlobalSymbolNameByIndex")]
00488 private static extern String _Ch_GlobalSymbolNameByIndex(IntPtr interp, Int32 index);
00489
00490 [DllImport(chdll, EntryPoint = "Ch_DataType")]
00491 private static extern ChType_t _Ch_DataType(IntPtr interp, String expr);
00492 [DllImport(chdll, EntryPoint = "Ch_DataSize")]
00493 private static extern Int32 _Ch_DataSize(IntPtr interp, String expr);
00494 [DllImport(chdll, EntryPoint = "Ch_ArrayType")]
00495 private static extern ChType_t _Ch_ArrayType(IntPtr interp, String expr);
00496 [DllImport(chdll, EntryPoint = "Ch_ArrayDim")]
00497 private static extern Int32 _Ch_ArrayDim(IntPtr interp, String expr);
00498 [DllImport(chdll, EntryPoint = "Ch_ArrayExtent")]
00499 private static extern Int32 _Ch_ArrayExtent(IntPtr interp, String expr, Int32 index);
00500 [DllImport(chdll, EntryPoint = "Ch_ArrayNum")]
00501 private static extern Int32 _Ch_ArrayNum(IntPtr interp, String expr);
00502 [DllImport(chdll, EntryPoint = "Ch_VarType")]
00503 private static extern ChVarType_t _Ch_VarType(IntPtr interp, String name);
00504
00505 [DllImport(chdll, EntryPoint = "Ch_FuncType")]
00506 private static extern ChFuncType_t _Ch_FuncType(IntPtr interp, String name);
00507 [DllImport(chdll, EntryPoint = "Ch_IsFuncVarArg")]
00508 private static extern Int32 _Ch_IsFuncVarArg(IntPtr interp, String name);
00509 [DllImport(chdll, EntryPoint = "Ch_FuncArgNum")]
00510 private static extern Int32 _Ch_FuncArgNum(IntPtr interp, String name);
00511 [DllImport(chdll, EntryPoint = "Ch_SymbolAddrByName")]
00512 private static extern IntPtr _Ch_SymbolAddrByName(IntPtr interp, String name);
00513
00514 [DllImport(chdll, EntryPoint = "Ch_SymbolTotalNum")]
00515 private static extern Int32 _Ch_SymbolTotalNum(IntPtr interp);
00516 [DllImport(chdll, EntryPoint = "Ch_SymbolIndexByName")]
00517 private static extern Int32 _Ch_SymbolIndexByName(IntPtr interp, String name);
00518 [DllImport(chdll, EntryPoint = "Ch_SymbolAddrByIndex")]
00519 private static extern IntPtr _Ch_SymbolAddrByIndex(IntPtr interp, Int32 index);
00520 [DllImport(chdll, EntryPoint = "Ch_SymbolNameByIndex")]
00521 private static extern String _Ch_SymbolNameByIndex(IntPtr interp, Int32 index);
00522
00523 [DllImport(chdll, EntryPoint = "Ch_UserDefinedTag")]
00524 private static extern IntPtr _Ch_UserDefinedTag(IntPtr interp, String expr);
00525 [DllImport(chdll, EntryPoint = "Ch_UserDefinedInfo")]
00526 private static extern Int32 _Ch_UserDefinedInfo(IntPtr interp, IntPtr udtag,
00527 ref ChUserDefinedInfo_t udinfo);
00528 [DllImport(chdll, EntryPoint = "Ch_UserDefinedMemInfoByName")]
00529 private static extern Int32 _Ch_UserDefinedMemInfoByName(IntPtr interp, IntPtr udtag,
00530 String memname, ref ChMemInfo_t meminfo);
00531 [DllImport(chdll, EntryPoint = "Ch_UserDefinedMemInfoByIndex")]
00532 private static extern Int32 _Ch_UserDefinedMemInfoByIndex(IntPtr interp, IntPtr udtag,
00533 Int32 index, ref ChMemInfo_t meminfo);
00534 [DllImport(chdll, EntryPoint = "Ch_UserDefinedName")]
00535 private static extern String _Ch_UserDefinedName(IntPtr interp, String name);
00536 [DllImport(chdll, EntryPoint = "Ch_UserDefinedSize")]
00537 private static extern Int32 _Ch_UserDefinedSize(IntPtr interp, String name);
00538
00539 [DllImport(chdll, EntryPoint = "Ch_FuncArgDataType")]
00540 private static extern ChType_t _Ch_FuncArgDataType(IntPtr interp, String funcname, Int32 argnum);
00541 [DllImport(chdll, EntryPoint = "Ch_FuncArgArrayType")]
00542 private static extern ChType_t _Ch_FuncArgArrayType(IntPtr interp, String funcname, Int32 argnum);
00543 [DllImport(chdll, EntryPoint = "Ch_FuncArgArrayDim")]
00544 private static extern Int32 _Ch_FuncArgArrayDim(IntPtr interp, String funcname, Int32 argnum);
00545 [DllImport(chdll, EntryPoint = "Ch_FuncArgArrayExtent")]
00546 private static extern Int32 _Ch_FuncArgArrayExtent(IntPtr interp, String funcname, Int32 argnum, Int32 index);
00547 [DllImport(chdll, EntryPoint = "Ch_FuncArgArrayNum")]
00548 private static extern Int32 _Ch_FuncArgArrayNum(IntPtr interp, String funcname, Int32 argnum);
00549 [DllImport(chdll, EntryPoint = "Ch_FuncArgIsFunc")]
00550 private static extern Int32 _Ch_FuncArgIsFunc(IntPtr interp, String funcname, Int32 argnum);
00551 [DllImport(chdll, EntryPoint = "Ch_FuncArgIsFuncVarArg")]
00552 private static extern Int32 _Ch_FuncArgIsFuncVarArg(IntPtr interp, String funcname, Int32 argnum);
00553 [DllImport(chdll, EntryPoint = "Ch_FuncArgFuncArgNum")]
00554 private static extern Int32 _Ch_FuncArgFuncArgNum(IntPtr interp, String funcname, Int32 argnum);
00555 [DllImport(chdll, EntryPoint = "Ch_FuncArgUserDefinedName")]
00556 private static extern String _Ch_FuncArgUserDefinedName(IntPtr interp, String funcname, Int32 argnum);
00557 [DllImport(chdll, EntryPoint = "Ch_FuncArgUserDefinedSize")]
00558 private static extern Int32 _Ch_FuncArgUserDefinedSize(IntPtr interp, String funcname, Int32 argnum);
00559
00560
00562 [DllImport(chdll, EntryPoint = "Ch_Home")]
00563 private static extern String _Ch_Home(IntPtr interp);
00564 [DllImport(chdll, EntryPoint = "Ch_Version")]
00565 private static extern Int32 _Ch_Version(IntPtr interp, ChInfo_t* info);
00566 [DllImport(chdll, EntryPoint = "Ch_GlobalSymbolAddrByName")]
00567 private static extern IntPtr _Ch_GlobalSymbolAddrByName(IntPtr interp, String name);
00568 [DllImport(chdll, EntryPoint = "Ch_SymbolAddrByName")]
00569 private static extern IntPtr _Ch_SymbolAddrByName(IntPtr interp, String name);
00570 [DllImport(chdll, EntryPoint = "Ch_CallFuncByAddrv")]
00571 private static extern Int32 _Ch_CallFuncByAddrv(IntPtr interp, IntPtr fptr, IntPtr retval, va_list ap);
00572 [DllImport(chdll, EntryPoint = "Ch_CallFuncByNamev")]
00573 private static extern Int32 _Ch_CallFuncByNamev(IntPtr interp, String name, IntPtr retval, va_list ap);
00574 [DllImport(chdll, EntryPoint = "Ch_CallFuncByNameVar")]
00575 private static extern Int32 _Ch_CallFuncByNameVar(IntPtr interp, String name, IntPtr retval, ChVaList_t arglist);
00576
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586
00587
00588
00589
00590
00591
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601
00602
00603
00604
00605
00606
00607
00608
00609
00610
00611
00612
00613
00614
00615
00616
00617
00618
00619
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634
00635
00636
00637
00638
00639
00640
00641
00642
00643
00644
00645
00646
00647
00648
00649
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661
00662
00663
00664
00665
00666
00667
00668 }
00669 }