#define __JIM__H
#include <time.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <jim-win32compat.h>
#include <jim-config.h>
#define UCHAR
#define JIM_ABI_VERSION
#define JIM_OK
#define JIM_ERR
#define JIM_RETURN
#define JIM_BREAK
#define JIM_CONTINUE
#define JIM_SIGNAL
#define JIM_EXIT
#define JIM_EVAL
#define JIM_MAX_CALLFRAME_DEPTH
#define JIM_MAX_EVAL_DEPTH
#define JIM_PRIV_FLAG_SHIFT
#define JIM_NONE
#define JIM_ERRMSG
#define JIM_ENUM_ABBREV
#define JIM_UNSHARED
#define JIM_MUSTEXIST
#define JIM_SUBST_NOVAR
#define JIM_SUBST_NOCMD
#define JIM_SUBST_NOESC
#define JIM_SUBST_FLAG
#define JIM_CASESENS
#define JIM_NOCASE
#define JIM_OPT_END
#define JIM_PATH_LEN
#define JIM_NOTUSED
#define JIM_LIBPATH
#define JIM_INTERACTIVE
Jim_Stack
len
maxlen
vector
Jim_HashEntry
key
<anonymous union>
val
intval
u
next
Jim_HashTableType
hashFunction
keyDup
valDup
keyCompare
keyDestructor
valDestructor
Jim_HashTable
table
type
privdata
size
sizemask
used
collisions
uniq
Jim_HashTableIterator
ht
entry
nextEntry
index
#define JIM_HT_INITIAL_SIZE
#define Jim_SetHashIntVal
#define Jim_HashKey
#define Jim_GetHashEntryKey
#define Jim_GetHashEntryVal
#define Jim_GetHashEntryIntVal
#define Jim_GetHashTableCollisions
#define Jim_GetHashTableSize
#define Jim_GetHashTableUsed
Jim_Obj
bytes
typePtr
Jim_ObjType
refCount
length
<anonymous union>
wideValue
intValue
doubleValue
ptr
<anonymous struct>
ptr1
ptr2
twoPtrValue
<anonymous struct>
ptr
int1
int2
ptrIntValue
<anonymous struct>
Jim_Var
varPtr
callFrameId
global
varValue
<anonymous struct>
nsObj
Jim_Cmd
cmdPtr
procEpoch
cmdValue
<anonymous struct>
ele
len
maxLen
listValue
Jim_Dict
dictValue
<anonymous struct>
maxLength
charLength
strValue
<anonymous struct>
id
Jim_Reference
refPtr
refValue
<anonymous struct>
fileNameObj
lineNumber
sourceValue
<anonymous struct>
varNameObjPtr
indexObjPtr
dictSubstValue
<anonymous struct>
line
argc
scriptLineValue
internalRep
prevObjPtr
nextObjPtr
#define Jim_FreeNewObj
#define Jim_GetIntRepPtr
Jim_Interp
Jim_FreeInternalRepProc
Jim_DupInternalRepProc
Jim_ObjType
name
freeIntRepProc
dupIntRepProc
updateStringProc
flags
#define JIM_TYPE_NONE
#define JIM_TYPE_REFERENCES
Jim_CallFrame
id
level
vars
staticVars
parent
argv
argc
procArgsObjPtr
procBodyObjPtr
next
nsObj
fileNameObj
line
localCommands
tailcallObj
tailcallCmd
Jim_Var
objPtr
linkFramePtr
Jim_CmdProc
Jim_DelCmdProc
Jim_Dict
JimDictHashEntry
offset
hash
ht
size
sizemask
uniq
table
len
maxLen
Jim_Cmd
inUse
isproc
prevCmd
<anonymous union>
<anonymous struct>
cmdProc
delProc
privData
native
<anonymous struct>
argListObjPtr
bodyObjPtr
staticVars
argListLen
reqArity
optArity
argsPos
upcall
Jim_ProcArg
nameObjPtr
defaultObjPtr
arglist
nsObj
proc
u
Jim_PrngState
sbox
i
j
Jim_Interp
result
errorLine
errorFileNameObj
addStackTrace
maxCallFrameDepth
maxEvalDepth
evalDepth
returnCode
returnLevel
exitCode
id
signal_level
sigmask
signal_set_result
framePtr
topFramePtr
commands
procEpoch
callFrameEpoch
local
quitting
safeexpr
liveList
freeList
currentScriptObj
nullScriptObj
emptyObj
trueObj
falseObj
referenceNextId
references
lastCollectId
lastCollectTime
stackTrace
errorProc
unknown
defer
traceCmdObj
unknown_called
errorFlag
cmdPrivData
oldCmdCache
oldCmdCacheSize
freeFramesList
assocData
prngState
packages
loadHandles
#define Jim_SetResultString
#define Jim_SetResultInt
#define Jim_SetResultBool
#define Jim_SetEmptyResult
#define Jim_GetResult
#define Jim_CmdPrivData
#define Jim_GetId
Jim_Reference
objPtr
finalizerCmdNamePtr
tag
#define Jim_NewEmptyStringObj
#define Jim_FreeHashTableIterator
#define JIM_EXPORT
Jim_Alloc(int);
Jim_Realloc(void *, int);
Jim_Free(void *);
Jim_StrDup(const char *);
Jim_StrDupLen(const char *, int);
Jim_GetEnviron();
Jim_SetEnviron(char **);
Jim_MakeTempFile(Jim_Interp *, const char *, int);
Jim_Eval(Jim_Interp *, const char *);
Jim_EvalSource(Jim_Interp *, const char *, int, const char *);
#define Jim_Eval_Named
Jim_EvalGlobal(Jim_Interp *, const char *);
Jim_EvalFile(Jim_Interp *, const char *);
Jim_EvalFileGlobal(Jim_Interp *, const char *);
Jim_EvalObj(Jim_Interp *, Jim_Obj *);
Jim_EvalObjVector(Jim_Interp *, int, Jim_Obj *const *);
Jim_EvalObjList(Jim_Interp *, Jim_Obj *);
Jim_EvalObjPrefix(Jim_Interp *, Jim_Obj *, int, Jim_Obj *const *);
#define Jim_EvalPrefix
Jim_EvalNamespace(Jim_Interp *, Jim_Obj *, Jim_Obj *);
Jim_SubstObj(Jim_Interp *, Jim_Obj *, Jim_Obj **, int);
Jim_InitStack(Jim_Stack *);
Jim_FreeStack(Jim_Stack *);
Jim_StackLen(Jim_Stack *);
Jim_StackPush(Jim_Stack *, void *);
Jim_StackPop(Jim_Stack *);
Jim_StackPeek(Jim_Stack *);
Jim_FreeStackElements(Jim_Stack *, void (*)(void *));
Jim_InitHashTable(Jim_HashTable *, const Jim_HashTableType *, void *);
Jim_ExpandHashTable(Jim_HashTable *, unsigned int);
Jim_AddHashEntry(Jim_HashTable *, const void *, void *);
Jim_ReplaceHashEntry(Jim_HashTable *, const void *, void *);
Jim_DeleteHashEntry(Jim_HashTable *, const void *);
Jim_FreeHashTable(Jim_HashTable *);
Jim_FindHashEntry(Jim_HashTable *, const void *);
Jim_GetHashTableIterator(Jim_HashTable *);
Jim_NextHashEntry(Jim_HashTableIterator *);
Jim_NewObj(Jim_Interp *);
Jim_FreeObj(Jim_Interp *, Jim_Obj *);
Jim_InvalidateStringRep(Jim_Obj *);
Jim_DuplicateObj(Jim_Interp *, Jim_Obj *);
Jim_GetString(Jim_Obj *, int *);
Jim_String(Jim_Obj *);
Jim_Length(Jim_Obj *);
Jim_NewStringObj(Jim_Interp *, const char *, int);
Jim_NewStringObjUtf8(Jim_Interp *, const char *, int);
Jim_NewStringObjNoAlloc(Jim_Interp *, char *, int);
Jim_AppendString(Jim_Interp *, Jim_Obj *, const char *, int);
Jim_AppendObj(Jim_Interp *, Jim_Obj *, Jim_Obj *);
Jim_AppendStrings(Jim_Interp *, Jim_Obj *, ...);
Jim_StringEqObj(Jim_Obj *, Jim_Obj *);
Jim_StringMatchObj(Jim_Interp *, Jim_Obj *, Jim_Obj *, int);
Jim_StringRangeObj(Jim_Interp *, Jim_Obj *, Jim_Obj *, Jim_Obj *);
Jim_FormatString(Jim_Interp *, Jim_Obj *, int, Jim_Obj *const *);
Jim_ScanString(Jim_Interp *, Jim_Obj *, Jim_Obj *, int);
Jim_CompareStringImmediate(Jim_Interp *, Jim_Obj *, const char *);
Jim_StringCompareObj(Jim_Interp *, Jim_Obj *, Jim_Obj *, int);
Jim_Utf8Length(Jim_Interp *, Jim_Obj *);
Jim_NewReference(Jim_Interp *, Jim_Obj *, Jim_Obj *, Jim_Obj *);
Jim_GetReference(Jim_Interp *, Jim_Obj *);
Jim_SetFinalizer(Jim_Interp *, Jim_Obj *, Jim_Obj *);
Jim_GetFinalizer(Jim_Interp *, Jim_Obj *, Jim_Obj **);
Jim_CreateInterp();
Jim_FreeInterp(Jim_Interp *);
Jim_GetExitCode(Jim_Interp *);
Jim_ReturnCode(int);
Jim_SetResultFormatted(Jim_Interp *, const char *, ...);
Jim_RegisterCoreCommands(Jim_Interp *);
Jim_CreateCommand(Jim_Interp *, const char *, Jim_CmdProc *, void *, Jim_DelCmdProc *);
Jim_DeleteCommand(Jim_Interp *, Jim_Obj *);
Jim_RenameCommand(Jim_Interp *, Jim_Obj *, Jim_Obj *);
Jim_GetCommand(Jim_Interp *, Jim_Obj *, int);
Jim_SetVariable(Jim_Interp *, Jim_Obj *, Jim_Obj *);
Jim_SetVariableStr(Jim_Interp *, const char *, Jim_Obj *);
Jim_SetGlobalVariableStr(Jim_Interp *, const char *, Jim_Obj *);
Jim_SetVariableStrWithStr(Jim_Interp *, const char *, const char *);
Jim_SetVariableLink(Jim_Interp *, Jim_Obj *, Jim_Obj *, Jim_CallFrame *);
Jim_MakeGlobalNamespaceName(Jim_Interp *, Jim_Obj *);
Jim_GetVariable(Jim_Interp *, Jim_Obj *, int);
Jim_GetGlobalVariable(Jim_Interp *, Jim_Obj *, int);
Jim_GetVariableStr(Jim_Interp *, const char *, int);
Jim_GetGlobalVariableStr(Jim_Interp *, const char *, int);
Jim_UnsetVariable(Jim_Interp *, Jim_Obj *, int);
Jim_GetCallFrameByLevel(Jim_Interp *, Jim_Obj *);
Jim_Collect(Jim_Interp *);
Jim_CollectIfNeeded(Jim_Interp *);
Jim_GetIndex(Jim_Interp *, Jim_Obj *, int *);
Jim_NewListObj(Jim_Interp *, Jim_Obj *const *, int);
Jim_ListInsertElements(Jim_Interp *, Jim_Obj *, int, int, Jim_Obj *const *);
Jim_ListAppendElement(Jim_Interp *, Jim_Obj *, Jim_Obj *);
Jim_ListAppendList(Jim_Interp *, Jim_Obj *, Jim_Obj *);
Jim_ListLength(Jim_Interp *, Jim_Obj *);
Jim_ListIndex(Jim_Interp *, Jim_Obj *, int, Jim_Obj **, int);
Jim_ListGetIndex(Jim_Interp *, Jim_Obj *, int);
Jim_SetListIndex(Jim_Interp *, Jim_Obj *, Jim_Obj *const *, int, Jim_Obj *);
Jim_ConcatObj(Jim_Interp *, int, Jim_Obj *const *);
Jim_ListJoin(Jim_Interp *, Jim_Obj *, const char *, int);
Jim_NewDictObj(Jim_Interp *, Jim_Obj *const *, int);
Jim_DictKey(Jim_Interp *, Jim_Obj *, Jim_Obj *, Jim_Obj **, int);
Jim_DictKeysVector(Jim_Interp *, Jim_Obj *, Jim_Obj *const *, int, Jim_Obj **, int);
Jim_SetDictKeysVector(Jim_Interp *, Jim_Obj *, Jim_Obj *const *, int, Jim_Obj *, int);
Jim_DictPairs(Jim_Interp *, Jim_Obj *, int *);
Jim_DictAddElement(Jim_Interp *, Jim_Obj *, Jim_Obj *, Jim_Obj *);
#define JIM_DICTMATCH_KEYS
#define JIM_DICTMATCH_VALUES
Jim_DictMatchTypes(Jim_Interp *, Jim_Obj *, Jim_Obj *, int, int);
Jim_DictSize(Jim_Interp *, Jim_Obj *);
Jim_DictInfo(Jim_Interp *, Jim_Obj *);
Jim_DictMerge(Jim_Interp *, int, Jim_Obj *const *);
Jim_GetReturnCode(Jim_Interp *, Jim_Obj *, int *);
Jim_EvalExpression(Jim_Interp *, Jim_Obj *);
Jim_GetBoolFromExpr(Jim_Interp *, Jim_Obj *, int *);
Jim_GetBoolean(Jim_Interp *, Jim_Obj *, int *);
Jim_GetWide(Jim_Interp *, Jim_Obj *, long long *);
Jim_GetWideExpr(Jim_Interp *, Jim_Obj *, long long *);
Jim_GetLong(Jim_Interp *, Jim_Obj *, long *);
#define Jim_NewWideObj
Jim_NewIntObj(Jim_Interp *, long long);
Jim_GetDouble(Jim_Interp *, Jim_Obj *, double *);
Jim_SetDouble(Jim_Interp *, Jim_Obj *, double);
Jim_NewDoubleObj(Jim_Interp *, double);
Jim_WrongNumArgs(Jim_Interp *, int, Jim_Obj *const *, const char *);
Jim_GetEnum(Jim_Interp *, Jim_Obj *, const char *const *, int *, const char *, int);
Jim_CheckShowCommands(Jim_Interp *, Jim_Obj *, const char *const *);
Jim_ScriptIsComplete(Jim_Interp *, Jim_Obj *, char *);
Jim_FindByName(const char *, const char *const *, size_t);
Jim_InterpDeleteProc
Jim_GetAssocData(Jim_Interp *, const char *);
Jim_SetAssocData(Jim_Interp *, const char *, Jim_InterpDeleteProc *, void *);
Jim_DeleteAssocData(Jim_Interp *, const char *);
Jim_CheckAbiVersion(Jim_Interp *, int);
Jim_PackageProvide(Jim_Interp *, const char *, const char *, int);
Jim_PackageRequire(Jim_Interp *, const char *, int);
Jim_MakeErrorMessage(Jim_Interp *);
Jim_InteractivePrompt(Jim_Interp *);
Jim_HistoryLoad(const char *);
Jim_HistorySave(const char *);
Jim_HistoryGetline(Jim_Interp *, const char *);
Jim_HistorySetCompletion(Jim_Interp *, Jim_Obj *);
Jim_HistoryAdd(const char *);
Jim_HistoryShow();
Jim_HistorySetMaxLen(int);
Jim_HistoryGetMaxLen();
Jim_InitStaticExtensions(Jim_Interp *);
Jim_StringToWide(const char *, long long *, int);
Jim_IsBigEndian();
#define Jim_CheckSignal
Jim_LoadLibrary(Jim_Interp *, const char *);
Jim_FreeLoadHandles(Jim_Interp *);
Jim_AioFilehandle(Jim_Interp *, Jim_Obj *);
Jim_IsDict(Jim_Obj *);
Jim_IsList(Jim_Obj *);