The Data Explorer libraries allow you to extend Data Explorer's functionality in a variety of ways. Depending on the task you want to accomplish, the way you use the libraries will vary. Figure 1 shows the Data Explorer architecture.
Figure 1. Data Explorer
architecture
If you want to write a module to use in the Data Explorer Visual Program Editor, or in the scripting language, you will probably use the libDXlite.a library. This library contains all of the Data Explorer data model routines which allow you to query, manipulate, and create data model objects. Much of this reference book concerns this common use of the Data Explorer library routines. You should be familiar with the material in Chapter 12. "Working with Data Model Objects", which discusses how to use the Data Explorer data model routines. You may also want to incorporate one or more of the existing Data Explorer modules into your own module, or use some of the high level data processing functions, such as interpolation. In this case you would need to use the libDXcallm.a library. DXCallModule is discussed in 13.10 , "Module Access".
Chapter 2. "Writing a Simple Module" through Chapter 11. "Making a Module Work" show you a number of examples of modules, including import filters and various data manipulation modules. These examples are supported by .c files and makefiles in /usr/local/dx/samples/program_guide. If you wish to incorporate routines from the libDXcallm.a library, simply change the makefiles to link to this library instead of to libDXlite.a. All of the routines in libDXcallm.a are described in Appendix C. "Data Explorer Library Routines", while the subset of routines available in libDXlite.a is listed in Appendix B. "Data Explorer Data Model Library: DXlite Routines". When you write a module for use in Data Explorer, the Data Explorer Executive is still the process which "owns main". Your module is simply incorporated into Data Explorer. Your module can be directly built in to the Data Explorer Executive (inboard module), run as a separate process (outboard module), or loaded into the Data Explorer executive at runtime (runtime-loadable module). Each of these is discussed in Chapter 11. "Making a Module Work". Using runtime-loadable modules is in general the preferred option.