📄 index.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html><head><link rel="STYLESHEET" type="text/css" href="wrs.css"><title> Tornado API Programmer's Guide 2.0</title></head><body bgcolor="FFFFFF"><h1 class="TitleProduct" align="right"><font face="Helvetica, sans-serif" class="sans"><i>Tornado API</i></font></h1><h3 class="TitleVolume" align="right"><i>Programmer's Guide</i></h3><h4 class="TitleSubtitle" align="right"><font face="Helvetica, sans-serif" class="sans"><i> </i></font></h4><h1 class="TitleRelease" align="right"><font face="Helvetica, sans-serif" class="sans"><i>2.0</i></font></h1><h4 class="TitleEdition" align="right"><font face="Helvetica, sans-serif" class="sans"><i>Edition 1</i></font></h4><p class="navbar" align="right"><a href="Title.html"><img border="0" alt="[Copyright]" src="icons/copyright.gif"></a><a href="../../books.html"><img border="0" alt="[Online Manuals]" src="icons/onlinemanuals.gif"></a></p><hr><h3 class="Contents" align="right"><font face="Helvetica, sans-serif" size="-1" class="sans"><i>Contents</i></font></h3><h4 class="Subtitle" align="right"><font face="Helvetica, sans-serif" size="-1" class="sans"><i></i></font></h4><dl class="margin"><dd><h5 class="H1chapTOC"><a href="c-overview.html">1 <b class="H1nameTOC"><a href="c-overview.html">Tornado Architecture </b></a></h5><dl class="margin"><dd><h5 class="H2TOC"><a href="c-overview1.html">1.1 Introduction</a></h5><dd><h5 class="H2TOC"><a href="c-overview2.html">1.2 The WDB Agent and the WDB Protocol</a></h5><dd><h5 class="H2TOC"><a href="c-overview3.html">1.3 The Target Server and the WTX Protocol</a></h5><dd><h5 class="H2TOC"><a href="c-overview4.html">1.4 Target Server Threads</a></h5><dd><h5 class="H2TOC"><a href="c-overview5.html">1.5 Overview of Tornado APIs</a></h5><dd><h5 class="H2TOC"><a href="c-overview6.html">1.6 Tornado Tree Organization</a></h5><dl class="margin"><dd><h5 class="H3TOC"><a href="c-overview6.html#84810">1.6.1 Path Name Conventions</a></h5><dd><h5 class="H3TOC"><a href="c-overview6.html#84818">1.6.2 Tornado Libraries</a></h5><dd><h5 class="H3TOC"><a href="c-overview6.html#84914">1.6.3 Resources</a></h5></dl><dd><h5 class="H2TOC"><a href="c-overview7.html">1.7 Coding Conventions</a></h5></dl><dd><h5 class="H1chapTOC"><a href="c-bkend.html">2 <b class="H1nameTOC"><a href="c-bkend.html">Target Server Back End </b></a></h5><dl class="margin"><dd><h5 class="H2TOC"><a href="c-bkend1.html">2.1 Introduction</a></h5><dl class="margin"><dd><h5 class="H3TOC"><a href="c-bkend1.html#84403">2.1.1 Target Server Overview</a></h5><dd><h5 class="H3TOC"><a href="c-bkend1.html#84432">2.1.2 Back-End Overview</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-bkend1.html#84435">WDB Back Ends</a></h5><dd><h5 class="H4TOC"><a href="c-bkend1.html#84495">Non-WDB Back Ends</a></h5></dl></dl><dd><h5 class="H2TOC"><a href="c-bkend2.html">2.2 Back-End Implementation</a></h5><dl class="margin"><dd><h5 class="H3TOC"><a href="c-bkend2.html#84567">2.2.1 Attachment and Initialization</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-bkend2.html#84592">The Flag Parsing Routine</a></h5><dd><h5 class="H4TOC"><a href="c-bkend2.html#84655">The Initialization Routine</a></h5><dd><h5 class="H4TOC"><a href="c-bkend2.html#84674">The TGT_OPS Structure</a></h5><dd><h5 class="H4TOC"><a href="c-bkend2.html#84717">The BKEND_INFO Structure</a></h5></dl><dd><h5 class="H3TOC"><a href="c-bkend2.html#84771">2.2.2 Back-End Functions</a></h5><dd><h5 class="H3TOC"><a href="c-bkend2.html#84778">2.2.3 Event Notification</a></h5><dd><h5 class="H3TOC"><a href="c-bkend2.html#84793">2.2.4 Designing a select-like routine</a></h5><dd><h5 class="H3TOC"><a href="c-bkend2.html#84810">2.2.5 Handling Target-Board Reboots</a></h5><dd><h5 class="H3TOC"><a href="c-bkend2.html#84814">2.2.6 Cleaning Up the Tornado Registry</a></h5><dd><h5 class="H3TOC"><a href="c-bkend2.html#84850">2.2.7 Message Logging</a></h5><dd><h5 class="H3TOC"><a href="c-bkend2.html#84897">2.2.8 Informing Windows About a New Back End</a></h5></dl><dd><h5 class="H2TOC"><a href="c-bkend3.html">2.3 Writing a New WDB Back End</a></h5><dl class="margin"><dd><h5 class="H3TOC"><a href="c-bkend3.html#84906">2.3.1 Overview of Writing a WDB Back End</a></h5><dd><h5 class="H3TOC"><a href="c-bkend3.html#84911">2.3.2 WDB Protocol</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-bkend3.html#84929">Protocol Overview</a></h5><dd><h5 class="H4TOC"><a href="c-bkend3.html#84937">Requests Sent to the Agent</a></h5><dd><h5 class="H4TOC"><a href="c-bkend3.html#85010">Replies Sent by the Agent</a></h5><dd><h5 class="H4TOC"><a href="c-bkend3.html#85068">Reply Errors</a></h5><dd><h5 class="H4TOC"><a href="c-bkend3.html#85103">Asynchronous Notification Sent By the Agent</a></h5></dl><dd><h5 class="H3TOC"><a href="c-bkend3.html#85110">2.3.3 Host-Side Code</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-bkend3.html#85169">Back-End Initialization: wdbserial.c</a></h5><dd><h5 class="H4TOC"><a href="c-bkend3.html#85263">Client-Side RPC Implementation</a></h5><dd><h5 class="H4TOC"><a href="c-bkend3.html#85283">Building a Back End for UNIX Hosts</a></h5><dd><h5 class="H4TOC"><a href="c-bkend3.html#85319">Building a Back End for Windows Hosts</a></h5></dl><dd><h5 class="H3TOC"><a href="c-bkend3.html#85423">2.3.4 Target-Side Code</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-bkend3.html#85458">Writing a Network Interface Driver</a></h5><dd><h5 class="H4TOC"><a href="c-bkend3.html#85461">Writing a WDB Packet Driver</a></h5><dd><h5 class="H4TOC"><a href="c-bkend3.html#85466">Build Issues</a></h5></dl><dd><h5 class="H3TOC"><a href="c-bkend3.html#85469">2.3.5 Testing</a></h5></dl><dd><h5 class="H2TOC"><a href="c-bkend4.html">2.4 Writing a Non-WDB Back End</a></h5><dl class="margin"><dd><h5 class="H3TOC"><a href="c-bkend4.html#85481">2.4.1 Overview of Writing a Non-WDB Back End</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-bkend4.html#85490">Design</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#85578">Implementation</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#85594">Wind River Conventions</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#85610">Testing</a></h5></dl><dd><h5 class="H3TOC"><a href="c-bkend4.html#85614">2.4.2 Setting Up the Back-End Developer's Kit</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-bkend4.html#85617">Design Considerations</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#85689">Implementation</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#85696">Porting</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#85698">Testing</a></h5></dl><dd><h5 class="H3TOC"><a href="c-bkend4.html#85703">2.4.3 Getting Started</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-bkend4.html#85705">Creating a Framework</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#85712">Implementation</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#86044">Building the Back End on UNIX</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#86114">Building on Windows NT and Windows 95</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#86139">Testing</a></h5></dl><dd><h5 class="H3TOC"><a href="c-bkend4.html#86194">2.4.4 Implementing Mandatory Member Functions</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-bkend4.html#86293">Implement Read and Write</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#86483">Implement Context Management</a></h5><dd><h5 class="H4TOC"><a href="c-bkend4.html#86567">Implement Event Handling</a></h5></dl><dd><h5 class="H3TOC"><a href="c-bkend4.html#86811">2.4.5 Implementing Optional Member Functions</a></h5><dd><h5 class="H3TOC"><a href="c-bkend4.html#86825">2.4.6 Performance</a></h5></dl></dl><dd><h5 class="H1chapTOC"><a href="c-loader.html">3 <b class="H1nameTOC"><a href="c-loader.html">Object-Module Loader </b></a></h5><dl class="margin"><dd><h5 class="H2TOC"><a href="c-loader1.html">3.1 Introduction</a></h5><dd><h5 class="H2TOC"><a href="c-loader2.html">3.2 Terminology</a></h5><dd><h5 class="H2TOC"><a href="c-loader3.html">3.3 Loader Overview</a></h5><dl class="margin"><dl class="margin"><dd><h5 class="H4TOC"><a href="c-loader3.html#84440">Linking and Loading</a></h5><dd><h5 class="H4TOC"><a href="c-loader3.html#84452">Bootstrapping the Target Server Symbol Table</a></h5></dl></dl><dd><h5 class="H2TOC"><a href="c-loader4.html">3.4 Using the Target Server Loader</a></h5><dl class="margin"><dd><h5 class="H3TOC"><a href="c-loader4.html#84463">3.4.1 Loader Usage from the Tornado Shell</a></h5><dd><h5 class="H3TOC"><a href="c-loader4.html#84498">3.4.2 Loader Usage From wtxtcl</a></h5><dd><h5 class="H3TOC"><a href="c-loader4.html#84556">3.4.3 Loader Usage From the WTX C API</a></h5><dd><h5 class="H3TOC"><a href="c-loader4.html#84565">3.4.4 Asynchronous Load Operation</a></h5></dl><dd><h5 class="H2TOC"><a href="c-loader5.html">3.5 Loader Architecture</a></h5><dl class="margin"><dd><h5 class="H3TOC"><a href="c-loader5.html#84654">3.5.1 Object-Module Configuration in Target Memory</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-loader5.html#84657">Relocatable Files</a></h5><dd><h5 class="H4TOC"><a href="c-loader5.html#84723">Fully Linked Files</a></h5></dl><dd><h5 class="H3TOC"><a href="c-loader5.html#84728">3.5.2 Module Management</a></h5><dd><h5 class="H3TOC"><a href="c-loader5.html#84764">3.5.3 Symbol Management</a></h5><dd><h5 class="H3TOC"><a href="c-loader5.html#84852">3.5.4 Loader Options</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-loader5.html#84855">Symbol Scope</a></h5><dd><h5 class="H4TOC"><a href="c-loader5.html#84883">Module Visibility</a></h5><dd><h5 class="H4TOC"><a href="c-loader5.html#84890">Module Type</a></h5><dd><h5 class="H4TOC"><a href="c-loader5.html#84915">Common Symbols</a></h5><dd><h5 class="H4TOC"><a href="c-loader5.html#84928">Special Options</a></h5></dl></dl><dd><h5 class="H2TOC"><a href="c-loader6.html">3.6 Memory Management</a></h5><dl class="margin"><dd><h5 class="H3TOC"><a href="c-loader6.html#84968">3.6.1 Memory Alignment</a></h5><dd><h5 class="H3TOC"><a href="c-loader6.html#84975">3.6.2 Target Server Memory Cache</a></h5><dd><h5 class="H3TOC"><a href="c-loader6.html#84992">3.6.3 Target Virtual Memory and Cache Management</a></h5><dd><h5 class="H3TOC"><a href="c-loader6.html#84999">3.6.4 Type Abstractions and Address Manipulation</a></h5></dl><dd><h5 class="H2TOC"><a href="c-loader7.html">3.7 Generic Loader-Library Interface</a></h5><dd><h5 class="H2TOC"><a href="c-loader8.html">3.8 Target Server Loader Thread</a></h5><dd><h5 class="H2TOC"><a href="c-loader9.html">3.9 Writing an OMF Manager</a></h5><dl class="margin"><dd><h5 class="H3TOC"><a href="c-loader9.html#85072">3.9.1 Dynamically Linked Library Implementation</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85089">3.9.2 Installing a Shared-Library Manager</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85097">3.9.3 Naming Conventions</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-loader9.html#85101">Interface Routines</a></h5><dd><h5 class="H4TOC"><a href="c-loader9.html#85190">File Names</a></h5></dl><dd><h5 class="H3TOC"><a href="c-loader9.html#85280">3.9.4 The RU Interface</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85362">3.9.5 The OMF Interface</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85578">3.9.6 Byte Order</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#86591">3.9.7 OMF Header Processing</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85621">3.9.8 Determining the Size of the Segments</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85663">3.9.9 Reading the Object-Module Symbol Table</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85689">3.9.10 Determining the Compiler Signature</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85700">3.9.11 Allocating Memory For the Segments if Required</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85709">3.9.12 Reading in the Segments</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85780">3.9.13 Target Server Symbol-Table Processing</a></h5><dd><h5 class="H3TOC"><a href="c-loader9.html#85910">3.9.14 Relocating the Object Modules</a></h5><dl class="margin"><dd><h5 class="H4TOC"><a href="c-loader9.html#85923">Reading in Relocation Entries</a></h5><dd><h5 class="H4TOC"><a href="c-loader9.html#85940">Relocation Process</a></h5></dl>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -