ekg2  GIT master
icq_const.h
Idź do dokumentacji tego pliku.
1 #ifndef __ICQ_CONST_H
2 #define __ICQ_CONST_H
3 
4 /*
5  * Message types.
6  * Each OSCAR message has type. It can be just plain message, url message, contact list, wwp, email express or another.
7  * Only one byte used for message type. Here is the list of known message types:
8  */
9 
10 #define MTYPE_PLAIN 0x01 /* Plain text (simple) message */
11 #define MTYPE_CHAT 0x02 /* Chat request message */
12 #define MTYPE_FILEREQ 0x03 /* File request / file ok message */
13 #define MTYPE_URL 0x04 /* URL message (0xFE formatted) */
14 #define MTYPE_AUTHREQ 0x06 /* Authorization request message (0xFE formatted) */
15 #define MTYPE_AUTHDENY 0x07 /* Authorization denied message (0xFE formatted) */
16 #define MTYPE_AUTHOK 0x08 /* Authorization given message (empty) */
17 #define MTYPE_SERVER 0x09 /* Message from OSCAR server (0xFE formatted) */
18 #define MTYPE_ADDED 0x0C /* "You-were-added" message (0xFE formatted) */
19 #define MTYPE_WWP 0x0D /* Web pager message (0xFE formatted) */
20 #define MTYPE_EEXPRESS 0x0E /* Email express message (0xFE formatted) */
21 #define MTYPE_CONTACTS 0x13 /* Contact list message */
22 #define MTYPE_PLUGIN 0x1A /* Plugin message described by text string */
23 #define MTYPE_AUTOAWAY 0xE8 /* Auto away message */
24 #define MTYPE_AUTOBUSY 0xE9 /* Auto occupied message */
25 #define MTYPE_AUTONA 0xEA /* Auto not available message */
26 #define MTYPE_AUTODND 0xEB /* Auto do not disturb message */
27 #define MTYPE_AUTOFFC 0xEC /* Auto free for chat message */
28 /*
29  *Internal Message types
30  */
31 #define MTYPE_UNKNOWN 0x00 // Unknown message
32 
33 #define MTYPE_GREETINGCARD 0x101 // Greeting Card
34 #define MTYPE_REQUESTCONTACTS 0x102 // Request for Contacts
35 #define MTYPE_MESSAGE 0x103 // Message+
36 #define MTYPE_STATUSMSGEXT 0x104 // StatusMsgExt (2003b)
37 #define MTYPE_SMS_MESSAGE 0x110 // SMS message from Mobile
38 #define MTYPE_SCRIPT_INVITATION 0x201 // Xtraz Invitation
39 #define MTYPE_SCRIPT_DATA 0x202 // Xtraz Message
40 #define MTYPE_SCRIPT_NOTIFY 0x208 // Xtraz Response
41 #define MTYPE_REVERSE_REQUEST 0x401 // Reverse DC request
42 
43 
44 /*
45  * Message flag used to indicate additional message properties. like auto message, multiple recipients message, etc.
46  */
47 #define MFLAG_NORMAL 0x01 /* Normal message */
48 #define MFLAG_AUTO 0x03 /* Auto-message flag */
49 #define MFLAG_MULTI 0x80 /* This is multiple recipients message */
50 
51 /*
52  *
53  */
54 #define ACKTYPE_MESSAGE 0
55 #define ACKTYPE_URL 1
56 #define ACKTYPE_FILE 2
57 #define ACKTYPE_CHAT 3
58 #define ACKTYPE_AWAYMSG 4
59 #define ACKTYPE_AUTHREQ 5
60 #define ACKTYPE_ADDED 6
61 #define ACKTYPE_GETINFO 7
62 #define ACKTYPE_SETINFO 8
63 #define ACKTYPE_LOGIN 9
64 #define ACKTYPE_SEARCH 10
65 #define ACKTYPE_NEWUSER 11
66 #define ACKTYPE_STATUS 12
67 #define ACKTYPE_CONTACTS 13 //send/recv of contacts
68 #define ACKTYPE_AVATAR 14 //send/recv of avatars from a protocol
69 #define ACKTYPE_EMAIL 15 //notify if the unread emails changed
70 
71 /*
72  * Client request types
73  */
74 #define CLI_OFFLINE_MESSAGE_REQ 0x003c
75 #define CLI_DELETE_OFFLINE_MSGS_REQ 0x003e
76 #define CLI_META_INFO_REQ 0x07d0
77 /*
78  * CLI_META_INFO_REQ subtypes
79  */
80 #define CLI_FULLINFO_REQUEST 0x04b2
81 #define CLI_SHORTINFO_REQUEST 0x04ba
82 #define CLI_FULLINFO_REQUEST2 0x04d0
83 #define CLI_FIND_BY_UIN2 0x0569
84 #define CLI_WHITE_PAGES_SEARCH2 0x055F
85 #define CLI_SET_FULLINFO 0x0c3a
86 /*
87  * Server response types to client meta request.
88  */
89 #define SRV_OFFLINE_MESSAGE 0x0041
90 #define SRV_END_OF_OFFLINE_MSGS 0x0042
91 #define SRV_META_INFO_REPLY 0x07da
92 
93 /*
94  * Server response subtypes to client meta info request
95  * SNAC(15,03)/07da
96  */
97 #define META_SET_HOMEINFO_ACK 0x0064
98 #define META_SET_WORKINFO_ACK 0x006e
99 #define META_SET_MOREINFO_ACK 0x0078
100 #define META_SET_NOTES_ACK 0x0082
101 #define META_SET_EMAILINFO_ACK 0x0087
102 #define META_SET_INTINFO_ACK 0x008c
103 #define META_SET_AFFINFO_ACK 0x0096
104 #define META_SMS_DELIVERY_RECEIPT 0x0096
105 #define META_SET_PERMS_ACK 0x00a0
106 #define META_SET_PASSWORD_ACK 0x00aa
107 #define META_UNREGISTER_ACK 0x00b4
108 #define META_SET_HPAGECAT_ACK 0x00be
109 
110 #define META_BASIC_USERINFO 0x00c8
111 #define META_WORK_USERINFO 0x00d2
112 #define META_MORE_USERINFO 0x00dc
113 #define META_NOTES_USERINFO 0x00e6
114 #define META_EMAIL_USERINFO 0x00eb
115 #define META_INTERESTS_USERINFO 0x00f0
116 #define META_AFFILATIONS_USERINFO 0x00fa
117 #define META_SHORT_USERINFO 0x0104
118 #define META_HPAGECAT_USERINFO 0x010e
119 
120 #define SRV_USER_FOUND 0x01a4
121 #define SRV_LAST_USER_FOUND 0x01ae
122 
123 #define META_REGISTRATION_STATS_ACK 0x0302
124 #define SRV_RANDOM_FOUND 0x0366
125 #define META_XML_INFO 0x08a2
126 #define META_SET_FULLINFO_ACK 0x0c3f
127 #define META_SPAM_REPORT_ACK 0x2012
128 
129 
130 #define ACKTYPE_MESSAGE 0
131 #define ACKTYPE_URL 1
132 #define ACKTYPE_FILE 2
133 #define ACKTYPE_CHAT 3
134 #define ACKTYPE_AWAYMSG 4
135 #define ACKTYPE_AUTHREQ 5
136 #define ACKTYPE_ADDED 6
137 #define ACKTYPE_GETINFO 7
138 #define ACKTYPE_SETINFO 8
139 #define ACKTYPE_LOGIN 9
140 #define ACKTYPE_SEARCH 10
141 #define ACKTYPE_NEWUSER 11
142 #define ACKTYPE_STATUS 12
143 #define ACKTYPE_CONTACTS 13 //send/recv of contacts
144 #define ACKTYPE_AVATAR 14 //send/recv of avatars from a protocol
145 #define ACKTYPE_EMAIL 15 //notify if the unread emails changed
146 
147 /*
148  * Status flags
149  */
150 #define STATUS_WEBAWARE 0x0001 // Status webaware flag
151 #define STATUS_SHOWIP 0x0002 // Status show ip flag
152 #define STATUS_BIRTHDAY 0x0008 // User birthday flag
153 #define STATUS_WEBFRONT 0x0020 // User active webfront flag
154 #define STATUS_DCDISABLED 0x0100 // Direct connection not supported
155 #define STATUS_DCAUTH 0x1000 // Direct connection upon authorization
156 #define STATUS_DCCONT 0x2000 // DC only with contact users
157 
158 /*
159  * DC types
160  */
161 #define DC_DISABLED 0x0000 // Direct connection disabled / auth required
162 #define DC_HTTPS 0x0001 // Direct connection thru firewall or https proxy
163 #define DC_SOCKS 0x0002 // Direct connection thru socks4/5 proxy server
164 #define DC_NORMAL 0x0004 // Normal direct connection (without proxy/firewall)
165 #define DC_WEB 0x0006 // Web client - no direct connection
166 
167 
168 /*
169  * Internal constants
170  */
171 #define ICQ_VERSION 8 /* Protocol version */
172 #define CLIENTFEATURES 0x3
173 #define WEBFRONTPORT 0x50
174 
175 
176 #endif