The following public C routines are new in release 8.5 of the Tcl/Tk libraries:
TIP #111 - Dictionary API [L1 ]
- int Tcl_DictObjPut(Tcl_Interp *interp, Tcl_Obj *dictPtr, Tcl_Obj *keyPtr, Tcl_Obj *valuePtr)
- int Tcl_DictObjGet(Tcl_Interp *interp, Tcl_Obj *dictPtr, Tcl_Obj *keyPtr, Tcl_Obj **valuePtrPtr)
- int Tcl_DictObjRemove(Tcl_Interp *interp, Tcl_Obj *dictPtr, Tcl_Obj *keyPtr)
- int Tcl_DictObjSize(Tcl_Interp *interp, Tcl_Obj *dictPtr, int *sizePtr)
- int Tcl_DictObjFirst(Tcl_Interp *interp, Tcl_Obj *dictPtr, Tcl_DictSearch *searchPtr, Tcl_Obj **keyPtrPtr, Tcl_Obj **valuePtrPtr, int *donePtr)
- void Tcl_DictObjNext(Tcl_DictSearch *searchPtr, Tcl_Obj **keyPtrPtr, Tcl_Obj **valuePtrPtr, int *donePtr)
- void Tcl_DictObjDone(Tcl_DictSearch *searchPtr)
- int Tcl_DictObjPutKeyList(Tcl_Interp *interp, Tcl_Obj *dictPtr, int keyc, Tcl_Obj *const *keyv, Tcl_Obj *valuePtr)
- int Tcl_DictObjRemoveKeyList(Tcl_Interp *interp, Tcl_Obj *dictPtr, int keyc, Tcl_Obj *const *keyv)
- Tcl_Obj *Tcl_NewDictObj()
- Tcl_Obj *Tcl_DbNewDictObj(const char *file, int line)
TIP #59 - Configuration Descriptor API [L2 ]
- void Tcl_RegisterConfig(Tcl_Interp *interp, const char *pkgName, Tcl_Config *configuration, const char *valEncoding)
TIP #139 - Namespace API [L3 ]
- Tcl_Namespace *Tcl_CreateNamespace(Tcl_Interp *interp, const char *name, ClientData clientData, Tcl_NamespaceDeleteProc *deleteProc)
- void Tcl_DeleteNamespace(Tcl_Namespace *nsPtr)
- int Tcl_AppendExportList(Tcl_Interp *interp, Tcl_Namespace *nsPtr, Tcl_Obj *objPtr)
- int Tcl_Export(Tcl_Interp *interp, Tcl_Namespace *nsPtr, const char *pattern, int resetListFirst)
- int Tcl_Import(Tcl_Interp *interp, Tcl_Namespace *nsPtr, const char *pattern, int allowOverwrite)
- int Tcl_ForgetImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr, const char *pattern)
- Tcl_Namespace *Tcl_GetCurrentNamespace(Tcl_Interp *interp)
- Tcl_Namespace *Tcl_GetGlobalNamespace(Tcl_Interp *interp)
- Tcl_Namespace *Tcl_FindNamespace(Tcl_Interp *interp, const char *name, Tcl_Namespace *contextNsPtr, int flags)
- Tcl_Command Tcl_FindCommand(Tcl_Interp *interp, const char *name, Tcl_Namespace *contextNsPtr, int flags)
- Tcl_Command Tcl_GetCommandFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
- void Tcl_GetCommandFullName(Tcl_Interp *interp, Tcl_Command command, Tcl_Obj *objPtr)
TIP #137 - Extended Source Command Core [L4 ]
- int Tcl_FSEvalFileEx(Tcl_Interp *interp, Tcl_Obj *fileName, const char *encodingName)
TIP #121 - Exit Handler API [L5 ]
- Tcl_ExitProc *Tcl_SetExitProc(Tcl_ExitProc *proc)
TIP #143 - Resource Limiting API [L6 ]
- void Tcl_LimitAddHandler(Tcl_Interp *interp, int type, Tcl_LimitHandlerProc *handlerProc, ClientData clientData, Tcl_LimitHandlerDeleteProc *deleteProc)
- void Tcl_LimitRemoveHandler(Tcl_Interp *interp, int type, Tcl_LimitHandlerProc *handlerProc, ClientData clientData)
- int Tcl_LimitReady(Tcl_Interp *interp)
- int Tcl_LimitCheck(Tcl_Interp *interp)
- int Tcl_LimitExceeded(Tcl_Interp *interp)
- void Tcl_LimitSetCommands(Tcl_Interp *interp, int commandLimit)
- void Tcl_LimitSetTime(Tcl_Interp *interp, Tcl_Time *timeLimitPtr)
- void Tcl_LimitSetGranularity(Tcl_Interp *interp, int type, int granularity)
- int Tcl_LimitTypeEnabled(Tcl_Interp *interp, int type)
- int Tcl_LimitTypeExceeded(Tcl_Interp *interp, int type)
- void Tcl_LimitTypeSet(Tcl_Interp *interp, int type)
- void Tcl_LimitTypeReset(Tcl_Interp *interp, int type)
- int Tcl_LimitGetCommands(Tcl_Interp *interp)
- void Tcl_LimitGetTime(Tcl_Interp *interp, Tcl_Time *timeLimitPtr)
- int Tcl_LimitGetGranularity(Tcl_Interp *interp, int type)
TIP #226 - Result State Management API [L7 ]
- Tcl_InterpState Tcl_SaveInterpState(Tcl_Interp *interp, int status)
- int Tcl_RestoreInterpState(Tcl_Interp *interp, Tcl_InterpState state)
- void Tcl_DiscardInterpState(Tcl_InterpState state)
TIP #227 - Return Options API [L8 ]
- int Tcl_SetReturnOptions(Tcl_Interp *interp, Tcl_Obj *options)
- Tcl_Obj *Tcl_GetReturnOptions(Tcl_Interp *interp, int result)
TIP #235 - Ensemble API [L9 ]
- int Tcl_IsEnsemble(Tcl_Command token)
- Tcl_Command Tcl_CreateEnsemble(Tcl_Interp *interp, const char *name, Tcl_Namespace *namespacePtr, int flags)
- Tcl_Command Tcl_FindEnsemble(Tcl_Interp *interp, Tcl_Obj *cmdNameObj, int flags)
- int Tcl_SetEnsembleSubcommandList(Tcl_Interp *interp, Tcl_Command token, Tcl_Obj *subcmdList)
- int Tcl_SetEnsembleMappingDict(Tcl_Interp *interp, Tcl_Command token, Tcl_Obj *mapDict)
- int Tcl_SetEnsembleUnknownHandler(Tcl_Interp *interp, Tcl_Command token, Tcl_Obj *unknownList)
- int Tcl_SetEnsembleFlags(Tcl_Interp *interp, Tcl_Command token, int flags)
- int Tcl_GetEnsembleSubcommandList(Tcl_Interp *interp, Tcl_Command token, Tcl_Obj **subcmdListPtr)
- int Tcl_GetEnsembleMappingDict(Tcl_Interp *interp, Tcl_Command token, Tcl_Obj **mapDictPtr)
- int Tcl_GetEnsembleUnknownHandler(Tcl_Interp *interp, Tcl_Command token, Tcl_Obj **unknownListPtr)
- int Tcl_GetEnsembleFlags(Tcl_Interp *interp, Tcl_Command token, int *flagsPtr)
- int Tcl_GetEnsembleNamespace(Tcl_Interp *interp, Tcl_Command token, Tcl_Namespace **namespacePtrPtr)
TIP #233 - Virtualized Time API [L10 ]
- void Tcl_SetTimeProc(Tcl_GetTimeProc *getProc, Tcl_ScaleTimeProc *scaleProc, ClientData clientData)
- void Tcl_QueryTimeProc(Tcl_GetTimeProc **getProc, Tcl_ScaleTimeProc **scaleProc, ClientData *clientData)
Extensions to Channel API
TIP #208 - Add a 'chan' Command, TIP #218 - Tcl Channel Driver Thread State Actions, TIP #219 - Tcl Channel Reflection API
- Tcl_DriverThreadActionProc *Tcl_ChannelThreadActionProc(const Tcl_ChannelType *chanTypePtr)
- int Tcl_TruncateChannel(Tcl_Channel chan, Tcl_WideInt length)
- Tcl_DriverTruncateProc *Tcl_ChannelTruncateProc(const Tcl_ChannelType *chanTypePtr)
- void Tcl_SetChannelErrorInterp(Tcl_Interp *interp, Tcl_Obj *msg)
- void Tcl_GetChannelErrorInterp(Tcl_Interp *interp, Tcl_Obj **msg)
- void Tcl_SetChannelError(Tcl_Channel chan, Tcl_Obj *msg)
- void Tcl_GetChannelError(Tcl_Channel chan, Tcl_Obj **msg)
TIP #237 Arbitrary Precision Arithmetic API [L11 ]
- Tcl_Obj *Tcl_NewBignumObj(mp_int *value)
- Tcl_Obj *Tcl_DbNewBignumObj(mp_int *value, const char *file, int line)
- void Tcl_SetBignumObj(Tcl_Obj *obj, mp_int *value)
- int Tcl_GetBignumFromObj(Tcl_Interp *interp, Tcl_Obj *obj, mp_int *value)
- int Tcl_InitBignumFromDouble(Tcl_Interp *interp, double initval, mp_int *toInit)
TIP #298 - Revise Shared Value Rules for Tcl_GetBignumAndClearObj [L12 ]
- int Tcl_TakeBignumFromObj(Tcl_Interp *interp, Tcl_Obj *obj, mp_int *value)
TIP #181 - Namespace-Specific Unknown Handler API [L13 ]
- Tcl_Obj *Tcl_GetNamespaceUnknownHandler(Tcl_Interp *interp, Tcl_Namespace *nsPtr)
- int Tcl_SetNamespaceUnknownHandler(Tcl_Interp *interp, Tcl_Namespace *nsPtr, Tcl_Obj *handlerPtr)
TIP #258 - Extended Encoding API [L14 ]
- int Tcl_GetEncodingFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_Encoding *encodingPtr)
- Tcl_Obj *Tcl_GetEncodingSearchPath(void)
- int Tcl_SetEncodingSearchPath(Tcl_Obj *searchPath)
- const char *Tcl_GetEncodingNameFromEnvironment(Tcl_DString *bufPtr)
TIP #268 - Package API [L15 ]
- int Tcl_PkgRequireProc(Tcl_Interp *interp, const char *name, int objc, Tcl_Obj *const objv[], ClientData *clientDataPtr)
TIP #270 - Formatted String/Result Management API [L16 ]
- void Tcl_AppendObjToErrorInfo(Tcl_Interp *interp, Tcl_Obj *objPtr)
- void Tcl_AppendLimitedToObj(Tcl_Obj *objPtr, const char *bytes, int length, int limit, const char *ellipsis)
- Tcl_Obj *Tcl_Format(Tcl_Interp *interp, const char *format, int objc, Tcl_Obj *const objv[])
- int Tcl_AppendFormatToObj(Tcl_Interp *interp, Tcl_Obj *objPtr, const char *format, int objc, Tcl_Obj *const objv[])
- Tcl_Obj *Tcl_ObjPrintf(const char *format, ...)
- void Tcl_AppendPrintfToObj(Tcl_Obj *objPtr, const char *format, ...)
TIP #116 - Improved Photo API [L17 ]
- int Tk_PhotoExpand(Tcl_Interp *interp, Tk_PhotoHandle handle, int width, int height)
- int Tk_PhotoPutBlock(Tcl_Interp *interp, Tk_PhotoHandle handle, Tk_PhotoImageBlock *blockPtr, int x, int y, int width, int height, int compRule)
- int Tk_PhotoPutZoomedBlock(Tcl_Interp *interp, Tk_PhotoHandle handle, Tk_PhotoImageBlock *blockPtr, int x, int y, int width, int height, int zoomX, int zoomY, int subsampleX, int subsampleY, int compRule)
- int Tk_PhotoSetSize(Tcl_Interp *interp, Tk_PhotoHandle handle, int width, int height)
TIP #245 - User Inactivity API [L18 ]
- long Tk_GetUserInactiveTime(Display *dpy)
- void Tk_ResetUserInactiveTime(Display *dpy)
TIP #264 - Window/Interp Introspection API [L19 ]
- Tcl_Interp *Tk_Interp(Tk_Window tkwin)