1.6   Tornado Tree Organization

The Tornado tree unifies all Wind River Systems products under a single directory with a common root. This greatly facilitates installation, and reduces the administrative overhead of managing path and environment variables.

The tree design makes it possible for Wind River Systems or third parties to add new products to the tree, and even update previously installed products to reflect the existence of the new product. For instance, on UNIX hosts the launcher can be extended to include an additional button to launch the new product, without requiring a rebuild or re-release of the base Tornado product.

1.6.1   Path Name Conventions

The top-level Tornado directory structure includes three major directories (see the Tornado User's Guide: Directories and Files). Most references in this manual will be to files in the installDir/host directory, although this is not always the case. For example, if you install Tornado in /group/wind on a UNIX host or in C:\Tornado on a Windows host, the full pathname for the file shown as installDir/host/resource/tcl/app-config/WindSh is /group/wind/host/resource/tcl/app-config/WindSh (which is also $WIND_BASE/host/resource/tcl/app-config/WindSh) on UNIX or C:\Tornado\host\resource\tcl\app-config\WindSh on Windows.


*

NOTE: In this manual, forward slashes are used as pathname delimiters for both UNIX and Windows file names since this is the default for VxWorks.

1.6.2   Tornado Libraries

The libraries in the installDir/host/hostType/lib directory (which is installDir/host/$WIND_HOST_TYPE/lib in UNIX and installDir/host/x86-win32/lib in Windows) provide support routines for Tornado applications. The routines in these libraries are documented in the appendices of this manual.


*

NOTE: Some of the Windows libraries are static libraries, while others are DLL export libraries.

Table 1-2:  UNIX libraries


Library
 
Description
 

libwpwr.so
 
utilities (wpwrlog)
 
libwtxapi.so
 
WTX C APIs.
 
libbackend.so
 
generic backend APIs (bkendlib, bkendlog)
 
libloader.so
 
generic loader APIs (loadlib)
 
libtgtmgt.so
 
target management routines (symlib, tgtlib, tgtmem)
 
libgenui.a
 
generic user interface routines
 
libmotifui.a
 
Motif-specific user interface routines
 
libwtxtcl.a
 
WTX Tcl API
 

   

Table 1-3:  Windows libraries


Runtime Library
 
Link Library
 
Description
 

libwpwr.dll
 
libwpwr.lib
 
utilities (wpwrlog)
 
wtxapi.dll
 
wtxapidll.lib
 
WTX C API
 
backend.dll
 
backend.lib
 
generic backend APIs (bkendlib, bkendlog)
 
loadlib.dll
 
loadlib.lib
 
generic loader APIs (loadlib)
 
tgtmgt.dll
 
tgtmgt.lib
 
target management routines (symlib, tgtlib, tgtmem)
 
wtxtcl.dll
 
wtxtcldll.lib
 
WTX Tcl API
 
uitcl.dll
 
uitcldll.lib
 
utilities
 
tcl.dll
 
tcldll.lib
 
Tcl library
 

1.6.3   Resources

In addition to the formal Tornado APIs, you can customize or enhance Tornado by overriding, changing, or adding to the files under the installDir/host/resource subdirectory. This directory contains all components of the Tornado implementation that do not require compilation, notably the Tcl procedures that implement the user interface (in installDir/host/resource/tcl).

Aside from Tcl source, the resource directory collects such things as mappings between target architectures and OMF libraries, bitmaps for screen objects, definitions for services that extend the WDB protocol, help files, and (on UNIX hosts) X Window System resources.

The installDir/host/resource/tcl/app-config directory includes a subdirectory for each Tornado tool. Every Tornado tool begins execution by sourcing all Tcl procedures contained in its resource subdirectory. For example, the shell (whose main Tcl source is in the file installDir/host/resource/tcl/shell.tcl) sources all of the files in the directory installDir/host/resource/tcl/app-config/WindSh, in alphabetical order. Thus, new features (such as buttons or menu items) can be added to Tornado tools by adding a new file to the appropriate subdirectory. (For local or personal customization, however, it is usually better to save customizations in a private .wind directory; see the Tornado User's Guide: Directories and Files for more information.)

Files are read in shell collating order (the same order that the files would be displayed by the ls or dir commands). This is why these files typically start with two numbers: so that new additions to this directory can be interleaved with existing files easily. In addition, to add a later modification that further extends an existing NetShow extension, you could provide a file called 01NetShow2.tcl, which would be read immediately after 01NetShow.tcl.

Fully harnessing the interpretive nature of the Tornado environment is the key to a successful Tornado integration. Wind River Systems encourages the enhancement of the Tornado environment using this technique. Unlike many other development frameworks, Tornado remains open to the extent that third parties can not only introduce new components, but override the look, feel, and even functionality of previously existing Tornado components.

To the extent that your organization permits it, you can also benefit other Tornado users by sharing your Tornado resource extensions. The comp.os.vxworks newsgroup is one appropriate vehicle, as is the archive maintained by the Wind River Users Group. See the Tornado User's Guide: Customer Service for information about finding these resources on the World Wide Web.