ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
July 17th, 2024 | 10:00am-11:55am SGT (UTC+8) | Online

Ethereal-dev: Re: [Ethereal-dev] Can I reuse ett_xxxx variables for an arbitrary number of su

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Kelly Byrd" <kbyrd-ethereal@xxxxxxxxxx>
Date: Mon, 16 Aug 2004 15:55:41 -0700 (PDT)
Thanks for the answers regarding the ett_xxxx reuse.

>> - How about the header fields? Am I using that mechanism incorrectly?
>
> I cant answer that question without knowing how you use the header fields.
>
Fine, don't read my mind.

Daap messages are lists of tags. A tag is
a 4 byte name, a 4 byte size field, and "size" bytes of data.
Some tags are containers. Their data is only a list of other tags.
Their size is the total bytes that the list of other tags takes.

A response would look like this:

'adbs', 160
--'msst',   4, 200 // status code
--'mlcl', 148
----'mlit',  84
------'mlid',   4, 1 // id
------'minm',  14, "The Happy Song"
------'asal',  21, "An Album of Happiness"
------'asar',   3, "Sad"
----'mlit',  56
------'mlid',  4, 2 // id
------'minm',  8, "song foo"
------'asal',  9, "album bar"
------'asar',  3, "baz"

There's always a single top level tag ('adbs' in this case), and it's
obvious to me that daap.name and daap.size header fields should be
used for it. So, I created/registered hf_daap_name and hf_daap_size.

But, I think it would be useful for users to be able to filter on
daap.name == 'asal', but this would require that a reuse hf_daap_name
when I'm recursing to the contained tags, rather than just add them
as text labels. This is a similar question to my original ett_xxxx
reuse question, can I reuse header filed statics?