jpayne@69: /* jpayne@69: * tclIntPlatDecls.h -- jpayne@69: * jpayne@69: * This file contains the declarations for all platform dependent jpayne@69: * unsupported functions that are exported by the Tcl library. These jpayne@69: * interfaces are not guaranteed to remain the same between jpayne@69: * versions. Use at your own risk. jpayne@69: * jpayne@69: * Copyright (c) 1998-1999 by Scriptics Corporation. jpayne@69: * All rights reserved. jpayne@69: */ jpayne@69: jpayne@69: #ifndef _TCLINTPLATDECLS jpayne@69: #define _TCLINTPLATDECLS jpayne@69: jpayne@69: #undef TCL_STORAGE_CLASS jpayne@69: #ifdef BUILD_tcl jpayne@69: # define TCL_STORAGE_CLASS DLLEXPORT jpayne@69: #else jpayne@69: # ifdef USE_TCL_STUBS jpayne@69: # define TCL_STORAGE_CLASS jpayne@69: # else jpayne@69: # define TCL_STORAGE_CLASS DLLIMPORT jpayne@69: # endif jpayne@69: #endif jpayne@69: jpayne@69: /* jpayne@69: * WARNING: This file is automatically generated by the tools/genStubs.tcl jpayne@69: * script. Any modifications to the function declarations below should be made jpayne@69: * in the generic/tclInt.decls script. jpayne@69: */ jpayne@69: jpayne@69: /* !BEGIN!: Do not edit below this line. */ jpayne@69: jpayne@69: #ifdef __cplusplus jpayne@69: extern "C" { jpayne@69: #endif jpayne@69: jpayne@69: /* jpayne@69: * Exported function declarations: jpayne@69: */ jpayne@69: jpayne@69: #if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */ jpayne@69: /* 0 */ jpayne@69: EXTERN void TclGetAndDetachPids(Tcl_Interp *interp, jpayne@69: Tcl_Channel chan); jpayne@69: /* 1 */ jpayne@69: EXTERN int TclpCloseFile(TclFile file); jpayne@69: /* 2 */ jpayne@69: EXTERN Tcl_Channel TclpCreateCommandChannel(TclFile readFile, jpayne@69: TclFile writeFile, TclFile errorFile, jpayne@69: int numPids, Tcl_Pid *pidPtr); jpayne@69: /* 3 */ jpayne@69: EXTERN int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe); jpayne@69: /* 4 */ jpayne@69: EXTERN int TclpCreateProcess(Tcl_Interp *interp, int argc, jpayne@69: const char **argv, TclFile inputFile, jpayne@69: TclFile outputFile, TclFile errorFile, jpayne@69: Tcl_Pid *pidPtr); jpayne@69: /* 5 */ jpayne@69: EXTERN int TclUnixWaitForFile_(int fd, int mask, int timeout); jpayne@69: /* 6 */ jpayne@69: EXTERN TclFile TclpMakeFile(Tcl_Channel channel, int direction); jpayne@69: /* 7 */ jpayne@69: EXTERN TclFile TclpOpenFile(const char *fname, int mode); jpayne@69: /* 8 */ jpayne@69: EXTERN int TclUnixWaitForFile(int fd, int mask, int timeout); jpayne@69: /* 9 */ jpayne@69: EXTERN TclFile TclpCreateTempFile(const char *contents); jpayne@69: /* 10 */ jpayne@69: EXTERN Tcl_DirEntry * TclpReaddir(TclDIR *dir); jpayne@69: /* 11 */ jpayne@69: EXTERN struct tm * TclpLocaltime_unix(const time_t *clock); jpayne@69: /* 12 */ jpayne@69: EXTERN struct tm * TclpGmtime_unix(const time_t *clock); jpayne@69: /* 13 */ jpayne@69: EXTERN char * TclpInetNtoa(struct in_addr addr); jpayne@69: /* 14 */ jpayne@69: EXTERN int TclUnixCopyFile(const char *src, const char *dst, jpayne@69: const Tcl_StatBuf *statBufPtr, jpayne@69: int dontCopyAtts); jpayne@69: /* 15 */ jpayne@69: EXTERN int TclMacOSXGetFileAttribute(Tcl_Interp *interp, jpayne@69: int objIndex, Tcl_Obj *fileName, jpayne@69: Tcl_Obj **attributePtrPtr); jpayne@69: /* 16 */ jpayne@69: EXTERN int TclMacOSXSetFileAttribute(Tcl_Interp *interp, jpayne@69: int objIndex, Tcl_Obj *fileName, jpayne@69: Tcl_Obj *attributePtr); jpayne@69: /* 17 */ jpayne@69: EXTERN int TclMacOSXCopyFileAttributes(const char *src, jpayne@69: const char *dst, jpayne@69: const Tcl_StatBuf *statBufPtr); jpayne@69: /* 18 */ jpayne@69: EXTERN int TclMacOSXMatchType(Tcl_Interp *interp, jpayne@69: const char *pathName, const char *fileName, jpayne@69: Tcl_StatBuf *statBufPtr, jpayne@69: Tcl_GlobTypeData *types); jpayne@69: /* 19 */ jpayne@69: EXTERN void TclMacOSXNotifierAddRunLoopMode( jpayne@69: const void *runLoopMode); jpayne@69: /* Slot 20 is reserved */ jpayne@69: /* Slot 21 is reserved */ jpayne@69: /* 22 */ jpayne@69: EXTERN TclFile TclpCreateTempFile_(const char *contents); jpayne@69: /* Slot 23 is reserved */ jpayne@69: /* Slot 24 is reserved */ jpayne@69: /* Slot 25 is reserved */ jpayne@69: /* Slot 26 is reserved */ jpayne@69: /* Slot 27 is reserved */ jpayne@69: /* Slot 28 is reserved */ jpayne@69: /* 29 */ jpayne@69: EXTERN int TclWinCPUID(unsigned int index, unsigned int *regs); jpayne@69: /* 30 */ jpayne@69: EXTERN int TclUnixOpenTemporaryFile(Tcl_Obj *dirObj, jpayne@69: Tcl_Obj *basenameObj, Tcl_Obj *extensionObj, jpayne@69: Tcl_Obj *resultingNameObj); jpayne@69: #endif /* UNIX */ jpayne@69: #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */ jpayne@69: /* 0 */ jpayne@69: EXTERN void TclWinConvertError(DWORD errCode); jpayne@69: /* 1 */ jpayne@69: EXTERN void TclWinConvertWSAError(DWORD errCode); jpayne@69: /* 2 */ jpayne@69: EXTERN struct servent * TclWinGetServByName(const char *nm, jpayne@69: const char *proto); jpayne@69: /* 3 */ jpayne@69: EXTERN int TclWinGetSockOpt(SOCKET s, int level, int optname, jpayne@69: char *optval, int *optlen); jpayne@69: /* 4 */ jpayne@69: EXTERN HINSTANCE TclWinGetTclInstance(void); jpayne@69: /* 5 */ jpayne@69: EXTERN int TclUnixWaitForFile(int fd, int mask, int timeout); jpayne@69: /* 6 */ jpayne@69: EXTERN unsigned short TclWinNToHS(unsigned short ns); jpayne@69: /* 7 */ jpayne@69: EXTERN int TclWinSetSockOpt(SOCKET s, int level, int optname, jpayne@69: const char *optval, int optlen); jpayne@69: /* 8 */ jpayne@69: EXTERN int TclpGetPid(Tcl_Pid pid); jpayne@69: /* 9 */ jpayne@69: EXTERN int TclWinGetPlatformId(void); jpayne@69: /* 10 */ jpayne@69: EXTERN Tcl_DirEntry * TclpReaddir(TclDIR *dir); jpayne@69: /* 11 */ jpayne@69: EXTERN void TclGetAndDetachPids(Tcl_Interp *interp, jpayne@69: Tcl_Channel chan); jpayne@69: /* 12 */ jpayne@69: EXTERN int TclpCloseFile(TclFile file); jpayne@69: /* 13 */ jpayne@69: EXTERN Tcl_Channel TclpCreateCommandChannel(TclFile readFile, jpayne@69: TclFile writeFile, TclFile errorFile, jpayne@69: int numPids, Tcl_Pid *pidPtr); jpayne@69: /* 14 */ jpayne@69: EXTERN int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe); jpayne@69: /* 15 */ jpayne@69: EXTERN int TclpCreateProcess(Tcl_Interp *interp, int argc, jpayne@69: const char **argv, TclFile inputFile, jpayne@69: TclFile outputFile, TclFile errorFile, jpayne@69: Tcl_Pid *pidPtr); jpayne@69: /* 16 */ jpayne@69: EXTERN int TclpIsAtty(int fd); jpayne@69: /* 17 */ jpayne@69: EXTERN int TclUnixCopyFile(const char *src, const char *dst, jpayne@69: const Tcl_StatBuf *statBufPtr, jpayne@69: int dontCopyAtts); jpayne@69: /* 18 */ jpayne@69: EXTERN TclFile TclpMakeFile(Tcl_Channel channel, int direction); jpayne@69: /* 19 */ jpayne@69: EXTERN TclFile TclpOpenFile(const char *fname, int mode); jpayne@69: /* 20 */ jpayne@69: EXTERN void TclWinAddProcess(HANDLE hProcess, DWORD id); jpayne@69: /* 21 */ jpayne@69: EXTERN char * TclpInetNtoa(struct in_addr addr); jpayne@69: /* 22 */ jpayne@69: EXTERN TclFile TclpCreateTempFile(const char *contents); jpayne@69: /* Slot 23 is reserved */ jpayne@69: /* 24 */ jpayne@69: EXTERN char * TclWinNoBackslash(char *path); jpayne@69: /* Slot 25 is reserved */ jpayne@69: /* 26 */ jpayne@69: EXTERN void TclWinSetInterfaces(int wide); jpayne@69: /* 27 */ jpayne@69: EXTERN void TclWinFlushDirtyChannels(void); jpayne@69: /* 28 */ jpayne@69: EXTERN void TclWinResetInterfaces(void); jpayne@69: /* 29 */ jpayne@69: EXTERN int TclWinCPUID(unsigned int index, unsigned int *regs); jpayne@69: /* 30 */ jpayne@69: EXTERN int TclUnixOpenTemporaryFile(Tcl_Obj *dirObj, jpayne@69: Tcl_Obj *basenameObj, Tcl_Obj *extensionObj, jpayne@69: Tcl_Obj *resultingNameObj); jpayne@69: #endif /* WIN */ jpayne@69: #ifdef MAC_OSX_TCL /* MACOSX */ jpayne@69: /* 0 */ jpayne@69: EXTERN void TclGetAndDetachPids(Tcl_Interp *interp, jpayne@69: Tcl_Channel chan); jpayne@69: /* 1 */ jpayne@69: EXTERN int TclpCloseFile(TclFile file); jpayne@69: /* 2 */ jpayne@69: EXTERN Tcl_Channel TclpCreateCommandChannel(TclFile readFile, jpayne@69: TclFile writeFile, TclFile errorFile, jpayne@69: int numPids, Tcl_Pid *pidPtr); jpayne@69: /* 3 */ jpayne@69: EXTERN int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe); jpayne@69: /* 4 */ jpayne@69: EXTERN int TclpCreateProcess(Tcl_Interp *interp, int argc, jpayne@69: const char **argv, TclFile inputFile, jpayne@69: TclFile outputFile, TclFile errorFile, jpayne@69: Tcl_Pid *pidPtr); jpayne@69: /* 5 */ jpayne@69: EXTERN int TclUnixWaitForFile_(int fd, int mask, int timeout); jpayne@69: /* 6 */ jpayne@69: EXTERN TclFile TclpMakeFile(Tcl_Channel channel, int direction); jpayne@69: /* 7 */ jpayne@69: EXTERN TclFile TclpOpenFile(const char *fname, int mode); jpayne@69: /* 8 */ jpayne@69: EXTERN int TclUnixWaitForFile(int fd, int mask, int timeout); jpayne@69: /* 9 */ jpayne@69: EXTERN TclFile TclpCreateTempFile(const char *contents); jpayne@69: /* 10 */ jpayne@69: EXTERN Tcl_DirEntry * TclpReaddir(TclDIR *dir); jpayne@69: /* 11 */ jpayne@69: EXTERN struct tm * TclpLocaltime_unix(const time_t *clock); jpayne@69: /* 12 */ jpayne@69: EXTERN struct tm * TclpGmtime_unix(const time_t *clock); jpayne@69: /* 13 */ jpayne@69: EXTERN char * TclpInetNtoa(struct in_addr addr); jpayne@69: /* 14 */ jpayne@69: EXTERN int TclUnixCopyFile(const char *src, const char *dst, jpayne@69: const Tcl_StatBuf *statBufPtr, jpayne@69: int dontCopyAtts); jpayne@69: /* 15 */ jpayne@69: EXTERN int TclMacOSXGetFileAttribute(Tcl_Interp *interp, jpayne@69: int objIndex, Tcl_Obj *fileName, jpayne@69: Tcl_Obj **attributePtrPtr); jpayne@69: /* 16 */ jpayne@69: EXTERN int TclMacOSXSetFileAttribute(Tcl_Interp *interp, jpayne@69: int objIndex, Tcl_Obj *fileName, jpayne@69: Tcl_Obj *attributePtr); jpayne@69: /* 17 */ jpayne@69: EXTERN int TclMacOSXCopyFileAttributes(const char *src, jpayne@69: const char *dst, jpayne@69: const Tcl_StatBuf *statBufPtr); jpayne@69: /* 18 */ jpayne@69: EXTERN int TclMacOSXMatchType(Tcl_Interp *interp, jpayne@69: const char *pathName, const char *fileName, jpayne@69: Tcl_StatBuf *statBufPtr, jpayne@69: Tcl_GlobTypeData *types); jpayne@69: /* 19 */ jpayne@69: EXTERN void TclMacOSXNotifierAddRunLoopMode( jpayne@69: const void *runLoopMode); jpayne@69: /* Slot 20 is reserved */ jpayne@69: /* Slot 21 is reserved */ jpayne@69: /* 22 */ jpayne@69: EXTERN TclFile TclpCreateTempFile_(const char *contents); jpayne@69: /* Slot 23 is reserved */ jpayne@69: /* Slot 24 is reserved */ jpayne@69: /* Slot 25 is reserved */ jpayne@69: /* Slot 26 is reserved */ jpayne@69: /* Slot 27 is reserved */ jpayne@69: /* Slot 28 is reserved */ jpayne@69: /* 29 */ jpayne@69: EXTERN int TclWinCPUID(unsigned int index, unsigned int *regs); jpayne@69: /* 30 */ jpayne@69: EXTERN int TclUnixOpenTemporaryFile(Tcl_Obj *dirObj, jpayne@69: Tcl_Obj *basenameObj, Tcl_Obj *extensionObj, jpayne@69: Tcl_Obj *resultingNameObj); jpayne@69: #endif /* MACOSX */ jpayne@69: jpayne@69: typedef struct TclIntPlatStubs { jpayne@69: int magic; jpayne@69: void *hooks; jpayne@69: jpayne@69: #if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */ jpayne@69: void (*tclGetAndDetachPids) (Tcl_Interp *interp, Tcl_Channel chan); /* 0 */ jpayne@69: int (*tclpCloseFile) (TclFile file); /* 1 */ jpayne@69: Tcl_Channel (*tclpCreateCommandChannel) (TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr); /* 2 */ jpayne@69: int (*tclpCreatePipe) (TclFile *readPipe, TclFile *writePipe); /* 3 */ jpayne@69: int (*tclpCreateProcess) (Tcl_Interp *interp, int argc, const char **argv, TclFile inputFile, TclFile outputFile, TclFile errorFile, Tcl_Pid *pidPtr); /* 4 */ jpayne@69: int (*tclUnixWaitForFile_) (int fd, int mask, int timeout); /* 5 */ jpayne@69: TclFile (*tclpMakeFile) (Tcl_Channel channel, int direction); /* 6 */ jpayne@69: TclFile (*tclpOpenFile) (const char *fname, int mode); /* 7 */ jpayne@69: int (*tclUnixWaitForFile) (int fd, int mask, int timeout); /* 8 */ jpayne@69: TclFile (*tclpCreateTempFile) (const char *contents); /* 9 */ jpayne@69: Tcl_DirEntry * (*tclpReaddir) (TclDIR *dir); /* 10 */ jpayne@69: struct tm * (*tclpLocaltime_unix) (const time_t *clock); /* 11 */ jpayne@69: struct tm * (*tclpGmtime_unix) (const time_t *clock); /* 12 */ jpayne@69: char * (*tclpInetNtoa) (struct in_addr addr); /* 13 */ jpayne@69: int (*tclUnixCopyFile) (const char *src, const char *dst, const Tcl_StatBuf *statBufPtr, int dontCopyAtts); /* 14 */ jpayne@69: int (*tclMacOSXGetFileAttribute) (Tcl_Interp *interp, int objIndex, Tcl_Obj *fileName, Tcl_Obj **attributePtrPtr); /* 15 */ jpayne@69: int (*tclMacOSXSetFileAttribute) (Tcl_Interp *interp, int objIndex, Tcl_Obj *fileName, Tcl_Obj *attributePtr); /* 16 */ jpayne@69: int (*tclMacOSXCopyFileAttributes) (const char *src, const char *dst, const Tcl_StatBuf *statBufPtr); /* 17 */ jpayne@69: int (*tclMacOSXMatchType) (Tcl_Interp *interp, const char *pathName, const char *fileName, Tcl_StatBuf *statBufPtr, Tcl_GlobTypeData *types); /* 18 */ jpayne@69: void (*tclMacOSXNotifierAddRunLoopMode) (const void *runLoopMode); /* 19 */ jpayne@69: void (*reserved20)(void); jpayne@69: void (*reserved21)(void); jpayne@69: TclFile (*tclpCreateTempFile_) (const char *contents); /* 22 */ jpayne@69: void (*reserved23)(void); jpayne@69: void (*reserved24)(void); jpayne@69: void (*reserved25)(void); jpayne@69: void (*reserved26)(void); jpayne@69: void (*reserved27)(void); jpayne@69: void (*reserved28)(void); jpayne@69: int (*tclWinCPUID) (unsigned int index, unsigned int *regs); /* 29 */ jpayne@69: int (*tclUnixOpenTemporaryFile) (Tcl_Obj *dirObj, Tcl_Obj *basenameObj, Tcl_Obj *extensionObj, Tcl_Obj *resultingNameObj); /* 30 */ jpayne@69: #endif /* UNIX */ jpayne@69: #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */ jpayne@69: void (*tclWinConvertError) (DWORD errCode); /* 0 */ jpayne@69: void (*tclWinConvertWSAError) (DWORD errCode); /* 1 */ jpayne@69: struct servent * (*tclWinGetServByName) (const char *nm, const char *proto); /* 2 */ jpayne@69: int (*tclWinGetSockOpt) (SOCKET s, int level, int optname, char *optval, int *optlen); /* 3 */ jpayne@69: HINSTANCE (*tclWinGetTclInstance) (void); /* 4 */ jpayne@69: int (*tclUnixWaitForFile) (int fd, int mask, int timeout); /* 5 */ jpayne@69: unsigned short (*tclWinNToHS) (unsigned short ns); /* 6 */ jpayne@69: int (*tclWinSetSockOpt) (SOCKET s, int level, int optname, const char *optval, int optlen); /* 7 */ jpayne@69: int (*tclpGetPid) (Tcl_Pid pid); /* 8 */ jpayne@69: int (*tclWinGetPlatformId) (void); /* 9 */ jpayne@69: Tcl_DirEntry * (*tclpReaddir) (TclDIR *dir); /* 10 */ jpayne@69: void (*tclGetAndDetachPids) (Tcl_Interp *interp, Tcl_Channel chan); /* 11 */ jpayne@69: int (*tclpCloseFile) (TclFile file); /* 12 */ jpayne@69: Tcl_Channel (*tclpCreateCommandChannel) (TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr); /* 13 */ jpayne@69: int (*tclpCreatePipe) (TclFile *readPipe, TclFile *writePipe); /* 14 */ jpayne@69: int (*tclpCreateProcess) (Tcl_Interp *interp, int argc, const char **argv, TclFile inputFile, TclFile outputFile, TclFile errorFile, Tcl_Pid *pidPtr); /* 15 */ jpayne@69: int (*tclpIsAtty) (int fd); /* 16 */ jpayne@69: int (*tclUnixCopyFile) (const char *src, const char *dst, const Tcl_StatBuf *statBufPtr, int dontCopyAtts); /* 17 */ jpayne@69: TclFile (*tclpMakeFile) (Tcl_Channel channel, int direction); /* 18 */ jpayne@69: TclFile (*tclpOpenFile) (const char *fname, int mode); /* 19 */ jpayne@69: void (*tclWinAddProcess) (HANDLE hProcess, DWORD id); /* 20 */ jpayne@69: char * (*tclpInetNtoa) (struct in_addr addr); /* 21 */ jpayne@69: TclFile (*tclpCreateTempFile) (const char *contents); /* 22 */ jpayne@69: void (*reserved23)(void); jpayne@69: char * (*tclWinNoBackslash) (char *path); /* 24 */ jpayne@69: void (*reserved25)(void); jpayne@69: void (*tclWinSetInterfaces) (int wide); /* 26 */ jpayne@69: void (*tclWinFlushDirtyChannels) (void); /* 27 */ jpayne@69: void (*tclWinResetInterfaces) (void); /* 28 */ jpayne@69: int (*tclWinCPUID) (unsigned int index, unsigned int *regs); /* 29 */ jpayne@69: int (*tclUnixOpenTemporaryFile) (Tcl_Obj *dirObj, Tcl_Obj *basenameObj, Tcl_Obj *extensionObj, Tcl_Obj *resultingNameObj); /* 30 */ jpayne@69: #endif /* WIN */ jpayne@69: #ifdef MAC_OSX_TCL /* MACOSX */ jpayne@69: void (*tclGetAndDetachPids) (Tcl_Interp *interp, Tcl_Channel chan); /* 0 */ jpayne@69: int (*tclpCloseFile) (TclFile file); /* 1 */ jpayne@69: Tcl_Channel (*tclpCreateCommandChannel) (TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr); /* 2 */ jpayne@69: int (*tclpCreatePipe) (TclFile *readPipe, TclFile *writePipe); /* 3 */ jpayne@69: int (*tclpCreateProcess) (Tcl_Interp *interp, int argc, const char **argv, TclFile inputFile, TclFile outputFile, TclFile errorFile, Tcl_Pid *pidPtr); /* 4 */ jpayne@69: int (*tclUnixWaitForFile_) (int fd, int mask, int timeout); /* 5 */ jpayne@69: TclFile (*tclpMakeFile) (Tcl_Channel channel, int direction); /* 6 */ jpayne@69: TclFile (*tclpOpenFile) (const char *fname, int mode); /* 7 */ jpayne@69: int (*tclUnixWaitForFile) (int fd, int mask, int timeout); /* 8 */ jpayne@69: TclFile (*tclpCreateTempFile) (const char *contents); /* 9 */ jpayne@69: Tcl_DirEntry * (*tclpReaddir) (TclDIR *dir); /* 10 */ jpayne@69: struct tm * (*tclpLocaltime_unix) (const time_t *clock); /* 11 */ jpayne@69: struct tm * (*tclpGmtime_unix) (const time_t *clock); /* 12 */ jpayne@69: char * (*tclpInetNtoa) (struct in_addr addr); /* 13 */ jpayne@69: int (*tclUnixCopyFile) (const char *src, const char *dst, const Tcl_StatBuf *statBufPtr, int dontCopyAtts); /* 14 */ jpayne@69: int (*tclMacOSXGetFileAttribute) (Tcl_Interp *interp, int objIndex, Tcl_Obj *fileName, Tcl_Obj **attributePtrPtr); /* 15 */ jpayne@69: int (*tclMacOSXSetFileAttribute) (Tcl_Interp *interp, int objIndex, Tcl_Obj *fileName, Tcl_Obj *attributePtr); /* 16 */ jpayne@69: int (*tclMacOSXCopyFileAttributes) (const char *src, const char *dst, const Tcl_StatBuf *statBufPtr); /* 17 */ jpayne@69: int (*tclMacOSXMatchType) (Tcl_Interp *interp, const char *pathName, const char *fileName, Tcl_StatBuf *statBufPtr, Tcl_GlobTypeData *types); /* 18 */ jpayne@69: void (*tclMacOSXNotifierAddRunLoopMode) (const void *runLoopMode); /* 19 */ jpayne@69: void (*reserved20)(void); jpayne@69: void (*reserved21)(void); jpayne@69: TclFile (*tclpCreateTempFile_) (const char *contents); /* 22 */ jpayne@69: void (*reserved23)(void); jpayne@69: void (*reserved24)(void); jpayne@69: void (*reserved25)(void); jpayne@69: void (*reserved26)(void); jpayne@69: void (*reserved27)(void); jpayne@69: void (*reserved28)(void); jpayne@69: int (*tclWinCPUID) (unsigned int index, unsigned int *regs); /* 29 */ jpayne@69: int (*tclUnixOpenTemporaryFile) (Tcl_Obj *dirObj, Tcl_Obj *basenameObj, Tcl_Obj *extensionObj, Tcl_Obj *resultingNameObj); /* 30 */ jpayne@69: #endif /* MACOSX */ jpayne@69: } TclIntPlatStubs; jpayne@69: jpayne@69: extern const TclIntPlatStubs *tclIntPlatStubsPtr; jpayne@69: jpayne@69: #ifdef __cplusplus jpayne@69: } jpayne@69: #endif jpayne@69: jpayne@69: #if defined(USE_TCL_STUBS) jpayne@69: jpayne@69: /* jpayne@69: * Inline function declarations: jpayne@69: */ jpayne@69: jpayne@69: #if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */ jpayne@69: #define TclGetAndDetachPids \ jpayne@69: (tclIntPlatStubsPtr->tclGetAndDetachPids) /* 0 */ jpayne@69: #define TclpCloseFile \ jpayne@69: (tclIntPlatStubsPtr->tclpCloseFile) /* 1 */ jpayne@69: #define TclpCreateCommandChannel \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateCommandChannel) /* 2 */ jpayne@69: #define TclpCreatePipe \ jpayne@69: (tclIntPlatStubsPtr->tclpCreatePipe) /* 3 */ jpayne@69: #define TclpCreateProcess \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateProcess) /* 4 */ jpayne@69: #define TclUnixWaitForFile_ \ jpayne@69: (tclIntPlatStubsPtr->tclUnixWaitForFile_) /* 5 */ jpayne@69: #define TclpMakeFile \ jpayne@69: (tclIntPlatStubsPtr->tclpMakeFile) /* 6 */ jpayne@69: #define TclpOpenFile \ jpayne@69: (tclIntPlatStubsPtr->tclpOpenFile) /* 7 */ jpayne@69: #define TclUnixWaitForFile \ jpayne@69: (tclIntPlatStubsPtr->tclUnixWaitForFile) /* 8 */ jpayne@69: #define TclpCreateTempFile \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateTempFile) /* 9 */ jpayne@69: #define TclpReaddir \ jpayne@69: (tclIntPlatStubsPtr->tclpReaddir) /* 10 */ jpayne@69: #define TclpLocaltime_unix \ jpayne@69: (tclIntPlatStubsPtr->tclpLocaltime_unix) /* 11 */ jpayne@69: #define TclpGmtime_unix \ jpayne@69: (tclIntPlatStubsPtr->tclpGmtime_unix) /* 12 */ jpayne@69: #define TclpInetNtoa \ jpayne@69: (tclIntPlatStubsPtr->tclpInetNtoa) /* 13 */ jpayne@69: #define TclUnixCopyFile \ jpayne@69: (tclIntPlatStubsPtr->tclUnixCopyFile) /* 14 */ jpayne@69: #define TclMacOSXGetFileAttribute \ jpayne@69: (tclIntPlatStubsPtr->tclMacOSXGetFileAttribute) /* 15 */ jpayne@69: #define TclMacOSXSetFileAttribute \ jpayne@69: (tclIntPlatStubsPtr->tclMacOSXSetFileAttribute) /* 16 */ jpayne@69: #define TclMacOSXCopyFileAttributes \ jpayne@69: (tclIntPlatStubsPtr->tclMacOSXCopyFileAttributes) /* 17 */ jpayne@69: #define TclMacOSXMatchType \ jpayne@69: (tclIntPlatStubsPtr->tclMacOSXMatchType) /* 18 */ jpayne@69: #define TclMacOSXNotifierAddRunLoopMode \ jpayne@69: (tclIntPlatStubsPtr->tclMacOSXNotifierAddRunLoopMode) /* 19 */ jpayne@69: /* Slot 20 is reserved */ jpayne@69: /* Slot 21 is reserved */ jpayne@69: #define TclpCreateTempFile_ \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateTempFile_) /* 22 */ jpayne@69: /* Slot 23 is reserved */ jpayne@69: /* Slot 24 is reserved */ jpayne@69: /* Slot 25 is reserved */ jpayne@69: /* Slot 26 is reserved */ jpayne@69: /* Slot 27 is reserved */ jpayne@69: /* Slot 28 is reserved */ jpayne@69: #define TclWinCPUID \ jpayne@69: (tclIntPlatStubsPtr->tclWinCPUID) /* 29 */ jpayne@69: #define TclUnixOpenTemporaryFile \ jpayne@69: (tclIntPlatStubsPtr->tclUnixOpenTemporaryFile) /* 30 */ jpayne@69: #endif /* UNIX */ jpayne@69: #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */ jpayne@69: #define TclWinConvertError \ jpayne@69: (tclIntPlatStubsPtr->tclWinConvertError) /* 0 */ jpayne@69: #define TclWinConvertWSAError \ jpayne@69: (tclIntPlatStubsPtr->tclWinConvertWSAError) /* 1 */ jpayne@69: #define TclWinGetServByName \ jpayne@69: (tclIntPlatStubsPtr->tclWinGetServByName) /* 2 */ jpayne@69: #define TclWinGetSockOpt \ jpayne@69: (tclIntPlatStubsPtr->tclWinGetSockOpt) /* 3 */ jpayne@69: #define TclWinGetTclInstance \ jpayne@69: (tclIntPlatStubsPtr->tclWinGetTclInstance) /* 4 */ jpayne@69: #define TclUnixWaitForFile \ jpayne@69: (tclIntPlatStubsPtr->tclUnixWaitForFile) /* 5 */ jpayne@69: #define TclWinNToHS \ jpayne@69: (tclIntPlatStubsPtr->tclWinNToHS) /* 6 */ jpayne@69: #define TclWinSetSockOpt \ jpayne@69: (tclIntPlatStubsPtr->tclWinSetSockOpt) /* 7 */ jpayne@69: #define TclpGetPid \ jpayne@69: (tclIntPlatStubsPtr->tclpGetPid) /* 8 */ jpayne@69: #define TclWinGetPlatformId \ jpayne@69: (tclIntPlatStubsPtr->tclWinGetPlatformId) /* 9 */ jpayne@69: #define TclpReaddir \ jpayne@69: (tclIntPlatStubsPtr->tclpReaddir) /* 10 */ jpayne@69: #define TclGetAndDetachPids \ jpayne@69: (tclIntPlatStubsPtr->tclGetAndDetachPids) /* 11 */ jpayne@69: #define TclpCloseFile \ jpayne@69: (tclIntPlatStubsPtr->tclpCloseFile) /* 12 */ jpayne@69: #define TclpCreateCommandChannel \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateCommandChannel) /* 13 */ jpayne@69: #define TclpCreatePipe \ jpayne@69: (tclIntPlatStubsPtr->tclpCreatePipe) /* 14 */ jpayne@69: #define TclpCreateProcess \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateProcess) /* 15 */ jpayne@69: #define TclpIsAtty \ jpayne@69: (tclIntPlatStubsPtr->tclpIsAtty) /* 16 */ jpayne@69: #define TclUnixCopyFile \ jpayne@69: (tclIntPlatStubsPtr->tclUnixCopyFile) /* 17 */ jpayne@69: #define TclpMakeFile \ jpayne@69: (tclIntPlatStubsPtr->tclpMakeFile) /* 18 */ jpayne@69: #define TclpOpenFile \ jpayne@69: (tclIntPlatStubsPtr->tclpOpenFile) /* 19 */ jpayne@69: #define TclWinAddProcess \ jpayne@69: (tclIntPlatStubsPtr->tclWinAddProcess) /* 20 */ jpayne@69: #define TclpInetNtoa \ jpayne@69: (tclIntPlatStubsPtr->tclpInetNtoa) /* 21 */ jpayne@69: #define TclpCreateTempFile \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateTempFile) /* 22 */ jpayne@69: /* Slot 23 is reserved */ jpayne@69: #define TclWinNoBackslash \ jpayne@69: (tclIntPlatStubsPtr->tclWinNoBackslash) /* 24 */ jpayne@69: /* Slot 25 is reserved */ jpayne@69: #define TclWinSetInterfaces \ jpayne@69: (tclIntPlatStubsPtr->tclWinSetInterfaces) /* 26 */ jpayne@69: #define TclWinFlushDirtyChannels \ jpayne@69: (tclIntPlatStubsPtr->tclWinFlushDirtyChannels) /* 27 */ jpayne@69: #define TclWinResetInterfaces \ jpayne@69: (tclIntPlatStubsPtr->tclWinResetInterfaces) /* 28 */ jpayne@69: #define TclWinCPUID \ jpayne@69: (tclIntPlatStubsPtr->tclWinCPUID) /* 29 */ jpayne@69: #define TclUnixOpenTemporaryFile \ jpayne@69: (tclIntPlatStubsPtr->tclUnixOpenTemporaryFile) /* 30 */ jpayne@69: #endif /* WIN */ jpayne@69: #ifdef MAC_OSX_TCL /* MACOSX */ jpayne@69: #define TclGetAndDetachPids \ jpayne@69: (tclIntPlatStubsPtr->tclGetAndDetachPids) /* 0 */ jpayne@69: #define TclpCloseFile \ jpayne@69: (tclIntPlatStubsPtr->tclpCloseFile) /* 1 */ jpayne@69: #define TclpCreateCommandChannel \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateCommandChannel) /* 2 */ jpayne@69: #define TclpCreatePipe \ jpayne@69: (tclIntPlatStubsPtr->tclpCreatePipe) /* 3 */ jpayne@69: #define TclpCreateProcess \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateProcess) /* 4 */ jpayne@69: #define TclUnixWaitForFile_ \ jpayne@69: (tclIntPlatStubsPtr->tclUnixWaitForFile_) /* 5 */ jpayne@69: #define TclpMakeFile \ jpayne@69: (tclIntPlatStubsPtr->tclpMakeFile) /* 6 */ jpayne@69: #define TclpOpenFile \ jpayne@69: (tclIntPlatStubsPtr->tclpOpenFile) /* 7 */ jpayne@69: #define TclUnixWaitForFile \ jpayne@69: (tclIntPlatStubsPtr->tclUnixWaitForFile) /* 8 */ jpayne@69: #define TclpCreateTempFile \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateTempFile) /* 9 */ jpayne@69: #define TclpReaddir \ jpayne@69: (tclIntPlatStubsPtr->tclpReaddir) /* 10 */ jpayne@69: #define TclpLocaltime_unix \ jpayne@69: (tclIntPlatStubsPtr->tclpLocaltime_unix) /* 11 */ jpayne@69: #define TclpGmtime_unix \ jpayne@69: (tclIntPlatStubsPtr->tclpGmtime_unix) /* 12 */ jpayne@69: #define TclpInetNtoa \ jpayne@69: (tclIntPlatStubsPtr->tclpInetNtoa) /* 13 */ jpayne@69: #define TclUnixCopyFile \ jpayne@69: (tclIntPlatStubsPtr->tclUnixCopyFile) /* 14 */ jpayne@69: #define TclMacOSXGetFileAttribute \ jpayne@69: (tclIntPlatStubsPtr->tclMacOSXGetFileAttribute) /* 15 */ jpayne@69: #define TclMacOSXSetFileAttribute \ jpayne@69: (tclIntPlatStubsPtr->tclMacOSXSetFileAttribute) /* 16 */ jpayne@69: #define TclMacOSXCopyFileAttributes \ jpayne@69: (tclIntPlatStubsPtr->tclMacOSXCopyFileAttributes) /* 17 */ jpayne@69: #define TclMacOSXMatchType \ jpayne@69: (tclIntPlatStubsPtr->tclMacOSXMatchType) /* 18 */ jpayne@69: #define TclMacOSXNotifierAddRunLoopMode \ jpayne@69: (tclIntPlatStubsPtr->tclMacOSXNotifierAddRunLoopMode) /* 19 */ jpayne@69: /* Slot 20 is reserved */ jpayne@69: /* Slot 21 is reserved */ jpayne@69: #define TclpCreateTempFile_ \ jpayne@69: (tclIntPlatStubsPtr->tclpCreateTempFile_) /* 22 */ jpayne@69: /* Slot 23 is reserved */ jpayne@69: /* Slot 24 is reserved */ jpayne@69: /* Slot 25 is reserved */ jpayne@69: /* Slot 26 is reserved */ jpayne@69: /* Slot 27 is reserved */ jpayne@69: /* Slot 28 is reserved */ jpayne@69: #define TclWinCPUID \ jpayne@69: (tclIntPlatStubsPtr->tclWinCPUID) /* 29 */ jpayne@69: #define TclUnixOpenTemporaryFile \ jpayne@69: (tclIntPlatStubsPtr->tclUnixOpenTemporaryFile) /* 30 */ jpayne@69: #endif /* MACOSX */ jpayne@69: jpayne@69: #endif /* defined(USE_TCL_STUBS) */ jpayne@69: jpayne@69: /* !END!: Do not edit above this line. */ jpayne@69: jpayne@69: #undef TCL_STORAGE_CLASS jpayne@69: #define TCL_STORAGE_CLASS DLLIMPORT jpayne@69: #undef TclpLocaltime_unix jpayne@69: #undef TclpGmtime_unix jpayne@69: #undef TclWinConvertWSAError jpayne@69: #define TclWinConvertWSAError TclWinConvertError jpayne@69: #undef TclpInetNtoa jpayne@69: #define TclpInetNtoa inet_ntoa jpayne@69: jpayne@69: #undef TclpCreateTempFile_ jpayne@69: #undef TclUnixWaitForFile_ jpayne@69: #ifndef MAC_OSX_TCL /* not accessable on Win32/UNIX */ jpayne@69: #undef TclMacOSXGetFileAttribute /* 15 */ jpayne@69: #undef TclMacOSXSetFileAttribute /* 16 */ jpayne@69: #undef TclMacOSXCopyFileAttributes /* 17 */ jpayne@69: #undef TclMacOSXMatchType /* 18 */ jpayne@69: #undef TclMacOSXNotifierAddRunLoopMode /* 19 */ jpayne@69: #endif jpayne@69: jpayne@69: #if defined(_WIN32) jpayne@69: # undef TclWinNToHS jpayne@69: # undef TclWinGetServByName jpayne@69: # undef TclWinGetSockOpt jpayne@69: # undef TclWinSetSockOpt jpayne@69: # define TclWinNToHS ntohs jpayne@69: # define TclWinGetServByName getservbyname jpayne@69: # define TclWinGetSockOpt getsockopt jpayne@69: # define TclWinSetSockOpt setsockopt jpayne@69: #else jpayne@69: # undef TclpGetPid jpayne@69: # define TclpGetPid(pid) ((unsigned long) (pid)) jpayne@69: #endif jpayne@69: jpayne@69: #endif /* _TCLINTPLATDECLS */