TLV using big endian?

Mark Doliner mark at kingant.net
Thu Jul 19 14:29:05 EDT 2007


On Thu, 19 Jul 2007 20:35:07 +0300, Georgi Kirilov wrote
> Does anybody know why all tlv related functions in
> libpurple/protocols/oscar/tlv.c use aimutil_putxx instead
> aimutil_putlexx? In the info
> (http://iserverd.khstu.ru/oscar/snac_15_02_07d0_055f.html) on ICQ
> protocol that I'm using all tlvs use little endian byte order.

Most TLVs in the oscar protocol are big endian, which is why the TLV functions
in tlv.c are big endian.  The SNACs in the 0x0015 family are the only ones
that use little endian order, and I guess the author of that code chose to not
write tlv helper functions for little endian tlvs (possibly in the hopes that
the hacky ICQ protocol extensions would disappear).

-Mark




More information about the Devel mailing list