00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 #ifndef ITCL_H
00050 #define ITCL_H
00051
00052 #include "tcl.h"
00053
00054 #ifndef TCL_ALPHA_RELEASE
00055 # define TCL_ALPHA_RELEASE 0
00056 #endif
00057 #ifndef TCL_BETA_RELEASE
00058 # define TCL_BETA_RELEASE 1
00059 #endif
00060 #ifndef TCL_FINAL_RELEASE
00061 # define TCL_FINAL_RELEASE 2
00062 #endif
00063
00064
00065 #define ITCL_MAJOR_VERSION 3
00066 #define ITCL_MINOR_VERSION 3
00067 #define ITCL_RELEASE_LEVEL TCL_BETA_RELEASE
00068 #define ITCL_RELEASE_SERIAL 1
00069
00070 #define ITCL_VERSION "3.3"
00071 #define ITCL_PATCH_LEVEL "3.3b1"
00072
00073
00074
00075
00076
00077
00078
00079
00080 #ifndef RC_INVOKED
00081
00082 #undef TCL_STORAGE_CLASS
00083 #ifdef BUILD_itcl
00084 # define TCL_STORAGE_CLASS DLLEXPORT
00085 #else
00086 # ifdef USE_ITCL_STUBS
00087 # define TCL_STORAGE_CLASS
00088 # else
00089 # define TCL_STORAGE_CLASS DLLIMPORT
00090 # endif
00091 #endif
00092
00093
00094
00095
00096 #ifndef TCL_EXTERN
00097 # undef DLLIMPORT
00098 # undef DLLEXPORT
00099 # ifdef __cplusplus
00100 # define TCL_EXTERNC extern "C"
00101 # else
00102 # define TCL_EXTERNC extern
00103 # endif
00104 # if defined(STATIC_BUILD)
00105 # define DLLIMPORT
00106 # define DLLEXPORT
00107 # define TCL_EXTERN(RTYPE) TCL_EXTERNC RTYPE
00108 # elif (defined(__WIN32__) && ( \
00109 defined(_MSC_VER) || (__BORLANDC__ >= 0x0550) || \
00110 defined(__LCC__) || defined(__WATCOMC__) || \
00111 (defined(__GNUC__) && defined(__declspec)) \
00112 )) || (defined(MAC_TCL) && FUNCTION_DECLSPEC)
00113 # define DLLIMPORT __declspec(dllimport)
00114 # define DLLEXPORT __declspec(dllexport)
00115 # define TCL_EXTERN(RTYPE) TCL_EXTERNC TCL_STORAGE_CLASS RTYPE
00116 # elif defined(__BORLANDC__)
00117 # define DLLIMPORT __import
00118 # define DLLEXPORT __export
00119
00120
00121 # define TCL_EXTERN(RTYPE) TCL_EXTERNC RTYPE TCL_STORAGE_CLASS
00122 # else
00123 # define DLLIMPORT
00124 # define DLLEXPORT
00125 # define TCL_EXTERN(RTYPE) TCL_EXTERNC TCL_STORAGE_CLASS RTYPE
00126 # endif
00127 #endif
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138 #ifndef CONST84
00139 # define CONST84
00140 #endif
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150 #define ITCL_PUBLIC 1
00151 #define ITCL_PROTECTED 2
00152 #define ITCL_PRIVATE 3
00153 #define ITCL_DEFAULT_PROTECT 4
00154
00155
00156
00157
00158
00159 typedef struct Itcl_Stack {
00160 ClientData *values;
00161 int len;
00162 int max;
00163 ClientData space[5];
00164 } Itcl_Stack;
00165
00166 #define Itcl_GetStackSize(stackPtr) ((stackPtr)->len)
00167
00168
00169
00170
00171 struct Itcl_List;
00172 typedef struct Itcl_ListElem {
00173 struct Itcl_List* owner;
00174 ClientData value;
00175 struct Itcl_ListElem *prev;
00176 struct Itcl_ListElem *next;
00177 } Itcl_ListElem;
00178
00179 typedef struct Itcl_List {
00180 int validate;
00181 int num;
00182 struct Itcl_ListElem *head;
00183 struct Itcl_ListElem *tail;
00184 } Itcl_List;
00185
00186 #define Itcl_FirstListElem(listPtr) ((listPtr)->head)
00187 #define Itcl_LastListElem(listPtr) ((listPtr)->tail)
00188 #define Itcl_NextListElem(elemPtr) ((elemPtr)->next)
00189 #define Itcl_PrevListElem(elemPtr) ((elemPtr)->prev)
00190 #define Itcl_GetListLength(listPtr) ((listPtr)->num)
00191 #define Itcl_GetListValue(elemPtr) ((elemPtr)->value)
00192
00193
00194
00195
00196 typedef struct Itcl_InterpState_ *Itcl_InterpState;
00197
00198
00199
00200
00201
00202
00203
00204 #include "itclDecls.h"
00205
00206
00207
00208
00209
00210
00211
00212
00213 #ifdef USE_ITCL_STUBS
00214
00215 TCL_EXTERNC CONST char *
00216 Itcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp,
00217 CONST char *version, int exact));
00218 #else
00219 #define Itcl_InitStubs(interp, version, exact) \
00220 Tcl_PkgRequire(interp, "Itcl", version, exact)
00221 #endif
00222
00223
00224
00225
00226
00227
00228 #endif
00229
00230 #undef TCL_STORAGE_CLASS
00231 #define TCL_STORAGE_CLASS DLLIMPORT
00232
00233 #endif
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243