📄 jim.h
字号:
Jim_Obj *fmtObjPtr, int flags);
JIM_STATIC int JIM_API(Jim_CompareStringImmediate) (Jim_Interp *interp,
Jim_Obj *objPtr, const char *str);
/* reference object */
JIM_STATIC Jim_Obj * JIM_API(Jim_NewReference) (Jim_Interp *interp,
Jim_Obj *objPtr, Jim_Obj *tagPtr, Jim_Obj *cmdNamePtr);
JIM_STATIC Jim_Reference * JIM_API(Jim_GetReference) (Jim_Interp *interp,
Jim_Obj *objPtr);
JIM_STATIC int JIM_API(Jim_SetFinalizer) (Jim_Interp *interp, Jim_Obj *objPtr, Jim_Obj *cmdNamePtr);
JIM_STATIC int JIM_API(Jim_GetFinalizer) (Jim_Interp *interp, Jim_Obj *objPtr, Jim_Obj **cmdNamePtrPtr);
/* interpreter */
JIM_STATIC Jim_Interp * JIM_API(Jim_CreateInterp) (void);
JIM_STATIC void JIM_API(Jim_FreeInterp) (Jim_Interp *i);
JIM_STATIC int JIM_API(Jim_GetExitCode) (Jim_Interp *interp);
JIM_STATIC FILE * JIM_API(Jim_SetStdin) (Jim_Interp *interp, FILE *fp);
JIM_STATIC FILE * JIM_API(Jim_SetStdout) (Jim_Interp *interp, FILE *fp);
JIM_STATIC FILE * JIM_API(Jim_SetStderr) (Jim_Interp *interp, FILE *fp);
/* commands */
JIM_STATIC void JIM_API(Jim_RegisterCoreCommands) (Jim_Interp *interp);
JIM_STATIC int JIM_API(Jim_CreateCommand) (Jim_Interp *interp,
const char *cmdName, Jim_CmdProc cmdProc, void *privData,
Jim_DelCmdProc delProc);
JIM_STATIC int JIM_API(Jim_CreateProcedure) (Jim_Interp *interp,
const char *cmdName, Jim_Obj *argListObjPtr, Jim_Obj *staticsListObjPtr,
Jim_Obj *bodyObjPtr, int arityMin, int arityMax);
JIM_STATIC int JIM_API(Jim_DeleteCommand) (Jim_Interp *interp,
const char *cmdName);
JIM_STATIC int JIM_API(Jim_RenameCommand) (Jim_Interp *interp,
const char *oldName, const char *newName);
JIM_STATIC Jim_Cmd * JIM_API(Jim_GetCommand) (Jim_Interp *interp,
Jim_Obj *objPtr, int flags);
JIM_STATIC int JIM_API(Jim_SetVariable) (Jim_Interp *interp,
Jim_Obj *nameObjPtr, Jim_Obj *valObjPtr);
JIM_STATIC int JIM_API(Jim_SetVariableStr) (Jim_Interp *interp,
const char *name, Jim_Obj *objPtr);
JIM_STATIC int JIM_API(Jim_SetGlobalVariableStr) (Jim_Interp *interp,
const char *name, Jim_Obj *objPtr);
JIM_STATIC int JIM_API(Jim_SetVariableStrWithStr) (Jim_Interp *interp,
const char *name, const char *val);
JIM_STATIC int JIM_API(Jim_SetVariableLink) (Jim_Interp *interp,
Jim_Obj *nameObjPtr, Jim_Obj *targetNameObjPtr,
Jim_CallFrame *targetCallFrame);
JIM_STATIC Jim_Obj * JIM_API(Jim_GetVariable) (Jim_Interp *interp,
Jim_Obj *nameObjPtr, int flags);
JIM_STATIC Jim_Obj * JIM_API(Jim_GetGlobalVariable) (Jim_Interp *interp,
Jim_Obj *nameObjPtr, int flags);
JIM_STATIC Jim_Obj * JIM_API(Jim_GetVariableStr) (Jim_Interp *interp,
const char *name, int flags);
JIM_STATIC Jim_Obj * JIM_API(Jim_GetGlobalVariableStr) (Jim_Interp *interp,
const char *name, int flags);
JIM_STATIC int JIM_API(Jim_UnsetVariable) (Jim_Interp *interp,
Jim_Obj *nameObjPtr, int flags);
/* call frame */
JIM_STATIC int JIM_API(Jim_GetCallFrameByLevel) (Jim_Interp *interp,
Jim_Obj *levelObjPtr, Jim_CallFrame **framePtrPtr,
int *newLevelPtr);
/* garbage collection */
JIM_STATIC int JIM_API(Jim_Collect) (Jim_Interp *interp);
JIM_STATIC void JIM_API(Jim_CollectIfNeeded) (Jim_Interp *interp);
/* index object */
JIM_STATIC int JIM_API(Jim_GetIndex) (Jim_Interp *interp, Jim_Obj *objPtr,
int *indexPtr);
/* list object */
JIM_STATIC Jim_Obj * JIM_API(Jim_NewListObj) (Jim_Interp *interp,
Jim_Obj *const *elements, int len);
JIM_STATIC void JIM_API(Jim_ListInsertElements) (Jim_Interp *interp,
Jim_Obj *listPtr, int index, int objc, Jim_Obj *const *objVec);
JIM_STATIC void JIM_API(Jim_ListAppendElement) (Jim_Interp *interp,
Jim_Obj *listPtr, Jim_Obj *objPtr);
JIM_STATIC void JIM_API(Jim_ListAppendList) (Jim_Interp *interp,
Jim_Obj *listPtr, Jim_Obj *appendListPtr);
JIM_STATIC void JIM_API(Jim_ListLength) (Jim_Interp *interp, Jim_Obj *listPtr,
int *intPtr);
JIM_STATIC int JIM_API(Jim_ListIndex) (Jim_Interp *interp, Jim_Obj *listPrt,
int index, Jim_Obj **objPtrPtr, int seterr);
JIM_STATIC int JIM_API(Jim_SetListIndex) (Jim_Interp *interp,
Jim_Obj *varNamePtr, Jim_Obj *const *indexv, int indexc,
Jim_Obj *newObjPtr);
JIM_STATIC Jim_Obj * JIM_API(Jim_ConcatObj) (Jim_Interp *interp, int objc,
Jim_Obj *const *objv);
/* dict object */
JIM_STATIC Jim_Obj * JIM_API(Jim_NewDictObj) (Jim_Interp *interp,
Jim_Obj *const *elements, int len);
JIM_STATIC int JIM_API(Jim_DictKey) (Jim_Interp *interp, Jim_Obj *dictPtr,
Jim_Obj *keyPtr, Jim_Obj **objPtrPtr, int flags);
JIM_STATIC int JIM_API(Jim_DictKeysVector) (Jim_Interp *interp,
Jim_Obj *dictPtr, Jim_Obj *const *keyv, int keyc,
Jim_Obj **objPtrPtr, int flags);
JIM_STATIC int JIM_API(Jim_SetDictKeysVector) (Jim_Interp *interp,
Jim_Obj *varNamePtr, Jim_Obj *const *keyv, int keyc,
Jim_Obj *newObjPtr);
/* return code object */
JIM_STATIC int JIM_API(Jim_GetReturnCode) (Jim_Interp *interp, Jim_Obj *objPtr,
int *intPtr);
/* expression object */
JIM_STATIC int JIM_API(Jim_EvalExpression) (Jim_Interp *interp,
Jim_Obj *exprObjPtr, Jim_Obj **exprResultPtrPtr);
JIM_STATIC int JIM_API(Jim_GetBoolFromExpr) (Jim_Interp *interp,
Jim_Obj *exprObjPtr, int *boolPtr);
/* integer object */
JIM_STATIC int JIM_API(Jim_GetWide) (Jim_Interp *interp, Jim_Obj *objPtr,
jim_wide *widePtr);
JIM_STATIC int JIM_API(Jim_GetLong) (Jim_Interp *interp, Jim_Obj *objPtr,
long *longPtr);
JIM_STATIC void JIM_API(Jim_SetWide) (Jim_Interp *interp, Jim_Obj *objPtr,
jim_wide wideValue);
JIM_STATIC Jim_Obj * JIM_API(Jim_NewIntObj) (Jim_Interp *interp,
jim_wide wideValue);
/* double object */
JIM_STATIC int JIM_API(Jim_GetDouble)(Jim_Interp *interp, Jim_Obj *objPtr,
double *doublePtr);
JIM_STATIC void JIM_API(Jim_SetDouble)(Jim_Interp *interp, Jim_Obj *objPtr,
double doubleValue);
JIM_STATIC Jim_Obj * JIM_API(Jim_NewDoubleObj)(Jim_Interp *interp, double doubleValue);
/* shared strings */
JIM_STATIC const char * JIM_API(Jim_GetSharedString) (Jim_Interp *interp,
const char *str);
JIM_STATIC void JIM_API(Jim_ReleaseSharedString) (Jim_Interp *interp,
const char *str);
/* commands utilities */
JIM_STATIC void JIM_API(Jim_WrongNumArgs) (Jim_Interp *interp, int argc,
Jim_Obj *const *argv, const char *msg);
JIM_STATIC int JIM_API(Jim_GetEnum) (Jim_Interp *interp, Jim_Obj *objPtr,
const char **tablePtr, int *indexPtr, const char *name, int flags);
JIM_STATIC int JIM_API(Jim_ScriptIsComplete) (const char *s, int len,
char *stateCharPtr);
/* package utilities */
typedef void (Jim_InterpDeleteProc)(Jim_Interp *interp, void *data);
JIM_STATIC void * JIM_API(Jim_GetAssocData)(Jim_Interp *interp, const char *key);
JIM_STATIC int JIM_API(Jim_SetAssocData)(Jim_Interp *interp, const char *key,
Jim_InterpDeleteProc *delProc, void *data);
JIM_STATIC int JIM_API(Jim_DeleteAssocData)(Jim_Interp *interp, const char *key);
/* API import/export functions */
JIM_STATIC int JIM_API(Jim_GetApi) (Jim_Interp *interp, const char *funcname,
void *targetPtrPtr);
JIM_STATIC int JIM_API(Jim_RegisterApi) (Jim_Interp *interp,
const char *funcname, void *funcptr);
/* Packages C API */
JIM_STATIC int JIM_API(Jim_PackageProvide) (Jim_Interp *interp,
const char *name, const char *ver, int flags);
JIM_STATIC const char * JIM_API(Jim_PackageRequire) (Jim_Interp *interp,
const char *name, const char *ver, int flags);
/* error messages */
JIM_STATIC void JIM_API(Jim_PrintErrorMessage) (Jim_Interp *interp);
/* interactive mode */
JIM_STATIC int JIM_API(Jim_InteractivePrompt) (Jim_Interp *interp);
/* Misc */
JIM_STATIC void JIM_API(Jim_Panic) (Jim_Interp *interp, const char *fmt, ...);
#undef JIM_STATIC
#undef JIM_API
#ifndef __JIM_CORE__
#define JIM_GET_API(name) \
Jim_GetApi(interp, "Jim_" #name, ((void *)&Jim_ ## name))
#if defined JIM_EXTENSION || defined JIM_EMBEDDED
/* This must be included "inline" inside the extension */
static void Jim_InitExtension(Jim_Interp *interp)
{
Jim_GetApi = interp->getApiFuncPtr;
JIM_GET_API(Alloc);
JIM_GET_API(Free);
JIM_GET_API(Eval);
JIM_GET_API(EvalGlobal);
JIM_GET_API(EvalFile);
JIM_GET_API(EvalObj);
JIM_GET_API(EvalObjBackground);
JIM_GET_API(EvalObjVector);
JIM_GET_API(InitHashTable);
JIM_GET_API(ExpandHashTable);
JIM_GET_API(AddHashEntry);
JIM_GET_API(ReplaceHashEntry);
JIM_GET_API(DeleteHashEntry);
JIM_GET_API(FreeHashTable);
JIM_GET_API(FindHashEntry);
JIM_GET_API(ResizeHashTable);
JIM_GET_API(GetHashTableIterator);
JIM_GET_API(NextHashEntry);
JIM_GET_API(NewObj);
JIM_GET_API(FreeObj);
JIM_GET_API(InvalidateStringRep);
JIM_GET_API(InitStringRep);
JIM_GET_API(DuplicateObj);
JIM_GET_API(GetString);
JIM_GET_API(Length);
JIM_GET_API(InvalidateStringRep);
JIM_GET_API(NewStringObj);
JIM_GET_API(NewStringObjNoAlloc);
JIM_GET_API(AppendString);
JIM_GET_API(AppendObj);
JIM_GET_API(AppendStrings);
JIM_GET_API(StringEqObj);
JIM_GET_API(StringMatchObj);
JIM_GET_API(StringRangeObj);
JIM_GET_API(FormatString);
JIM_GET_API(ScanString);
JIM_GET_API(CompareStringImmediate);
JIM_GET_API(NewReference);
JIM_GET_API(GetReference);
JIM_GET_API(SetFinalizer);
JIM_GET_API(GetFinalizer);
JIM_GET_API(CreateInterp);
JIM_GET_API(FreeInterp);
JIM_GET_API(GetExitCode);
JIM_GET_API(SetStdin);
JIM_GET_API(SetStdout);
JIM_GET_API(SetStderr);
JIM_GET_API(CreateCommand);
JIM_GET_API(CreateProcedure);
JIM_GET_API(DeleteCommand);
JIM_GET_API(RenameCommand);
JIM_GET_API(GetCommand);
JIM_GET_API(SetVariable);
JIM_GET_API(SetVariableStr);
JIM_GET_API(SetGlobalVariableStr);
JIM_GET_API(SetVariableStrWithStr);
JIM_GET_API(SetVariableLink);
JIM_GET_API(GetVariable);
JIM_GET_API(GetCallFrameByLevel);
JIM_GET_API(Collect);
JIM_GET_API(CollectIfNeeded);
JIM_GET_API(GetIndex);
JIM_GET_API(NewListObj);
JIM_GET_API(ListInsertElements);
JIM_GET_API(ListAppendElement);
JIM_GET_API(ListAppendList);
JIM_GET_API(ListLength);
JIM_GET_API(ListIndex);
JIM_GET_API(SetListIndex);
JIM_GET_API(ConcatObj);
JIM_GET_API(NewDictObj);
JIM_GET_API(DictKey);
JIM_GET_API(DictKeysVector);
JIM_GET_API(GetIndex);
JIM_GET_API(GetReturnCode);
JIM_GET_API(EvalExpression);
JIM_GET_API(GetBoolFromExpr);
JIM_GET_API(GetWide);
JIM_GET_API(GetLong);
JIM_GET_API(SetWide);
JIM_GET_API(NewIntObj);
JIM_GET_API(GetDouble);
JIM_GET_API(SetDouble);
JIM_GET_API(NewDoubleObj);
JIM_GET_API(WrongNumArgs);
JIM_GET_API(SetDictKeysVector);
JIM_GET_API(SubstObj);
JIM_GET_API(RegisterApi);
JIM_GET_API(PrintErrorMessage);
JIM_GET_API(InteractivePrompt);
JIM_GET_API(RegisterCoreCommands);
JIM_GET_API(GetSharedString);
JIM_GET_API(ReleaseSharedString);
JIM_GET_API(Panic);
JIM_GET_API(StrDup);
JIM_GET_API(UnsetVariable);
JIM_GET_API(GetVariableStr);
JIM_GET_API(GetGlobalVariable);
JIM_GET_API(GetGlobalVariableStr);
JIM_GET_API(GetAssocData);
JIM_GET_API(SetAssocData);
JIM_GET_API(DeleteAssocData);
JIM_GET_API(GetEnum);
JIM_GET_API(ScriptIsComplete);
JIM_GET_API(PackageProvide);
JIM_GET_API(PackageRequire);
JIM_GET_API(InitStack);
JIM_GET_API(FreeStack);
JIM_GET_API(StackLen);
JIM_GET_API(StackPush);
JIM_GET_API(StackPop);
JIM_GET_API(StackPeek);
JIM_GET_API(FreeStackElements);
}
#endif /* defined JIM_EXTENSION || defined JIM_EMBEDDED */
#undef JIM_GET_API
#ifdef JIM_EMBEDDED
Jim_Interp *ExportedJimCreateInterp(void);
static void Jim_InitEmbedded(void) {
Jim_Interp *i = ExportedJimCreateInterp();
Jim_InitExtension(i);
Jim_FreeInterp(i);
}
#endif /* JIM_EMBEDDED */
#endif /* __JIM_CORE__ */
#ifdef __cplusplus
}
#endif
#endif /* __JIM__H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -