A central feature of Tornado is the rich set of Application Program Interfaces (APIs) that allow access to every level of the technology. Much of Tornado is implemented in Tcl; source code is included automatically, because Tcl is an interpreted language. By virtue of their Tcl implementation, Tornado facilities for target inspection and manipulation are available for customization, extension, or simply for their educational value. Tornado goes further yet: every aspect of the user interface is also under user control. From forms to buttons and menu items, the Tornado environment can be customized. (For a brief summary of Tcl, see B. Tcl.)
At the target-server layer, there are C and Tcl language bindings to the underlying protocol. APIs are available for new back ends supporting additional host-to-target connection methods. These bindings use libraries; this makes it unnecessary to build, manage, or maintain alternative configurations of the target server. The target agent also has stable, published run-time and driver interfaces.
Each of these APIs is discussed in detail in the Tornado API Guide and the online Tornado API Reference.