Reading SZL listst

The CPUs of the 300 and 400 family provide lists of there internal states an properties. German Siemens terminology calls them SZL (System-Zustandslisten). These lists are what your programming Software reads when showing the diagnostic buffer, the state of run/stop, the amount of memory and much more. LIBNODAVE provides the function
daveReadSZL(daveConnection * dc, int ID, int index, void * buf);
to read these lists.
ID 0, index 0 retrieves a list of available SZL-IDs on your PLC. I don't know how to find out the available or meaningful indices. In most cases, index 0 is the whole list, while other indices retrieve part s of it.
Use testMPI -z for some examples and testMPI -a for the complete contents of your PLCs SZL-lists.