For each element that is either traced or has I/O mapping associated with it, the instance of the following data structure is generated:
genptr received_val; /* -- buffer for storing the new value of -- the model element received from the -- card */genptr new_value; /* -- double buffering info: -- if ZNIL then DB is dynamic -- else the read value is directly -- written to *new_value */This declaration is copied from
types.h
of the Intrinsics library. The variable of this type is called “report element”. It contains all information about data item and its tracing and
I/O mapping specifics that at the moment seems necessary. The purpose ofuser_data
field is to provide users with the capability to add whatever data they desire. It is important because report elements are visible to the code that should be written by the user.Each report element that is associated with a pin of a I/O card has its
card_p
field non ZNIL. This allows Rational Statemate to serve I/O mapping requirements in a per-element fashion.