tcl.h | tcl.h | |||
---|---|---|---|---|
skipping to change at line 16 | skipping to change at line 16 | |||
* | * | |||
* Copyright (c) 1987-1994 The Regents of the University of California. | * Copyright (c) 1987-1994 The Regents of the University of California. | |||
* Copyright (c) 1993-1996 Lucent Technologies. | * Copyright (c) 1993-1996 Lucent Technologies. | |||
* Copyright (c) 1994-1998 Sun Microsystems, Inc. | * Copyright (c) 1994-1998 Sun Microsystems, Inc. | |||
* Copyright (c) 1998-2000 by Scriptics Corporation. | * Copyright (c) 1998-2000 by Scriptics Corporation. | |||
* Copyright (c) 2002 by Kevin B. Kenny. All rights reserved. | * Copyright (c) 2002 by Kevin B. Kenny. All rights reserved. | |||
* | * | |||
* See the file "license.terms" for information on usage and redistribution of | * See the file "license.terms" for information on usage and redistribution of | |||
* this file, and for a DISCLAIMER OF ALL WARRANTIES. | * this file, and for a DISCLAIMER OF ALL WARRANTIES. | |||
* | * | |||
* RCS: @(#) $Id: tcl.h,v 1.249 2008/02/04 17:29:10 dgp Exp $ | * RCS: @(#) $Id: tcl.h,v 1.254 2008/03/28 17:31:44 dgp Exp $ | |||
*/ | */ | |||
#ifndef _TCL | #ifndef _TCL | |||
#define _TCL | #define _TCL | |||
/* | /* | |||
* For C++ compilers, use extern "C" | * For C++ compilers, use extern "C" | |||
*/ | */ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
skipping to change at line 63 | skipping to change at line 63 | |||
* win/README (not patchlevel) (sections 0 and 2) | * win/README (not patchlevel) (sections 0 and 2) | |||
* unix/tcl.spec (1 LOC patch) | * unix/tcl.spec (1 LOC patch) | |||
* tools/tcl.hpj.in (not patchlevel, for windows installer) | * tools/tcl.hpj.in (not patchlevel, for windows installer) | |||
* tools/tcl.wse.in (for windows installer) | * tools/tcl.wse.in (for windows installer) | |||
* tools/tclSplash.bmp (not patchlevel) | * tools/tclSplash.bmp (not patchlevel) | |||
*/ | */ | |||
#define TCL_MAJOR_VERSION 8 | #define TCL_MAJOR_VERSION 8 | |||
#define TCL_MINOR_VERSION 5 | #define TCL_MINOR_VERSION 5 | |||
#define TCL_RELEASE_LEVEL TCL_FINAL_RELEASE | #define TCL_RELEASE_LEVEL TCL_FINAL_RELEASE | |||
#define TCL_RELEASE_SERIAL 1 | #define TCL_RELEASE_SERIAL 2 | |||
#define TCL_VERSION "8.5" | #define TCL_VERSION "8.5" | |||
#define TCL_PATCH_LEVEL "8.5.1" | #define TCL_PATCH_LEVEL "8.5.2" | |||
/* | /* | |||
* The following definitions set up the proper options for Windows compiler s. | * The following definitions set up the proper options for Windows compiler s. | |||
* We use this method because there is no autoconf equivalent. | * We use this method because there is no autoconf equivalent. | |||
*/ | */ | |||
#ifndef __WIN32__ | #ifndef __WIN32__ | |||
# if defined(_WIN32) || defined(WIN32) || defined(__MINGW32__) || defined (__BORLANDC__) || (defined(__WATCOMC__) && defined(__WINDOWS_386__)) | # if defined(_WIN32) || defined(WIN32) || defined(__MINGW32__) || defined (__BORLANDC__) || (defined(__WATCOMC__) && defined(__WINDOWS_386__)) | |||
# define __WIN32__ | # define __WIN32__ | |||
# ifndef WIN32 | # ifndef WIN32 | |||
skipping to change at line 826 | skipping to change at line 826 | |||
typedef struct Tcl_Namespace { | typedef struct Tcl_Namespace { | |||
char *name; /* The namespace's name within its p arent | char *name; /* The namespace's name within its p arent | |||
* namespace. This contains no ::'s. The nam e | * namespace. This contains no ::'s. The nam e | |||
* of the global namespace is "" although ": :" | * of the global namespace is "" although ": :" | |||
* is an synonym. */ | * is an synonym. */ | |||
char *fullName; /* The namespace's fully qualified name. Thi s | char *fullName; /* The namespace's fully qualified name. Thi s | |||
* starts with ::. */ | * starts with ::. */ | |||
ClientData clientData; /* Arbitrary value associated with this | ClientData clientData; /* Arbitrary value associated with this | |||
* namespace. */ | * namespace. */ | |||
Tcl_NamespaceDeleteProc* deleteProc; | Tcl_NamespaceDeleteProc *deleteProc; | |||
/* Function invoked when deleting the | /* Function invoked when deleting the | |||
* namespace to, e.g., free clientData. */ | * namespace to, e.g., free clientData. */ | |||
struct Tcl_Namespace* parentPtr; | struct Tcl_Namespace *parentPtr; | |||
/* Points to the namespace that contains thi s | /* Points to the namespace that contains thi s | |||
* one. NULL if this is the global | * one. NULL if this is the global | |||
* namespace. */ | * namespace. */ | |||
} Tcl_Namespace; | } Tcl_Namespace; | |||
/* | /* | |||
* The following structure represents a call frame, or activation record. A | * The following structure represents a call frame, or activation record. A | |||
* call frame defines a naming context for a procedure call: its local scop e | * call frame defines a naming context for a procedure call: its local scop e | |||
* (for local variables) and its namespace scope (used for non-local | * (for local variables) and its namespace scope (used for non-local | |||
* variables; often the global :: namespace). A call frame can also define the | * variables; often the global :: namespace). A call frame can also define the | |||
skipping to change at line 1340 | skipping to change at line 1340 | |||
long usec; /* Microseconds. */ | long usec; /* Microseconds. */ | |||
} Tcl_Time; | } Tcl_Time; | |||
typedef void (Tcl_SetTimerProc) _ANSI_ARGS_((Tcl_Time *timePtr)); | typedef void (Tcl_SetTimerProc) _ANSI_ARGS_((Tcl_Time *timePtr)); | |||
typedef int (Tcl_WaitForEventProc) _ANSI_ARGS_((Tcl_Time *timePtr)); | typedef int (Tcl_WaitForEventProc) _ANSI_ARGS_((Tcl_Time *timePtr)); | |||
/* | /* | |||
* TIP #233 (Virtualized Time) | * TIP #233 (Virtualized Time) | |||
*/ | */ | |||
typedef void (Tcl_GetTimeProc) _ANSI_ARGS_ ((Tcl_Time* timebuf, ClientDat | typedef void (Tcl_GetTimeProc) _ANSI_ARGS_((Tcl_Time *timebuf, | |||
a clientData)); | ClientData clientData)); | |||
typedef void (Tcl_ScaleTimeProc) _ANSI_ARGS_ ((Tcl_Time* timebuf, ClientDat | typedef void (Tcl_ScaleTimeProc) _ANSI_ARGS_((Tcl_Time *timebuf, | |||
a clientData)); | ClientData clientData)); | |||
/* | /* | |||
* Bits to pass to Tcl_CreateFileHandler and Tcl_CreateChannelHandler to | * Bits to pass to Tcl_CreateFileHandler and Tcl_CreateChannelHandler to | |||
* indicate what sorts of events are of interest: | * indicate what sorts of events are of interest: | |||
*/ | */ | |||
#define TCL_READABLE (1<<1) | #define TCL_READABLE (1<<1) | |||
#define TCL_WRITABLE (1<<2) | #define TCL_WRITABLE (1<<2) | |||
#define TCL_EXCEPTION (1<<3) | #define TCL_EXCEPTION (1<<3) | |||
skipping to change at line 1587 | skipping to change at line 1589 | |||
#define TCL_UNLOAD_DETACH_FROM_PROCESS (1<<1) | #define TCL_UNLOAD_DETACH_FROM_PROCESS (1<<1) | |||
/* | /* | |||
* Typedefs for the various filesystem operations: | * Typedefs for the various filesystem operations: | |||
*/ | */ | |||
typedef int (Tcl_FSStatProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, Tcl_StatBuf *bu f)); | typedef int (Tcl_FSStatProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, Tcl_StatBuf *bu f)); | |||
typedef int (Tcl_FSAccessProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, int mode)); | typedef int (Tcl_FSAccessProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, int mode)); | |||
typedef Tcl_Channel (Tcl_FSOpenFileChannelProc) _ANSI_ARGS_(( | typedef Tcl_Channel (Tcl_FSOpenFileChannelProc) _ANSI_ARGS_(( | |||
Tcl_Interp *interp, Tcl_Obj *pathPtr, int mode, int permissions)); | Tcl_Interp *interp, Tcl_Obj *pathPtr, int mode, int permissions)); | |||
typedef int (Tcl_FSMatchInDirectoryProc) _ANSI_ARGS_((Tcl_Interp* interp, | typedef int (Tcl_FSMatchInDirectoryProc) _ANSI_ARGS_((Tcl_Interp *interp, | |||
Tcl_Obj *result, Tcl_Obj *pathPtr, CONST char *pattern, | Tcl_Obj *result, Tcl_Obj *pathPtr, CONST char *pattern, | |||
Tcl_GlobTypeData * types)); | Tcl_GlobTypeData * types)); | |||
typedef Tcl_Obj* (Tcl_FSGetCwdProc) _ANSI_ARGS_((Tcl_Interp *interp)); | typedef Tcl_Obj * (Tcl_FSGetCwdProc) _ANSI_ARGS_((Tcl_Interp *interp)); | |||
typedef int (Tcl_FSChdirProc) _ANSI_ARGS_((Tcl_Obj *pathPtr)); | typedef int (Tcl_FSChdirProc) _ANSI_ARGS_((Tcl_Obj *pathPtr)); | |||
typedef int (Tcl_FSLstatProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, | typedef int (Tcl_FSLstatProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, | |||
Tcl_StatBuf *buf)); | Tcl_StatBuf *buf)); | |||
typedef int (Tcl_FSCreateDirectoryProc) _ANSI_ARGS_((Tcl_Obj *pathPtr)); | typedef int (Tcl_FSCreateDirectoryProc) _ANSI_ARGS_((Tcl_Obj *pathPtr)); | |||
typedef int (Tcl_FSDeleteFileProc) _ANSI_ARGS_((Tcl_Obj *pathPtr)); | typedef int (Tcl_FSDeleteFileProc) _ANSI_ARGS_((Tcl_Obj *pathPtr)); | |||
typedef int (Tcl_FSCopyDirectoryProc) _ANSI_ARGS_((Tcl_Obj *srcPathPtr, | typedef int (Tcl_FSCopyDirectoryProc) _ANSI_ARGS_((Tcl_Obj *srcPathPtr, | |||
Tcl_Obj *destPathPtr, Tcl_Obj **errorPtr)); | Tcl_Obj *destPathPtr, Tcl_Obj **errorPtr)); | |||
typedef int (Tcl_FSCopyFileProc) _ANSI_ARGS_((Tcl_Obj *srcPathPtr, | typedef int (Tcl_FSCopyFileProc) _ANSI_ARGS_((Tcl_Obj *srcPathPtr, | |||
Tcl_Obj *destPathPtr)); | Tcl_Obj *destPathPtr)); | |||
typedef int (Tcl_FSRemoveDirectoryProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, | typedef int (Tcl_FSRemoveDirectoryProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, | |||
int recursive, Tcl_Obj **errorPtr)); | int recursive, Tcl_Obj **errorPtr)); | |||
typedef int (Tcl_FSRenameFileProc) _ANSI_ARGS_((Tcl_Obj *srcPathPtr, | typedef int (Tcl_FSRenameFileProc) _ANSI_ARGS_((Tcl_Obj *srcPathPtr, | |||
Tcl_Obj *destPathPtr)); | Tcl_Obj *destPathPtr)); | |||
typedef void (Tcl_FSUnloadFileProc) _ANSI_ARGS_((Tcl_LoadHandle loadHandle) ); | typedef void (Tcl_FSUnloadFileProc) _ANSI_ARGS_((Tcl_LoadHandle loadHandle) ); | |||
typedef Tcl_Obj* (Tcl_FSListVolumesProc) _ANSI_ARGS_((void)); | typedef Tcl_Obj * (Tcl_FSListVolumesProc) _ANSI_ARGS_((void)); | |||
/* We have to declare the utime structure here. */ | /* We have to declare the utime structure here. */ | |||
struct utimbuf; | struct utimbuf; | |||
typedef int (Tcl_FSUtimeProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, | typedef int (Tcl_FSUtimeProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, | |||
struct utimbuf *tval)); | struct utimbuf *tval)); | |||
typedef int (Tcl_FSNormalizePathProc) _ANSI_ARGS_((Tcl_Interp *interp, | typedef int (Tcl_FSNormalizePathProc) _ANSI_ARGS_((Tcl_Interp *interp, | |||
Tcl_Obj *pathPtr, int nextCheckpoint)); | Tcl_Obj *pathPtr, int nextCheckpoint)); | |||
typedef int (Tcl_FSFileAttrsGetProc) _ANSI_ARGS_((Tcl_Interp *interp, | typedef int (Tcl_FSFileAttrsGetProc) _ANSI_ARGS_((Tcl_Interp *interp, | |||
int index, Tcl_Obj *pathPtr, Tcl_Obj **objPtrRef)); | int index, Tcl_Obj *pathPtr, Tcl_Obj **objPtrRef)); | |||
typedef CONST char** (Tcl_FSFileAttrStringsProc) _ANSI_ARGS_(( | typedef CONST char ** (Tcl_FSFileAttrStringsProc) _ANSI_ARGS_(( | |||
Tcl_Obj *pathPtr, Tcl_Obj** objPtrRef)); | Tcl_Obj *pathPtr, Tcl_Obj **objPtrRef)); | |||
typedef int (Tcl_FSFileAttrsSetProc) _ANSI_ARGS_((Tcl_Interp *interp, | typedef int (Tcl_FSFileAttrsSetProc) _ANSI_ARGS_((Tcl_Interp *interp, | |||
int index, Tcl_Obj *pathPtr, Tcl_Obj *objPtr)); | int index, Tcl_Obj *pathPtr, Tcl_Obj *objPtr)); | |||
typedef Tcl_Obj* (Tcl_FSLinkProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, | typedef Tcl_Obj * (Tcl_FSLinkProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, | |||
Tcl_Obj *toPtr, int linkType)); | Tcl_Obj *toPtr, int linkType)); | |||
typedef int (Tcl_FSLoadFileProc) _ANSI_ARGS_((Tcl_Interp * interp, | typedef int (Tcl_FSLoadFileProc) _ANSI_ARGS_((Tcl_Interp * interp, | |||
Tcl_Obj *pathPtr, Tcl_LoadHandle *handlePtr, | Tcl_Obj *pathPtr, Tcl_LoadHandle *handlePtr, | |||
Tcl_FSUnloadFileProc **unloadProcPtr)); | Tcl_FSUnloadFileProc **unloadProcPtr)); | |||
typedef int (Tcl_FSPathInFilesystemProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, | typedef int (Tcl_FSPathInFilesystemProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, | |||
ClientData *clientDataPtr)); | ClientData *clientDataPtr)); | |||
typedef Tcl_Obj* (Tcl_FSFilesystemPathTypeProc) _ANSI_ARGS_(( | typedef Tcl_Obj * (Tcl_FSFilesystemPathTypeProc) _ANSI_ARGS_(( | |||
Tcl_Obj *pathPtr)); | Tcl_Obj *pathPtr)); | |||
typedef Tcl_Obj* (Tcl_FSFilesystemSeparatorProc) _ANSI_ARGS_(( | typedef Tcl_Obj * (Tcl_FSFilesystemSeparatorProc) _ANSI_ARGS_(( | |||
Tcl_Obj *pathPtr)); | Tcl_Obj *pathPtr)); | |||
typedef void (Tcl_FSFreeInternalRepProc) _ANSI_ARGS_((ClientData clientData )); | typedef void (Tcl_FSFreeInternalRepProc) _ANSI_ARGS_((ClientData clientData )); | |||
typedef ClientData (Tcl_FSDupInternalRepProc) _ANSI_ARGS_(( | typedef ClientData (Tcl_FSDupInternalRepProc) _ANSI_ARGS_(( | |||
ClientData clientData)); | ClientData clientData)); | |||
typedef Tcl_Obj* (Tcl_FSInternalToNormalizedProc) _ANSI_ARGS_(( | typedef Tcl_Obj * (Tcl_FSInternalToNormalizedProc) _ANSI_ARGS_(( | |||
ClientData clientData)); | ClientData clientData)); | |||
typedef ClientData (Tcl_FSCreateInternalRepProc) _ANSI_ARGS_(( | typedef ClientData (Tcl_FSCreateInternalRepProc) _ANSI_ARGS_(( | |||
Tcl_Obj *pathPtr)); | Tcl_Obj *pathPtr)); | |||
typedef struct Tcl_FSVersion_ *Tcl_FSVersion; | typedef struct Tcl_FSVersion_ *Tcl_FSVersion; | |||
/* | /* | |||
*---------------------------------------------------------------- | *---------------------------------------------------------------- | |||
* Data structures related to hooking into the filesystem | * Data structures related to hooking into the filesystem | |||
*---------------------------------------------------------------- | *---------------------------------------------------------------- | |||
skipping to change at line 2207 | skipping to change at line 2209 | |||
/* | /* | |||
* The following function is required to be defined in all stubs aware | * The following function is required to be defined in all stubs aware | |||
* extensions. The function is actually implemented in the stub library, no t | * extensions. The function is actually implemented in the stub library, no t | |||
* the main Tcl library, although there is a trivial implementation in the | * the main Tcl library, although there is a trivial implementation in the | |||
* main library in case an extension is statically linked into an applicati on. | * main library in case an extension is statically linked into an applicati on. | |||
*/ | */ | |||
EXTERN CONST char * Tcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, | EXTERN CONST char * Tcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, | |||
CONST char *version, int exact)); | CONST char *version, int exact)); | |||
EXTERN CONST char* TclTomMathInitializeStubs(Tcl_Interp* interp, | EXTERN CONST char * TclTomMathInitializeStubs _ANSI_ARGS_(( | |||
CONST char* version, int epoch, int revision); | Tcl_Interp *interp, CONST char *version, | |||
int epoch, int revision)); | ||||
#ifndef USE_TCL_STUBS | #ifndef USE_TCL_STUBS | |||
/* | /* | |||
* When not using stubs, make it a macro. | * When not using stubs, make it a macro. | |||
*/ | */ | |||
#define Tcl_InitStubs(interp, version, exact) \ | #define Tcl_InitStubs(interp, version, exact) \ | |||
Tcl_PkgInitStubsCheck(interp, version, exact) | Tcl_PkgInitStubsCheck(interp, version, exact) | |||
#endif | #endif | |||
/* | /* | |||
* TODO - tommath stubs export goes here! | * TODO - tommath stubs export goes here! | |||
*/ | */ | |||
/* | /* | |||
* Public functions that are not accessible via the stubs table. | * Public functions that are not accessible via the stubs table. | |||
* Tcl_GetMemoryInfo is needed for AOLserver. [Bug 1868171] | ||||
*/ | */ | |||
EXTERN void Tcl_Main _ANSI_ARGS_((int argc, char **argv, | EXTERN void Tcl_Main _ANSI_ARGS_((int argc, char **argv, | |||
Tcl_AppInitProc *appInitProc)); | Tcl_AppInitProc *appInitProc)); | |||
EXTERN CONST char * Tcl_PkgInitStubsCheck _ANSI_ARGS_((Tcl_Interp *inter | ||||
EXTERN CONST char *Tcl_PkgInitStubsCheck _ANSI_ARGS_((Tcl_Interp *interp, | p, | |||
CONST char *version, int exact)); | CONST char *version, int exact)); | |||
#if defined(TCL_THREADS) && defined(USE_THREAD_ALLOC) | ||||
EXTERN void Tcl_GetMemoryInfo _ANSI_ARGS_((Tcl_DString *dsPtr)); | ||||
#endif | ||||
/* | /* | |||
* Include the public function declarations that are accessible via the stu bs | * Include the public function declarations that are accessible via the stu bs | |||
* table. | * table. | |||
*/ | */ | |||
#include "tclDecls.h" | #include "tclDecls.h" | |||
/* | /* | |||
* Include platform specific public function declarations that are accessib le | * Include platform specific public function declarations that are accessib le | |||
End of changes. 18 change blocks. | ||||
24 lines changed or deleted | 29 lines changed or added | |||