ekg2
|
00001 #ifndef __ICQ_CAPS_H 00002 #define __ICQ_CAPS_H 00003 00004 #include <ekg/dynstuff.h> 00005 00006 typedef enum { 00007 CAP_HTML = 0, 00008 CAP_NEWCAPS, /* Client understands new format of caps */ 00009 CAP_VOICE, /* Client supports voice chat */ 00010 CAP_AIMDIRPLAY, /* Client supports direct play service */ 00011 CAP_SENDFILE, /* Client supports file transfer (can send files) */ 00012 CAP_ICQDIRECT, /* Something called "route finder" (ICQ2K only) */ 00013 CAP_IMIMAGE, /* Client supports DirectIM/IMImage */ 00014 CAP_BUDDYICON, /* Client supports avatar service. */ 00015 CAP_SAVESTOCKS, /* Client supports stocks (add-ins) */ 00016 CAP_GETFILE, /* Client supports filetransfers (can receive files) */ 00017 CAP_SRV_RELAY, /* Client supports channel 2 extended, TLV(0x2711) based messages */ 00018 CAP_GAMES2, /* Client supports games */ 00019 CAP_GAMES, /* Client supports games */ 00020 CAP_CONTACTS, /* Client supports buddy lists transfer */ 00021 CAP_DEVILS, /* Client supports devils */ 00022 CAP_INTEROPERATE, /* Setting this lets AIM users receive messages from ICQ users, and ICQ users receive messages from AIM users */ 00023 CAP_UTF, /* Client supports UTF-8 messages */ 00024 CAP_XTRAZ, 00025 CAP_TYPING, /* Client supports mini typing notifications */ 00026 CAP_CHAT, /* Client supports chat service */ 00027 CAP_RTF, /* Client supports RTF messages */ 00028 CAP_UNKNOWN 00029 } capabilities_t; 00030 00031 #define CAP_UTF8_str "{0946134E-4C7F-11D1-8222-444553540000}" 00032 00033 const char *icq_capability_name(int id); 00034 00035 int icq_cap_id(unsigned char *buf); 00036 int icq_short_cap_id(unsigned char *buf); 00037 00038 const unsigned char *icq_cap_str(int id); 00039 00040 void icq_pack_append_cap(string_t pkt, int cap_id); 00041 00042 00043 /* 00044 * xStatuses 00045 * 00046 */ 00047 00048 #define XSTATUS_COUNT 32 00049 #define MAX_ICQMOOD 23 00050 00051 const char *icq_xstatus_name(int id); 00052 00053 int icq_xstatus_id(unsigned char *buf); 00054 00055 void icq_pack_append_xstatus(string_t pkt, int x_id); 00056 00057 /* 00058 * Plugins 00059 * 00060 */ 00061 typedef enum { 00062 PSIG_MESSAGE=0, // None plugin (zeros) 00063 PSIG_STATUS_PLUGIN, // Status manager plugin 00064 PSIG_INFO_PLUGIN, // Info manager plugin 00065 MGTYPE_MESSAGE, // Message plugin 00066 MGTYPE_FILE, // File transfer plugin 00067 MGTYPE_WEBURL, // URL plugin 00068 MGTYPE_CHAT, // Chat plugin 00069 MGTYPE_CONTACTS, // Send contact list plugin 00070 MGTYPE_SMS_MESSAGE, // SMS plugin 00071 MGTYPE_GREETING_CARD, 00072 PLUGIN_03, // User info plugin 00073 PLUGIN_06, // Phone info plugin 00074 PLUGIN_07, // White search plugin 00075 PLUGIN_08, // Search plugin 00076 PLUGIN_13, // Features list plugin 00077 PLUGIN_14, // Ext contacts plugin 00078 PLUGIN_15, // Random users service 00079 PLUGIN_16, // Random plugin 00080 PLUGIN_17, // Wireless pager plugin 00081 PLUGIN_18, // External plugin 00082 PLUGIN_19, // Add user wizard plugin 00083 PLUGIN_20, // Voice message plugin 00084 PLUGIN_21, // IRCQ plugin 00085 PLUGIN_UNKNOWN 00086 } plugins_t; 00087 00088 int icq_plugin_id(unsigned char *buf); 00089 00090 #endif