 1 id		<8 digit hex uniqueID>		053d4d71;
 2 name		<name>				entry.h;
 3 kind   	fi, fu, v, m, t, s		function
 4 filename	<name>				entry.h;
 5 dtype	<datatype string>		;
 6 tclass	enum, typdef, struct, class, union, template ;
 7 bline					1;
 8 hline					12;
 9 eline					84;
10 def		def, dec, (macro) undef		def;
11 checksum	<unimplemented>			00000000;
12 pparam	param type list (string)	;
13 tparam	<templates??>	(string)	;
14 scope	priv/pub/prot/extern/static/unspec	;
15 ptype 	parent type <??>		;
16 spec		static(s), const/enum val?(c), inline?(i), virtual(v),
		const inline function??(ic), inline virtual (iv)
17 signature	if kind=type, how entity must be referred to by name
		eg struct s, enum C::t
18 selected	<unused>

14: public if struct field
15: name of containing class, enumType or structType (eT or sT)
16: s if a static func, c if a constant enum value (no other values seen)
17: typename 

Interesting $17:
    				$3	$6	$10	$14	$17
    typedef foo int, 		type	typedef	dec	extern	foo
    enum eT {...} ;		type	enum	def	extern	enum eT
    typedef enum {...} T;	type	boolean	dec	extern	T
    typedef enum eT {...} T;	type	enum	def	extern	enum eT
				type	typedef	dec	extern	T
    typedef struct sT {...} T;	type	struct	def	extern	struct sT
	                        type	typedef	dec	extern	T
    // typedef struct {...} T;	type	??	dec	extern	T

Interesting $15 and $17:
    struct field: $3=kind=variable, $6=tclass=regular, $10=def=def,
	$14=scope=public, $15=??=struct name (sT), $16=""
    enum value:   $3=kind=variable, $6=tclass=enum, $10=def=def, 
	$14=scope=extern, $15=??=enum name (eT), $16="c"

Sometimes but not always [??]
    static function: $10=def=def or dec, $16="s"
    global variable: $10=def=dec (not def!), $16="c"
