1 /*
2  *
3  * CopyRight Colten Edwards Oct 96
4  *
5  */
6 
7 #ifndef _IRCTCL_H
8 #define _IRCTCL_H
9 
10 int handle_dcc_bot (int, char *);
11 int handle_tcl_chan (int, char *, char *, char *);
12 
13 typedef struct {
14 	char *name;
15 	int  (*func) ();
16 	int access;
17 	char *help;
18 } cmd_t;
19 
20 extern cmd_t C_msg[];
21 extern cmd_t C_dcc[];
22 int check_tcl_dcc (char *, char *, char *, int);
23 
24 void tcl_command (char *, char *, char *, char *);
25 void tcl_load (char *, char *, char *, char *);
26 
27 #ifdef WANT_TCL
28 
29 
30 #include <tcl.h>
31 extern Tcl_Interp *tcl_interp;
32 void check_tcl_tand (char *, char *, char *);
33 void check_tcl_msgm (char *, char *, char *, char *, char *);
34 void check_tcl_pubm (char *, char *, char *, char *);
35 int check_tcl_pub (char *, char *, char *, char *);
36 int check_tcl_msg (char *, char *, char *, char *, char *);
37 int check_tcl_ctcp (char *, char *, char *, char *, char *, char *);
38 
39 
40 void check_tcl_join (char *,char *, char *, char *);
41 int check_tcl_raw (char *, char *);
42 void check_tcl_rejoin (char *,char *,char *,char *);
43 void check_tcl_split (char *,char *,char *,char *);
44 void check_tcl_chat (char *,int, char *);
45 int check_tcl_ctcr (char *,char *,char *,char *,char *,char *);
46 void check_tcl_mode (char *,char *,char *,char *,char *);
47 void check_tcl_kick (char *,char *,char *,char *,char *,char *);
48 void check_tcl_nick (char *,char *,char *,char *, char *);
49 void check_tcl_topc (char *,char *,char *,char *,char *);
50 void check_tcl_sign (char *, char *,char *, char *,char *);
51 void check_tcl_part (char *, char *, char *, char *);
52 int check_help_bind (char *);
53 int check_tcl_input (char *);
54 int check_on_hook (int, char *);
55 void check_timers (void);
56 void check_utimers (void);
57 void tcl_list_timer (Tcl_Interp *, TimerList *);
58 int check_on_hook (int, char *);
59 void add_tcl_vars(void);
60 
61 void tcl_init (void);
62 void add_to_tcl(Window *, char *);
63 void init_public_tcl(Tcl_Interp *);
64 void init_public_var(Tcl_Interp *);
65 int Tcl_Invoke(Tcl_Interp *, char *, char *);
66 
67 
68 #define STDVAR (ClientData cd, Tcl_Interp *irp, int argc, char *argv[])
69 
70 #define BADARGS(nl,nh,example) \
71   if ((argc<(nl)) || (argc>(nh))) { \
72     Tcl_AppendResult(irp,"wrong # args: should be \"",argv[0], \
73 		     (example),"\"",NULL); \
74     return TCL_ERROR; \
75   }
76 
77 
78 #endif
79 
80 #endif
81