diff libpurple/protocols/msn/p2p.c @ 31206:f66e289bebc6

Move parsing of the p2p header to p2p to avoid duplicated code.
author masca@cpw.pidgin.im
date Thu, 03 Jun 2010 22:55:52 +0000
parents
children 198d5bf82e09
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libpurple/protocols/msn/p2p.c	Thu Jun 03 22:55:52 2010 +0000
@@ -0,0 +1,41 @@
+#include "p2p->h"
+
+MsnP2PHeader *
+msn_p2p_header_from_wire(MsnP2PHeader *wire)
+{
+	MsnP2PHeader *header;
+
+	header = g_new(MsnP2PHeader, 1);
+
+	header->session_id = GUINT32_FROM_LE(wire->session_id);
+	header->id         = GUINT32_FROM_LE(wire->id);
+	header->offset     = GUINT64_FROM_LE(wire->offset);
+	header->total_size = GUINT64_FROM_LE(wire->total_size);
+	header->length     = GUINT32_FROM_LE(wire->length);
+	header->flags      = GUINT32_FROM_LE(wire->flags);
+	header->ack_id     = GUINT32_FROM_LE(wire->ack_id);
+	header->ack_sub_id = GUINT32_FROM_LE(wire->ack_sub_id);
+	header->ack_size   = GUINT64_FROM_LE(wire->ack_size);
+
+	return header;
+}
+
+MsnP2PHeader *
+msn_p2p_header_to_wire(MsnP2PHeader *header)
+{
+	MsnP2PHeader *wire;
+	
+	g_new(MsnP2PHeader, 1);
+
+	wire->session_id = GUINT32_TO_LE(header->session_id);
+	wire->id         = GUINT32_TO_LE(header->id);
+	wire->offset     = GUINT64_TO_LE(header->offset);
+	wire->total_size = GUINT64_TO_LE(header->total_size);
+	wire->length     = GUINT32_TO_LE(header->length);
+	wire->flags      = GUINT32_TO_LE(header->flags);
+	wire->ack_id     = GUINT32_TO_LE(header->ack_id);
+	wire->ack_sub_id = GUINT32_TO_LE(header->ack_sub_id);
+	wire->ack_size   = GUINT64_TO_LE(header->ack_size);
+
+}
+