1 #ifndef _LANG 2 #define _LANG 3 4 #define STATIC_BUILD 5 6 7 #include "tkConfig.h" 8 #define TCL_NO_DEPRECATED 9 10 #if !defined(WIN32) && defined(USE_XFT_FONTS) 11 #ifndef TCL_UTF_MAX 12 #define TCL_UTF_MAX 13 13 #endif 14 #endif 15 16 #define USE_TCLALLOC 1 17 #define TCL_MEM_DEBUG 18 #define USE_COMPAT_CONST 19 #include "tcl.h" 20 21 #if !defined(__GNUC__) && !defined(_AIX) 22 #ifdef __STDC__ 23 #ifndef STRINGIFY 24 #define STRINGIFY(x) STRINGIFY1(x) 25 #define STRINGIFY1(x) #x 26 #endif /* STRINGIFY */ 27 #define __FUNCTION__ __FILE__ ":" STRINGIFY(__LINE__) 28 #else /* STDC */ 29 #define __FUNCTION__ "" 30 #endif /* STDC */ 31 #endif /* GNUC or AIX */ 32 33 EXTERN int Tcl_DStringLength _ANSI_ARGS_((Tcl_DString *dString)); 34 EXTERN char * Tcl_DStringValue _ANSI_ARGS_((Tcl_DString *dString)); 35 36 EXTERN void Tcl_IncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); 37 EXTERN void Tcl_DecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); 38 EXTERN int Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr)); 39 40 EXTERN Tcl_ObjType * TclObjGetType _ANSI_ARGS_((Tcl_Obj *objPtr)); 41 EXTERN int TclObjLength _ANSI_ARGS_((Tcl_Obj *objPtr)); 42 EXTERN void TclObjSetType _ANSI_ARGS_((Tcl_Obj *objPtr,Tcl_ObjType *newType)); 43 EXTERN Tcl_InternalRep * TclObjInternal _ANSI_ARGS_((Tcl_Obj *objPtr)); 44 45 #if defined(TCL_EVENT_IMPLEMENT) && !defined(Var) 46 #include "mTk/tclGeneric/tclInt.h" 47 #endif 48 #if !defined(TCL_EVENT_IMPLEMENT) || defined(Var) 49 #define _TCLINT 50 typedef void *TclHandle; 51 extern Tcl_ObjType tclIntType; 52 #endif 53 54 #ifndef Var 55 #define Var Tcl_Obj * 56 #endif 57 #ifndef LangCallback 58 #define LangCallback Tcl_Obj 59 #endif 60 #define LangStringArg(x) Tcl_NewStringObj(x,-1) 61 62 #define XFree_arg_t void 63 64 EXTERN void LangSetString _ANSI_ARGS_((Tcl_Obj **,CONST char *)); 65 EXTERN void LangSetDefault _ANSI_ARGS_((Tcl_Obj **,CONST char *)); 66 EXTERN void LangSetInt _ANSI_ARGS_((Tcl_Obj **,int)); 67 EXTERN void LangSetDouble _ANSI_ARGS_((Tcl_Obj **,double)); 68 EXTERN void LangSetObj _ANSI_ARGS_((Tcl_Obj **,Tcl_Obj *)); 69 EXTERN void LangSetVar _ANSI_ARGS_((Tcl_Obj **,Var)); 70 71 EXTERN int LangCmpArg _ANSI_ARGS_((CONST Tcl_Obj *,CONST Tcl_Obj *)); 72 EXTERN int LangCmpOpt _ANSI_ARGS_((CONST char *opt,CONST char *arg,size_t length)); 73 74 75 /* FIXME: 76 Tk will set freeProc as for Tcl e.g. NULL for statics & UIDs 77 and to "free" for Tcl_Merge etc. 78 Non Tk users *may* be able to use it as a guide, 79 but it is more likely that they will have to use 80 their own ref counts. 81 Perhaps Tcl_Merge should set freeProc and/or Tcl's 82 LangSetString() deliberately malloc() a copy of the string so we don't need 83 the freeProc 84 */ 85 EXTERN void LangFreeArg _ANSI_ARGS_((Tcl_Obj *,Tcl_FreeProc *freeProc)); 86 EXTERN Tcl_Obj *LangCopyArg _ANSI_ARGS_((Tcl_Obj *)); 87 88 EXTERN int LangNull _ANSI_ARGS_((Tcl_Obj *)); 89 90 EXTERN void TclpGetTime _ANSI_ARGS_((Tcl_Time *time)); 91 EXTERN void TclpAsyncMark _ANSI_ARGS_((Tcl_AsyncHandler async)); 92 93 EXTERN void Lang_SetErrorCode _ANSI_ARGS_((Tcl_Interp *interp,char *code)); 94 EXTERN char *Lang_GetErrorCode _ANSI_ARGS_((Tcl_Interp *interp)); 95 EXTERN char *Lang_GetErrorInfo _ANSI_ARGS_((Tcl_Interp *interp)); 96 97 /* Old-config handler for variables */ 98 EXTERN int LangSaveVar _ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *,Var *,int type)); 99 EXTERN void LangFreeVar _ANSI_ARGS_((Var)); 100 101 /* New-config handler for objects, variables and callbacks */ 102 EXTERN int LangConfigObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj **save, 103 Tcl_Obj *obj, int type)); 104 105 EXTERN int LangEventHook _ANSI_ARGS_((int flags)); 106 EXTERN void Lang_BuildInImages _ANSI_ARGS_((void)); 107 EXTERN void * TclCalloc _ANSI_ARGS_((size_t n,size_t s)); 108 EXTERN void LangDebug _ANSI_ARGS_((CONST char *fmt,...)); 109 EXTERN void LangDumpVec _ANSI_ARGS_((CONST char *tag, int argc, Tcl_Obj **vec)); 110 111 EXTERN void Lang_DeleteObject _ANSI_ARGS_((Tcl_Interp *,Tcl_Command)); 112 EXTERN Tcl_Command Lang_CreateObject _ANSI_ARGS_((Tcl_Interp *interp, 113 char *cmdName, Tcl_ObjCmdProc *proc, 114 ClientData clientData, 115 Tcl_CmdDeleteProc *deleteProc)); 116 117 EXTERN int Lang_CallWithArgs _ANSI_ARGS_ ((Tcl_Interp *interp, 118 char *sub, int argc, Tcl_Obj *CONST *argv)); 119 120 EXTERN void Tcl_IntResults _ANSI_ARGS_((Tcl_Interp *interp,int,int,...)); 121 EXTERN void Tcl_DoubleResults _ANSI_ARGS_((Tcl_Interp *interp,int,int,...)); 122 EXTERN void Tcl_SprintfResult _ANSI_ARGS_((Tcl_Interp *,char *,...)); 123 124 125 126 EXTERN int LangDoCallback _ANSI_ARGS_((Tcl_Interp *,LangCallback *,int result,int argc,...)); 127 EXTERN int LangMethodCall _ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *,char *,int result,int argc,...)); 128 129 EXTERN char *LangLibraryDir _ANSI_ARGS_((void)); 130 EXTERN void Lang_SetBinaryResult _ANSI_ARGS_((Tcl_Interp *interp, 131 char *string, int len, Tcl_FreeProc *freeProc)); 132 EXTERN Tcl_ObjCmdProc *LangOptionCommand; 133 134 typedef char *(Lang_VarTraceProc) _ANSI_ARGS_((ClientData clientData, 135 Tcl_Interp *interp, Tcl_Obj *part1, CONST char *part2, int flags)); 136 137 EXTERN Tcl_Encoding Lang_CreateEncoding _ANSI_ARGS_(( 138 CONST char *encodingName, 139 Tcl_EncodingConvertProc *toUtfProc, 140 Tcl_EncodingConvertProc *fromUtfProc, 141 Tcl_EncodingFreeProc *freeProc, 142 ClientData clientData, 143 int nullSize)); 144 145 EXTERN int Tcl_AfterObjCmd _ANSI_ARGS_((ClientData clientData, 146 Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])); 147 148 149 EXTERN int Lang_TraceVar _ANSI_ARGS_((Tcl_Interp * interp, 150 Tcl_Obj *varRef, int flags, 151 Lang_VarTraceProc * proc, 152 ClientData clientData)); 153 154 EXTERN void Lang_UntraceVar _ANSI_ARGS_((Tcl_Interp * interp, 155 Tcl_Obj * varRef, int flags, 156 Lang_VarTraceProc * proc, 157 ClientData clientData)); 158 159 EXTERN int Tk_PropertyCmd _ANSI_ARGS_((ClientData clientData, 160 Tcl_Interp *interp, int argc, Tcl_Obj **objv)); 161 162 struct TkFontAttributes; 163 164 EXTERN unsigned int LangFontRank _ANSI_ARGS_((unsigned int suggested, 165 int ch, CONST char *gotName, 166 CONST char *wantFoundary, 167 CONST struct TkFontAttributes *wantAttrib, 168 CONST char *wantEncoding, 169 CONST char *gotFoundary, 170 CONST struct TkFontAttributes *gotAttrib, 171 CONST char *gotEncoding)); 172 173 EXTERN void Lang_FreeRegExp _ANSI_ARGS_((Tcl_RegExp re)); 174 175 EXTERN long Lang_OSHandle _ANSI_ARGS_((int fd)); 176 #define TK_LIBRARY LangLibraryDir() 177 178 #ifdef WIN32 179 #ifdef __BORLANDC__ 180 #pragma warn -par /* "parameter 'foo' is never used" */ 181 #pragma warn -aus /* "'foo' is assigned a value that is never used" */ 182 #pragma warn -use /* "'foo' is declared but never used" */ 183 #endif 184 185 #ifdef _MSC_VER 186 #pragma warning(disable:4101 4102 4244 4018) 187 #pragma warning(disable:4133) /* init incompatible for xlib */ 188 #endif 189 #endif 190 191 #ifndef RC_INVOKED 192 #include "tkEvent.h" 193 #if !defined(TCL_EVENT_IMPLEMENT) 194 #include "tkEvent.m" 195 #endif 196 #endif 197 198 #endif /* _LANG */ 199 200 201 202 203