About control panel
TV's server version 3 was designed to be plug-in based system, this included the control panel. There are several functions to request copies of internal structures and it is possible to register functions to be notificated when a protocol is loaded or when a ListenSession is created. These function can only be executed by a control panel protocol. To register a protocol as a control panel it is necessary to set flag PT_CONTROLPANEL when calling function SetProtocolInformation on protocol initialization.
There are two different internal structures from which a copy can be requested from. These copies are not complete copies of the internal structures, some fields are left blank and are documented as reserved. These fields are not meant to be used by other routines than the internal routines, because this would make TV's server unstable.
To be able to display the control options of a protocol to the user it is necessary to know how to read this data, for this reason there are 12 different types of data. These types are described in the UserValueOption structure. Currently all those types are supported by the control panel supplied with TV's server.