summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.decls
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclInt.decls')
-rw-r--r--generic/tclInt.decls456
1 files changed, 371 insertions, 85 deletions
diff --git a/generic/tclInt.decls b/generic/tclInt.decls
index 18d1bdf..102d04b 100644
--- a/generic/tclInt.decls
+++ b/generic/tclInt.decls
@@ -8,6 +8,7 @@
#
# Copyright (c) 1998-1999 by Scriptics Corporation.
# Copyright (c) 2001 by Kevin B. Kenny. All rights reserved.
+# Copyright (c) 2007 Daniel A. Steffen <das@users.sourceforge.net>
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -27,12 +28,12 @@ interface tclInt
#declare 0 {
# int TclAccess(const char *path, int mode)
#}
-declare 1 {
- int TclAccessDeleteProc(TclAccessProc_ *proc)
-}
-declare 2 {
- int TclAccessInsertProc(TclAccessProc_ *proc)
-}
+#declare 1 {
+# int TclAccessDeleteProc(TclAccessProc_ *proc)
+#}
+#declare 2 {
+# int TclAccessInsertProc(TclAccessProc_ *proc)
+#}
declare 3 {
void TclAllocateFreeObjects(void)
}
@@ -71,14 +72,15 @@ declare 11 {
void TclDeleteCompiledLocalVars(Interp *iPtr, CallFrame *framePtr)
}
declare 12 {
- void TclDeleteVars(Interp *iPtr, Tcl_HashTable *tablePtr)
-}
-declare 13 {
- int TclDoGlob(Tcl_Interp *interp, char *separators,
- Tcl_DString *headPtr, char *tail, Tcl_GlobTypeData *types)
+ void TclDeleteVars(Interp *iPtr, TclVarHashTable *tablePtr)
}
+# Removed in 8.5
+#declare 13 {
+# int TclDoGlob(Tcl_Interp *interp, char *separators,
+# Tcl_DString *headPtr, char *tail, Tcl_GlobTypeData *types)
+#}
declare 14 {
- void TclDumpMemoryInfo(FILE *outFile)
+ int TclDumpMemoryInfo(ClientData clientData, int flags)
}
# Removed in 8.1:
# declare 15 {
@@ -87,7 +89,7 @@ declare 14 {
declare 16 {
void TclExprFloatError(Tcl_Interp *interp, double value)
}
-# Removed in 8.4:
+# Removed in 8.4
#declare 17 {
# int TclFileAttrsCmd(Tcl_Interp *interp, int objc, Tcl_Obj *const objv[])
#}
@@ -111,6 +113,7 @@ declare 22 {
declare 23 {
Proc *TclFindProc(Interp *iPtr, const char *procName)
}
+# Replaced with macro (see tclInt.h) in Tcl 8.5.0, restored in 8.5.10
declare 24 {
int TclFormatInt(char *buffer, long n)
}
@@ -121,10 +124,11 @@ declare 25 {
# declare 26 {
# char *TclGetCwd(Tcl_Interp *interp)
# }
-declare 27 {
- int TclGetDate(char *p, Tcl_WideInt now, long zone,
- Tcl_WideInt *timePtr)
-}
+# Removed in 8.5
+#declare 27 {
+# int TclGetDate(char *p, unsigned long now, long zone,
+# unsigned long *timePtr)
+#}
declare 28 {
Tcl_Channel TclpGetDefaultStdChannel(int type)
}
@@ -138,15 +142,16 @@ declare 28 {
# char *TclGetEnv(const char *name)
# }
declare 31 {
- char *TclGetExtension(char *name)
+ const char *TclGetExtension(const char *name)
}
declare 32 {
int TclGetFrame(Tcl_Interp *interp, const char *str,
CallFrame **framePtrPtr)
}
-declare 33 {
- TclCmdProcType TclGetInterpProc(void)
-}
+# Removed in Tcl 8.5
+#declare 33 {
+# TclCmdProcType TclGetInterpProc(void)
+#}
declare 34 {
int TclGetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr,
int endValue, int *indexPtr)
@@ -180,9 +185,11 @@ declare 41 {
declare 42 {
char *TclpGetUserHome(const char *name, Tcl_DString *bufferPtr)
}
-declare 43 {
- int TclGlobalInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags)
-}
+# Removed in Tcl 8.5a2
+#declare 43 {
+# int TclGlobalInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv,
+# int flags)
+#}
declare 44 {
int TclGuessPackageName(const char *fileName, Tcl_DString *bufPtr)
}
@@ -202,10 +209,10 @@ declare 46 {
# Tcl_Obj *TclIncrIndexedScalar(Tcl_Interp *interp, int localIndex,
# long incrAmount)
#}
-declare 49 {
- Tcl_Obj *TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr,
- Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed)
-}
+#declare 49 {
+# Tcl_Obj *TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr,
+# Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed)
+#}
declare 50 {
void TclInitCompiledLocals(Tcl_Interp *interp, CallFrame *framePtr,
Namespace *nsPtr)
@@ -213,9 +220,11 @@ declare 50 {
declare 51 {
int TclInterpInit(Tcl_Interp *interp)
}
-declare 52 {
- int TclInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags)
-}
+# Removed in Tcl 8.5a2
+#declare 52 {
+# int TclInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv,
+# int flags)
+#}
declare 53 {
int TclInvokeObjectCommand(ClientData clientData, Tcl_Interp *interp,
int argc, CONST84 char **argv)
@@ -264,16 +273,17 @@ declare 64 {
int TclObjInvoke(Tcl_Interp *interp, int objc, Tcl_Obj *const objv[],
int flags)
}
-declare 65 {
- int TclObjInvokeGlobal(Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[], int flags)
-}
-declare 66 {
- int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc)
-}
-declare 67 {
- int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc)
-}
+# Removed in Tcl 8.5a2
+#declare 65 {
+# int TclObjInvokeGlobal(Tcl_Interp *interp, int objc,
+# Tcl_Obj *const objv[], int flags)
+#}
+#declare 66 {
+# int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc)
+#}
+#declare 67 {
+# int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc)
+#}
# Replaced by Tcl_FSAccess in 8.4:
#declare 68 {
# int TclpAccess(const char *path, int mode)
@@ -309,7 +319,7 @@ declare 77 {
void TclpGetTime(Tcl_Time *time)
}
declare 78 {
- int TclpGetTimeZone(Tcl_WideInt time)
+ int TclpGetTimeZone(unsigned long time)
}
# Replaced by Tcl_FSListVolumes in 8.4:
#declare 79 {
@@ -369,17 +379,18 @@ declare 92 {
declare 93 {
void TclProcDeleteProc(ClientData clientData)
}
-declare 94 {
- int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp,
- int argc, CONST84 char **argv)
-}
+# Removed in Tcl 8.5:
+#declare 94 {
+# int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp,
+# int argc, const char **argv)
+#}
# Replaced by Tcl_FSStat in 8.4:
#declare 95 {
# int TclpStat(const char *path, Tcl_StatBuf *buf)
#}
declare 96 {
- int TclRenameCommand(Tcl_Interp *interp, char *oldName,
- char *newName)
+ int TclRenameCommand(Tcl_Interp *interp, const char *oldName,
+ const char *newName)
}
declare 97 {
void TclResetShadowedCmdRefs(Tcl_Interp *interp, Command *newCmdPtr)
@@ -404,7 +415,7 @@ declare 102 {
void TclSetupEnv(Tcl_Interp *interp)
}
declare 103 {
- int TclSockGetPort(Tcl_Interp *interp, char *str, char *proto,
+ int TclSockGetPort(Tcl_Interp *interp, const char *str, const char *proto,
int *portPtr)
}
declare 104 {
@@ -414,12 +425,12 @@ declare 104 {
#declare 105 {
# int TclStat(const char *path, Tcl_StatBuf *buf)
#}
-declare 106 {
- int TclStatDeleteProc(TclStatProc_ *proc)
-}
-declare 107 {
- int TclStatInsertProc(TclStatProc_ *proc)
-}
+#declare 106 {
+# int TclStatDeleteProc(TclStatProc_ *proc)
+#}
+#declare 107 {
+# int TclStatInsertProc(TclStatProc_ *proc)
+#}
declare 108 {
void TclTeardownNamespace(Namespace *nsPtr)
}
@@ -521,22 +532,33 @@ declare 132 {
int TclpHasSockets(Tcl_Interp *interp)
}
declare 133 {
- struct tm *TclpGetDate(TclpTime_t time, int useGMT)
-}
-declare 134 {
- size_t TclpStrftime(char *s, size_t maxsize, const char *format,
- const struct tm *t, int useGMT)
-}
-declare 135 {
- int TclpCheckStackSpace(void)
+ struct tm *TclpGetDate(const time_t *time, int useGMT)
}
+# Removed in 8.5
+#declare 134 {
+# size_t TclpStrftime(char *s, size_t maxsize, const char *format,
+# const struct tm *t, int useGMT)
+#}
+#declare 135 {
+# int TclpCheckStackSpace(void)
+#}
+
+# Added in 8.1:
+#declare 137 {
+# int TclpChdir(const char *dirName)
+#}
declare 138 {
CONST84_RETURN char *TclGetEnv(const char *name, Tcl_DString *valuePtr)
}
-declare 140 {
- int TclLooksLikeInt(const char *bytes, int length)
-}
+#declare 139 {
+# int TclpLoadFile(Tcl_Interp *interp, char *fileName, char *sym1,
+# char *sym2, Tcl_PackageInitProc **proc1Ptr,
+# Tcl_PackageInitProc **proc2Ptr, ClientData *clientDataPtr)
+#}
+#declare 140 {
+# int TclLooksLikeInt(const char *bytes, int length)
+#}
# This is used by TclX, but should otherwise be considered private
declare 141 {
CONST84_RETURN char *TclpGetCwd(Tcl_Interp *interp, Tcl_DString *cwdPtr)
@@ -569,7 +591,7 @@ declare 149 {
void TclHandleRelease(TclHandle handle)
}
-# Added in 8.2:
+# Added for Tcl 8.2
declare 150 {
int TclRegAbout(Tcl_Interp *interp, Tcl_RegExp re)
@@ -585,7 +607,7 @@ declare 153 {
Tcl_Obj *TclGetLibraryPath(void)
}
-# moved to tclTest.c (static) in 8.3.2:
+# moved to tclTest.c (static) in 8.3.2/8.4a2
#declare 154 {
# int TclTestChannelCmd(ClientData clientData,
# Tcl_Interp *interp, int argc, char **argv)
@@ -676,28 +698,252 @@ declare 172 {
int TclInThreadExit(void)
}
-# Added in 8.4.2:
+# added for 8.4.2
declare 173 {
int TclUniCharMatch(const Tcl_UniChar *string, int strLen,
- const Tcl_UniChar *pattern, int ptnLen, int nocase)
+ const Tcl_UniChar *pattern, int ptnLen, int flags)
+}
+
+# added for 8.4.3
+
+#declare 174 {
+# Tcl_Obj *TclIncrWideVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr,
+# Tcl_Obj *part2Ptr, Tcl_WideInt wideIncrAmount, int part1NotParsed)
+#}
+
+# Factoring out of trace code
+
+declare 175 {
+ int TclCallVarTraces(Interp *iPtr, Var *arrayPtr, Var *varPtr,
+ const char *part1, const char *part2, int flags, int leaveErrMsg)
+}
+declare 176 {
+ void TclCleanupVar(Var *varPtr, Var *arrayPtr)
+}
+declare 177 {
+ void TclVarErrMsg(Tcl_Interp *interp, const char *part1, const char *part2,
+ const char *operation, const char *reason)
}
+declare 178 {
+ void Tcl_SetStartupScript(Tcl_Obj *pathPtr, const char *encodingName)
+}
+declare 179 {
+ Tcl_Obj *Tcl_GetStartupScript(const char **encodingNamePtr)
+}
+
+# REMOVED
+# Allocate lists without copying arrays
+# declare 180 {
+# Tcl_Obj *TclNewListObjDirect(int objc, Tcl_Obj **objv)
+# }
+#declare 181 {
+# Tcl_Obj *TclDbNewListObjDirect(int objc, Tcl_Obj **objv,
+# const char *file, int line)
+#}
# TclpGmtime and TclpLocaltime promoted to the generic interface from unix
declare 182 {
- struct tm *TclpLocaltime(TclpTime_t_CONST clock)
+ struct tm *TclpLocaltime(const time_t *clock)
}
declare 183 {
- struct tm *TclpGmtime(TclpTime_t_CONST clock)
+ struct tm *TclpGmtime(const time_t *clock)
}
-declare 199 {
- int TclMatchIsTrivial(const char *pattern)
+# For the new "Thread Storage" subsystem.
+
+### REMOVED on grounds it should never have been exposed. All these
+### functions are now either static in tclThreadStorage.c or
+### MODULE_SCOPE.
+# declare 184 {
+# void TclThreadStorageLockInit(void)
+# }
+# declare 185 {
+# void TclThreadStorageLock(void)
+# }
+# declare 186 {
+# void TclThreadStorageUnlock(void)
+# }
+# declare 187 {
+# void TclThreadStoragePrint(FILE *outFile, int flags)
+# }
+# declare 188 {
+# Tcl_HashTable *TclThreadStorageGetHashTable(Tcl_ThreadId id)
+# }
+# declare 189 {
+# Tcl_HashTable *TclThreadStorageInit(Tcl_ThreadId id, void *reserved)
+# }
+# declare 190 {
+# void TclThreadStorageDataKeyInit(Tcl_ThreadDataKey *keyPtr)
+# }
+# declare 191 {
+# void *TclThreadStorageDataKeyGet(Tcl_ThreadDataKey *keyPtr)
+# }
+# declare 192 {
+# void TclThreadStorageDataKeySet(Tcl_ThreadDataKey *keyPtr, void *data)
+# }
+# declare 193 {
+# void TclFinalizeThreadStorageThread(Tcl_ThreadId id)
+# }
+# declare 194 {
+# void TclFinalizeThreadStorage(void)
+# }
+# declare 195 {
+# void TclFinalizeThreadStorageData(Tcl_ThreadDataKey *keyPtr)
+# }
+# declare 196 {
+# void TclFinalizeThreadStorageDataKey(Tcl_ThreadDataKey *keyPtr)
+# }
+
+#
+# Added in tcl8.5a5 for compiler/executor experimentation.
+# Disabled in Tcl 8.5.1; experiments terminated. :/
+#
+#declare 197 {
+# int TclCompEvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
+# const CmdFrame *invoker, int word)
+#}
+declare 198 {
+ int TclObjGetFrame(Tcl_Interp *interp, Tcl_Obj *objPtr,
+ CallFrame **framePtrPtr)
+}
+
+#declare 199 {
+# int TclMatchIsTrivial(const char *pattern)
+#}
+
+# 200-208 exported for use by the test suite [Bug 1054748]
+declare 200 {
+ int TclpObjRemoveDirectory(Tcl_Obj *pathPtr, int recursive,
+ Tcl_Obj **errorPtr)
+}
+declare 201 {
+ int TclpObjCopyDirectory(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr,
+ Tcl_Obj **errorPtr)
+}
+declare 202 {
+ int TclpObjCreateDirectory(Tcl_Obj *pathPtr)
+}
+declare 203 {
+ int TclpObjDeleteFile(Tcl_Obj *pathPtr)
+}
+declare 204 {
+ int TclpObjCopyFile(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr)
+}
+declare 205 {
+ int TclpObjRenameFile(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr)
+}
+declare 206 {
+ int TclpObjStat(Tcl_Obj *pathPtr, Tcl_StatBuf *buf)
+}
+declare 207 {
+ int TclpObjAccess(Tcl_Obj *pathPtr, int mode)
+}
+declare 208 {
+ Tcl_Channel TclpOpenFileChannel(Tcl_Interp *interp,
+ Tcl_Obj *pathPtr, int mode, int permissions)
+}
+# Made public by TIP 258
+#declare 209 {
+# Tcl_Obj *TclGetEncodingSearchPath(void)
+#}
+#declare 210 {
+# int TclSetEncodingSearchPath(Tcl_Obj *searchPath)
+#}
+#declare 211 {
+# const char *TclpGetEncodingNameFromEnvironment(Tcl_DString *bufPtr)
+#}
+declare 212 {
+ void TclpFindExecutable(const char *argv0)
+}
+declare 213 {
+ Tcl_Obj *TclGetObjNameOfExecutable(void)
+}
+declare 214 {
+ void TclSetObjNameOfExecutable(Tcl_Obj *name, Tcl_Encoding encoding)
+}
+declare 215 {
+ void *TclStackAlloc(Tcl_Interp *interp, int numBytes)
+}
+declare 216 {
+ void TclStackFree(Tcl_Interp *interp, void *freePtr)
+}
+declare 217 {
+ int TclPushStackFrame(Tcl_Interp *interp, Tcl_CallFrame **framePtrPtr,
+ Tcl_Namespace *namespacePtr, int isProcCallFrame)
+}
+declare 218 {
+ void TclPopStackFrame(Tcl_Interp *interp)
+}
+
+# for use in tclTest.c
+declare 224 {
+ TclPlatformType *TclGetPlatform(void)
+}
+
+#
+declare 225 {
+ Tcl_Obj *TclTraceDictPath(Tcl_Interp *interp, Tcl_Obj *rootPtr,
+ int keyc, Tcl_Obj *const keyv[], int flags)
+}
+declare 226 {
+ int TclObjBeingDeleted(Tcl_Obj *objPtr)
+}
+declare 227 {
+ void TclSetNsPath(Namespace *nsPtr, int pathLength,
+ Tcl_Namespace *pathAry[])
+}
+declare 228 {
+ int TclObjInterpProcCore(register Tcl_Interp *interp, Tcl_Obj *procNameObj,
+ int skip, ProcErrorProc errorProc)
+}
+declare 229 {
+ int TclPtrMakeUpvar(Tcl_Interp *interp, Var *otherP1Ptr,
+ const char *myName, int myFlags, int index)
+}
+declare 230 {
+ Var *TclObjLookupVar(Tcl_Interp *interp, Tcl_Obj *part1Ptr,
+ const char *part2, int flags, const char *msg,
+ const int createPart1, const int createPart2, Var **arrayPtrPtr)
+}
+declare 231 {
+ int TclGetNamespaceFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
+ Tcl_Namespace **nsPtrPtr)
+}
+
+# Bits and pieces of TIP#280's guts
+declare 232 {
+ int TclEvalObjEx(Tcl_Interp *interp, Tcl_Obj *objPtr, int flags,
+ const CmdFrame *invoker, int word)
+}
+declare 233 {
+ void TclGetSrcInfoForPc(CmdFrame *contextPtr)
+}
+
+# Exports for VarReform compat: Itcl, XOTcl like to peek into our varTables :(
+declare 234 {
+ Var *TclVarHashCreateVar(TclVarHashTable *tablePtr, const char *key,
+ int *newPtr)
+}
+declare 235 {
+ void TclInitVarHashTable(TclVarHashTable *tablePtr, Namespace *nsPtr)
+}
+
+
+# TIP 337 made this one public
+declare 236 {
+ void TclBackgroundException(Tcl_Interp *interp, int code)
+}
+
+# Tcl_Obj leak detection support.
+declare 243 {
+ void TclDbDumpActiveObjects(FILE *outFile)
}
declare 249 {
- void TclUnusedStubEntry(void)
+ char *TclDoubleDigits(double dv, int ndigits, int flags,
+ int *decpt, int *signum, char **endPtr)
}
##############################################################################
@@ -752,7 +998,7 @@ declare 9 win {
declare 10 win {
Tcl_DirEntry *TclpReaddir(DIR *dir)
}
-# Removed in 8.3.1 (for Win32s only):
+# Removed in 8.3.1 (for Win32s only)
#declare 10 win {
# int TclWinSynchSpawn(void *args, int type, void **trans, Tcl_Pid *pidPtr)
#}
@@ -788,6 +1034,11 @@ declare 16 win {
# declare 17 win {
# char *TclpGetTZName(void)
# }
+# new for 8.5.12+ Cygwin only
+declare 17 win {
+ int TclUnixCopyFile(const char *src, const char *dst,
+ const Tcl_StatBuf *statBufPtr, int dontCopyAtts)
+}
declare 18 win {
TclFile TclpMakeFile(Tcl_Channel channel, int direction)
}
@@ -801,7 +1052,7 @@ declare 20 win {
declare 21 win {
char *TclpInetNtoa(struct in_addr addr)
}
-# Removed in 8.4:
+# removed permanently for 8.4
#declare 21 win {
# void TclpAsyncMark(Tcl_AsyncHandler async)
#}
@@ -816,24 +1067,28 @@ declare 23 win {
declare 24 win {
char *TclWinNoBackslash(char *path)
}
-declare 25 win {
- TclPlatformType *TclWinGetPlatform(void)
-}
+# replaced by generic TclGetPlatform
+#declare 25 win {
+# TclPlatformType *TclWinGetPlatform(void)
+#}
declare 26 win {
void TclWinSetInterfaces(int wide)
}
-# Added in 8.3.3:
+# Added in Tcl 8.3.3 / 8.4
declare 27 win {
void TclWinFlushDirtyChannels(void)
}
-# Added in 8.4.2:
+# Added in 8.4.2
declare 28 win {
void TclWinResetInterfaces(void)
}
+declare 29 win {
+ int TclWinCPUID(unsigned int index, unsigned int *regs)
+}
################################
# Unix specific functions
@@ -886,15 +1141,46 @@ declare 10 unix {
# Slots 11 and 12 are forwarders for functions that were promoted to
# generic Stubs
declare 11 unix {
- struct tm *TclpLocaltime_unix(TclpTime_t_CONST clock)
+ struct tm *TclpLocaltime_unix(const time_t *clock)
}
declare 12 unix {
- struct tm *TclpGmtime_unix(TclpTime_t_CONST clock)
+ struct tm *TclpGmtime_unix(const time_t *clock)
}
declare 13 unix {
char *TclpInetNtoa(struct in_addr addr)
}
-declare 29 {win unix} {
+
+# Added in 8.5:
+
+declare 14 unix {
+ int TclUnixCopyFile(const char *src, const char *dst,
+ const Tcl_StatBuf *statBufPtr, int dontCopyAtts)
+}
+
+################################
+# Mac OS X specific functions
+
+declare 15 macosx {
+ int TclMacOSXGetFileAttribute(Tcl_Interp *interp, int objIndex,
+ Tcl_Obj *fileName, Tcl_Obj **attributePtrPtr)
+}
+declare 16 macosx {
+ int TclMacOSXSetFileAttribute(Tcl_Interp *interp, int objIndex,
+ Tcl_Obj *fileName, Tcl_Obj *attributePtr)
+}
+declare 17 macosx {
+ int TclMacOSXCopyFileAttributes(const char *src, const char *dst,
+ const Tcl_StatBuf *statBufPtr)
+}
+declare 18 macosx {
+ int TclMacOSXMatchType(Tcl_Interp *interp, const char *pathName,
+ const char *fileName, Tcl_StatBuf *statBufPtr,
+ Tcl_GlobTypeData *types)
+}
+declare 19 macosx {
+ void TclMacOSXNotifierAddRunLoopMode(const void *runLoopMode)
+}
+declare 29 unix {
int TclWinCPUID(unsigned int index, unsigned int *regs)
}