JSON key: <type name> - this is a user-defined name that can be used in "Messages".

JSON value: <type options> - this a JSON object containing additional key/values.

TypeDefinition example

"example_type" : { "type":"uint", "size":2, "endian":"big", "flags":["some_flag"] }

"TypeDefinition" settings

JSON key: "type"

JSON value: <acd field type>

ACD TypeDefinition settings

JSON key: "size"
JSON value: <integer> - varies depending on type

JSON key: "endian"
JSON value: "big" or "little".  Defaults to "big" if this setting is left out.

JSON key: "flags"
JSON value: A JSON array of strings - e.g. [ "var_size"]

The current supported flags are:

flag: "var_size"
JSON value: <integer> - Makes a "string" or "binary" type of variable length.  size and endian is used to describe the format of the size field to decode the size from.  The decoded size is used to set the string or binary datafield