The operating system signal handlers require C style linkage, so
cannot be used with C++ member functions (the same issue addressed
by the Or1ksim wrapper in Section 4.2.6). Thus the
SIGIO
handler will be a static function. However
each instance (there could be multiple terminals in a simulation)
will have a different file descriptor, which can be used to identify
the owning class instance.
The set of mappings from file descriptor to class instance is held
in a linked list with static head pointer. The struct
Fd2Inst
is provided for that list, with entries for the
file descriptor, instance and a pointer to the next in the list.