1 /*  pckt_comm.c
2  *
3  *  copyright (c) 2000-2003 SeaD
4  *  see GPL for copying info
5  *
6  */
7 
8 #include "echat.h"
9 /* #include "pckt_epak.h" */
10 #include "pckt_vpak.h"
11 #include "pckt_ppak.h"
12 
pars_number(void)13 int pars_number(void) {
14     char ch;
15     register int n;
16 
17     ch = *packet - '0';
18     for (n = 0; n < MSG_SIZE; n++) packet[n] = packet[n+1];
19     return ((int) ch);
20 }
21 
pars_word(void)22 char *pars_word(void) {
23     register int n, m;
24 
25     for (n = 0; n < MSG_SIZE; n++) if (packet[n] == MSG_SPLIT) break;
26     for (m = ++n, n = 0; m < MSG_SIZE; n++, m++) packet[n] = packet[m];
27     return (packet);
28 }
29 
recv_message(void)30 void recv_message(void) {
31     if (config->packet_vchat ||
32         config->packet_qchat) pars_vmessage();
33     else if (config->packet_pchat) pars_pmessage();
34     else return;
35 }
36 
send_welcome(void)37 void send_welcome(void) {
38     if (config->packet_vchat) make_vjoin();
39     else if (config->packet_qchat) make_qjoin();
40     else if (config->packet_pchat) {
41         make_pwelcome();
42     }
43     else return;
44     sock_bsend();
45 }
46 
send_bye(void)47 void send_bye(void) {
48     if (config->packet_vchat) make_vleave();
49     else if (config->packet_qchat) make_qleave();
50     else if (config->packet_pchat) {
51         make_pbye();
52     }
53     else return;
54     sock_bsend();
55 }
56 
send_join(void)57 void send_join(void) {
58     if (config->packet_vchat) make_vjoin();
59     else if (config->packet_qchat) make_qjoin();
60     else if (config->packet_pchat) {
61         make_pwelcome();
62         make_pjoin();
63     }
64     else return;
65     sock_bsend();
66 }
67 
send_leave(void)68 void send_leave(void) {
69     if (config->packet_vchat) make_vleave();
70     else if (config->packet_qchat) make_qleave();
71     else if (config->packet_pchat) {
72         make_pbye();
73         make_pleave();
74     }
75     else return;
76     sock_bsend();
77 }
78 
send_here(void)79 void send_here(void) {
80     if (config->packet_vchat ||
81         config->packet_qchat) make_vhere();
82     else if (config->packet_pchat) make_phere();
83     else return;
84     sock_bsend();
85 }
86 
send_herewe(void)87 void send_herewe(void) {
88     if (config->packet_vchat ||
89         config->packet_qchat) make_vherewe();
90     else if (config->packet_pchat) make_phereim();
91     else return;
92     if (config->packet_bcast) sock_bsend();
93     else sock_usend();
94     status_ok(MAKE_SHERE);
95 }
96 
send_herewho(void)97 void send_herewho(void) {
98     if (config->packet_vchat ||
99         config->packet_qchat) make_vherewho();
100     else if (config->packet_pchat) make_pherewho();
101     else return;
102     sock_bsend();
103 }
104 
send_hereim(void)105 void send_hereim(void) {
106     if (config->packet_vchat ||
107         config->packet_qchat) make_vhereim();
108     else if (config->packet_pchat) make_phereim();
109     else return;
110     if (config->packet_bcast) sock_bsend();
111     else sock_usend();
112 }
113 
send_chat(void)114 void send_chat(void) {
115     if (config->packet_vchat ||
116         config->packet_qchat) make_vchat();
117     else if (config->packet_pchat) make_pchat();
118     else return;
119     sock_bsend();
120     status_ok(MAKE_SCHAT);
121 }
122 
send_me(void)123 void send_me(void) {
124     if (config->packet_vchat ||
125         config->packet_qchat) make_vme();
126     else if (config->packet_pchat) make_pme();
127     else return;
128     sock_bsend();
129     status_ok(MAKE_SME);
130 }
131 
send_mesg(void)132 void send_mesg(void) {
133     if (config->packet_vchat ||
134         config->packet_qchat) make_vmesg();
135     else if (config->packet_pchat) make_pmesg();
136     else return;
137     if (config->packet_bcast) sock_bsend();
138     else sock_usend();
139     status_ok(MAKE_SMESG);
140 }
141 
send_mass(void)142 void send_mass(void) {
143     if (config->packet_vchat ||
144         config->packet_qchat) make_vmass();
145     else if (config->packet_pchat) make_pmass();
146     else return;
147     if (config->packet_bcast) sock_bsend();
148     else sock_usend();
149     status_ok(MAKE_SMASS);
150 }
151 
send_mesgack(void)152 void send_mesgack(void) {
153     if (config->packet_vchat) make_vmesgack();
154     else if (config->packet_qchat) make_qmesgack();
155     else if (config->packet_pchat) make_pmesgack();
156     else return;
157     if (config->packet_bcast) sock_bsend();
158     else sock_usend();
159 }
160 
send_topic(void)161 void send_topic(void) {
162     if (config->packet_vchat) make_vtopic();
163     else if (config->packet_qchat) make_qtopic();
164     else if (config->packet_pchat) make_ptopic();
165     else return;
166     if (config->packet_bcast) sock_bsend();
167     else sock_usend();
168 }
169 
send_topicreq(void)170 void send_topicreq(void) {
171     return;
172 }
173 
send_topicnew(void)174 void send_topicnew(void) {
175     if (config->packet_vchat) make_vtopicnew();
176     else if (config->packet_qchat) make_qtopicnew();
177     else if (config->packet_pchat) make_ptopicnew();
178     else return;
179     sock_bsend();
180     status_ok(MAKE_STOPIC);
181 }
182 
send_nick(void)183 void send_nick(void) {
184     if (config->packet_vchat) make_vnick();
185     else if (config->packet_qchat) make_qnick();
186     else if (config->packet_pchat) make_pnick();
187     else return;
188     sock_bsend();
189     status_ok(MAKE_SNICK);
190 }
191 
send_mode(void)192 void send_mode(void) {
193     if (config->packet_vchat) make_vmode();
194     else if (config->packet_qchat) make_qmode();
195     else if (config->packet_pchat) make_pmode();
196     else return;
197     sock_bsend();
198     status_ok(MAKE_SMODE);
199 }
200 
send_active(void)201 void send_active(void) {
202     if (config->packet_vchat ||
203         config->packet_qchat) make_vactive();
204     else if (config->packet_pchat) make_pactive();
205     else return;
206     sock_bsend();
207     status_ok(MAKE_SACTIVE);
208 }
209 
send_privjoin(void)210 void send_privjoin(void) {
211     if (config->packet_vchat) make_vprivatjoin();
212     else if (config->packet_qchat) make_qprivatjoin();
213     else if (config->packet_pchat) make_pprivjoin();
214     else return;
215     if (config->packet_bcast) sock_bsend();
216     else sock_usend();
217     status_ok(MAKE_SPRIVJOIN);
218 }
219 
send_privjoinack(void)220 void send_privjoinack(void) {
221     if (config->packet_pchat) make_pprivjoinack();
222     else return;
223     if (config->packet_bcast) sock_bsend();
224     else sock_usend();
225 }
226 
send_privleave(void)227 void send_privleave(void) {
228     if (config->packet_vchat) make_vprivatleave();
229     else if (config->packet_qchat) make_qprivatleave();
230     else if (config->packet_pchat) make_pprivleave();
231     else return;
232     if (config->packet_bcast) sock_bsend();
233     else sock_usend();
234     status_ok(MAKE_SPRIVLEAVE);
235 }
236 
send_privchat(void)237 void send_privchat(void) {
238     if (config->packet_vchat ||
239         config->packet_qchat) make_vprivatchat();
240     else if (config->packet_pchat) make_pchat();
241     else return;
242     if (config->packet_bcast) sock_bsend();
243     else sock_usend();
244     status_ok(MAKE_SPRIVCHAT);
245 }
246 
send_privme(void)247 void send_privme(void) {
248     if (config->packet_vchat ||
249         config->packet_qchat) make_vprivatme();
250     else if (config->packet_pchat) make_pme();
251     else return;
252     if (config->packet_bcast) sock_bsend();
253     else sock_usend();
254     status_ok(MAKE_SPRIVME);
255 }
256 
send_beep(void)257 void send_beep(void) {
258     if (config->packet_vchat ||
259         config->packet_qchat) make_vbeepbeep();
260     else if (config->packet_pchat) make_pbeep();
261     else return;
262     if (config->packet_bcast) sock_bsend();
263     else sock_usend();
264     status_ok(MAKE_SBEEP);
265 }
266 
send_beepack(void)267 void send_beepack(void) {
268     if (config->packet_vchat) make_vbeepack();
269     else if (config->packet_qchat) make_qbeepack();
270     else if (config->packet_pchat) make_pbeepack();
271     else return;
272     if (config->packet_bcast) sock_bsend();
273     else sock_usend();
274 }
275 
send_info(void)276 void send_info(void) {
277     if (config->packet_vchat ||
278         config->packet_qchat) make_vinfo();
279     else if (config->packet_pchat) make_pinfo();
280     else return;
281     if (config->packet_bcast) sock_bsend();
282     else sock_usend();
283 }
284 
send_inform(void)285 void send_inform(void) {
286     if (config->packet_vchat) make_vinform();
287     else if (config->packet_qchat) make_qinform();
288     else if (config->packet_pchat) make_pinform();
289     else return;
290     if (config->packet_bcast) sock_bsend();
291     else sock_usend();
292     status_ok(MAKE_SINFO);
293 }
294 
send_exec(void)295 void send_exec(void) {
296     if (config->packet_vchat ||
297         config->packet_qchat) make_vexec();
298     else if (config->packet_pchat) make_pexec();
299     else return;
300     if (config->packet_bcast) sock_bsend();
301     else sock_usend();
302 }
303 
send_execack(void)304 void send_execack(void) {
305     if (config->packet_vchat ||
306         config->packet_qchat) make_vexecack();
307     else if (config->packet_pchat) make_pexecack();
308     else return;
309     if (config->packet_bcast) sock_bsend();
310     else sock_usend();
311 }
312 
send_userchnls(void)313 void send_userchnls(void) {
314     if (config->packet_vchat ||
315         config->packet_qchat) make_vuserchnls();
316     else if (config->packet_pchat) make_pchnls();
317     else return;
318     sock_bsend();
319 }
320 
send_userchnlslist(void)321 void send_userchnlslist(void) {
322     if (config->packet_vchat ||
323         config->packet_qchat) make_vuserchnlslist();
324     else if (config->packet_pchat) make_pchnlslist();
325     else return;
326     if (config->packet_bcast) sock_bsend();
327     else sock_usend();
328 }
329