Mercurial > pidgin
annotate src/protocols/gg/libgg.h @ 2792:9123abd0db92
[gaim-migrate @ 2805]
Arkadiusz Miskiewicz's updates to Gadu-Gadu
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Mon, 26 Nov 2001 21:22:56 +0000 |
parents | 1950afffd107 |
children | 4b3f17ca66bf |
rev | line source |
---|---|
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
1 /* $Id: libgg.h 2805 2001-11-26 21:22:56Z warmenhoven $ */ |
2393 | 2 |
3 /* | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
4 * (C) Copyright 2001 Wojtek Kaniewski <wojtekka@irc.pl>, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
5 * Robert J. Woźny <speedy@atman.pl> |
2393 | 6 * |
7 * This program is free software; you can redistribute it and/or modify | |
8 * it under the terms of the GNU General Public License Version 2 as | |
9 * published by the Free Software Foundation. | |
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., 675 Mass Ave, Cambridge, MA 02139, USA. | |
19 */ | |
20 | |
21 #ifndef __LIBGG_H | |
22 #define __LIBGG_H | |
23 | |
24 #ifdef __cplusplus | |
25 extern "C" { | |
26 #endif | |
27 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
28 #if defined(sun) && !defined(INADDR_NONE) |
2475
ba7ee4c1908c
[gaim-migrate @ 2488]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2399
diff
changeset
|
29 #define INADDR_NONE 0xffffffff |
ba7ee4c1908c
[gaim-migrate @ 2488]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2399
diff
changeset
|
30 #endif |
ba7ee4c1908c
[gaim-migrate @ 2488]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2399
diff
changeset
|
31 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
32 #include <sys/types.h> |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
33 |
2393 | 34 /* |
35 * typ zmiennej określającej numerek danej osoby. | |
36 */ | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
37 typedef unsigned long uin_t; |
2393 | 38 |
39 /* | |
40 * cośtam. | |
41 */ | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
42 struct gg_session { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
43 int state, check; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
44 int fd, pid; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
45 int port; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
46 int seq, async; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
47 int last_pong; |
2393 | 48 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
49 /* powinno być ,,in_addr'', ale nie chcę inkludować sieci tutaj */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
50 unsigned long server_ip; |
2393 | 51 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
52 uin_t uin; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
53 char *password; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
54 int initial_status; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
55 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
56 char *recv_buf; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
57 int recv_done, recv_left; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
58 }; |
2393 | 59 |
60 /* | |
61 * różne stany asynchronicznej maszynki. | |
62 */ | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
63 enum { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
64 GG_STATE_IDLE = 0, /* wspólne */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
65 GG_STATE_RESOLVING, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
66 GG_STATE_CONNECTING_HTTP, |
2393 | 67 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
68 GG_STATE_WRITING_HTTP, /* gg_login */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
69 GG_STATE_CONNECTING_GG, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
70 GG_STATE_WAITING_FOR_KEY, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
71 GG_STATE_SENDING_KEY, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
72 GG_STATE_CONNECTED, |
2393 | 73 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
74 GG_STATE_READING_HEADER, /* gg_search */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
75 GG_STATE_READING_DATA, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
76 GG_STATE_PARSING, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
77 GG_STATE_FINISHED, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
78 }; |
2393 | 79 |
80 /* | |
81 * co proces klienta powinien sprawdzać w deskryptorach? | |
82 */ | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
83 enum { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
84 GG_CHECK_NONE = 0, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
85 GG_CHECK_WRITE = 1, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
86 GG_CHECK_READ = 2, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
87 }; |
2393 | 88 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
89 struct gg_session *gg_login(uin_t uin, char *password, int async); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
90 void gg_free_session(struct gg_session *sess); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
91 void gg_logoff(struct gg_session *sess); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
92 int gg_change_status(struct gg_session *sess, int status); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
93 int gg_send_message(struct gg_session *sess, int msgclass, uin_t recipient, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
94 unsigned char *message); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
95 int gg_ping(struct gg_session *sess); |
2393 | 96 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
97 struct gg_notify_reply { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
98 uin_t uin; /* numerek */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
99 unsigned long status; /* status danej osoby */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
100 unsigned long remote_ip; /* adres ip delikwenta */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
101 unsigned short remote_port; /* port, na którym słucha klient */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
102 unsigned long dunno1; /* == 0x0b */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
103 unsigned short dunno2; /* znowu port? */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
104 } __attribute__ ((packed)); |
2393 | 105 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
106 struct gg_status { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
107 uin_t uin; /* numerek */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
108 unsigned long status; /* nowy stan */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
109 } __attribute__ ((packed)); |
2393 | 110 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
111 enum { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
112 GG_EVENT_NONE = 0, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
113 GG_EVENT_MSG, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
114 GG_EVENT_NOTIFY, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
115 GG_EVENT_STATUS, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
116 GG_EVENT_ACK, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
117 GG_EVENT_CONN_FAILED, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
118 GG_EVENT_CONN_SUCCESS, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
119 }; |
2393 | 120 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
121 enum { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
122 GG_FAILURE_RESOLVING = 1, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
123 GG_FAILURE_CONNECTING, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
124 GG_FAILURE_INVALID, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
125 GG_FAILURE_READING, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
126 GG_FAILURE_WRITING, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
127 GG_FAILURE_PASSWORD, |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
128 }; |
2393 | 129 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
130 struct gg_event { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
131 int type; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
132 union { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
133 struct { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
134 uin_t sender; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
135 int msgclass; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
136 time_t time; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
137 unsigned char *message; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
138 } msg; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
139 struct gg_notify_reply *notify; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
140 struct gg_status status; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
141 struct { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
142 uin_t recipient; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
143 int status; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
144 int seq; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
145 } ack; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
146 int failure; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
147 } event; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
148 }; |
2393 | 149 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
150 struct gg_event *gg_watch_fd(struct gg_session *sess); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
151 void gg_free_event(struct gg_event *e); |
2393 | 152 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
153 int gg_notify(struct gg_session *sess, uin_t * userlist, int count); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
154 int gg_add_notify(struct gg_session *sess, uin_t uin); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
155 int gg_remove_notify(struct gg_session *sess, uin_t uin); |
2393 | 156 |
157 /* | |
158 * jakieśtam bzdurki dotyczące szukania userów. | |
159 */ | |
160 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
161 struct gg_search_result { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
162 uin_t uin; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
163 char *first_name; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
164 char *last_name; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
165 char *nickname; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
166 int born; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
167 int gender; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
168 char *city; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
169 int active; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
170 }; |
2393 | 171 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
172 struct gg_search_request { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
173 /* czy ma szukać tylko aktywnych? */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
174 int active; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
175 /* mode 0 */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
176 char *nickname, *first_name, *last_name, *city; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
177 int gender, min_birth, max_birth; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
178 /* mode 1 */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
179 char *email; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
180 /* mode 2 */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
181 char *phone; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
182 /* mode 3 */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
183 uin_t uin; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
184 }; |
2393 | 185 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
186 struct gg_search { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
187 struct gg_search_request request; |
2393 | 188 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
189 /* bzdurki */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
190 int mode, fd, async, state, check, error, pid; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
191 char *header_buf, *data_buf; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
192 int header_size, data_size; |
2393 | 193 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
194 /* wyniki */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
195 int count; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
196 struct gg_search_result *results; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
197 }; |
2393 | 198 |
199 #define GG_GENDER_NONE 0 | |
200 #define GG_GENDER_FEMALE 1 | |
201 #define GG_GENDER_MALE 2 | |
202 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
203 struct gg_search *gg_search(struct gg_search_request *r, int async); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
204 int gg_search_watch_fd(struct gg_search *f); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
205 void gg_free_search(struct gg_search *f); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
206 void gg_search_cancel(struct gg_search *f); |
2393 | 207 |
208 /* | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
209 * jeśli chcemy sobie podebugować, wystarczy ustawić `gg_debug_level'. |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
210 * 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
|
211 * się ustawiać odpowiednich leveli, więc większość szła do _MISC. |
2393 | 212 */ |
213 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
214 extern int gg_debug_level; |
2393 | 215 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
216 #define GG_DEBUG_NET 1 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
217 #define GG_DEBUG_TRAFFIC 2 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
218 #define GG_DEBUG_DUMP 4 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
219 #define GG_DEBUG_FUNCTION 8 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
220 #define GG_DEBUG_MISC 16 |
2393 | 221 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
222 void gg_debug(int level, char *format, ...); |
2393 | 223 |
224 /* | |
225 * ------------------------------------------------------------------------- | |
226 * poniżej znajdują się wewnętrzne sprawy biblioteki. zwykły klient nie | |
227 * powinien ich w ogóle ruszać, bo i nie ma po co. wszystko można załatwić | |
228 * procedurami wyższego poziomu, których definicje znajdują się na początku | |
229 * tego pliku. | |
230 * ------------------------------------------------------------------------- | |
231 */ | |
232 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
233 int gg_resolve(int *fd, int *pid, char *hostname); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
234 int gg_connect(void *addr, int port, int async); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
235 char *gg_alloc_sprintf(char *format, ...); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
236 char *gg_get_line(char **ptr); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
237 char *gg_urlencode(char *str); |
2393 | 238 |
239 #define GG_APPMSG_HOST "appmsg.gadu-gadu.pl" | |
240 #define GG_APPMSG_PORT 80 | |
241 #define GG_PUBDIR_HOST "pubdir.gadu-gadu.pl" | |
242 #define GG_PUBDIR_PORT 80 | |
243 #define GG_DEFAULT_PORT 8074 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
244 #define GG_HTTPS_PORT 443 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
245 #define GG_HTTP_USERAGENT "Mozilla/4.7 [en] (Win98; I)" |
2393 | 246 |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
247 struct gg_header { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
248 unsigned long type; /* typ pakietu */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
249 unsigned long length; /* długość reszty pakietu */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
250 } __attribute__ ((packed)); |
2393 | 251 |
252 #define GG_WELCOME 0x0001 | |
253 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
254 struct gg_welcome { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
255 unsigned long key; /* klucz szyfrowania hasła */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
256 } __attribute__ ((packed)); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
257 |
2393 | 258 #define GG_LOGIN 0x000c |
259 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
260 struct gg_login { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
261 uin_t uin; /* twój numerek */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
262 unsigned long hash; /* hash hasła */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
263 unsigned long status; /* status na dzień dobry */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
264 unsigned long dunno; /* == 0x0b */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
265 unsigned long local_ip; /* mój adres ip */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
266 unsigned short local_port; /* port, na którym słucham */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
267 } __attribute__ ((packed)); |
2393 | 268 |
269 #define GG_LOGIN_OK 0x0003 | |
270 | |
271 #define GG_LOGIN_FAILED 0x0009 | |
272 | |
273 #define GG_NEW_STATUS 0x0002 | |
274 | |
275 #define GG_STATUS_NOT_AVAIL 0x0001 /* rozłączony */ | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
276 #define GG_STATUS_AVAIL 0x0002 /* dostępny */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
277 #define GG_STATUS_BUSY 0x0003 /* zajęty */ |
2393 | 278 #define GG_STATUS_INVISIBLE 0x0014 /* niewidoczny (GG 4.6) */ |
279 | |
280 #define GG_STATUS_FRIENDS_MASK 0x8000 /* tylko dla znajomych (GG 4.6) */ | |
281 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
282 struct gg_new_status { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
283 unsigned long status; /* na jaki zmienić? */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
284 } __attribute__ ((packed)); |
2393 | 285 |
286 #define GG_NOTIFY 0x0010 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
287 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
288 struct gg_notify { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
289 uin_t uin; /* numerek danej osoby */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
290 char dunno1; /* == 3 */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
291 } __attribute__ ((packed)); |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
292 |
2393 | 293 #define GG_NOTIFY_REPLY 0x000c /* tak, to samo co GG_LOGIN */ |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
294 |
2393 | 295 /* struct gg_notify_reply zadeklarowane wyżej */ |
296 | |
297 #define GG_ADD_NOTIFY 0x000d | |
298 #define GG_REMOVE_NOTIFY 0x000e | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
299 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
300 struct gg_add_remove { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
301 uin_t uin; /* numerek */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
302 char dunno1; /* == 3 */ |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
303 } __attribute__ ((packed)); |
2393 | 304 |
305 #define GG_STATUS 0x0002 | |
306 | |
307 /* struct gg_status zadeklarowane wcześniej */ | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
308 |
2393 | 309 #define GG_SEND_MSG 0x000b |
310 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
311 #define GG_CLASS_QUEUED 0x0001 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
312 #define GG_CLASS_OFFLINE GG_CLASS_QUEUED |
2393 | 313 #define GG_CLASS_MSG 0x0004 |
314 #define GG_CLASS_CHAT 0x0008 | |
315 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
316 struct gg_send_msg { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
317 unsigned long recipient; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
318 unsigned long seq; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
319 unsigned long msgclass; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
320 } __attribute__ ((packed)); |
2393 | 321 |
322 #define GG_SEND_MSG_ACK 0x0005 | |
323 | |
324 #define GG_ACK_DELIVERED 0x0002 | |
325 #define GG_ACK_QUEUED 0x0003 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
326 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
327 struct gg_send_msg_ack { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
328 unsigned long status; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
329 unsigned long recipient; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
330 unsigned long seq; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
331 } __attribute__ ((packed)); |
2393 | 332 |
333 #define GG_RECV_MSG 0x000a | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
334 |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
335 struct gg_recv_msg { |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
336 unsigned long sender; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
337 unsigned long seq; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
338 unsigned long time; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
339 unsigned long msgclass; |
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
340 } __attribute__ ((packed)); |
2393 | 341 |
342 #define GG_PING 0x0008 | |
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2510
diff
changeset
|
343 |
2393 | 344 #define GG_PONG 0x0007 |
345 | |
346 #ifdef __cplusplus | |
347 } | |
348 #endif | |
349 #endif |