summaryrefslogtreecommitdiff
path: root/devtools/swigwin-1.3.34/Lib/tcl/tclapi.swg
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/swigwin-1.3.34/Lib/tcl/tclapi.swg')
-rw-r--r--devtools/swigwin-1.3.34/Lib/tcl/tclapi.swg107
1 files changed, 107 insertions, 0 deletions
diff --git a/devtools/swigwin-1.3.34/Lib/tcl/tclapi.swg b/devtools/swigwin-1.3.34/Lib/tcl/tclapi.swg
new file mode 100644
index 0000000..6b67327
--- /dev/null
+++ b/devtools/swigwin-1.3.34/Lib/tcl/tclapi.swg
@@ -0,0 +1,107 @@
+/* -----------------------------------------------------------------------------
+ * SWIG API. Portion that goes into the runtime
+ * ----------------------------------------------------------------------------- */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* -----------------------------------------------------------------------------
+ * Constant declarations
+ * ----------------------------------------------------------------------------- */
+
+/* Constant Types */
+#define SWIG_TCL_POINTER 4
+#define SWIG_TCL_BINARY 5
+
+/* Constant information structure */
+typedef struct swig_const_info {
+ int type;
+ char *name;
+ long lvalue;
+ double dvalue;
+ void *pvalue;
+ swig_type_info **ptype;
+} swig_const_info;
+
+typedef int (*swig_wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
+typedef int (*swig_wrapper_func)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
+typedef char *(*swig_variable_func)(ClientData, Tcl_Interp *, char *, char *, int);
+typedef void (*swig_delete_func)(ClientData);
+
+typedef struct swig_method {
+ const char *name;
+ swig_wrapper method;
+} swig_method;
+
+typedef struct swig_attribute {
+ const char *name;
+ swig_wrapper getmethod;
+ swig_wrapper setmethod;
+} swig_attribute;
+
+typedef struct swig_class {
+ const char *name;
+ swig_type_info **type;
+ swig_wrapper constructor;
+ void (*destructor)(void *);
+ swig_method *methods;
+ swig_attribute *attributes;
+ struct swig_class **bases;
+ const char **base_names;
+ swig_module_info *module;
+} swig_class;
+
+typedef struct swig_instance {
+ Tcl_Obj *thisptr;
+ void *thisvalue;
+ swig_class *classptr;
+ int destroy;
+ Tcl_Command cmdtok;
+} swig_instance;
+
+/* Structure for command table */
+typedef struct {
+ const char *name;
+ int (*wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
+ ClientData clientdata;
+} swig_command_info;
+
+/* Structure for variable linking table */
+typedef struct {
+ const char *name;
+ void *addr;
+ char * (*get)(ClientData, Tcl_Interp *, char *, char *, int);
+ char * (*set)(ClientData, Tcl_Interp *, char *, char *, int);
+} swig_var_info;
+
+
+/* -----------------------------------------------------------------------------*
+ * Install a constant object
+ * -----------------------------------------------------------------------------*/
+
+static Tcl_HashTable swigconstTable;
+static int swigconstTableinit = 0;
+
+SWIGINTERN void
+SWIG_Tcl_SetConstantObj(Tcl_Interp *interp, const char* name, Tcl_Obj *obj) {
+ int newobj;
+ Tcl_ObjSetVar2(interp,Tcl_NewStringObj(name,-1), NULL, obj, TCL_GLOBAL_ONLY);
+ Tcl_SetHashValue(Tcl_CreateHashEntry(&swigconstTable, name, &newobj), (ClientData) obj);
+}
+
+SWIGINTERN Tcl_Obj *
+SWIG_Tcl_GetConstantObj(const char *key) {
+ Tcl_HashEntry *entryPtr;
+ if (!swigconstTableinit) return 0;
+ entryPtr = Tcl_FindHashEntry(&swigconstTable, key);
+ if (entryPtr) {
+ return (Tcl_Obj *) Tcl_GetHashValue(entryPtr);
+ }
+ return 0;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+