|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef ITCL_H_INCLUDED |
|
#define ITCL_H_INCLUDED |
|
|
|
#include <tcl.h> |
|
|
|
#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION < 6) |
|
# error Itcl 4 build requires tcl.h from Tcl 8.6 or later |
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
#ifndef TCL_ALPHA_RELEASE |
|
# define TCL_ALPHA_RELEASE 0 |
|
#endif |
|
#ifndef TCL_BETA_RELEASE |
|
# define TCL_BETA_RELEASE 1 |
|
#endif |
|
#ifndef TCL_FINAL_RELEASE |
|
# define TCL_FINAL_RELEASE 2 |
|
#endif |
|
|
|
#define ITCL_MAJOR_VERSION 4 |
|
#define ITCL_MINOR_VERSION 2 |
|
#define ITCL_RELEASE_LEVEL TCL_FINAL_RELEASE |
|
#define ITCL_RELEASE_SERIAL 2 |
|
|
|
#define ITCL_VERSION "4.2" |
|
#define ITCL_PATCH_LEVEL "4.2.2" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef RC_INVOKED |
|
|
|
#define ITCL_NAMESPACE "::itcl" |
|
|
|
#ifndef ITCLAPI |
|
# if defined(BUILD_itcl) |
|
# define ITCLAPI MODULE_SCOPE |
|
# else |
|
# define ITCLAPI extern |
|
# undef USE_ITCL_STUBS |
|
# define USE_ITCL_STUBS 1 |
|
# endif |
|
#endif |
|
|
|
#if defined(BUILD_itcl) && !defined(STATIC_BUILD) |
|
# define ITCL_EXTERN extern DLLEXPORT |
|
#else |
|
# define ITCL_EXTERN extern |
|
#endif |
|
|
|
ITCL_EXTERN int Itcl_Init(Tcl_Interp *interp); |
|
ITCL_EXTERN int Itcl_SafeInit(Tcl_Interp *interp); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define ITCL_PUBLIC 1 |
|
#define ITCL_PROTECTED 2 |
|
#define ITCL_PRIVATE 3 |
|
#define ITCL_DEFAULT_PROTECT 4 |
|
|
|
|
|
|
|
|
|
typedef struct Itcl_Stack { |
|
ClientData *values; |
|
int len; |
|
int max; |
|
ClientData space[5]; |
|
} Itcl_Stack; |
|
|
|
#define Itcl_GetStackSize(stackPtr) ((stackPtr)->len) |
|
|
|
|
|
|
|
|
|
struct Itcl_List; |
|
typedef struct Itcl_ListElem { |
|
struct Itcl_List* owner; |
|
ClientData value; |
|
struct Itcl_ListElem *prev; |
|
struct Itcl_ListElem *next; |
|
} Itcl_ListElem; |
|
|
|
typedef struct Itcl_List { |
|
int validate; |
|
int num; |
|
struct Itcl_ListElem *head; |
|
struct Itcl_ListElem *tail; |
|
} Itcl_List; |
|
|
|
#define Itcl_FirstListElem(listPtr) ((listPtr)->head) |
|
#define Itcl_LastListElem(listPtr) ((listPtr)->tail) |
|
#define Itcl_NextListElem(elemPtr) ((elemPtr)->next) |
|
#define Itcl_PrevListElem(elemPtr) ((elemPtr)->prev) |
|
#define Itcl_GetListLength(listPtr) ((listPtr)->num) |
|
#define Itcl_GetListValue(elemPtr) ((elemPtr)->value) |
|
|
|
|
|
|
|
|
|
typedef struct Itcl_InterpState_ *Itcl_InterpState; |
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "itclDecls.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif |
|
|