tclPlatDecls.h
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:6k
源码类别:

通讯编程

开发平台:

Visual C++

  1. /*
  2.  * tclPlatDecls.h --
  3.  *
  4.  * Declarations of platform specific Tcl APIs.
  5.  *
  6.  * Copyright (c) 1998-1999 by Scriptics Corporation.
  7.  * All rights reserved.
  8.  *
  9.  * RCS: @(#) $Id: tclPlatDecls.h,v 1.18.2.5 2004/06/10 17:17:45 andreas_kupries Exp $
  10.  */
  11. #ifndef _TCLPLATDECLS
  12. #define _TCLPLATDECLS
  13. /*
  14.  *  Pull in the typedef of TCHAR for windows.
  15.  */
  16. #if defined(__CYGWIN__)
  17.     typedef char TCHAR;
  18. #elif defined(__WIN32__) && !defined(_TCHAR_DEFINED)
  19. #   include <tchar.h>
  20. #   ifndef _TCHAR_DEFINED
  21. /* Borland seems to forget to set this. */
  22.         typedef _TCHAR TCHAR;
  23. # define _TCHAR_DEFINED
  24. #   endif
  25. #   if defined(_MSC_VER) && defined(__STDC__)
  26. /* MSVC++ misses this. */
  27. typedef _TCHAR TCHAR;
  28. #   endif
  29. #endif
  30. /* !BEGIN!: Do not edit below this line. */
  31. /*
  32.  * Exported function declarations:
  33.  */
  34. #ifdef __WIN32__
  35. /* 0 */
  36. EXTERN TCHAR * Tcl_WinUtfToTChar _ANSI_ARGS_((CONST char * str, 
  37. int len, Tcl_DString * dsPtr));
  38. /* 1 */
  39. EXTERN char * Tcl_WinTCharToUtf _ANSI_ARGS_((CONST TCHAR * str, 
  40. int len, Tcl_DString * dsPtr));
  41. #endif /* __WIN32__ */
  42. #ifdef MAC_TCL
  43. /* 0 */
  44. EXTERN void Tcl_MacSetEventProc _ANSI_ARGS_((
  45. Tcl_MacConvertEventPtr procPtr));
  46. /* 1 */
  47. EXTERN char * Tcl_MacConvertTextResource _ANSI_ARGS_((
  48. Handle resource));
  49. /* 2 */
  50. EXTERN int Tcl_MacEvalResource _ANSI_ARGS_((Tcl_Interp * interp, 
  51. CONST char * resourceName, 
  52. int resourceNumber, CONST char * fileName));
  53. /* 3 */
  54. EXTERN Handle Tcl_MacFindResource _ANSI_ARGS_((Tcl_Interp * interp, 
  55. long resourceType, CONST char * resourceName, 
  56. int resourceNumber, CONST char * resFileRef, 
  57. int * releaseIt));
  58. /* 4 */
  59. EXTERN int Tcl_GetOSTypeFromObj _ANSI_ARGS_((
  60. Tcl_Interp * interp, Tcl_Obj * objPtr, 
  61. OSType * osTypePtr));
  62. /* 5 */
  63. EXTERN void Tcl_SetOSTypeObj _ANSI_ARGS_((Tcl_Obj * objPtr, 
  64. OSType osType));
  65. /* 6 */
  66. EXTERN Tcl_Obj * Tcl_NewOSTypeObj _ANSI_ARGS_((OSType osType));
  67. /* 7 */
  68. EXTERN int strncasecmp _ANSI_ARGS_((CONST char * s1, 
  69. CONST char * s2, size_t n));
  70. /* 8 */
  71. EXTERN int strcasecmp _ANSI_ARGS_((CONST char * s1, 
  72. CONST char * s2));
  73. #endif /* MAC_TCL */
  74. #ifdef MAC_OSX_TCL
  75. /* 0 */
  76. EXTERN int Tcl_MacOSXOpenBundleResources _ANSI_ARGS_((
  77. Tcl_Interp * interp, CONST char * bundleName, 
  78. int hasResourceFile, int maxPathLen, 
  79. char * libraryPath));
  80. /* 1 */
  81. EXTERN int Tcl_MacOSXOpenVersionedBundleResources _ANSI_ARGS_((
  82. Tcl_Interp * interp, CONST char * bundleName, 
  83. CONST char * bundleVersion, 
  84. int hasResourceFile, int maxPathLen, 
  85. char * libraryPath));
  86. #endif /* MAC_OSX_TCL */
  87. typedef struct TclPlatStubs {
  88.     int magic;
  89.     struct TclPlatStubHooks *hooks;
  90. #ifdef __WIN32__
  91.     TCHAR * (*tcl_WinUtfToTChar) _ANSI_ARGS_((CONST char * str, int len, Tcl_DString * dsPtr)); /* 0 */
  92.     char * (*tcl_WinTCharToUtf) _ANSI_ARGS_((CONST TCHAR * str, int len, Tcl_DString * dsPtr)); /* 1 */
  93. #endif /* __WIN32__ */
  94. #ifdef MAC_TCL
  95.     void (*tcl_MacSetEventProc) _ANSI_ARGS_((Tcl_MacConvertEventPtr procPtr)); /* 0 */
  96.     char * (*tcl_MacConvertTextResource) _ANSI_ARGS_((Handle resource)); /* 1 */
  97.     int (*tcl_MacEvalResource) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * resourceName, int resourceNumber, CONST char * fileName)); /* 2 */
  98.     Handle (*tcl_MacFindResource) _ANSI_ARGS_((Tcl_Interp * interp, long resourceType, CONST char * resourceName, int resourceNumber, CONST char * resFileRef, int * releaseIt)); /* 3 */
  99.     int (*tcl_GetOSTypeFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, OSType * osTypePtr)); /* 4 */
  100.     void (*tcl_SetOSTypeObj) _ANSI_ARGS_((Tcl_Obj * objPtr, OSType osType)); /* 5 */
  101.     Tcl_Obj * (*tcl_NewOSTypeObj) _ANSI_ARGS_((OSType osType)); /* 6 */
  102.     int (*strncasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2, size_t n)); /* 7 */
  103.     int (*strcasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2)); /* 8 */
  104. #endif /* MAC_TCL */
  105. #ifdef MAC_OSX_TCL
  106.     int (*tcl_MacOSXOpenBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, int hasResourceFile, int maxPathLen, char * libraryPath)); /* 0 */
  107.     int (*tcl_MacOSXOpenVersionedBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, CONST char * bundleVersion, int hasResourceFile, int maxPathLen, char * libraryPath)); /* 1 */
  108. #endif /* MAC_OSX_TCL */
  109. } TclPlatStubs;
  110. #ifdef __cplusplus
  111. extern "C" {
  112. #endif
  113. extern TclPlatStubs *tclPlatStubsPtr;
  114. #ifdef __cplusplus
  115. }
  116. #endif
  117. #if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
  118. /*
  119.  * Inline function declarations:
  120.  */
  121. #ifdef __WIN32__
  122. #ifndef Tcl_WinUtfToTChar
  123. #define Tcl_WinUtfToTChar 
  124. (tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */
  125. #endif
  126. #ifndef Tcl_WinTCharToUtf
  127. #define Tcl_WinTCharToUtf 
  128. (tclPlatStubsPtr->tcl_WinTCharToUtf) /* 1 */
  129. #endif
  130. #endif /* __WIN32__ */
  131. #ifdef MAC_TCL
  132. #ifndef Tcl_MacSetEventProc
  133. #define Tcl_MacSetEventProc 
  134. (tclPlatStubsPtr->tcl_MacSetEventProc) /* 0 */
  135. #endif
  136. #ifndef Tcl_MacConvertTextResource
  137. #define Tcl_MacConvertTextResource 
  138. (tclPlatStubsPtr->tcl_MacConvertTextResource) /* 1 */
  139. #endif
  140. #ifndef Tcl_MacEvalResource
  141. #define Tcl_MacEvalResource 
  142. (tclPlatStubsPtr->tcl_MacEvalResource) /* 2 */
  143. #endif
  144. #ifndef Tcl_MacFindResource
  145. #define Tcl_MacFindResource 
  146. (tclPlatStubsPtr->tcl_MacFindResource) /* 3 */
  147. #endif
  148. #ifndef Tcl_GetOSTypeFromObj
  149. #define Tcl_GetOSTypeFromObj 
  150. (tclPlatStubsPtr->tcl_GetOSTypeFromObj) /* 4 */
  151. #endif
  152. #ifndef Tcl_SetOSTypeObj
  153. #define Tcl_SetOSTypeObj 
  154. (tclPlatStubsPtr->tcl_SetOSTypeObj) /* 5 */
  155. #endif
  156. #ifndef Tcl_NewOSTypeObj
  157. #define Tcl_NewOSTypeObj 
  158. (tclPlatStubsPtr->tcl_NewOSTypeObj) /* 6 */
  159. #endif
  160. #ifndef strncasecmp
  161. #define strncasecmp 
  162. (tclPlatStubsPtr->strncasecmp) /* 7 */
  163. #endif
  164. #ifndef strcasecmp
  165. #define strcasecmp 
  166. (tclPlatStubsPtr->strcasecmp) /* 8 */
  167. #endif
  168. #endif /* MAC_TCL */
  169. #ifdef MAC_OSX_TCL
  170. #ifndef Tcl_MacOSXOpenBundleResources
  171. #define Tcl_MacOSXOpenBundleResources 
  172. (tclPlatStubsPtr->tcl_MacOSXOpenBundleResources) /* 0 */
  173. #endif
  174. #ifndef Tcl_MacOSXOpenVersionedBundleResources
  175. #define Tcl_MacOSXOpenVersionedBundleResources 
  176. (tclPlatStubsPtr->tcl_MacOSXOpenVersionedBundleResources) /* 1 */
  177. #endif
  178. #endif /* MAC_OSX_TCL */
  179. #endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */
  180. /* !END!: Do not edit above this line. */
  181. #endif /* _TCLPLATDECLS */