User Manual Part 6
User Guide to Q4000/QPRO
Document Number 1135-4713 Rev G
THIS DOCUMENT CONTAINS CONFIDENTIAL AND PROPRIETARY INFORMATION OF QUAKE GLOBAL CORPORATION. IT MAY BE USED BY
RECIPIENT ONLY FOR THE PURPOSE FOR WHICH IT WAS TRANSMITTED AND WILL BE RETURNED UPON REQUEST OR WHEN NO LONGER NEEDED
BY RECIPIENT. DISCLOSURE TO UNAUTHORIZED THIRD PARTIES OR DUPLICATION WITHOUT THE EXPRESS WRITTEN PERMISSION OF QUAKE
GLOBAL IS PROHIBITED.
Page 142
CONFIDENTIAL
Information classified Confidential
-
Do not copy (See last page for obligations)
15 QUAKE firmware and APIs
Figure 15-1 shows the software architecture of the modem. The customer can write applications
that reside in the user space of the modem. The application makes use of the QUAKE
Application Programming Interface (API) to connect to the various tasks and drivers operating on
the modem. The custom application is either developed by the customer utilizing QUAKE’s API,
or by QUAKE’s engineering development services.
Figure 15-1: Software block diagram for fully loaded modem
The QUAKE foundation is statically linked as a single module. Only one customer module may
be dynamically linked to the foundation at a time. If a customer requires dynamically linked
modules in their application, they must design their own methods for linking in multiple objects.
Global variables are not linked between modules; however, customers may define and use their
own global variables. APIs must be explicitly declared by placing them in the function table and
the application cannot link to functions that are not provided in the API, even if they are in the
code. To add more functions, the user may build their own function table in memory and then
pass that address to other modules. That same mechanism can be used to create a ‘global
structure’ that contains all ‘global variables’ that can be passed to all modules.