I have some Verilog VPI code that prints information about all of the input and outputs of a given module in my System Verilog code. Some of these I/Os, however, are System Verilog packed structs, and I want to be able to have my VPI code print the values of the individual fields in the struct and their associated names. Unfortunately "struct" shows up nowhere in the official VPI specification (because VPI was standardized 4 years before System Verilog came into existence, I assume). All of my structs just show up in VPI as plain old registers or nets.
Is there some System Verilog specific extension to the VPI that I can use, or am I out of luck here? If it helps, I'm using vcs to compile.