File indexing completed on 2026-09-11 09:32:02
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055 #ifndef ITCL_H_INCLUDED
0056 #define ITCL_H_INCLUDED
0057
0058 #include <tcl.h>
0059
0060 #if (TCL_MAJOR_VERSION == 8) && defined(TCL_MINOR_VERSION) && (TCL_MINOR_VERSION < 6)
0061 # error Itcl 4 build requires tcl.h from Tcl 8.6 or later
0062 #endif
0063
0064
0065
0066
0067
0068 #ifdef __cplusplus
0069 extern "C" {
0070 #endif
0071
0072 #ifndef TCL_ALPHA_RELEASE
0073 # define TCL_ALPHA_RELEASE 0
0074 #endif
0075 #ifndef TCL_BETA_RELEASE
0076 # define TCL_BETA_RELEASE 1
0077 #endif
0078 #ifndef TCL_FINAL_RELEASE
0079 # define TCL_FINAL_RELEASE 2
0080 #endif
0081
0082 #define ITCL_MAJOR_VERSION 4
0083 #define ITCL_MINOR_VERSION 3
0084 #define ITCL_RELEASE_LEVEL TCL_FINAL_RELEASE
0085 #define ITCL_RELEASE_SERIAL 4
0086
0087 #define ITCL_VERSION "4.3"
0088 #define ITCL_PATCH_LEVEL "4.3.4"
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100 #ifndef RC_INVOKED
0101
0102 #define ITCL_NAMESPACE "::itcl"
0103
0104 #ifndef ITCLAPI
0105 # if defined(BUILD_itcl)
0106 # define ITCLAPI MODULE_SCOPE
0107 # else
0108 # define ITCLAPI extern
0109 # undef USE_ITCL_STUBS
0110 # define USE_ITCL_STUBS 1
0111 # endif
0112 #endif
0113
0114 #if defined(BUILD_itcl) && !defined(STATIC_BUILD)
0115 # define ITCL_EXTERN extern DLLEXPORT
0116 #else
0117 # define ITCL_EXTERN extern
0118 #endif
0119
0120 ITCL_EXTERN int Itcl_Init(Tcl_Interp *interp);
0121 ITCL_EXTERN int Itcl_SafeInit(Tcl_Interp *interp);
0122
0123
0124
0125
0126
0127
0128
0129
0130 #define ITCL_PUBLIC 1
0131 #define ITCL_PROTECTED 2
0132 #define ITCL_PRIVATE 3
0133 #define ITCL_DEFAULT_PROTECT 4
0134
0135 #if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION < 7) && !defined(Tcl_Size)
0136 # define Tcl_Size int
0137 #endif
0138
0139
0140
0141
0142 typedef struct Itcl_Stack {
0143 void **values;
0144 Tcl_Size len;
0145 Tcl_Size max;
0146 void *space[5];
0147 } Itcl_Stack;
0148
0149 #define Itcl_GetStackSize(stackPtr) ((stackPtr)->len)
0150
0151
0152
0153
0154 struct Itcl_List;
0155 typedef struct Itcl_ListElem {
0156 struct Itcl_List* owner;
0157 void *value;
0158 struct Itcl_ListElem *prev;
0159 struct Itcl_ListElem *next;
0160 } Itcl_ListElem;
0161
0162 typedef struct Itcl_List {
0163 int validate;
0164 Tcl_Size num;
0165 struct Itcl_ListElem *head;
0166 struct Itcl_ListElem *tail;
0167 } Itcl_List;
0168
0169 #define Itcl_FirstListElem(listPtr) ((listPtr)->head)
0170 #define Itcl_LastListElem(listPtr) ((listPtr)->tail)
0171 #define Itcl_NextListElem(elemPtr) ((elemPtr)->next)
0172 #define Itcl_PrevListElem(elemPtr) ((elemPtr)->prev)
0173 #define Itcl_GetListLength(listPtr) ((listPtr)->num)
0174 #define Itcl_GetListValue(elemPtr) ((elemPtr)->value)
0175
0176
0177
0178
0179 typedef struct Itcl_InterpState_ *Itcl_InterpState;
0180
0181
0182
0183
0184
0185
0186 #include "itclDecls.h"
0187
0188 #endif
0189
0190
0191
0192
0193
0194 #ifdef __cplusplus
0195 }
0196 #endif
0197
0198 #endif