comparison src/protocols/oscar/rxqueue.c @ 13239:f260d319bbbc

[gaim-migrate @ 15605] Renaming a bunch of structs and typedefs to use the same naming scheme as the rest of Gaim committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 12 Feb 2006 16:02:05 +0000
parents f2431a7e33aa
children e9802db22b06
comparison
equal deleted inserted replaced
13238:1e855032d7bc 13239:f260d319bbbc
55 55
56 /* 56 /*
57 * Read into a byte stream. Will not read more than count, but may read 57 * Read into a byte stream. Will not read more than count, but may read
58 * less if there is not enough room in the stream buffer. 58 * less if there is not enough room in the stream buffer.
59 */ 59 */
60 faim_internal int aim_bstream_recv(aim_bstream_t *bs, int fd, size_t count) 60 faim_internal int aim_bstream_recv(ByteStream *bs, int fd, size_t count)
61 { 61 {
62 int red = 0; 62 int red = 0;
63 63
64 if (!bs || (fd < 0)) 64 if (!bs || (fd < 0))
65 return -1; 65 return -1;
79 79
80 return red; 80 return red;
81 } 81 }
82 82
83 /** 83 /**
84 * Free an aim_frame_t 84 * Free an FlapFrame
85 * 85 *
86 * @param frame The frame to free. 86 * @param frame The frame to free.
87 * @return -1 on error; 0 on success. 87 * @return -1 on error; 0 on success.
88 */ 88 */
89 faim_internal void aim_frame_destroy(aim_frame_t *frame) 89 faim_internal void aim_frame_destroy(FlapFrame *frame)
90 { 90 {
91 91
92 free(frame->data.data); /* XXX aim_bstream_free */ 92 free(frame->data.data); /* XXX aim_bstream_free */
93 free(frame); 93 free(frame);
94 94
99 * Read a FLAP header from conn into fr, and return the number of 99 * Read a FLAP header from conn into fr, and return the number of
100 * bytes in the payload. 100 * bytes in the payload.
101 * 101 *
102 * @return -1 on error, otherwise return the length of the payload. 102 * @return -1 on error, otherwise return the length of the payload.
103 */ 103 */
104 static int aim_get_command_flap(aim_session_t *sess, aim_conn_t *conn, aim_frame_t *fr) 104 static int aim_get_command_flap(OscarSession *sess, OscarConnection *conn, FlapFrame *fr)
105 { 105 {
106 guint8 hdr_raw[6]; 106 guint8 hdr_raw[6];
107 aim_bstream_t hdr; 107 ByteStream hdr;
108 108
109 fr->hdrtype = AIM_FRAMETYPE_FLAP; 109 fr->hdrtype = AIM_FRAMETYPE_FLAP;
110 110
111 /* 111 /*
112 * Read FLAP header. Six bytes total. 112 * Read FLAP header. Six bytes total.
147 * Read a rendezvous header from conn into fr, and return the number of 147 * Read a rendezvous header from conn into fr, and return the number of
148 * bytes in the payload. 148 * bytes in the payload.
149 * 149 *
150 * @return -1 on error, otherwise return the length of the payload. 150 * @return -1 on error, otherwise return the length of the payload.
151 */ 151 */
152 static int aim_get_command_rendezvous(aim_session_t *sess, aim_conn_t *conn, aim_frame_t *fr) 152 static int aim_get_command_rendezvous(OscarSession *sess, OscarConnection *conn, FlapFrame *fr)
153 { 153 {
154 guint8 hdr_raw[8]; 154 guint8 hdr_raw[8];
155 aim_bstream_t hdr; 155 ByteStream hdr;
156 156
157 fr->hdrtype = AIM_FRAMETYPE_OFT; 157 fr->hdrtype = AIM_FRAMETYPE_OFT;
158 158
159 /* 159 /*
160 * Read rendezvous header 160 * Read rendezvous header
180 * 180 *
181 * @return 0 on success, otherwise return the error number. 181 * @return 0 on success, otherwise return the error number.
182 * "Success" doesn't mean we have new data, it just means 182 * "Success" doesn't mean we have new data, it just means
183 * the connection isn't dead. 183 * the connection isn't dead.
184 */ 184 */
185 faim_export int aim_get_command(aim_session_t *sess, aim_conn_t *conn) 185 faim_export int aim_get_command(OscarSession *sess, OscarConnection *conn)
186 { 186 {
187 aim_frame_t *fr; 187 FlapFrame *fr;
188 int payloadlen; 188 int payloadlen;
189 189
190 if (!sess || !conn) 190 if (!sess || !conn)
191 return -EINVAL; 191 return -EINVAL;
192 192
199 */ 199 */
200 200
201 if (conn->status & AIM_CONN_STATUS_INPROGRESS) 201 if (conn->status & AIM_CONN_STATUS_INPROGRESS)
202 return aim_conn_completeconnect(sess, conn); 202 return aim_conn_completeconnect(sess, conn);
203 203
204 if (!(fr = (aim_frame_t *)calloc(sizeof(aim_frame_t), 1))) 204 if (!(fr = (FlapFrame *)calloc(sizeof(FlapFrame), 1)))
205 return -ENOMEM; 205 return -ENOMEM;
206 206
207 /* 207 /*
208 * Rendezvous (client to client) connections do not speak FLAP, so this 208 * Rendezvous (client to client) connections do not speak FLAP, so this
209 * function will break on them. 209 * function will break on them.
248 /* Enqueue this puppy */ 248 /* Enqueue this puppy */
249 fr->next = NULL; /* this will always be at the bottom */ 249 fr->next = NULL; /* this will always be at the bottom */
250 if (sess->queue_incoming == NULL) 250 if (sess->queue_incoming == NULL)
251 sess->queue_incoming = fr; 251 sess->queue_incoming = fr;
252 else { 252 else {
253 aim_frame_t *cur; 253 FlapFrame *cur;
254 for (cur = sess->queue_incoming; cur->next; cur = cur->next); 254 for (cur = sess->queue_incoming; cur->next; cur = cur->next);
255 cur->next = fr; 255 cur->next = fr;
256 } 256 }
257 257
258 fr->conn->lastactivity = time(NULL); 258 fr->conn->lastactivity = time(NULL);
262 262
263 /* 263 /*
264 * Purge receive queue of all handled commands (->handled==1). 264 * Purge receive queue of all handled commands (->handled==1).
265 * 265 *
266 */ 266 */
267 faim_export void aim_purge_rxqueue(aim_session_t *sess) 267 faim_export void aim_purge_rxqueue(OscarSession *sess)
268 { 268 {
269 aim_frame_t *cur, **prev; 269 FlapFrame *cur, **prev;
270 270
271 for (prev = &sess->queue_incoming; (cur = *prev); ) { 271 for (prev = &sess->queue_incoming; (cur = *prev); ) {
272 if (cur->handled) { 272 if (cur->handled) {
273 *prev = cur->next; 273 *prev = cur->next;
274 aim_frame_destroy(cur); 274 aim_frame_destroy(cur);
284 * to clean up the rxqueue of unprocessed connections on that socket. 284 * to clean up the rxqueue of unprocessed connections on that socket.
285 * 285 *
286 * XXX: this is something that was handled better in the old connection 286 * XXX: this is something that was handled better in the old connection
287 * handling method, but eh. 287 * handling method, but eh.
288 */ 288 */
289 faim_internal void aim_rxqueue_cleanbyconn(aim_session_t *sess, aim_conn_t *conn) 289 faim_internal void aim_rxqueue_cleanbyconn(OscarSession *sess, OscarConnection *conn)
290 { 290 {
291 aim_frame_t *currx; 291 FlapFrame *currx;
292 292
293 for (currx = sess->queue_incoming; currx; currx = currx->next) { 293 for (currx = sess->queue_incoming; currx; currx = currx->next) {
294 if ((!currx->handled) && (currx->conn == conn)) 294 if ((!currx->handled) && (currx->conn == conn))
295 currx->handled = 1; 295 currx->handled = 1;
296 } 296 }