Header documentation vs C struct example - Which one is the right?

Hi everybody, in the header documentation (http://lan.developer.lifx.com/docs/header-description) the fields organisation in the example C struct doesn’t match the one from the docs.

Eg (frame)
in the doc, (table at the top of the page), we have
size
origin
tagged
addressable
protocol
source

BUT, in the C struct (at the bottom of the page) we get
size
protocol
addressable
tagged
origin
source

Which fields order is the right one ? I am missing something ?

The first order, the one listed on the documentation page, is correct.

http://lan.developer.lifx.com/docs/header-description#frame

If you need help, Daniel Hall has a pretty thorough walk through of building a packet here: Building a LIFX packet

Thank you for your answer, but for my own understandment, why is the C struct different ? Is it an old example from a previous api version ?

The table is sort of correct if you treat the bitfield as a big endian value that needs to be swapped to little endian before being placed in the packet.

Its something that is on my TODO list to fix.