Mercurial > pidgin
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gaim.h Thu Mar 23 03:13:54 2000 +0000 @@ -0,0 +1,591 @@ +/* + * gaim + * + * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#ifdef USE_APPLET +#include <applet-widget.h> +#endif /* USE_APPLET */ + + +/* + 1. gethostbyname(); + 2. connect(); + 3. toc_signon(); + 4. toc_wait_signon(); + 5. toc_wait_config(); + 6. actually done.. +*/ + +#define STATE_OFFLINE 0 +#define STATE_FLAPON 1 +#define STATE_SIGNON_REQUEST 2 +#define STATE_SIGNON_ACK 3 +#define STATE_CONFIG 4 +#define STATE_ONLINE 5 + +#define BROWSER_NETSCAPE 0 +#define BROWSER_KFM 1 +#define BROWSER_MANUAL 2 +#define BROWSER_INTERNAL 3 + +#define UC_AOL 1 +#define UC_ADMIN 2 +#define UC_UNCONFIRMED 4 +#define UC_NORMAL 8 +#define UC_UNAVAILABLE 16 + +#define IDLE_NONE 0 +#define IDLE_GAIM 1 +#define IDLE_SYSTEM 2 + +#define WFLAG_SEND 1 +#define WFLAG_RECV 2 +#define WFLAG_AUTO 4 +#define WFLAG_WHISPER 8 +#define WFLAG_FILERECV 16 +#define WFLAG_SYSTEM 32 + +#define AUTO_RESPONSE "<AUTO-REPLY> : " + +#define PLUGIN_DIR "$HOME/.gaim/plugins/" + +#define REG_EMAIL_ADDR "gaiminfo@blueridge.net" +#define REG_SRVR "blueridge.net" +#define REG_PORT 25 + +extern struct prefs_data *pd; +extern struct debug_window *dw; + +struct aim_user { + char username[64]; + char password[32]; + char user_info[2048]; +}; + +struct save_pos { + int x; + int y; + int width; + int height; + int xoff; + int yoff; +}; + +struct prefs_data { + GtkWidget *window; + GtkWidget *away_list; + struct away_message *cur_message; + GtkWidget *away_text; + char *edited_message; + GtkWidget *browser_entry; + GtkWidget *nwbutton; + GtkWidget *aim_host_entry; + GtkWidget *aim_port_entry; + GtkWidget *login_host_entry; + GtkWidget *login_port_entry; + GtkWidget *http_proxy_host_entry; + GtkWidget *http_proxy_port_entry; + +}; + + +struct option_set { + int *options; + int option; +}; + +struct g_url { + char address[255]; + int port; + char page[255]; +}; + +struct gaim_plugin { + char name[64]; + char filename[512]; +/* char description[256]; + int major_version; + int minor_version; */ + char *(*init_gaim_plugin)(); + void (*toc_receive)(char *); +}; + +struct buddy { + char name[80]; + GtkWidget *item; + GtkWidget *label; + GtkWidget *pix; + GtkWidget *idletime; + int present; + int log_timer; + int evil; + time_t signon; + time_t idle; + int uc; +}; + +struct log_conversation { + char name[80]; + char filename[512]; + struct log_conversation *next; +}; + +struct buddy_pounce { + char name[80]; + char message[2048]; + int popup; + int sendim; +}; + +struct away_message { + char name[80]; + char message[2048]; +}; + +struct group { + GtkWidget *item; + GtkWidget *label; + GtkWidget *tree; + char name[80]; + GList *members; +}; + +struct buddy_chat { + GtkWidget *window; + GtkWidget *text; + GtkWidget *list; + GtkWidget *entry; + GList *in_room; + GList *ignored; + int makesound; + int id; + char name[80]; +}; + +struct chat_room { + char name[128]; + int exchange; +}; + +struct debug_window { + GtkWidget *window; + GtkWidget *entry; +}; + +struct conversation { + GtkWidget *window; + char name[80]; + GtkWidget *text; + GtkWidget *entry; + GtkWidget *italic; + GtkWidget *bold; + GtkWidget *underline; + GtkWidget *palette; + GtkWidget *link; + GtkWidget *add_button; + GtkWidget *log_button; + GtkWidget *strike; + + int makesound; + time_t sent_away; +}; + +struct file_transfer { + GtkWidget *window; + char *cookie; + char *ip; + char *message; + int port; + int size; + int accepted; + char *filename; + char *lfilename; + char *user; + FILE *f; + int fd; +}; + +struct sflap_hdr { + unsigned char ast; + unsigned char type; + unsigned short seqno; + unsigned short len; +}; + +struct signon { + unsigned int ver; + unsigned short tag; + unsigned short namelen; + char username[80]; +}; + +#define LOGIN_STEPS 5 + +#define CONVERSATION_TITLE "Gaim - Conversation with %s" +#define LOG_CONVERSATION_TITLE "Gaim - Conversation with %s (logged)" + +#define FILETRANS_UID "09461343-4C7F-11D1-8222-444553540000" + +#define LAGOMETER_STR "123CHECKLAG456" + +#define AOL_SRCHSTR "/community/aimcheck.adp/url=" + +/* These should all be runtime selectable */ + +#define TOC_HOST "toc.oscar.aol.com" +#define TOC_PORT 9898 +#define AUTH_HOST "login.oscar.aol.com" +#define AUTH_PORT 5190 +#define LANGUAGE "english" + +#define MSG_LEN 2048 +/* The above should normally be the same as BUF_LEN, + * but just so we're explictly asking for the max message + * length. */ +#define BUF_LEN MSG_LEN +#define BUF_LONG BUF_LEN * 2 + + +#define TYPE_SIGNON 1 +#define TYPE_DATA 2 +#define TYPE_ERROR 3 +#define TYPE_SIGNOFF 4 +#define TYPE_KEEPALIVE 5 + +#define REVISION "gaim:$Revision: 10 $" +#define FLAPON "FLAPON\r\n\r\n" + +#define ROAST "Tic/Toc" + + +#define BUDDY_ARRIVE 0 +#define BUDDY_LEAVE 1 +#define SEND 2 +#define RECEIVE 3 +#define FIRST_RECEIVE 4 +#define AWAY 5 + + +#ifdef USE_APPLET +extern GtkWidget *applet; +#endif /* USE_APPLET */ + +/* Globals in oscar.c */ +extern struct aim_conn_t *gaim_conn; + +/* Globals in server.c */ +extern int correction_time; + +/* Globals in network.c */ + +/* Globals in toc.c */ + +/* Globals in aim.c */ +extern GList *permit; /* The list of people permitted */ +extern GList *deny; /* The list of people denied */ +extern GList *log_conversations; +extern GList *buddy_pounces; +extern GList *away_messages; +extern GList *groups; +extern GList *buddy_chats; +extern GList *conversations; +extern GList *chat_rooms; +extern GtkWidget *mainwindow; +extern char *quad_addr; +extern char toc_addy[16]; + +/* Globals in away.c */ +extern struct away_message *awaymessage; +extern GtkWidget *awaymenu; + +/* Globals in buddy.c */ +extern int permdeny; +extern GtkWidget *buddies; +extern GtkWidget *bpmenu; +extern GtkWidget *blist; + +extern int general_options; +#define OPT_GEN_ENTER_SENDS 0x00000001 +#define OPT_GEN_AUTO_LOGIN 0x00000002 +#define OPT_GEN_LOG_ALL 0x00000004 +#define OPT_GEN_STRIP_HTML 0x00000008 +#define OPT_GEN_APP_BUDDY_SHOW 0x00000010 +#define OPT_GEN_POPUP_WINDOWS 0x00000020 +#define OPT_GEN_SEND_LINKS 0x00000040 +#define OPT_GEN_SHOW_LAGMETER 0x00000080 +#define OPT_GEN_DEBUG 0x00000100 +#define OPT_GEN_REMEMBER_PASS 0x00000200 +#define OPT_GEN_REGISTERED 0x00000400 +#define OPT_GEN_BROWSER_POPUP 0x00000800 +#define OPT_GEN_SAVED_WINDOWS 0x00001000 +#define OPT_GEN_DISCARD_WHEN_AWAY 0x00002000 + +extern int display_options; +#define OPT_DISP_SHOW_TIME 0x00000001 +#define OPT_DISP_SHOW_GRPNUM 0x00000002 +#define OPT_DISP_SHOW_PIXMAPS 0x00000004 +#define OPT_DISP_SHOW_IDLETIME 0x00000008 +#define OPT_DISP_SHOW_BUTTON_XPM 0x00000010 +#define OPT_DISP_IGNORE_COLOUR 0x00000020 +#define OPT_DISP_SHOW_LOGON 0x00000040 + +extern int sound_options; +#define OPT_SOUND_LOGIN 0x00000001 +#define OPT_SOUND_LOGOUT 0x00000002 +#define OPT_SOUND_RECV 0x00000004 +#define OPT_SOUND_SEND 0x00000008 +#define OPT_SOUND_FIRST_RCV 0x00000010 +#define OPT_SOUND_WHEN_AWAY 0x00000020 + + +extern int font_options; +#define OPT_FONT_BOLD 0x00000001 +#define OPT_FONT_ITALIC 0x00000002 +#define OPT_FONT_UNDERLINE 0x00000008 +#define OPT_FONT_STRIKE 0x00000010 + +#define DEFAULT_INFO "Visit the GAIM website at <A HREF=\"http://www.marko.net/gaim\">http://www.marko.net/gaim</A>." + +extern int report_idle; +extern int web_browser; +extern struct aim_user *current_user; +extern GList *aim_users; +extern char web_command[2048]; +extern char debug_buff[BUF_LONG]; +extern char aim_host[512]; +extern int aim_port; +extern char login_host[512]; +extern int login_port; +extern struct save_pos blist_pos; + +/* Functions in about.c */ +extern void show_about(GtkWidget *, void *); + + +/* Functions in buddy_chat.c */ +extern void join_chat(); +extern void chat_write(struct buddy_chat *, char *, int, char *); +extern void add_chat_buddy(struct buddy_chat *, char *); +extern void remove_chat_buddy(struct buddy_chat *, char *); +extern void show_new_buddy_chat(struct buddy_chat *); +extern void setup_buddy_chats(); + + + +/* Functions in html.c */ +extern char *fix_url(char *); +extern struct g_url parse_url(char *); +extern char *grab_url(char *); +extern gchar *strip_html(gchar *); + +/* Functions in util.c */ +extern char *normalize(const char *); +extern int escape_text(char *); +extern int escape_message(char *msg); +extern char *frombase64(char *); +extern gint clean_pid(void *); +extern char *date(); +extern gint linkify_text(char *); +extern void aol_icon(GdkWindow *); +extern int query_state(); +extern void set_state(int); +extern FILE *open_log_file (struct conversation *c); +extern char *sec_to_text(int); +extern struct aim_user *find_user(const char *); + + +/* Functions in server.c */ +/* input to serv */ +extern int serv_login(char *, char *); +extern void serv_close(); +extern void serv_touch_idle(); +extern void serv_finish_login(); +extern void serv_send_im(char *, char *, int); +extern void serv_get_info(char *); +extern void serv_get_dir(char *); +extern void serv_set_idle(int); +extern void serv_set_info(char *); +extern void serv_set_away(char *); +extern void serv_add_buddy(char *); +extern void serv_add_buddies(GList *); +extern void serv_remove_buddy(char *); +extern void serv_add_permit(char *); +extern void serv_add_deny(char *); +extern void serv_set_permit_deny(); +extern void serv_save_config(); +extern void serv_warn(char *, int); +extern void serv_set_dir(char *, char *, char *, char *, char *, char *, char *, int); +extern void serv_dir_search(char *, char *, char *, char *, char *, char *, char *, char *); +extern void serv_accept_chat(int); +extern void serv_join_chat(int, char *); +extern void serv_chat_invite(int, char *, char *); +extern void serv_chat_leave(int); +extern void serv_chat_whisper(int, char *, char *); +extern void serv_chat_send(int, char *); + +/* output from serv */ +extern void serv_got_update(char *, int, int, time_t, time_t, int); +extern void serv_got_im(char *, char *, int); +extern void serv_got_eviled(char *, int); +extern void serv_got_chat_invite(char *, int, char *, char *); +extern void serv_got_joined_chat(int, char *); +extern void serv_got_chat_left(int); +extern void serv_got_chat_in(int, char *, int, char *); + +/* Functions in conversation.c */ +extern void write_to_conv(struct conversation *, char *, int); +extern void show_conv(struct conversation *); +extern struct conversation *new_conversation(char *); +extern struct conversation *find_conversation(char *); +extern void delete_conversation(struct conversation *); +extern void surround(GtkWidget *, char *, char *); +extern int is_logging(char *); +extern void set_state_lock(int ); +extern void rm_log(struct log_conversation *a); +extern struct log_conversation *find_log_info(char *name); +extern void remove_tags(GtkWidget *entry, char *tag); +extern void update_log_convs(); +extern void update_transparency(); +extern void update_font_buttons(); + +/* Functions in network.c */ +extern unsigned int *get_address(char *); +extern int connect_address(unsigned int, unsigned short); + +/* Functions in oscar.c */ +extern void oscar_close(); +extern int oscar_login(char *, char *); + +/* Functions in toc.c */ +extern void toc_close(); +extern int toc_login(char *, char *); +extern int toc_wait_signon(void); +extern char *toc_wait_config(void); +extern int sflap_send(char *, int , int ); +extern void parse_toc_buddy_list(char *); + + +/* Functions in buddy.c */ +extern void destroy_buddy(); +extern void update_num_groups(); +extern void update_show_idlepix(); +extern void update_button_pix(); +extern void update_all_buddies(); +extern void show_buddy_list(); +extern void refresh_buddy_window(); +extern void toc_build_config(char *, int len); +extern void signoff(); +extern void do_im_back(); +extern void set_buddy(struct buddy *); +extern struct person *add_person(char *, char *); +extern struct group *add_group(char *); +extern void add_category(char *); +extern void build_edit_tree(); +extern void build_permit_tree(); +extern void remove_person(struct group *, struct buddy *); +extern void remove_category(struct group *); +extern void do_pounce(char *); +extern void do_bp_menu(); +extern struct buddy *find_buddy(char *); +extern struct group *find_group(char *); +extern struct group *find_group_by_buddy(char *); +extern void remove_buddy(struct group *, struct buddy *); +extern struct buddy *add_buddy(char *, char *); +extern void remove_group(struct group *); +extern void update_lagometer(int); + +/* Functions in away.c */ +extern void rem_away_mess(GtkWidget *, struct away_message *); +extern void do_away_message(GtkWidget *, struct away_message *); +extern void do_away_menu(); +extern void away_list_unclicked(GtkWidget *, struct away_message *); +extern void away_list_clicked(GtkWidget *, struct away_message *); + +/* Functions in aim.c */ +extern void hide_login_progress(char *); +extern void set_login_progress(int, char *); +extern void show_login(); +#ifdef USE_APPLET +extern void make_buddy(); +extern void applet_show_login(AppletWidget *, gpointer); +extern void gnome_buddy_show(); +extern void gnome_buddy_hide(); +extern void gnome_buddy_set_pos( gint x, gint y ); +GtkRequisition gnome_buddy_get_dimentions(); +#endif + + +/* Functions in sound.c */ +extern void play_sound(int); + + +#ifdef GAIM_PLUGINS +/* Functions in plugins.c */ +extern void load_plugins(); +#endif + +/* Functions in prefs.c */ +extern void debug_print( char * chars ); +extern void set_general_option(GtkWidget *, int *); +extern void set_option(GtkWidget *, int *); +extern void show_prefs(); + +/* Functions in gaimrc.c */ +extern void set_defaults(); +extern void load_prefs(); +extern void save_prefs(); + + +/*Functions in plugins.c */ +extern void show_plugins(); + +/* Functions in dialogs.c */ +extern void show_warn_dialog(char *); +extern void do_error_dialog(char *, char *); +extern void show_error_dialog(char *); +extern void show_im_dialog(GtkWidget *, GtkWidget *); +extern void show_add_buddy(char *, char *); +extern void show_add_perm(); +extern void destroy_all_dialogs(); +extern void show_export_dialog(); +extern void show_import_dialog(); +extern void show_new_bp(); +extern void show_log_dialog(char *); +extern void show_find_email(); +extern void show_find_info(); +extern void g_show_info (char *); +extern void show_register_dialog(); +extern void show_set_info(); +extern void show_set_dir(); +extern void show_color_dialog(GtkWidget *entrye, GtkWidget *color); +extern void accept_file_dialog(struct file_transfer *); +extern void create_away_mess(GtkWidget *, void *); +extern void show_ee_dialog(int); +extern void show_add_link(GtkWidget *, GtkWidget *); + + +/* Functions in browser.c */ +extern void open_url(GtkWidget *, char *); +extern void open_url_nw(GtkWidget *, char *); +extern void add_bookmark(GtkWidget *, char *); + +/* functions for appletmgr */ +extern char * getConfig(); +