New version of Data Inspector allows you to define your own formats. Structure Viewer language definition format is used to define the format.
Use the following steps to define a new format:
If data modification is required, the defined public type must also have a special “member” function called assign
. This function takes a single parameter and must convert it and assign to defined type's field(s).
The following example defines new Data Inspector type which displays an IP address.
// display attribute allows IP address formatting
[display(format("{0}.{1}.{2}.{3}",a,b,c,d))]
public struct IP
{
// Little-endian IP address encoding
unsigned char d, c, b, a;
// assign function allows data modification through the user interface
function assign(value)
{
var na_end = int(find(value, "."));
var nb_end = int(find(value, ".", na_end+1));
var nc_end = int(find(value, ".", nb_end+1));
a = int(substring(value, 0, na_end));
b = int(substring(value, na_end + 1, nb_end - na_end - 1));
c = int(substring(value, nb_end + 1, nc_end - nb_end - 1));
d = int(substring(value, nc_end + 1));
}
};