comparison src/gaim.h @ 1:2846a03bda67

[gaim-migrate @ 10] The other missing files :) committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Thu, 23 Mar 2000 03:13:54 +0000
parents
children 34db9f242899
comparison
equal deleted inserted replaced
0:a5ace2e037bc 1:2846a03bda67
1 /*
2 * gaim
3 *
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 */
21
22 #ifdef USE_APPLET
23 #include <applet-widget.h>
24 #endif /* USE_APPLET */
25
26
27 /*
28 1. gethostbyname();
29 2. connect();
30 3. toc_signon();
31 4. toc_wait_signon();
32 5. toc_wait_config();
33 6. actually done..
34 */
35
36 #define STATE_OFFLINE 0
37 #define STATE_FLAPON 1
38 #define STATE_SIGNON_REQUEST 2
39 #define STATE_SIGNON_ACK 3
40 #define STATE_CONFIG 4
41 #define STATE_ONLINE 5
42
43 #define BROWSER_NETSCAPE 0
44 #define BROWSER_KFM 1
45 #define BROWSER_MANUAL 2
46 #define BROWSER_INTERNAL 3
47
48 #define UC_AOL 1
49 #define UC_ADMIN 2
50 #define UC_UNCONFIRMED 4
51 #define UC_NORMAL 8
52 #define UC_UNAVAILABLE 16
53
54 #define IDLE_NONE 0
55 #define IDLE_GAIM 1
56 #define IDLE_SYSTEM 2
57
58 #define WFLAG_SEND 1
59 #define WFLAG_RECV 2
60 #define WFLAG_AUTO 4
61 #define WFLAG_WHISPER 8
62 #define WFLAG_FILERECV 16
63 #define WFLAG_SYSTEM 32
64
65 #define AUTO_RESPONSE "<AUTO-REPLY> : "
66
67 #define PLUGIN_DIR "$HOME/.gaim/plugins/"
68
69 #define REG_EMAIL_ADDR "gaiminfo@blueridge.net"
70 #define REG_SRVR "blueridge.net"
71 #define REG_PORT 25
72
73 extern struct prefs_data *pd;
74 extern struct debug_window *dw;
75
76 struct aim_user {
77 char username[64];
78 char password[32];
79 char user_info[2048];
80 };
81
82 struct save_pos {
83 int x;
84 int y;
85 int width;
86 int height;
87 int xoff;
88 int yoff;
89 };
90
91 struct prefs_data {
92 GtkWidget *window;
93 GtkWidget *away_list;
94 struct away_message *cur_message;
95 GtkWidget *away_text;
96 char *edited_message;
97 GtkWidget *browser_entry;
98 GtkWidget *nwbutton;
99 GtkWidget *aim_host_entry;
100 GtkWidget *aim_port_entry;
101 GtkWidget *login_host_entry;
102 GtkWidget *login_port_entry;
103 GtkWidget *http_proxy_host_entry;
104 GtkWidget *http_proxy_port_entry;
105
106 };
107
108
109 struct option_set {
110 int *options;
111 int option;
112 };
113
114 struct g_url {
115 char address[255];
116 int port;
117 char page[255];
118 };
119
120 struct gaim_plugin {
121 char name[64];
122 char filename[512];
123 /* char description[256];
124 int major_version;
125 int minor_version; */
126 char *(*init_gaim_plugin)();
127 void (*toc_receive)(char *);
128 };
129
130 struct buddy {
131 char name[80];
132 GtkWidget *item;
133 GtkWidget *label;
134 GtkWidget *pix;
135 GtkWidget *idletime;
136 int present;
137 int log_timer;
138 int evil;
139 time_t signon;
140 time_t idle;
141 int uc;
142 };
143
144 struct log_conversation {
145 char name[80];
146 char filename[512];
147 struct log_conversation *next;
148 };
149
150 struct buddy_pounce {
151 char name[80];
152 char message[2048];
153 int popup;
154 int sendim;
155 };
156
157 struct away_message {
158 char name[80];
159 char message[2048];
160 };
161
162 struct group {
163 GtkWidget *item;
164 GtkWidget *label;
165 GtkWidget *tree;
166 char name[80];
167 GList *members;
168 };
169
170 struct buddy_chat {
171 GtkWidget *window;
172 GtkWidget *text;
173 GtkWidget *list;
174 GtkWidget *entry;
175 GList *in_room;
176 GList *ignored;
177 int makesound;
178 int id;
179 char name[80];
180 };
181
182 struct chat_room {
183 char name[128];
184 int exchange;
185 };
186
187 struct debug_window {
188 GtkWidget *window;
189 GtkWidget *entry;
190 };
191
192 struct conversation {
193 GtkWidget *window;
194 char name[80];
195 GtkWidget *text;
196 GtkWidget *entry;
197 GtkWidget *italic;
198 GtkWidget *bold;
199 GtkWidget *underline;
200 GtkWidget *palette;
201 GtkWidget *link;
202 GtkWidget *add_button;
203 GtkWidget *log_button;
204 GtkWidget *strike;
205
206 int makesound;
207 time_t sent_away;
208 };
209
210 struct file_transfer {
211 GtkWidget *window;
212 char *cookie;
213 char *ip;
214 char *message;
215 int port;
216 int size;
217 int accepted;
218 char *filename;
219 char *lfilename;
220 char *user;
221 FILE *f;
222 int fd;
223 };
224
225 struct sflap_hdr {
226 unsigned char ast;
227 unsigned char type;
228 unsigned short seqno;
229 unsigned short len;
230 };
231
232 struct signon {
233 unsigned int ver;
234 unsigned short tag;
235 unsigned short namelen;
236 char username[80];
237 };
238
239 #define LOGIN_STEPS 5
240
241 #define CONVERSATION_TITLE "Gaim - Conversation with %s"
242 #define LOG_CONVERSATION_TITLE "Gaim - Conversation with %s (logged)"
243
244 #define FILETRANS_UID "09461343-4C7F-11D1-8222-444553540000"
245
246 #define LAGOMETER_STR "123CHECKLAG456"
247
248 #define AOL_SRCHSTR "/community/aimcheck.adp/url="
249
250 /* These should all be runtime selectable */
251
252 #define TOC_HOST "toc.oscar.aol.com"
253 #define TOC_PORT 9898
254 #define AUTH_HOST "login.oscar.aol.com"
255 #define AUTH_PORT 5190
256 #define LANGUAGE "english"
257
258 #define MSG_LEN 2048
259 /* The above should normally be the same as BUF_LEN,
260 * but just so we're explictly asking for the max message
261 * length. */
262 #define BUF_LEN MSG_LEN
263 #define BUF_LONG BUF_LEN * 2
264
265
266 #define TYPE_SIGNON 1
267 #define TYPE_DATA 2
268 #define TYPE_ERROR 3
269 #define TYPE_SIGNOFF 4
270 #define TYPE_KEEPALIVE 5
271
272 #define REVISION "gaim:$Revision: 10 $"
273 #define FLAPON "FLAPON\r\n\r\n"
274
275 #define ROAST "Tic/Toc"
276
277
278 #define BUDDY_ARRIVE 0
279 #define BUDDY_LEAVE 1
280 #define SEND 2
281 #define RECEIVE 3
282 #define FIRST_RECEIVE 4
283 #define AWAY 5
284
285
286 #ifdef USE_APPLET
287 extern GtkWidget *applet;
288 #endif /* USE_APPLET */
289
290 /* Globals in oscar.c */
291 extern struct aim_conn_t *gaim_conn;
292
293 /* Globals in server.c */
294 extern int correction_time;
295
296 /* Globals in network.c */
297
298 /* Globals in toc.c */
299
300 /* Globals in aim.c */
301 extern GList *permit; /* The list of people permitted */
302 extern GList *deny; /* The list of people denied */
303 extern GList *log_conversations;
304 extern GList *buddy_pounces;
305 extern GList *away_messages;
306 extern GList *groups;
307 extern GList *buddy_chats;
308 extern GList *conversations;
309 extern GList *chat_rooms;
310 extern GtkWidget *mainwindow;
311 extern char *quad_addr;
312 extern char toc_addy[16];
313
314 /* Globals in away.c */
315 extern struct away_message *awaymessage;
316 extern GtkWidget *awaymenu;
317
318 /* Globals in buddy.c */
319 extern int permdeny;
320 extern GtkWidget *buddies;
321 extern GtkWidget *bpmenu;
322 extern GtkWidget *blist;
323
324 extern int general_options;
325 #define OPT_GEN_ENTER_SENDS 0x00000001
326 #define OPT_GEN_AUTO_LOGIN 0x00000002
327 #define OPT_GEN_LOG_ALL 0x00000004
328 #define OPT_GEN_STRIP_HTML 0x00000008
329 #define OPT_GEN_APP_BUDDY_SHOW 0x00000010
330 #define OPT_GEN_POPUP_WINDOWS 0x00000020
331 #define OPT_GEN_SEND_LINKS 0x00000040
332 #define OPT_GEN_SHOW_LAGMETER 0x00000080
333 #define OPT_GEN_DEBUG 0x00000100
334 #define OPT_GEN_REMEMBER_PASS 0x00000200
335 #define OPT_GEN_REGISTERED 0x00000400
336 #define OPT_GEN_BROWSER_POPUP 0x00000800
337 #define OPT_GEN_SAVED_WINDOWS 0x00001000
338 #define OPT_GEN_DISCARD_WHEN_AWAY 0x00002000
339
340 extern int display_options;
341 #define OPT_DISP_SHOW_TIME 0x00000001
342 #define OPT_DISP_SHOW_GRPNUM 0x00000002
343 #define OPT_DISP_SHOW_PIXMAPS 0x00000004
344 #define OPT_DISP_SHOW_IDLETIME 0x00000008
345 #define OPT_DISP_SHOW_BUTTON_XPM 0x00000010
346 #define OPT_DISP_IGNORE_COLOUR 0x00000020
347 #define OPT_DISP_SHOW_LOGON 0x00000040
348
349 extern int sound_options;
350 #define OPT_SOUND_LOGIN 0x00000001
351 #define OPT_SOUND_LOGOUT 0x00000002
352 #define OPT_SOUND_RECV 0x00000004
353 #define OPT_SOUND_SEND 0x00000008
354 #define OPT_SOUND_FIRST_RCV 0x00000010
355 #define OPT_SOUND_WHEN_AWAY 0x00000020
356
357
358 extern int font_options;
359 #define OPT_FONT_BOLD 0x00000001
360 #define OPT_FONT_ITALIC 0x00000002
361 #define OPT_FONT_UNDERLINE 0x00000008
362 #define OPT_FONT_STRIKE 0x00000010
363
364 #define DEFAULT_INFO "Visit the GAIM website at <A HREF=\"http://www.marko.net/gaim\">http://www.marko.net/gaim</A>."
365
366 extern int report_idle;
367 extern int web_browser;
368 extern struct aim_user *current_user;
369 extern GList *aim_users;
370 extern char web_command[2048];
371 extern char debug_buff[BUF_LONG];
372 extern char aim_host[512];
373 extern int aim_port;
374 extern char login_host[512];
375 extern int login_port;
376 extern struct save_pos blist_pos;
377
378 /* Functions in about.c */
379 extern void show_about(GtkWidget *, void *);
380
381
382 /* Functions in buddy_chat.c */
383 extern void join_chat();
384 extern void chat_write(struct buddy_chat *, char *, int, char *);
385 extern void add_chat_buddy(struct buddy_chat *, char *);
386 extern void remove_chat_buddy(struct buddy_chat *, char *);
387 extern void show_new_buddy_chat(struct buddy_chat *);
388 extern void setup_buddy_chats();
389
390
391
392 /* Functions in html.c */
393 extern char *fix_url(char *);
394 extern struct g_url parse_url(char *);
395 extern char *grab_url(char *);
396 extern gchar *strip_html(gchar *);
397
398 /* Functions in util.c */
399 extern char *normalize(const char *);
400 extern int escape_text(char *);
401 extern int escape_message(char *msg);
402 extern char *frombase64(char *);
403 extern gint clean_pid(void *);
404 extern char *date();
405 extern gint linkify_text(char *);
406 extern void aol_icon(GdkWindow *);
407 extern int query_state();
408 extern void set_state(int);
409 extern FILE *open_log_file (struct conversation *c);
410 extern char *sec_to_text(int);
411 extern struct aim_user *find_user(const char *);
412
413
414 /* Functions in server.c */
415 /* input to serv */
416 extern int serv_login(char *, char *);
417 extern void serv_close();
418 extern void serv_touch_idle();
419 extern void serv_finish_login();
420 extern void serv_send_im(char *, char *, int);
421 extern void serv_get_info(char *);
422 extern void serv_get_dir(char *);
423 extern void serv_set_idle(int);
424 extern void serv_set_info(char *);
425 extern void serv_set_away(char *);
426 extern void serv_add_buddy(char *);
427 extern void serv_add_buddies(GList *);
428 extern void serv_remove_buddy(char *);
429 extern void serv_add_permit(char *);
430 extern void serv_add_deny(char *);
431 extern void serv_set_permit_deny();
432 extern void serv_save_config();
433 extern void serv_warn(char *, int);
434 extern void serv_set_dir(char *, char *, char *, char *, char *, char *, char *, int);
435 extern void serv_dir_search(char *, char *, char *, char *, char *, char *, char *, char *);
436 extern void serv_accept_chat(int);
437 extern void serv_join_chat(int, char *);
438 extern void serv_chat_invite(int, char *, char *);
439 extern void serv_chat_leave(int);
440 extern void serv_chat_whisper(int, char *, char *);
441 extern void serv_chat_send(int, char *);
442
443 /* output from serv */
444 extern void serv_got_update(char *, int, int, time_t, time_t, int);
445 extern void serv_got_im(char *, char *, int);
446 extern void serv_got_eviled(char *, int);
447 extern void serv_got_chat_invite(char *, int, char *, char *);
448 extern void serv_got_joined_chat(int, char *);
449 extern void serv_got_chat_left(int);
450 extern void serv_got_chat_in(int, char *, int, char *);
451
452 /* Functions in conversation.c */
453 extern void write_to_conv(struct conversation *, char *, int);
454 extern void show_conv(struct conversation *);
455 extern struct conversation *new_conversation(char *);
456 extern struct conversation *find_conversation(char *);
457 extern void delete_conversation(struct conversation *);
458 extern void surround(GtkWidget *, char *, char *);
459 extern int is_logging(char *);
460 extern void set_state_lock(int );
461 extern void rm_log(struct log_conversation *a);
462 extern struct log_conversation *find_log_info(char *name);
463 extern void remove_tags(GtkWidget *entry, char *tag);
464 extern void update_log_convs();
465 extern void update_transparency();
466 extern void update_font_buttons();
467
468 /* Functions in network.c */
469 extern unsigned int *get_address(char *);
470 extern int connect_address(unsigned int, unsigned short);
471
472 /* Functions in oscar.c */
473 extern void oscar_close();
474 extern int oscar_login(char *, char *);
475
476 /* Functions in toc.c */
477 extern void toc_close();
478 extern int toc_login(char *, char *);
479 extern int toc_wait_signon(void);
480 extern char *toc_wait_config(void);
481 extern int sflap_send(char *, int , int );
482 extern void parse_toc_buddy_list(char *);
483
484
485 /* Functions in buddy.c */
486 extern void destroy_buddy();
487 extern void update_num_groups();
488 extern void update_show_idlepix();
489 extern void update_button_pix();
490 extern void update_all_buddies();
491 extern void show_buddy_list();
492 extern void refresh_buddy_window();
493 extern void toc_build_config(char *, int len);
494 extern void signoff();
495 extern void do_im_back();
496 extern void set_buddy(struct buddy *);
497 extern struct person *add_person(char *, char *);
498 extern struct group *add_group(char *);
499 extern void add_category(char *);
500 extern void build_edit_tree();
501 extern void build_permit_tree();
502 extern void remove_person(struct group *, struct buddy *);
503 extern void remove_category(struct group *);
504 extern void do_pounce(char *);
505 extern void do_bp_menu();
506 extern struct buddy *find_buddy(char *);
507 extern struct group *find_group(char *);
508 extern struct group *find_group_by_buddy(char *);
509 extern void remove_buddy(struct group *, struct buddy *);
510 extern struct buddy *add_buddy(char *, char *);
511 extern void remove_group(struct group *);
512 extern void update_lagometer(int);
513
514 /* Functions in away.c */
515 extern void rem_away_mess(GtkWidget *, struct away_message *);
516 extern void do_away_message(GtkWidget *, struct away_message *);
517 extern void do_away_menu();
518 extern void away_list_unclicked(GtkWidget *, struct away_message *);
519 extern void away_list_clicked(GtkWidget *, struct away_message *);
520
521 /* Functions in aim.c */
522 extern void hide_login_progress(char *);
523 extern void set_login_progress(int, char *);
524 extern void show_login();
525 #ifdef USE_APPLET
526 extern void make_buddy();
527 extern void applet_show_login(AppletWidget *, gpointer);
528 extern void gnome_buddy_show();
529 extern void gnome_buddy_hide();
530 extern void gnome_buddy_set_pos( gint x, gint y );
531 GtkRequisition gnome_buddy_get_dimentions();
532 #endif
533
534
535 /* Functions in sound.c */
536 extern void play_sound(int);
537
538
539 #ifdef GAIM_PLUGINS
540 /* Functions in plugins.c */
541 extern void load_plugins();
542 #endif
543
544 /* Functions in prefs.c */
545 extern void debug_print( char * chars );
546 extern void set_general_option(GtkWidget *, int *);
547 extern void set_option(GtkWidget *, int *);
548 extern void show_prefs();
549
550 /* Functions in gaimrc.c */
551 extern void set_defaults();
552 extern void load_prefs();
553 extern void save_prefs();
554
555
556 /*Functions in plugins.c */
557 extern void show_plugins();
558
559 /* Functions in dialogs.c */
560 extern void show_warn_dialog(char *);
561 extern void do_error_dialog(char *, char *);
562 extern void show_error_dialog(char *);
563 extern void show_im_dialog(GtkWidget *, GtkWidget *);
564 extern void show_add_buddy(char *, char *);
565 extern void show_add_perm();
566 extern void destroy_all_dialogs();
567 extern void show_export_dialog();
568 extern void show_import_dialog();
569 extern void show_new_bp();
570 extern void show_log_dialog(char *);
571 extern void show_find_email();
572 extern void show_find_info();
573 extern void g_show_info (char *);
574 extern void show_register_dialog();
575 extern void show_set_info();
576 extern void show_set_dir();
577 extern void show_color_dialog(GtkWidget *entrye, GtkWidget *color);
578 extern void accept_file_dialog(struct file_transfer *);
579 extern void create_away_mess(GtkWidget *, void *);
580 extern void show_ee_dialog(int);
581 extern void show_add_link(GtkWidget *, GtkWidget *);
582
583
584 /* Functions in browser.c */
585 extern void open_url(GtkWidget *, char *);
586 extern void open_url_nw(GtkWidget *, char *);
587 extern void add_bookmark(GtkWidget *, char *);
588
589 /* functions for appletmgr */
590 extern char * getConfig();
591