Mercurial > pidgin
annotate src/protocols/gg/libgg.h @ 11257:90be432e8385
[gaim-migrate @ 13432]
Removed warning from core.
I think you should be able to see others' warning levels in the tooltip,
but I haven't managed to warn myself from any client.
Being able to warn others will be dependent on protocol-specific convo
menus.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sun, 14 Aug 2005 03:50:35 +0000 |
parents | 67f874fadb57 |
children |
rev | line source |
---|---|
2393 | 1 /* |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
2 * (C) Copyright 2001 Wojtek Kaniewski <wojtekka@irc.pl>, |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
3 * Robert J. Woźny <speedy@ziew.org> |
2393 | 4 * |
5 * This program is free software; you can redistribute it and/or modify | |
6 * it under the terms of the GNU General Public License Version 2 as | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * This program is distributed in the hope that it will be useful, | |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 * GNU General Public License for more details. | |
13 * | |
14 * You should have received a copy of the GNU General Public License | |
15 * along with this program; if not, write to the Free Software | |
16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |
17 */ | |
18 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
19 #ifndef __GG_LIBGG_H |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
20 #define __GG_LIBGG_H |
2393 | 21 |
22 #ifdef __cplusplus | |
23 extern "C" { | |
24 #endif | |
25 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
26 #if defined(sun) && !defined(INADDR_NONE) |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
27 #define INADDR_NONE 0xffffffff |
2475
ba7ee4c1908c
[gaim-migrate @ 2488]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2399
diff
changeset
|
28 #endif |
ba7ee4c1908c
[gaim-migrate @ 2488]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2399
diff
changeset
|
29 |
9265 | 30 #ifdef HAVE_STDINT_H |
31 # include <stdint.h> | |
32 #endif | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
33 #include <sys/types.h> |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
34 |
2393 | 35 /* |
36 * typ zmiennej określającej numerek danej osoby. | |
37 */ | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
38 typedef unsigned long uin_t; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
39 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
40 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
41 * struktura opisująca daną sesję. tworzona przez gg_login(). |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
42 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
43 struct gg_session { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
44 int fd; /* podglądany deskryptor */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
45 int check; /* sprawdzamy zapis czy odczyt */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
46 int state; /* aktualny stan maszynki */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
47 int error; /* kod błędu dla GG_STATE_ERROR */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
48 int type; /* rodzaj sesji. == GG_SESSION_GG */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
49 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
50 int async; /* czy połączenie jest asynchroniczne */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
51 int pid; /* pid procesu resolvera */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
52 int port; /* port, z którym się łączymy */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
53 int seq; /* numer sekwencyjny ostatniej wiadomości */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
54 int last_pong; /* czas otrzymania ostatniego ping/pong */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
55 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
56 unsigned int server_ip; /* adres serwera */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
57 unsigned int client_ip; /* adres klienta */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
58 int client_port; /* port, na którym klient słucha */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
59 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
60 uin_t uin; /* numerek klienta */ |
11202 | 61 char *password; /* i jego hasło. zwalniane automagicznie */ |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
62 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
63 int initial_status; /* początkowy stan klienta */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
64 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
65 char *recv_buf; /* bufor na otrzymywane pakiety */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
66 int recv_done; /* ile już wczytano do bufora */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
67 int recv_left; /* i ile jeszcze trzeba wczytać */ |
8775 | 68 |
69 char *userlist_reply; /* fragment odpowiedzi listy kontaktów */ | |
70 | |
71 int userlist_blocks; /* na ile kawałków podzielono listę kontaktów */ | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
72 }; |
2393 | 73 |
74 /* | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
75 * ogólna struktura opisująca stan wszystkich operacji http. |
2393 | 76 */ |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
77 struct gg_http { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
78 int fd; /* podglądany deskryptor */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
79 int check; /* sprawdzamy zapis czy odczyt */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
80 int state; /* aktualny stan maszynki */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
81 int error; /* kod błędu dla GG_STATE_ERROR */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
82 int type; /* rodzaj sesji. == GG_SESSION_HTTP */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
83 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
84 int async; /* czy połączenie asynchroniczne */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
85 int pid; /* pid procesu resolvera */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
86 int port; /* port, z którym się łączymy */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
87 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
88 char *query; /* bufor zapytania http */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
89 char *header; /* bufor nagłówka */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
90 int header_size; /* rozmiar wczytanego nagłówka */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
91 char *body; /* bufor otrzymanych informacji */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
92 int body_size; /* ilość informacji */ |
2393 | 93 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
94 void *data; /* dane danej operacji http */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
95 }; |
2393 | 96 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
97 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
98 * ogólna struktura opisująca różne sesje. przydatna w klientach. |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
99 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
100 struct gg_common { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
101 int fd; /* podglądany deskryptor */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
102 int check; /* sprawdzamy zapis czy odczyt */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
103 int state; /* aktualny stan maszynki */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
104 int error; /* kod błędu dla GG_STATE_ERROR */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
105 int type; /* rodzaj sesji */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
106 }; |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
107 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
108 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
109 * rodzaje sesji. |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
110 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
111 enum { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
112 GG_SESSION_GG = 1, /* połączenie z serwerem gg */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
113 GG_SESSION_HTTP, /* ogólna sesja http */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
114 GG_SESSION_SEARCH, /* szukanie */ |
6063 | 115 GG_SESSION_REGISTER /* rejestrowanie */ |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
116 }; |
2393 | 117 |
118 /* | |
119 * różne stany asynchronicznej maszynki. | |
120 */ | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
121 enum { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
122 /* wspólne */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
123 GG_STATE_IDLE = 0, /* nie powinno wystąpić. */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
124 GG_STATE_RESOLVING, /* wywołał gethostbyname() */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
125 GG_STATE_CONNECTING, /* wywołał connect() */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
126 GG_STATE_READING_DATA, /* czeka na dane http */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
127 GG_STATE_ERROR, /* wystąpił błąd. kod w x->error */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
128 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
129 /* gg_session */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
130 GG_STATE_CONNECTING_GG, /* wywołał connect() */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
131 GG_STATE_READING_KEY, /* czeka na klucz */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
132 GG_STATE_READING_REPLY, /* czeka na odpowiedź */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
133 GG_STATE_CONNECTED, /* połączył się */ |
2393 | 134 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
135 /* gg_http */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
136 GG_STATE_READING_HEADER, /* czeka na nagłówek http */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
137 GG_STATE_PARSING, /* przetwarza dane */ |
6063 | 138 GG_STATE_DONE /* skończył */ |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
139 }; |
2393 | 140 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
141 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
142 * dla zachowania kompatybilności wstecz. w wersji 1.0 będzie usunięte. oby. |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
143 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
144 #define GG_STATE_WRITING_HTTP GG_STATE_READING_DATA |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
145 #define GG_STATE_WAITING_FOR_KEY GG_STATE_READING_KEY |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
146 #define GG_STATE_SENDING_KEY GG_STATE_READING_REPLY |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
147 #define GG_STATE_FINISHED GG_STATE_DONE |
2393 | 148 |
149 /* | |
150 * co proces klienta powinien sprawdzać w deskryptorach? | |
151 */ | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
152 enum { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
153 GG_CHECK_NONE = 0, /* nic. nie powinno wystąpić */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
154 GG_CHECK_WRITE = 1, /* sprawdzamy możliwość zapisu */ |
6063 | 155 GG_CHECK_READ = 2 /* sprawdzamy możliwość odczytu */ |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
156 }; |
2393 | 157 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
158 struct gg_session *gg_login(uin_t uin, char *password, int async); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
159 void gg_free_session(struct gg_session *sess); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
160 void gg_logoff(struct gg_session *sess); |
8775 | 161 int gg_write(struct gg_session *sess, const char *buf, int length); |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
162 int gg_change_status(struct gg_session *sess, int status); |
9415 | 163 int gg_change_status_descr(struct gg_session *sess, int status, const char *descr); |
10344 | 164 int gg_send_message(struct gg_session *sess, int msgclass, uin_t recipient, const char *message); |
165 int gg_send_message_richtext(struct gg_session *sess, int msgclass, uin_t recipient, const char *message, const unsigned char *format, int formatlen); | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
166 int gg_ping(struct gg_session *sess); |
8775 | 167 int gg_userlist_request(struct gg_session *sess, char type, const char *request); |
2393 | 168 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
169 struct gg_notify_reply { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
170 uin_t uin; /* numerek */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
171 unsigned long status; /* status danej osoby */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
172 unsigned long remote_ip; /* adres ip delikwenta */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
173 unsigned short remote_port; /* port, na którym słucha klient */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
174 unsigned long version; /* == 0x0b */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
175 unsigned short dunno2; /* znowu port? */ |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
176 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
177 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
178 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
179 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
180 ; |
2393 | 181 |
8775 | 182 #define GG_NOTIFY_REPLY60 0x0011 |
183 | |
184 struct gg_notify_reply60 { | |
185 uint32_t uin; /* numerek plus flagi w MSB */ | |
186 uint8_t status; /* status danej osoby */ | |
187 uint32_t remote_ip; /* adres ip delikwenta */ | |
188 uint16_t remote_port; /* port, na którym słucha klient */ | |
189 uint8_t version; /* wersja klienta */ | |
190 uint8_t image_size; /* maksymalny rozmiar grafiki w KiB */ | |
191 uint8_t dunno1; /* 0x00 */ | |
192 } | |
193 #ifdef __GNUC__ | |
194 __attribute__ ((packed)) | |
195 #endif | |
196 ; | |
197 | |
198 #define GG_STATUS60 0x000f | |
199 | |
200 struct gg_status60 { | |
201 uint32_t uin; /* numerek plus flagi w MSB */ | |
202 uint8_t status; /* status danej osoby */ | |
203 uint32_t remote_ip; /* adres ip delikwenta */ | |
204 uint16_t remote_port; /* port, na którym słucha klient */ | |
205 uint8_t version; /* wersja klienta */ | |
206 uint8_t image_size; /* maksymalny rozmiar grafiki w KiB */ | |
207 uint8_t dunno1; /* 0x00 */ | |
208 } | |
209 #ifdef __GNUC__ | |
210 __attribute__ ((packed)) | |
211 #endif | |
212 ; | |
213 | |
214 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
215 struct gg_status { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
216 uin_t uin; /* numerek */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
217 unsigned long status; /* nowy stan */ |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
218 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
219 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
220 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
221 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
222 ; |
2393 | 223 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
224 enum { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
225 GG_EVENT_NONE = 0, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
226 GG_EVENT_MSG, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
227 GG_EVENT_NOTIFY, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
228 GG_EVENT_STATUS, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
229 GG_EVENT_ACK, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
230 GG_EVENT_CONN_FAILED, |
8775 | 231 GG_EVENT_CONN_SUCCESS, |
232 GG_EVENT_STATUS60, /* ktoś zmienił stan w GG 6.0 */ | |
233 GG_EVENT_NOTIFY60, /* ktoś się pojawił w GG 6.0 */ | |
9863 | 234 GG_EVENT_USERLIST /* odpowiedź listy kontaktów w GG 6.0 */ |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
235 }; |
2393 | 236 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
237 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
238 * niedługo się tego pozbędę na rzecz sensownej obsługi błędów. --w |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
239 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
240 enum { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
241 GG_FAILURE_RESOLVING = 1, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
242 GG_FAILURE_CONNECTING, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
243 GG_FAILURE_INVALID, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
244 GG_FAILURE_READING, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
245 GG_FAILURE_WRITING, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
246 GG_FAILURE_PASSWORD, |
6063 | 247 GG_FAILURE_404 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
248 }; |
2393 | 249 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
250 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
251 * rodzaje błędów, na razie używane przez http. bez rozczulania się nad |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
252 * powodami. klient powie, że albo nie znalazł hosta, albo nie mógł się |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
253 * połączyć, albo nie mógł wysłać, albo nie mógł odebrac. i tyle. jak |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
254 * ktoś będzie chciał, to będzie mógł sprawdzić errno. ale po co? |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
255 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
256 enum { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
257 GG_ERROR_RESOLVING = 1, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
258 GG_ERROR_CONNECTING, |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
259 GG_ERROR_READING, |
6063 | 260 GG_ERROR_WRITING |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
261 }; |
2393 | 262 |
263 /* | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
264 * struktura opisująca rodzaj zdarzenia. wychodzi z gg_watch_fd() |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
265 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
266 struct gg_event { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
267 int type; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
268 union { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
269 struct { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
270 uin_t sender; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
271 int msgclass; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
272 time_t time; |
10344 | 273 char *message; |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
274 } msg; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
275 struct gg_notify_reply *notify; |
8775 | 276 struct { /* @notify60 informacja o liście kontaktów -- GG_EVENT_NOTIFY60 */ |
277 uin_t uin; /* numer */ | |
278 int status; /* stan */ | |
279 uint32_t remote_ip; /* adres ip */ | |
280 uint16_t remote_port; /* port */ | |
281 int version; /* wersja klienta */ | |
282 int image_size; /* maksymalny rozmiar grafiki w KiB */ | |
283 char *descr; /* opis stanu */ | |
284 time_t time; /* czas powrotu */ | |
285 } *notify60; | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
286 struct gg_status status; |
8775 | 287 struct { /* @status60 zmiana stanu -- GG_EVENT_STATUS60 */ |
288 uin_t uin; /* numer */ | |
289 int status; /* nowy stan */ | |
290 uint32_t remote_ip; /* adres ip */ | |
291 uint16_t remote_port; /* port */ | |
292 int version; /* wersja klienta */ | |
293 int image_size; /* maksymalny rozmiar grafiki w KiB */ | |
294 char *descr; /* opis stanu */ | |
295 time_t time; /* czas powrotu */ | |
296 } status60; | |
297 struct { /* @userlist odpowiedź listy kontaktów serwera */ | |
298 char type; /* rodzaj odpowiedzi */ | |
299 char *reply; /* treść odpowiedzi */ | |
300 } userlist; | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
301 struct { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
302 uin_t recipient; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
303 int status; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
304 int seq; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
305 } ack; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
306 int failure; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
307 } event; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
308 }; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
309 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
310 struct gg_event *gg_watch_fd(struct gg_session *sess); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
311 void gg_free_event(struct gg_event *e); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
312 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
313 int gg_notify(struct gg_session *sess, uin_t *userlist, int count); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
314 int gg_add_notify(struct gg_session *sess, uin_t uin); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
315 int gg_remove_notify(struct gg_session *sess, uin_t uin); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
316 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
317 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
318 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
319 * OBSŁUGA HTTP |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
320 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
321 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
322 struct gg_http *gg_http_connect(char *hostname, int port, int async, char *method, char *path, char *header); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
323 int gg_http_watch_fd(struct gg_http *h); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
324 void gg_http_stop(struct gg_http *h); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
325 void gg_free_http(struct gg_http *h); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
326 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
327 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
328 * SZUKANIE UŻYTKOWNIKÓW |
2393 | 329 */ |
330 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
331 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
332 * struktura opisująca kryteria wyszukiwania. argument gg_search(). |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
333 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
334 struct gg_search_request { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
335 int active; /* czy ma szukać tylko aktywnych? */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
336 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
337 /* mode 0 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
338 char *nickname; /* pseudonim */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
339 char *first_name; /* imię */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
340 char *last_name; /* nazwisko */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
341 char *city; /* miasto */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
342 int gender; /* płeć */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
343 int min_birth; /* urodzony od roku... */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
344 int max_birth; /* urodzony do roku... */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
345 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
346 /* mode 1 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
347 char *email; /* adres e-mail */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
348 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
349 /* mode 2 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
350 char *phone; /* numer telefonu */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
351 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
352 /* mode 3 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
353 uin_t uin; /* numerek */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
354 }; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
355 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
356 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
357 * struktura opisująca rezultat wyszukiwania. pole gg_http. |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
358 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
359 struct gg_search { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
360 int count; /* ilość znalezionych */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
361 struct gg_search_result *results; /* tabelka z nimi */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
362 }; |
2393 | 363 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
364 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
365 * pojedynczy rezultat wyszukiwania. |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
366 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
367 struct gg_search_result { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
368 uin_t uin; /* numerek */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
369 char *first_name; /* imię */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
370 char *last_name; /* nazwisko */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
371 char *nickname; /* pseudonim */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
372 int born; /* rok urodzenia */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
373 int gender; /* płeć */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
374 char *city; /* miasto */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
375 int active; /* czy jest aktywny */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
376 }; |
2393 | 377 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
378 #define GG_GENDER_NONE 0 /* nie podano lub bez znaczenia */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
379 #define GG_GENDER_FEMALE 1 /* kobieta */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
380 #define GG_GENDER_MALE 2 /* mężczyzna */ |
2393 | 381 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
382 struct gg_http *gg_search(struct gg_search_request *r, int async); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
383 int gg_search_watch_fd(struct gg_http *f); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
384 void gg_free_search(struct gg_http *f); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
385 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
386 struct gg_search_request *gg_search_request_mode_0(char *nickname, char *first_name, char *last_name, char *city, int gender, int min_birth, int max_birth, int active); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
387 struct gg_search_request *gg_search_request_mode_1(char *email, int active); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
388 struct gg_search_request *gg_search_request_mode_2(char *phone, int active); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
389 struct gg_search_request *gg_search_request_mode_3(uin_t uin, int active); |
2393 | 390 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
391 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
392 * OPERACJE NA KATALOGU PUBLICZNYM |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
393 */ |
2393 | 394 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
395 struct gg_pubdir { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
396 int success; /* czy się udało */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
397 uin_t uin; /* otrzymany numerek. 0 jeśli błąd */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
398 }; |
2393 | 399 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
400 struct gg_http *gg_register(char *email, char *password, int async); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
401 void gg_free_register(struct gg_http *f); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
402 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
403 int gg_pubdir_watch_fd(struct gg_http *f); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
404 #define gg_register_watch_fd gg_pubdir_watch_fd |
2393 | 405 |
406 /* | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
407 * jeśli chcemy sobie podebugować, wystarczy ustawić `gg_debug_level'. |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
408 * niestety w miarę przybywania wpisów `gg_debug(...)' nie chciało mi |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
409 * się ustawiać odpowiednich leveli, więc większość szła do _MISC. |
2393 | 410 */ |
411 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
412 extern int gg_debug_level; |
2393 | 413 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
414 #define GG_DEBUG_NET 1 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
415 #define GG_DEBUG_TRAFFIC 2 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
416 #define GG_DEBUG_DUMP 4 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
417 #define GG_DEBUG_FUNCTION 8 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
418 #define GG_DEBUG_MISC 16 |
2393 | 419 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
420 void gg_debug(int level, char *format, ...); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
421 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
422 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
423 * Pare małych zmiennych do obsługi "http proxy" |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
424 * |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
425 */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
426 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
427 extern int gg_http_use_proxy; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
428 extern char *gg_http_proxy_host; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
429 extern int gg_http_proxy_port; |
2393 | 430 |
431 /* | |
432 * ------------------------------------------------------------------------- | |
433 * poniżej znajdują się wewnętrzne sprawy biblioteki. zwykły klient nie | |
434 * powinien ich w ogóle ruszać, bo i nie ma po co. wszystko można załatwić | |
435 * procedurami wyższego poziomu, których definicje znajdują się na początku | |
436 * tego pliku. | |
437 * ------------------------------------------------------------------------- | |
438 */ | |
439 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
440 int gg_resolve(int *fd, int *pid, char *hostname); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
441 void gg_debug(int level, char *format, ...); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
442 char *gg_alloc_sprintf(char *format, ...); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
443 char *gg_get_line(char **ptr); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
444 int gg_connect(void *addr, int port, int async); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
445 void gg_read_line(int sock, char *buf, int length); |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
446 void gg_chomp(char *line); |
3466 | 447 char *gg_urlencode(const char *str); |
11229 | 448 int gg_http_hash(const char *email, const char *password); |
2393 | 449 |
9663 | 450 #define GG_APPMSG_HOST "appmsg.gadu-gadu.pl" |
2393 | 451 #define GG_APPMSG_PORT 80 |
9663 | 452 #define GG_PUBDIR_HOST "pubdir.gadu-gadu.pl" |
2393 | 453 #define GG_PUBDIR_PORT 80 |
9663 | 454 #define GG_REGISTER_HOST "register.gadu-gadu.pl" |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
455 #define GG_REGISTER_PORT 80 |
2393 | 456 #define GG_DEFAULT_PORT 8074 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
457 #define GG_HTTPS_PORT 443 |
8160 | 458 #define GG_HTTP_USERAGENT "Mozilla/4.0 (compatible MSIE 5.0; Windows 98; I)" |
8775 | 459 #define GG_HAS_AUDIO_MASK 0x40000000 |
9663 | 460 #define GG_DEFAULT_CLIENT_VERSION "6, 0, 0, 132" |
2393 | 461 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
462 struct gg_header { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
463 unsigned long type; /* typ pakietu */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
464 unsigned long length; /* długość reszty pakietu */ |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
465 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
466 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
467 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
468 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
469 ; |
2393 | 470 |
471 #define GG_WELCOME 0x0001 | |
472 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
473 struct gg_welcome { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
474 unsigned long key; /* klucz szyfrowania hasła */ |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
475 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
476 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
477 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
478 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
479 ; |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
480 |
2393 | 481 #define GG_LOGIN 0x000c |
482 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
483 struct gg_login { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
484 uin_t uin; /* twój numerek */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
485 unsigned long hash; /* hash hasła */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
486 unsigned long status; /* status na dzień dobry */ |
8775 | 487 unsigned long version; /* == 0x20 */ |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
488 unsigned long local_ip; /* mój adres ip */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
489 unsigned short local_port; /* port, na którym słucham */ |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
490 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
491 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
492 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
493 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
494 ; |
2393 | 495 |
8775 | 496 #define GG_LOGIN60 0x0015 |
497 | |
498 struct gg_login60 { | |
499 uint32_t uin; /* mój numerek */ | |
500 uint32_t hash; /* hash hasła */ | |
501 uint32_t status; /* status na dzień dobry */ | |
502 uint32_t version; /* moja wersja klienta */ | |
503 uint8_t dunno1; /* 0x00 */ | |
504 uint32_t local_ip; /* mój adres ip */ | |
505 uint16_t local_port; /* port, na którym słucham */ | |
506 uint32_t external_ip; /* zewnętrzny adres ip */ | |
507 uint16_t external_port; /* zewnętrzny port */ | |
508 uint8_t image_size; /* maksymalny rozmiar grafiki w KiB */ | |
509 uint8_t dunno2; /* 0xbe */ | |
510 } | |
511 #ifdef __GNUC__ | |
512 __attribute__ ((packed)) | |
513 #endif | |
514 ; | |
515 | |
2393 | 516 #define GG_LOGIN_OK 0x0003 |
517 | |
518 #define GG_LOGIN_FAILED 0x0009 | |
519 | |
520 #define GG_NEW_STATUS 0x0002 | |
521 | |
8775 | 522 #define GG_STATUS_NOT_AVAIL 0x0001 /* niedostępny */ |
523 #define GG_STATUS_NOT_AVAIL_DESCR 0x0015 /* niedostępny z opisem (4.8) */ | |
524 #define GG_STATUS_AVAIL 0x0002 /* dostępny */ | |
525 #define GG_STATUS_AVAIL_DESCR 0x0004 /* dostępny z opisem (4.9) */ | |
526 #define GG_STATUS_BUSY 0x0003 /* zajęty */ | |
527 #define GG_STATUS_BUSY_DESCR 0x0005 /* zajęty z opisem (4.8) */ | |
528 #define GG_STATUS_INVISIBLE 0x0014 /* niewidoczny (4.6) */ | |
529 #define GG_STATUS_INVISIBLE_DESCR 0x0016 /* niewidoczny z opisem (4.9) */ | |
530 #define GG_STATUS_BLOCKED 0x0006 /* zablokowany */ | |
2393 | 531 |
8775 | 532 #define GG_STATUS_FRIENDS_MASK 0x8000 /* tylko dla znajomych (4.6) */ |
533 | |
9415 | 534 #define GG_STATUS_DESCR_MAXSIZE 70 |
535 | |
8775 | 536 /* GG_S() stan bez uwzględnienia trybu tylko dla znajomych */ |
537 #define GG_S(x) ((x) & ~GG_STATUS_FRIENDS_MASK) | |
538 | |
539 /* GG_S_D() stan opisowy */ | |
540 #define GG_S_D(x) (GG_S(x) == GG_STATUS_NOT_AVAIL_DESCR || GG_S(x) == GG_STATUS_AVAIL_DESCR || GG_S(x) == GG_STATUS_BUSY_DESCR || GG_S(x) == GG_STATUS_INVISIBLE_DESCR) | |
2393 | 541 |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
542 struct gg_new_status { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
543 unsigned long status; /* na jaki zmienić? */ |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
544 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
545 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
546 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
547 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
548 ; |
2393 | 549 |
550 #define GG_NOTIFY 0x0010 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
551 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
552 struct gg_notify { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
553 uin_t uin; /* numerek danej osoby */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
554 char dunno1; /* == 3 */ |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
555 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
556 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
557 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
558 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
559 ; |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
560 |
2393 | 561 #define GG_NOTIFY_REPLY 0x000c /* tak, to samo co GG_LOGIN */ |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
562 |
2393 | 563 /* struct gg_notify_reply zadeklarowane wyżej */ |
564 | |
565 #define GG_ADD_NOTIFY 0x000d | |
566 #define GG_REMOVE_NOTIFY 0x000e | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
567 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
568 struct gg_add_remove { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
569 uin_t uin; /* numerek */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
570 char dunno1; /* == 3 */ |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
571 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
572 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
573 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
574 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
575 ; |
2393 | 576 |
577 #define GG_STATUS 0x0002 | |
578 | |
579 /* struct gg_status zadeklarowane wcześniej */ | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
580 |
2393 | 581 #define GG_SEND_MSG 0x000b |
582 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
583 #define GG_CLASS_QUEUED 0x0001 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
584 #define GG_CLASS_OFFLINE GG_CLASS_QUEUED |
2393 | 585 #define GG_CLASS_MSG 0x0004 |
586 #define GG_CLASS_CHAT 0x0008 | |
587 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
588 struct gg_send_msg { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
589 unsigned long recipient; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
590 unsigned long seq; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
591 unsigned long msgclass; |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
592 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
593 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
594 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
595 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
596 ; |
2393 | 597 |
598 #define GG_SEND_MSG_ACK 0x0005 | |
599 | |
600 #define GG_ACK_DELIVERED 0x0002 | |
601 #define GG_ACK_QUEUED 0x0003 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
602 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
603 struct gg_send_msg_ack { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
604 unsigned long status; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
605 unsigned long recipient; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
606 unsigned long seq; |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
607 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
608 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
609 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
610 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
611 ; |
2393 | 612 |
613 #define GG_RECV_MSG 0x000a | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
614 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
615 struct gg_recv_msg { |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
616 unsigned long sender; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
617 unsigned long seq; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
618 unsigned long time; |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
619 unsigned long msgclass; |
2884
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
620 } |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
621 #ifdef __GNUC__ |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
622 __attribute__ ((packed)) |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
623 #endif |
12309c877020
[gaim-migrate @ 2897]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2846
diff
changeset
|
624 ; |
2393 | 625 |
626 #define GG_PING 0x0008 | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
627 |
2393 | 628 #define GG_PONG 0x0007 |
629 | |
8775 | 630 #define GG_USERLIST_REQUEST 0x0016 |
631 | |
632 #define GG_USERLIST_PUT 0x00 | |
633 #define GG_USERLIST_PUT_MORE 0x01 | |
634 #define GG_USERLIST_GET 0x02 | |
635 | |
636 struct gg_userlist_request { | |
637 uint8_t type; | |
638 } | |
639 #ifdef __GNUC__ | |
640 __attribute__ ((packed)) | |
641 #endif | |
642 ; | |
643 | |
644 #define GG_USERLIST_REPLY 0x0010 | |
645 | |
646 #define GG_USERLIST_PUT_REPLY 0x00 | |
647 #define GG_USERLIST_PUT_MORE_REPLY 0x02 | |
648 #define GG_USERLIST_GET_REPLY 0x06 | |
649 #define GG_USERLIST_GET_MORE_REPLY 0x04 | |
650 | |
651 struct gg_userlist_reply { | |
652 uint8_t type; | |
653 } | |
654 #ifdef __GNUC__ | |
655 __attribute__ ((packed)) | |
656 #endif | |
657 ; | |
658 | |
659 /* listy */ | |
660 | |
661 struct list { | |
662 void *data; | |
663 struct list *next; | |
664 }; | |
665 | |
666 typedef struct list * list_t; | |
667 | |
668 | |
2393 | 669 #ifdef __cplusplus |
670 } | |
671 #endif | |
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
672 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
673 #endif /* __GG_LIBGG_H */ |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
674 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
675 /* |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
676 * Local variables: |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
677 * c-indentation-style: k&r |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
678 * c-basic-offset: 8 |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
679 * indent-tabs-mode: notnil |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
680 * End: |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
681 * |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
682 * vim: shiftwidth=8: |
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
683 */ |