+int ir_tcl_method (Tcl_Interp *interp, int argc, char **argv,
+ IrTcl_Methods *tab, int *ret);
+int ir_tcl_get_set_int (int *val, Tcl_Interp *interp, int argc, char **argv);
+
+typedef struct {
+ const char *name;
+ int (*ir_init) (ClientData clientData, Tcl_Interp *interp,
+ int argc, char **argv, ClientData *subData,
+ ClientData parentData);
+ int (*ir_method) (ClientData clientData, Tcl_Interp *interp,
+ int argc, char **argv);
+ void (*ir_delete)(ClientData clientData);
+} IrTcl_Class;
+
+extern IrTcl_Class ir_obj_class;
+extern IrTcl_Class ir_set_obj_class;
+
+void ir_select_add (int fd, void *obj);
+void ir_select_add_write (int fd, void *obj);
+void ir_select_remove (int fd, void *obj);
+void ir_select_remove_write (int fd, void *obj);
+
+int ir_tcl_eval (Tcl_Interp *interp, const char *command);
+void ir_tcl_disconnect (IrTcl_Obj *p);
+