home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / docs / articref.inf (.txt) < prev    next >
Encoding:
OS/2 Help File  |  1994-02-27  |  143.9 KB  |  6,034 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Version Notice ΓòÉΓòÉΓòÉ
  3.  
  4. First Edition (October 1992) 
  5.  
  6. The following paragraph does not apply to the United Kingdom or any country 
  7. where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS 
  8. MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY 
  9. KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
  10. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states 
  11. do not allow disclaimer of express or implied warranties in certain 
  12. transactions; therefore, this statement may not apply to you. 
  13.  
  14. This publication could include technical inaccuracies or typographical errors. 
  15. Changes are periodically made to the information herein; these changes will be 
  16. incorporated in new editions of the publication. IBM may make improvements 
  17. and/or changes in the product(s) and/or the program(s) described in this 
  18. publication at any time. 
  19.  
  20. It is possible that this publication may contain reference to, or information 
  21. about, IBM products (machines and programs), programming, or services that are 
  22. not announced in your country.  Such references or information must not be 
  23. construed to mean that IBM intends to announce such IBM products, programming, 
  24. or services in your country. 
  25.  
  26. Requests for copies of this publication and for technical information about IBM 
  27. products should be made to your IBM Authorized Dealer or your IBM Marketing 
  28. Representative. 
  29.  
  30.  
  31. ΓòÉΓòÉΓòÉ 2. Notices ΓòÉΓòÉΓòÉ
  32.  
  33. References in this publication to IBM products, programs, or services do not 
  34. imply that IBM intends to make them available in all countries in which IBM 
  35. operates. Any reference to an IBM product, program, or service is not intended 
  36. to state or imply that only that IBM product, program, or service may be used. 
  37. Any functionally equivalent product, program, or service that does not infringe 
  38. any of the intellectual property rights of IBM may be used instead of the IBM 
  39. product, program, or service. The evaluation and verification of operation in 
  40. conjunction with other products, except those expressly designated by IBM, are 
  41. the responsibility of the user. 
  42.  
  43. IBM may have patents or pending patent applications covering subject matter 
  44. described in this document. The furnishing of this document does not give you 
  45. any license to these patents. You can send license inquiries, in writing, to 
  46. the IBM Director of Commercial Relations, IBM Corporation, Purchase, New York, 
  47. 10577, U.S.A. 
  48.  
  49. The licensed program described in this document and all licensed material 
  50. available for it are provided by IBM under terms of the IBM Customer Agreement. 
  51.  
  52. This document is not intended for production use and is furnished as is without 
  53. any warranty of any kind, and all warranties are hereby disclaimed including 
  54. the warranties of merchantability and fitness for a particular purpose. 
  55.  
  56. The following terms, denoted by an asterisk (*) in this publication, are 
  57. trademarks of the IBM Corporation in the United States or other countries. 
  58.  
  59. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  60. Γöé Advanced Peer-to-Peer Networking    Γöé NetView                Γöé
  61. Γöé Application System/400         Γöé Operating System/2          Γöé
  62. Γöé APPN                  Γöé OS/2                 Γöé
  63. Γöé AS/400                 Γöé Personal System/2           Γöé
  64. Γöé FFST/2                 Γöé Portmaster              Γöé
  65. Γöé First Failure Support Technology/2   Γöé Presentation Manager         Γöé
  66. Γöé IBM                  Γöé PS/2                 Γöé
  67. Γöé Macro Assembler/2           Γöé System/370              Γöé
  68. Γöé Micro Channel             Γöé                    Γöé
  69. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  70.  
  71. The following term, denoted by a double asterisk (**) in this publication, is a 
  72. trademark of another company: 
  73.  
  74. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  75. Γöé Micro Focus       Γöé Micro Focus Limited                 Γöé
  76. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  77. Γöé Micro Focus COBOL/2   Γöé Micro Focus Limited                 Γöé
  78. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  79. Γöé Microsoft        Γöé Microsoft Corporation                Γöé
  80. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  81.  
  82.  
  83. ΓòÉΓòÉΓòÉ 3. About This Book ΓòÉΓòÉΓòÉ
  84.  
  85. IBM* Communications Manager/2 Version 1.0 (referred to in this book as 
  86. Communications Manager) is a communications services platform. This platform 
  87. provides a wide range of services for IBM Operating System/2* (OS/2*) 
  88. workstations that communicate with host computers and with other workstations. 
  89. Communications Manager users can choose from among a variety of remote 
  90. connectivity options. 
  91.  
  92. This book provides technical information for writing programs to support the 
  93. IBM Realtime Interface Co-Processor family of adapters, including the following 
  94. adapters: 
  95.  
  96. o Realtime Interface Co-Processor 2 Port 
  97. o Multiport 
  98. o Multiport Model 2 
  99. o X.25 
  100. o Multiport/2 
  101. o Portmaster* 
  102.  
  103. The software described in this book provides a programming interface between 
  104. protect mode applications running on the base operating system and applications 
  105. running on the communications adapters. An overview of the programming 
  106. interface and information on the software related to the Realtime Control 
  107. Microcode (RCM) are presented. The following compilers are supported: 
  108.  
  109. o Microsoft** C 6.0 (referred to as C in the remainder of this book) or its 
  110.   functional equivalent 
  111.  
  112. o Micro Focus COBOL/2** (referred to as COBOL in the remainder of this book) or 
  113.   its functional equivalent 
  114.  
  115. o IBM Macro Assembler/2* (referred to as MASM in the remainder of this book) or 
  116.   its functional equivalent 
  117.  
  118. It is assumed that you are using OS/2 Version 1.30.1 with corrective service 
  119. diskette (CSD) 5050 or higher or OS/2 Version 2.0 as your base operating 
  120. system. The term OS/2, as it is used in the Communications Manager 
  121. documentation and on the display during the running of the programs, refers to 
  122. some or all components of the base operating system. If you use a base 
  123. operating system that is functionally equivalent to OS/2 Version 1.30.1 with 
  124. CSD 5050 or higher or OS/2 Version 2.0, the Communications Manager 
  125. documentation still applies. 
  126.  
  127.  
  128. ΓòÉΓòÉΓòÉ 3.1. Who Should Use This Book ΓòÉΓòÉΓòÉ
  129.  
  130. This book provides both introductory and reference information. It is intended 
  131. for use by software designers, programmers, plant equipment installation 
  132. personnel, technicians, and others with a knowledge of programming who need to 
  133. understand the programming interface for the base operating system. The user 
  134. should be familiar with the system unit and the base operating system. 
  135.  
  136.  
  137. ΓòÉΓòÉΓòÉ 3.2. How to Use This Book ΓòÉΓòÉΓòÉ
  138.  
  139. The following sections describe the organization of this book and the 
  140. conventions used throughout the Communications Manager library. 
  141.  
  142.  
  143. ΓòÉΓòÉΓòÉ 3.2.1. How This Book is Organized ΓòÉΓòÉΓòÉ
  144.  
  145. This book contains the following chapters and appendixes: 
  146.  
  147. Using the Device Driver Programming Interface, explains the interface to the 
  148. supported generic input/output control (IOCtl) functions. 
  149.  
  150. Using the Application Loader, shows the operation and invocation of the 
  151. application loader. The application loader enables the loading of applications 
  152. to the IBM Realtime Interface Co-Processor adapter. 
  153.  
  154. Understanding Dynamic Link Libraries, describes the function and use of the 
  155. dynamic link libraries (DLLs). The DLLs provide a programming interface for 
  156. system unit programs to the device driver and any installed co-processor 
  157. adapters. 
  158.  
  159. Information Messages, lists the messages that are displayed by the 
  160. Communications Manager program, with an explanation and recommended action for 
  161. each message. 
  162.  
  163. Error Codes, lists the error codes returned by the device driver, the dynamic 
  164. link libraries, and the device loader. 
  165.  
  166. Tips and Techniques, provides help for programmers who are developing software 
  167. for the IBM Realtime Interface Co-Processor adapter. 
  168.  
  169. Parameter File, describes the optional parameter file, which can be used to 
  170. change the default device driver configuration. 
  171.  
  172. The Ignore Feature, describes the ignore feature of the OS/2 Support device 
  173. driver. This feature provides the capability to ignore certain Realtime 
  174. Interface Co-Processor (ARTIC) cards. 
  175.  
  176. An index follows the appendixes. Consult Glossary for definitions of terms used 
  177. in this library.  Glossary is available online and is separately orderable. 
  178.  
  179.  
  180. ΓòÉΓòÉΓòÉ 3.2.2. Conventions Used in This Library ΓòÉΓòÉΓòÉ
  181.  
  182. The following conventions are used throughout the Communications Manager 
  183. library.  Some of the conventions listed may not be used in this particular 
  184. book. 
  185.  
  186.  
  187. ΓòÉΓòÉΓòÉ 3.2.2.1. Text Conventions ΓòÉΓòÉΓòÉ
  188.  
  189. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  190. Γöé BOLD      Γöé Bold type indicates the following:              Γöé
  191. Γöé         Γöé                               Γöé
  192. Γöé         Γöé o  The names of window controls, such as lists, check    Γöé
  193. Γöé         Γöé   boxes, entry fields, and menu choices.  They appear in  Γöé
  194. Γöé         Γöé   the text as they appear in the window.          Γöé
  195. Γöé         Γöé                               Γöé
  196. Γöé         Γöé o  Verbs, functions, and parameters that you can use in a  Γöé
  197. Γöé         Γöé   program or at a command prompt.  These values are case  Γöé
  198. Γöé         Γöé   sensitive and should be entered exactly as they appear  Γöé
  199. Γöé         Γöé   in the text.                       Γöé
  200. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  201. Γöé Italics     Γöé Italics indicate a variable that you supply a value for.   Γöé
  202. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  203. Γöé UPPERCASE    Γöé Uppercase indicates constants, file names, keywords, and   Γöé
  204. Γöé         Γöé options that you can use in a program or at a command    Γöé
  205. Γöé         Γöé prompt.  You can enter these values in uppercase or lower-  Γöé
  206. Γöé         Γöé case.                            Γöé
  207. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  208. Γöé "Example type" Γöé Example type indicates information that the user is     Γöé
  209. Γöé         Γöé instructed to type at a command prompt or in a window.    Γöé
  210. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  211.  
  212.  
  213. ΓòÉΓòÉΓòÉ 3.2.2.2. Numbers Conventions ΓòÉΓòÉΓòÉ
  214.  
  215. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  216. Γöé Hexadecimal   Γöé Represented as X'xxxx' except in certain instances where   Γöé
  217. Γöé         Γöé they are represented with text ("The location hex xxxx is  Γöé
  218. Γöé         Γöé the address of...").  In an example of assembly language   Γöé
  219. Γöé         Γöé code, a hexadecimal number is represented by a lowercase h  Γöé
  220. Γöé         Γöé following the hexadecimal characters.            Γöé
  221. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  222. Γöé Binary     Γöé Represented as B'xxxx xxxx' or B'x' except in certain    Γöé
  223. Γöé         Γöé instances where they are represented with text ("A value of Γöé
  224. Γöé         Γöé binary xxxx xxxx is...").                  Γöé
  225. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  226. Γöé Bit positions  Γöé Start with 0 at the rightmost position (least significant  Γöé
  227. Γöé         Γöé bit).                            Γöé
  228. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  229.  
  230.  
  231. ΓòÉΓòÉΓòÉ 3.2.2.3. Syntax Diagrams ΓòÉΓòÉΓòÉ
  232.  
  233. Throughout this library, conceptual diagrams are used to illustrate the 
  234. programming syntax. The following list tells you how to interpret the syntax 
  235. diagrams: 
  236.  
  237. o Read the syntax diagrams from left to right, from top to bottom, following 
  238.   the path of the line. 
  239.  
  240. o Items shown on the main path of the syntax statement are required syntax. 
  241.  
  242.     >>ΓöÇΓöÇKEYWORDΓöÇΓöÇkeyword_nameΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ><
  243.  
  244. o Items shown on branches below the main path are optional syntax. 
  245.  
  246.     >>ΓöÇΓöÇKEYWORDΓöÇΓöÇkeyword_nameΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ><
  247.                   ΓööΓöÇITEM1ΓöÇΓöÿ  ΓööΓöÇITEM2ΓöÇΓöÿ
  248.  
  249. o Items shown on branches above the main path are default syntax. 
  250.  
  251.                   -ITEM1ΓöÇ.
  252.     >>ΓöÇΓöÇKEYWORDΓöÇΓöÇkeyword_nameΓöÇΓöÇ'ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ'ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ><
  253.  
  254. o Items appearing in a stack indicate that only one of the items may be 
  255.   specified.  When one of the items in a stack appears on the main path, you 
  256.   must choose one of the items. 
  257.  
  258.   For example, in the following syntax diagram, you must choose either ITEM1 or 
  259.   ITEM2.  ITEM3 and ITEM4 both appear below the main path, so neither of them 
  260.   is required. 
  261.  
  262.     >>ΓöÇΓöÇKEYWORDΓöÇΓöÇkeyword_nameΓöÇΓöÇΓö¼ΓöÇITEM1ΓöÇΓö¼ΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ><
  263.                   ΓööΓöÇITEM2ΓöÇΓöÿ  Γö£ΓöÇITEM3ΓöÇΓöñ
  264.                        ΓööΓöÇITEM4ΓöÇΓöÿ
  265.  
  266. o A repeat arrow shown above an item or a stack of items indicates that you can 
  267.   specify the item multiple times or specify more than one of the items.  A 
  268.   character (such as a comma) on the repeat arrow line indicates that the items 
  269.   must be separated by that character. 
  270.  
  271.   For example, in the following syntax diagram, you can specify both ITEM1 and 
  272.   ITEM2, but you must use a comma to separate the choices in your programming 
  273.   syntax. 
  274.  
  275.                   -,ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  276.                       Γöé
  277.     >>ΓöÇΓöÇKEYWORDΓöÇΓöÇkeyword_nameΓöÇΓöÇΓöÇΓö¼ΓöÇITEM1ΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ><
  278.                   ΓööΓöÇITEM2ΓöÇΓöÿ
  279.  
  280. o In some cases, when an item has additional items associated with it, an 
  281.   additional syntax diagram is shown that represents the full syntax of that 
  282.   item.  For example, in the following syntax diagram, additional information 
  283.   that can be specified for ITEM1 appears in the "ITEM1" Variables syntax 
  284.   diagram. 
  285.  
  286.     >>ΓöÇΓöÇKEYWORDΓöÇΓöÇkeyword_nameΓöÇΓöÇΓöñ ITEM1 Γö£ΓöÇΓöÇITEM2ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ><
  287.     ITEM1 VARIABLES:
  288.     Γö£ΓöÇΓöÇΓö¼ΓöÇvariable1ΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  289.       Γö£ΓöÇvariable2ΓöÇΓöñ
  290.       ΓööΓöÇvariable3ΓöÇΓöÿ
  291.  
  292.  
  293. ΓòÉΓòÉΓòÉ 3.3. What Is New in This Book ΓòÉΓòÉΓòÉ
  294.  
  295. This book reflects the following changes made from Extended Services for OS/2*. 
  296. These changes are both editorial, made to improve usability, and technical, to 
  297. reflect changes to the Realtime Interface Co-Processor device driver. 
  298.  
  299. o This book previously described only the Multiport/2 device driver, but the 
  300.   information has been expanded to include information about other device 
  301.   drivers in the family of Realtime Interface Co-Processor adapters. 
  302.  
  303. o Information about the ignore feature has been added. See The Ignore Feature 
  304.   for more information. 
  305.  
  306. o Various device driver calls have been added: 
  307.  
  308.    - PeerSend 
  309.    - Lock 
  310.    - Unlock 
  311.    - PeerOpen 
  312.    - PeerClose 
  313.  
  314.  
  315. ΓòÉΓòÉΓòÉ 3.4. Where to Find More Information ΓòÉΓòÉΓòÉ
  316.  
  317. The following sections list publications about Communications Manager, its 
  318. installation, and its operation. 
  319.  
  320.  
  321. ΓòÉΓòÉΓòÉ 3.4.1. Communications Manager/2 Version 1.0 Library ΓòÉΓòÉΓòÉ
  322.  
  323. The following lists encompass all the books in the Communications Manager 
  324. library.  The words "IBM Communications Manager/2 Version 1.0" are actually 
  325. part of the title of each book; however, in these lists, those words are 
  326. omitted. 
  327.  
  328.  
  329. ΓòÉΓòÉΓòÉ 3.4.1.1. Basic User Books ΓòÉΓòÉΓòÉ
  330.  
  331. The following books provide the basic information you need to get your system 
  332. installed and operational: 
  333.  
  334. o Overview 
  335.  
  336.   This online publication provides a comprehensive view of Communications 
  337.   Manager. It includes a description of configuration, services, emulator 
  338.   functions, application programming interfaces, and a complete bibliography of 
  339.   Communications Manager documentation and related publications. 
  340.  
  341. o Quick Installation, SX75-0085 
  342.  
  343.   This card provides you with a very brief set of instructions on how to start 
  344.   the installation of Communications Manager.  It is intended primarily for 
  345.   those who want to accept most or all of the preselected choices during 
  346.   installation.  Quick Installation provides only limited instructions to get 
  347.   you started.  If you want more detailed information about installing 
  348.   Communications Manager, refer to Workstation Installation Guide. 
  349.  
  350. o Start Here, SC31-6104 
  351.  
  352.   This book contains a brief overview of Communications Manager and guides you 
  353.   to the Communications Manager library and related publications.  In addition, 
  354.   this book identifies tasks you need to perform related to planning, 
  355.   installing, and configuring Communications Manager, and it provides you with 
  356.   information sources to support these tasks. 
  357.  
  358. o Information and Planning Guide, SC31-7007 
  359.  
  360.   This book provides an overview of Communications Manager, including 
  361.   descriptions of new and enhanced functions and productivity aids, information 
  362.   on administration and usage of Communications Manager, and system 
  363.   requirements. It also provides technical advice on performance and 
  364.   coexistence considerations, planning new installations, and migrating from 
  365.   previous releases. 
  366.  
  367. o Workstation Installation Guide, SC31-6169 
  368.  
  369.   This book provides the steps and basic information to install Communications 
  370.   Manager.  This book also contains information about using a response file and 
  371.   changing a configuration. 
  372.  
  373. o Configuration Guide, SC31-6171 
  374.  
  375.   This book describes how to configure Communications Manager for various 
  376.   connections and features.  It also describes advanced user tasks, such as how 
  377.   to use the keylock function to protect configuration files. 
  378.  
  379. o Configuration Worksheets, SX75-0088 
  380.  
  381.   A set of worksheets for the user or network administrator to map 
  382.   configurations for Communications Manager. 
  383.  
  384. o User's Guide, SC31-6108 
  385.  
  386.   This book provides information necessary to accomplish basic communications 
  387.   tasks using Communications Manager. For example, this volume contains 
  388.   information and procedures for starting and stopping Communications Manager, 
  389.   using the clipboard to mark and copy data from one application to another, 
  390.   using 3270 and 5250 emulation, transferring files, and printing files. In 
  391.   addition, this book explains how to use keyboard remap for changing the 
  392.   functions of the keys on your terminal emulation keyboard.  It also explains 
  393.   how to use messages and the message log. 
  394.  
  395. o Keyboard Templates, SX75-0073 
  396.  
  397.   This documentation provides templates to place on your workstation keyboard 
  398.   that show you the keystrokes to use for 3270 and 5250 functions. 
  399.  
  400. o Command Reference 
  401.  
  402.   This online documentation lists the Communications Manager commands and their 
  403.   syntax diagrams. It also describes Communications Manager device drivers. 
  404.  
  405. o Glossary, SC31-6155 
  406.  
  407.   This book defines technical terms and acronyms that are used throughout the 
  408.   Communications Manager program and publications. It is available online and 
  409.   is separately orderable in hard copy. 
  410.  
  411.  
  412. ΓòÉΓòÉΓòÉ 3.4.1.2. Advanced User Books ΓòÉΓòÉΓòÉ
  413.  
  414. The following separately orderable books provide advanced planning and 
  415. installation information for Communications Manager: 
  416.  
  417. o Network Administration and Subsystem Management Guide, SC31-6168 
  418.  
  419.   This book defines concepts and planning procedures for configuration, 
  420.   installation, and networking considerations. It also describes how to prepare 
  421.   a response file and how to use a response file to create or modify a 
  422.   configuration. Network Administrator Sample Program Diskette, which contains 
  423.   sample response files, is shipped with this book. 
  424.  
  425. o Scenarios, SC31-6174 
  426.  
  427.   This book contains sample scenarios with steps to install and configure 
  428.   several different kinds of networks with attached workstations. 
  429.  
  430. o Problem Determination Guide, SC31-6156 
  431.  
  432.   This book describes Communications Manager diagnostic tools and provides 
  433.   instructions for using them, including specific directions for using First 
  434.   Failure Support Technology/2* (FFST/2*) to identify problems or errors. It 
  435.   also contains reference information to assist in problem determination, as 
  436.   well as a Problem Report Form to use when contacting IBM. 
  437.  
  438. o Host Connection Reference, SC31-6170 
  439.  
  440.   This book contains parameter matching and sample system generations for OS/2 
  441.   connections to System/370* (S/370) and Application System/400* (AS/400*) 
  442.   hosts. 
  443.  
  444. o Service Point Application Router and Remote Operations Service Guide, 
  445.   SC31-7006 
  446.  
  447.   This book contains guidance and reference information for using two 
  448.   Communications Manager functions, Service Point Application Router and Remote 
  449.   Operations Service, to handle network management commands directed to a 
  450.   workstation by a NetView* operator or an application program. 
  451.  
  452. o Message Reference, SC31-6159 
  453.  
  454.   This book contains the text, explanations, and suggested actions for all 
  455.   Communications Manager messages, including alerts and errors. This document 
  456.   is also available online. 
  457.  
  458.  
  459. ΓòÉΓòÉΓòÉ 3.4.1.3. Programming Books ΓòÉΓòÉΓòÉ
  460.  
  461. The following books provide Communications Manager application programming 
  462. interface (API) information for creating and maintaining Communications Manager 
  463. programs: 
  464.  
  465. o Application Programming Guide, SC31-7012 
  466.  
  467.   This book describes application program development for Communications 
  468.   Manager.  It is the starting point for writing application programs that use 
  469.   any of the Communications Manager application programming interfaces (APIs) 
  470.   and contains information common to all of the APIs. The Communications 
  471.   Manager/2 API Support Diskette, which contains sample programs, API data 
  472.   structures, and header files, is provided with this book. 
  473.  
  474. o ACDI Programming Reference, SC31-6161 
  475.  
  476.   This book introduces and defines the procedures for using the Asynchronous 
  477.   Communications Device Interface (ACDI). This book serves as a reference for 
  478.   programmers who want to use the asynchronous programming functions to create 
  479.   their own application programs using C and Macro Assembler languages. 
  480.  
  481. o APPC Programming Guide and Reference, SC31-6160 
  482.  
  483.   This book provides information necessary to create application programs in 
  484.   the C, COBOL, or Macro Assembler programming languages that use the advanced 
  485.   program-to-program communications (APPC) programming interface functions. 
  486.  
  487. o Conventional LU Application Programming Reference, SC31-6166 
  488.  
  489.   This book provides information necessary to create application programs in 
  490.   the C, COBOL, or Macro Assembler programming languages that use the IBM OS/2 
  491.   Conventional LU Application (LUA) programming interface. 
  492.  
  493. o ECF Server-Requester Programming Interface (SRPI) Reference, SC31-6165 
  494.  
  495.   This book provides programmers with the information necessary to create 
  496.   requester application programs that use the Server-Requester Programming 
  497.   Interface (SRPI) functions in Communications Manager. 
  498.  
  499. o EHLLAPI Programming Reference, SC31-6163 
  500.  
  501.   This book defines the Emulator High-Level Language Application Programming 
  502.   Interface (EHLLAPI). Applications written to this programming interface can 
  503.   access and control the 3270 and 5250 host presentation spaces. 
  504.  
  505. o ISDN Connection Manager Interface (CMI) Programming Reference, SC31-7010 
  506.  
  507.   This book describes how to use the integrated services digital network (ISDN) 
  508.   connection manager interface (CMI) to make a connection for user applications 
  509.   through a switched network. 
  510.  
  511. o ISDN Port Connection Manager (PCM) Programming Reference, SC31-7011 
  512.  
  513.   This book describes how to develop and implement a call control module (a 
  514.   port connection manager) for use in Communications Manager's switched network 
  515.   environment. 
  516.  
  517. o Realtime Interface Co-Processor Device Driver Programming Reference, 
  518.   SC31-6164 
  519.  
  520.   This book provides information for writing programs that support the Realtime 
  521.   Interface Co-Processor adapters. The dynamic link libraries, the application 
  522.   loader, and the device driver interface are discussed. 
  523.  
  524. o System Management Programming Reference, SC31-6173 
  525.  
  526.   This book provides detailed descriptions of the Advanced Peer-to-Peer 
  527.   Networking* (APPN*) configuration and subsystem management verbs.  These 
  528.   verbs allow configuration and management of APPN nodes. 
  529.  
  530. o X.25 Programming Reference, SC31-6167 
  531.  
  532.   This book provides the information necessary to create application programs 
  533.   in the C, COBOL, or Macro Assembler programming languages that use the X.25 
  534.   API. 
  535.  
  536.  
  537. ΓòÉΓòÉΓòÉ 3.4.2. Related Publications ΓòÉΓòÉΓòÉ
  538.  
  539. The following publications provide additional information about the topics that 
  540. are discussed in this book. For information about obtaining these publications, 
  541. contact your IBM authorized dealer or IBM marketing representative. 
  542.  
  543.  
  544. ΓòÉΓòÉΓòÉ 3.4.2.1. Operating System Publications ΓòÉΓòÉΓòÉ
  545.  
  546. If your operating system is OS/2 2.0, you can use the following related 
  547. publications: 
  548.  
  549. o IBM Operating System/2 Technical Library, 10G3356 
  550.  
  551.   The seventeen volumes in this library provide reference and tutorial 
  552.   information for OS/2 2.0 programming end user interfaces, device driver 
  553.   development, and application program development. The guidance information 
  554.   provides a complete guide to designing, writing, and building your 
  555.   application. The reference information is for all the application program 
  556.   interface (API) functions. The entire library can be ordered with a single 
  557.   part number. 
  558.  
  559.   The following books provide application programming information: 
  560.  
  561.    - Applications Design Guide, 10G6260 
  562.  
  563.      This book, a companion to IBM Operating System/2 2.0 Programming Guide, 
  564.      provides an overview of the programming concepts supported by OS/2 and 
  565.      explains the services of the API functions. Use this book when building 
  566.      executable files or dynamic link libraries, when writing code for an 
  567.      object-oriented environment, or when migrating from DOS or OS/2 16-bit 
  568.      applications. 
  569.  
  570.    - Programming Guide, Volume I:  Control Program Programming Interface, 
  571.      10G6261 
  572.  
  573.      This volume describes the Control Program Programming Interface, which 
  574.      provides the basic OS/2 programming API. The interface allows users to 
  575.      program functions that are internal to applications, including file 
  576.      system, memory management, exception management, and multitasking 
  577.      functions. 
  578.  
  579.    - Programming Guide, Volume II:  Presentation Manager Window Programming 
  580.      Interface, 10G6494 
  581.  
  582.      This volume describes the OS/2 Presentation Manager* (PM) window 
  583.      programming interface, which provides a windowed, message-based graphical 
  584.      user interface.  Topics covered include messages and message queues, 
  585.      window classes, frame windows, control windows, and window controls. 
  586.  
  587.    - Programming Guide, Volume III:  Graphics Programming Interface, 10G6495 
  588.  
  589.      This volume describes the OS/2 Graphics Programming Interface, which 
  590.      provides an API for displaying and printing graphical output. Topics 
  591.      covered include graphic primitives, graphic segments, bit maps, and 
  592.      transformation functions. This volume also describes printing and device 
  593.      support. 
  594.  
  595.  
  596. ΓòÉΓòÉΓòÉ 3.4.2.2. Realtime Interface Co-Processor Publications ΓòÉΓòÉΓòÉ
  597.  
  598. The following publications are recommended for additional information about the 
  599. Realtime Interface Co-Processor. 
  600.  
  601. o Realtime Interface Co-Processor C Language Support, SC28-8014 
  602.  
  603.   This book is provided with the C Support software package. It is not 
  604.   available separately.  This publication documents C high-level interfaces for 
  605.   the Realtime Interface Co-Processor Multiport/2 and the IBM X.25 Interface 
  606.   Co-Processor/2. 
  607.  
  608. o Realtime Interface Co-Processor Firmware Technical Reference, S33F-5336 
  609.  
  610.   This publication contains software technical reference information for the 
  611.   Realtime Co-Processor Adapter, Multiport Adapter, Multiport/2 Adapter, 
  612.   Portmaster Adapter/A, and the Multiport Adapter Model 2. It explains use of 
  613.   the software; introduces the software structure; and provides information for 
  614.   the interface, functions, and capabilities of the co-process or adapter 
  615.   software. This manual is intended for software designers, programmers, and 
  616.   anyone who needs to understand the use and operation of the co-processor 
  617.   adapter. 
  618.  
  619. o Realtime Interface Co-Processor Multiport/2 Guide to Operations, 09F1897 
  620.  
  621.   This book is included with the adapter (09F1897 (US), 09F1896; feature 
  622.   identifier 6263). 
  623.  
  624. o Realtime Interface Co-Processor Hardware Maintenance and Service, SC28-8005 
  625.  
  626.   This publication provides the information needed to isolate and repair a 
  627.   field replaceable unit. The information includes switch and jumper settings, 
  628.   maintenance analysis procedures, and a parts catalog. The advanced diagnostic 
  629.   diskette and wrap plugs are included. 
  630.  
  631. o Realtime Interface Co-Processor Multiport/2 Technical Reference, S57F-0632 
  632.  
  633.   This publication contains hardware technical reference information for the 
  634.   Realtime Interface Co-Processor Multiport Adapter Model 2. It describes 
  635.   various units of the co-processor adapter and their interaction with each 
  636.   other. It gives technical details about co-processor adapter options and 
  637.   interfaces and provides description and data related to configuration, 
  638.   component layout, circuitry, functions, hardware interfaces, and programming 
  639.   considerations. This manual is intended for hardware and software designers, 
  640.   programmers, engineers, and anyone who needs to understand the use and 
  641.   operation of the Multiport Adapter Model 2. 
  642.  
  643. o Realtime Interface Co-Processor OS/2 Support, 33F9043 (program identifier 
  644.   5662-281) 
  645.  
  646.   The publication with this product provides the information necessary to 
  647.   interface the IBM Realtime Interface Co-Processor Multiport/2 and the IBM 
  648.   X.25 Interface Co-Processor/2 to the OS/2 program. It describes functions, 
  649.   capabilities, and installation of the Realtime Interface Co-Processor OS/2 
  650.   Support software. 
  651.  
  652. o Realtime Interface Co-Processor Portmaster Technical Reference, S33F-5337 
  653.  
  654.   This publication is written for experienced technicians. The reader should 
  655.   have data processing or programming experience, and a general knowledge of 
  656.   electronics. This publication is intended for technicians, hardware 
  657.   maintenance and services personnel, hardware and software engineers, and 
  658.   hardware and software designers. 
  659.  
  660. o Realtime Interface Co-Processor Technical Reference, SC28-8006 
  661.  
  662.   This diskette provides reference information intended for hardware and 
  663.   program designers, programmers, engineers, and anyone else who needs to 
  664.   understand the design and operation of the product. 
  665.  
  666. o IBM X.25 Interface Co-Processor/2: Technical Reference, S16F-1879 
  667.  
  668.   This technical reference provides system specific hardware and software 
  669.   interface information for the product. It is intended for developer's who 
  670.   provide hardware and software products to operate on this system. BIOS 
  671.   interface and system design information is provided. 
  672.  
  673.  
  674. ΓòÉΓòÉΓòÉ 4. Using the Device Driver Programming Interface ΓòÉΓòÉΓòÉ
  675.  
  676. The IBM Realtime Interface Co-Processor device driver is used by the base 
  677. operating system to support the Realtime Interface Co-Processor family of 
  678. communication adapters, including the following adapters: 
  679.  
  680. o Realtime Interface Co-Processor 2 Port 
  681. o Multiport 
  682. o Multiport Model 2 
  683. o X.25 
  684. o Multiport/2 
  685. o Portmaster* 
  686. The device driver programming interface is available in the IBM Communications 
  687. Manager program for users who want to provide their own programming support for 
  688. the co-processor adapter. The main functions of the device driver are to: 
  689.  
  690. o Handle interrupts from the co-processor adapter 
  691.  
  692. o Determine which task on which co-processor adapter interrupted the system 
  693.   unit, and signal the appropriate system unit processes 
  694.  
  695. o Read the parameter file and configure the co-processor adapter accordingly 
  696.  
  697. o Provide a programming interface to the co-processor adapter through the 
  698.   generic input/output control (IOCtl) interface or through a set of dynamic 
  699.   link libraries (DLLs) 
  700.  
  701. See Tips and Techniques, for instructions on developing tasks using the calls 
  702. and functions in this book. 
  703.  
  704.  
  705. ΓòÉΓòÉΓòÉ 4.1. Software Description ΓòÉΓòÉΓòÉ
  706.  
  707. The Communications Manager program provides the following software support: 
  708.  
  709. o A device driver 
  710. o A device driver application program interface (API) 
  711. o An application loader 
  712. o A set of dynamic link libraries 
  713. This API is the same as the one provided by the IBM Realtime Interface 
  714. Co-Processor Operating System/2 Support Version 1.03 and CSD UN14553 program 
  715. referred to in the remainder of this book as the OS/2 Support program. 
  716.  
  717.  
  718. ΓòÉΓòÉΓòÉ 4.2. Installing the Device Driver ΓòÉΓòÉΓòÉ
  719.  
  720. The two methods to install the device driver and its API are as follows: 
  721.  
  722. o Install X.25 support for the Communications Manager program. The device 
  723.   driver and its API are automatically installed. 
  724.  
  725. o If you do not intend to use X.25 support, obtain the OS/2 Support program and 
  726.   install the device driver as described in IBM Realtime Interface 
  727.   Co-Processor:  OS/2 Support. In addition to device driver support, the OS/2 
  728.   Support program provides additional support, such as an online dump facility, 
  729.   which you may want to use. 
  730.  
  731. When you install the device driver, the following statement must be in the 
  732. CONFIG.SYS file with no parameters: 
  733.  
  734. DEVICE=d:\CMLIB\ICARICIO.SYS
  735. where d is the drive where the Communications Manager directory (\CMLIB) is 
  736. located. The statement is added automatically when X.25 support is installed 
  737. with Communications Manager. See IBM Realtime Interface Co-Processor:  OS/2 
  738. Support. 
  739.  
  740.  
  741. ΓòÉΓòÉΓòÉ 4.3. Using Calls to the Device Driver ΓòÉΓòÉΓòÉ
  742.  
  743. The device driver supports a subset of the standard device driver calls defined 
  744. by the OS/2 operating system. Realtime Interface Co-Processor Device Driver 
  745. Calls lists this subset of calls. If you are using OS/2 Version 1.30.2, refer 
  746. to IBM X.25 Interface Co-Processor:  Technical Reference for a list of the 
  747. standard device driver calls. If you are using OS/2 Version 2.0, refer to the 
  748. OS/2 Technical Library. 
  749.  
  750. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  751. Γöé      Realtime Interface Co-Processor Device Driver Calls         Γöé
  752. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  753. Γöé COMMAND CODE       Γöé FUNCTION                      Γöé
  754. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  755. Γöé X'00'          Γöé Init                        Γöé
  756. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  757. Γöé X'0D'          Γöé Open                        Γöé
  758. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  759. Γöé X'0E'          Γöé Close                        Γöé
  760. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  761. Γöé X'10'          Γöé Generic IOCtl                    Γöé
  762. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  763. Γöé X'14'          Γöé Deinstall                      Γöé
  764. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  765.  
  766. All of the device driver services are available through the generic IOCtl call 
  767. interface. This interface is defined in the OS/2 Technical Library. 
  768.  
  769. The DosDevIOCtl call can be used to access the device driver services. The 
  770. DosDevIOCtl call is defined in the OS/2 Technical Library. In the call to 
  771. DosDevIOCtl, the category code should have a value of X'F0'.  The function 
  772. codes are listed in Device Driver Services, along with a short description of 
  773. the available services. The parameter and data packet formats are defined for 
  774. each service later in this chapter. 
  775.  
  776. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  777. Γöé      Device Driver Services                        Γöé
  778. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  779. Γöé FUNCCODE   Γöé NAME            Γöé DESCRIPTION             Γöé
  780. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  781. Γöé X'40'    Γöé RESET           Γöé Reset a co-processor adapter    Γöé
  782. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  783. Γöé X'41'    Γöé CHANGEPAGE         Γöé Point a shared storage window to a Γöé
  784. Γöé       Γöé              Γöé different page of co-processor   Γöé
  785. Γöé       Γöé              Γöé adapter memory           Γöé
  786. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  787. Γöé X'42'    Γöé WINDOWRESERVEWAIT     Γöé Reserve a shared storage window;  Γöé
  788. Γöé       Γöé              Γöé the call waits until the window is Γöé
  789. Γöé       Γöé              Γöé unowned or the call times out    Γöé
  790. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  791. Γöé X'43'    Γöé WINDOWRESERVENOWAIT    Γöé Reserve a shared storage window;  Γöé
  792. Γöé       Γöé              Γöé returns process ID and thread ID  Γöé
  793. Γöé       Γöé              Γöé if already owned          Γöé
  794. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  795. Γöé X'44'    Γöé WINDOWRELEASE       Γöé Release a shared storage window   Γöé
  796. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  797. Γöé X'45'    Γöé TASKFLUSH         Γöé Remove all requests by calling   Γöé
  798. Γöé       Γöé              Γöé process               Γöé
  799. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  800. Γöé X'46'    Γöé WRITESTRING        Γöé Write co-processor adapter memory  Γöé
  801. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  802. Γöé X'47'    Γöé REGISTERSEMAPHORE     Γöé Register a semaphore with device  Γöé
  803. Γöé       Γöé              Γöé driver for task interrupts     Γöé
  804. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  805. Γöé X'48'    Γöé REMOVESEMAPHORE      Γöé Remove a semaphore from device   Γöé
  806. Γöé       Γöé              Γöé driver semaphore list        Γöé
  807. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  808. Γöé X'49'    Γöé PUTOUTPUTBUFFER      Γöé Write to a task output buffer    Γöé
  809. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  810. Γöé X'4A'    Γöé ISSUECOMMAND        Γöé Issue a command with parameters to Γöé
  811. Γöé       Γöé              Γöé a co-processor adapter task     Γöé
  812. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  813. Γöé X'4B'    Γöé NOTIFY           Γöé Register a semaphore with device  Γöé
  814. Γöé       Γöé              Γöé driver for special events      Γöé
  815. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  816. Γöé X'4C'    Γöé REMOVENOTIFY        Γöé Remove a semaphore from device   Γöé
  817. Γöé       Γöé              Γöé driver list for special events   Γöé
  818. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  819. Γöé X'4E'    Γöé PEERSEND          Γöé Send a peer request block      Γöé
  820. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  821. Γöé X'4F'    Γöé LOCK            Γöé Lock a segment and obtain its    Γöé
  822. Γöé       Γöé              Γöé physical address          Γöé
  823. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  824. Γöé X'50'    Γöé UNLOCK           Γöé Unlock a segment previously locked Γöé
  825. Γöé       Γöé              Γöé by the LOCK function        Γöé
  826. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  827. Γöé X'60'    Γöé GETPARAMETERS       Γöé Get the configuration parameters  Γöé
  828. Γöé       Γöé              Γöé for a co-processor adapter     Γöé
  829. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  830. Γöé X'61'    Γöé INPUTBUFFER        Γöé Get the address and length of a   Γöé
  831. Γöé       Γöé              Γöé task input buffer          Γöé
  832. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  833. Γöé X'62'    Γöé OUTPUTBUFFER        Γöé Get the address and length of a   Γöé
  834. Γöé       Γöé              Γöé task output buffer         Γöé
  835. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  836. Γöé X'63'    Γöé SECONDARYSTATUS      Γöé Get the address and length of a   Γöé
  837. Γöé       Γöé              Γöé task secondary status buffer    Γöé
  838. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  839. Γöé X'64'    Γöé PRIMARYSTATUS       Γöé Get a task primary status byte   Γöé
  840. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  841. Γöé X'65'    Γöé READSTRING         Γöé Read co-processor adapter memory  Γöé
  842. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  843. Γöé X'66'    Γöé GETINPUTBUFFER       Γöé Get the contents of a task input  Γöé
  844. Γöé       Γöé              Γöé buffer               Γöé
  845. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  846. Γöé X'67'    Γöé GETSECONDARYSTATUS     Γöé Get the contents of a task sec-   Γöé
  847. Γöé       Γöé              Γöé ondary status buffer        Γöé
  848. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  849. Γöé X'69'    Γöé GETVERSION         Γöé Get the version number of the    Γöé
  850. Γöé       Γöé              Γöé installed driver          Γöé
  851. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  852. Γöé X'6A'    Γöé GETEXTPARMS        Γöé Get the extended parameters for a  Γöé
  853. Γöé       Γöé              Γöé co-processor adapter        Γöé
  854. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  855. Γöé X'6B'    Γöé PEEROPEN          Γöé Establish an application as a peer Γöé
  856. Γöé       Γöé              Γöé task within the system unit     Γöé
  857. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  858. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  859. Γöé      Device Driver Services                        Γöé
  860. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  861. Γöé FUNCCODE   Γöé NAME            Γöé DESCRIPTION             Γöé
  862. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  863. Γöé X'6C'    Γöé PEERCLOSE         Γöé Close a peer handle and terminate  Γöé
  864. Γöé       Γöé              Γöé usage of peer services       Γöé
  865. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  866.  
  867.  
  868. ΓòÉΓòÉΓòÉ 4.4. Sample Device Driver Call ΓòÉΓòÉΓòÉ
  869.  
  870. All of the device driver generic IOCtl calls can be made through the 
  871. DosDevIOCtl OS/2 call. The following example shows a call to ChangePage. In 
  872. this example, the shared storage window of co-processor adapter 0 is being 
  873. changed to display page 1. 
  874.  
  875. ;************************************** DATA
  876.  
  877. extrn         DOSDEVIOCTL:far
  878.  
  879. DevHandle     dw      ?                 ; Device driver handle
  880.                                         ;  from DosOpen
  881.  
  882. Parm_Buffer   label   byte              ; Parameter packet
  883. Parm_CoProc   db      0
  884. Parm_NewPage  db      1
  885.  
  886. Data_Buffer   label   byte              ; Data packet
  887. Data_OldPage  db      ?
  888.  
  889. ;************************************** CODE
  890.  
  891.               lea     ax, Data_Buffer   ; Data packet address
  892.               push    ds
  893.               push    ax
  894.               lea     ax, Parm_Buffer   ; Parameter packet address
  895.               push    ds
  896.               push    ax
  897.               push    041h              ; Function code
  898.               push    0F0h              ; Category code
  899.               mov     ax, DevHandle     ; Device driver handle
  900.               push    ax
  901.               call    DOSDEVIOCTL       ; Call ChangePage
  902.  
  903.               or      ax, ax            ; Check for error
  904.               jnz     ErrorHandler      ; Jump if error occurred
  905.  
  906. ;************************************** END OF EXAMPLE
  907.  
  908.  
  909. ΓòÉΓòÉΓòÉ 4.5. Device Driver Calls ΓòÉΓòÉΓòÉ
  910.  
  911. Following are descriptions of the device driver calls. Although the parameters 
  912. described in this chapter are functionally equivalent to those described in 
  913. Understanding Dynamic Link Libraries, their names may be slightly different. 
  914.  
  915. For a list of error codes returned by the device driver calls, see Error Codes. 
  916.  
  917.  
  918. ΓòÉΓòÉΓòÉ 4.6. ChangePage ΓòÉΓòÉΓòÉ
  919.  
  920. ChangePage 
  921.  
  922. ChangePage changes the shared storage window to point to a different page of 
  923. co-processor adapter memory. 
  924.  
  925. Category code: X'F0'
  926. Function code: X'41'
  927.  
  928.  Parameters 
  929.  
  930.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  931.                     Γöé FIELD                           Γöé LENGTH      Γöé
  932.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  933.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  934.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  935.                     Γöé New page number                      Γöé Byte       Γöé
  936.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  937.  
  938.  Format 
  939.  
  940.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  941.                     Γöé FIELD                           Γöé LENGTH      Γöé
  942.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  943.                     Γöé Old page number                      Γöé Byte       Γöé
  944.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  945.  
  946.           Co-processor adapter number 
  947.                     The logical number of the co-processor adapter window to 
  948.                     relocate. 
  949.  
  950.           New page number 
  951.                     The page of co-processor adapter memory to reference with 
  952.                     the shared storage window. 
  953.  
  954.           Old page number 
  955.                     The previous page of co-processor adapter memory referenced 
  956.                     by the shared storage window 
  957.  
  958.  Return Codes 
  959.  
  960.                     IF      AX=0  then NO error
  961.                     ELSE    AX=error code
  962.  
  963.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  964.                     X'FF07' = ERROR_ICA_INVALID_PAGE
  965.                     X'FF0A' = ERROR_ICA_WIN_RESERVED
  966.  
  967.  Comments 
  968.  
  969.           The co-processor adapter has its own address space separate from the 
  970.           system unit. However, system unit applications can access the 
  971.           co-processor adapter memory through a shared storage window. The 
  972.           window size on the co-processor adapter can be set for 8KB, 16KB, 
  973.           32KB, or 64KB. This function changes the page of co-processor adapter 
  974.           memory that can be seen through the shared storage window. 
  975.  
  976.           The calling process must own the shared storage window (acquired with 
  977.           the WindowReserveWait or WindowReserveNoWait functions) to use the 
  978.           ChangePage function. 
  979.  
  980.  
  981. ΓòÉΓòÉΓòÉ 4.7. Close ΓòÉΓòÉΓòÉ
  982.  
  983. Close 
  984.  
  985. Close releases the handle used to access the device driver. 
  986.  
  987.  Comments 
  988.  
  989.           This function is not a generic IOCtl function; it must be called 
  990.           through the OS/2 DosClose call. This releases the device handle that 
  991.           was used to access the device driver generic IOCtl calls. If there 
  992.           are any generic IOCtl calls to the device driver that have not been 
  993.           completed at the time DosClose is called, the DosClose is blocked 
  994.           until they are completed. 
  995.  
  996.           For more information regarding DOS calls, refer to the OS/2 Technical 
  997.           Library. 
  998.  
  999.  
  1000. ΓòÉΓòÉΓòÉ 4.8. GetExtParameters ΓòÉΓòÉΓòÉ
  1001.  
  1002. GetExtParameters 
  1003.  
  1004. GetExtParameters gets extra configuration parameter information for a given 
  1005. co-processor adapter. 
  1006.  
  1007. Category code: X'F0'
  1008. Function code: X'6A'
  1009.  
  1010.  Parameters 
  1011.  
  1012.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1013.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1014.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1015.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  1016.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1017.                     Γöé Parameter length (in bytes)                Γöé Byte       Γöé
  1018.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1019.  
  1020.  Format 
  1021.  
  1022.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1023.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1024.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1025.                     Γöé Adapter code                        Γöé Byte       Γöé
  1026.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1027.                     Γöé Physical slot number                    Γöé Byte       Γöé
  1028.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1029.                     Γöé EIB 0 ID                          Γöé Byte       Γöé
  1030.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1031.                     Γöé EIB 1 ID                          Γöé Byte       Γöé
  1032.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1033.                     Γöé Clocking options (0, 1)                  Γöé Byte       Γöé
  1034.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1035.                     Γöé Arbitration level                     Γöé Byte       Γöé
  1036.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1037.  
  1038.           Co-processor adapter number 
  1039.                     The logical number of the co-processor adapter. 
  1040.  
  1041.           Parameter length 
  1042.                     The number of parameter bytes to return. This field should 
  1043.                     have a value of 5 or less. 
  1044.  
  1045.           Adapter code 
  1046.                     The adapter type. A B'0' in bit 0 indicates an IBM Realtime 
  1047.                     Interface Co-Processor or Realtime Interface Co-Processor 
  1048.                     Multiport adapter; a B'1' in bit 0 indicates an IBM 
  1049.                     Realtime Interface Co-Processor Multiport/2 adapter. 
  1050.  
  1051.           Physical slot number 
  1052.                     A byte that contains the slot number of the card. 
  1053.  
  1054.           EIB 0 ID 
  1055.                     An identification byte for Electrical Interface Board 0. 
  1056.  
  1057.           EIB 1 ID 
  1058.                     An identification byte for Electrical Interface Board 1. 
  1059.  
  1060.           Clocking options 
  1061.                     A byte that indicates the clocking options for ports 0 
  1062.                     and 1. First check the AdapterCode field. If a B'0' is in 
  1063.                     bit 0, the clocking options are not available and this 
  1064.                     field is undefined. If a B'1' is in bit 0, the field has 
  1065.                     the definition shown in GetExtParameters Clocking Options: 
  1066.  
  1067.                                         GetExtParameters Clocking Options
  1068.  
  1069.                     with the following definitions: 
  1070.  
  1071.              PLL/32 
  1072.  
  1073.              Loc/Rem 
  1074.  
  1075.              DCE/DTE 
  1076.  
  1077.           Arbitration level 
  1078.                     A byte that indicates the arbitration level. This 
  1079.                     information will be filled in. 
  1080.  
  1081.  Return Codes 
  1082.  
  1083.                     IF      AX=0 then NO error
  1084.                     ELSE    AX=error code
  1085.  
  1086.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  1087.  
  1088.  Comments 
  1089.  
  1090.           The GetExtParameters function returns extra parameter information for 
  1091.           each card. 
  1092.  
  1093.  
  1094. ΓòÉΓòÉΓòÉ 4.9. GetInputBuffer ΓòÉΓòÉΓòÉ
  1095.  
  1096. GetInputBuffer 
  1097.  
  1098. GetInputBuffer reads the contents of a task input buffer. 
  1099.  
  1100. Category code: X'F0'
  1101. Function code: X'66'
  1102.  
  1103.  Parameters 
  1104.  
  1105.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1106.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1107.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1108.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  1109.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1110.                     Γöé Task number                        Γöé Byte       Γöé
  1111.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1112.                     Γöé Length                           Γöé Word       Γöé
  1113.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1114.  
  1115.  Format 
  1116.  
  1117.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1118.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1119.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1120.                     Γöé Destination buffer pointer                 Γöé Doubleword    Γöé
  1121.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1122.  
  1123.           Co-processor adapter number 
  1124.                     The logical number of the co-processor adapter. 
  1125.  
  1126.           Task number 
  1127.                     The task number of the buffer owner. 
  1128.  
  1129.           Length 
  1130.                     The number of bytes to read. The number of bytes actually 
  1131.                     read is returned in this field. 
  1132.  
  1133.           Destination buffer pointer 
  1134.                     A doubleword pointer to where the input buffer data is 
  1135.                     stored. 
  1136.  
  1137.  Return Codes 
  1138.  
  1139.                     IF      AX=0 then NO error
  1140.                     ELSE    AX=error code
  1141.  
  1142.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  1143.                     X'FF06' = ERROR_ICA_INVALID_TASK
  1144.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  1145.  
  1146.  Comments 
  1147.  
  1148.           If a length greater than the size of the input buffer is specified, 
  1149.           the function reads only the number of bytes in the input buffer; the 
  1150.           size of the input buffer is read from the task buffer control block. 
  1151.           The number of bytes actually read is returned in the Length field of 
  1152.           the parameter packet. 
  1153.  
  1154.           This function does not require the caller to own the shared storage 
  1155.           window of the co-processor adapter. 
  1156.  
  1157.  
  1158. ΓòÉΓòÉΓòÉ 4.10. GetParameters ΓòÉΓòÉΓòÉ
  1159.  
  1160. GetParameters 
  1161.  
  1162. GetParameters returns the configuration parameters for a given co-processor 
  1163. adapter. 
  1164.  
  1165. Category code: X'F0'
  1166. Function code: X'60'
  1167.  
  1168.  Parameters 
  1169.  
  1170.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1171.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1172.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1173.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  1174.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1175.  
  1176.  Format 
  1177.  
  1178.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1179.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1180.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1181.                     Γöé Base I/O address                      Γöé Word       Γöé
  1182.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1183.                     Γöé Reserved                          Γöé Byte       Γöé
  1184.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1185.                     Γöé Shared storage window meg                 Γöé Byte       Γöé
  1186.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1187.                     Γöé Shared storage window page                 Γöé Byte       Γöé
  1188.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1189.                     Γöé Maximum task number                    Γöé Byte       Γöé
  1190.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1191.                     Γöé Maximum priority number                  Γöé Byte       Γöé
  1192.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1193.                     Γöé Maximum queue number                    Γöé Byte       Γöé
  1194.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1195.                     Γöé Maximum timer number                    Γöé Byte       Γöé
  1196.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1197.                     Γöé CAD16 .. CAD23                       Γöé Byte       Γöé
  1198.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1199.                     Γöé CAD0 .. CAD15                       Γöé Word       Γöé
  1200.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1201.                     Γöé Reserved                          Γöé Doubleword    Γöé
  1202.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1203.                     Γöé Interrupt level index                   Γöé Byte       Γöé
  1204.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1205.                     Γöé Reserved                          Γöé Word       Γöé
  1206.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1207.                     Γöé Shared storage window size                 Γöé Byte       Γöé
  1208.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1209.  
  1210.           Co-processor adapter number 
  1211.                     The logical number of the co-processor adapter. 
  1212.  
  1213.           Base I/O address 
  1214.                     The base address of the co-processor adapter I/O ports. 
  1215.                     These ports are used by the device driver for controlling 
  1216.                     the co-processor adapter. 
  1217.  
  1218.           Shared storage window meg 
  1219.                     The megabyte value of system unit memory where the 
  1220.                     co-processor adapter shared storage window is located. 
  1221.  
  1222.           Shared storage window page 
  1223.                     The page value of system unit memory within the defined 
  1224.                     megabyte value, where the co-processor adapter shared 
  1225.                     storage window is located. 
  1226.  
  1227.           Maximum task number 
  1228.                     The largest number of tasks that can run simultaneously on 
  1229.                     the co-processor adapter. 
  1230.  
  1231.           Maximum priority value 
  1232.                     The largest value of a task priority. The highest priority 
  1233.                     level is 1, while the lowest priority level has the maximum 
  1234.                     value. 
  1235.  
  1236.           Maximum queue number 
  1237.                     The largest number of queues that can exist simultaneously 
  1238.                     on the co-processor adapter. 
  1239.  
  1240.           Maximum timer number 
  1241.                     The largest number of software timers that can exist 
  1242.                     simultaneously on the co-processor adapter. 
  1243.  
  1244.           CAD16 .. CAD23 
  1245.                     The high byte of the physical address that causes the 
  1246.                     co-processor adapter memory to degate (see note on topic 
  1247.                     Device Driver Calls). When combined with the CAD0 .. CAD15 
  1248.                     field, this defines the system unit address that causes the 
  1249.                     co-processor adapter memory to degate when the address is 
  1250.                     accessed. 
  1251.  
  1252.           CAD0 .. CAD15 
  1253.                     The low word of the physical address that causes the 
  1254.                     co-processor adapter memory to degate. 
  1255.  
  1256.           Interrupt level index 
  1257.                     An index that indicates the interrupt level on which the 
  1258.                     co-processor adapter interacts with the system unit. 
  1259.                     Comparing Interrupt Level Index and Actual Interrupt Level 
  1260.                     shows the correlation between the interrupt level index and 
  1261.                     the actual interrupt level: 
  1262.  
  1263.                                         -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1264.                                         Γöé      Comparing Interrupt Level Index and Actual Interrupt Level      Γöé
  1265.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1266.                                         Γöé      INDEX      Γöé          INTERRUPT LEVEL          Γöé
  1267.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1268.                                         Γöé       0       Γöé              3             Γöé
  1269.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1270.                                         Γöé       1       Γöé              4             Γöé
  1271.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1272.                                         Γöé       2       Γöé              7             Γöé
  1273.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1274.                                         Γöé       3       Γöé              9             Γöé
  1275.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1276.                                         Γöé       4       Γöé             10             Γöé
  1277.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1278.                                         Γöé       5       Γöé             11             Γöé
  1279.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1280.                                         Γöé       6       Γöé             12             Γöé
  1281.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1282.                                         Γöé       7       Γöé             15             Γöé
  1283.                                         ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1284.  
  1285.           Shared storage window size 
  1286.                     The size code that indicates the size of the co-processor 
  1287.                     adapter shared storage window.  Comparing Size Code and 
  1288.                     Window Size matches the size code with the window size. 
  1289.  
  1290.                                         -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1291.                                         Γöé      Comparing Size Code and Window Size                 Γöé
  1292.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1293.                                         Γöé      SIZE CODE      Γöé          WINDOW SIZE         Γöé
  1294.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1295.                                         Γöé        0        Γöé            8KB           Γöé
  1296.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1297.                                         Γöé        1        Γöé           16KB           Γöé
  1298.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1299.                                         Γöé        2        Γöé           32KB           Γöé
  1300.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1301.                                         Γöé        3        Γöé           64KB           Γöé
  1302.                                         ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1303.  
  1304.  Return Codes 
  1305.  
  1306.                     IF      AX=0 then NO error
  1307.                     ELSE    AX=error code
  1308.  
  1309.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  1310.  
  1311.  Comments 
  1312.  
  1313.           These parameters are defined in the parameter file. The device driver 
  1314.           uses these parameters when initializing the co-processor adapter. 
  1315.  
  1316.           Note:  The term degate means that the system unit is not allowed to 
  1317.                  read from or write to the co-processor adapter memory. For 
  1318.                  example, when the parameter file (ICAPARM.PRM) is not defined, 
  1319.                  the device driver selects an address that will disable the 
  1320.                  degate feature of the co-processor adapter. When the system 
  1321.                  unit is reset (by software or pressing a key combination) and 
  1322.                  a task is running that has logic to manage a reset interrupt, 
  1323.                  the co-processsor adapter also will be reset. 
  1324.  
  1325.  
  1326. ΓòÉΓòÉΓòÉ 4.11. GetSecondaryStatus ΓòÉΓòÉΓòÉ
  1327.  
  1328. GetSecondaryStatus 
  1329.  
  1330. GetSecondaryStatus reads the contents of a task secondary status buffer. 
  1331.  
  1332. Category code: X'F0'
  1333. Function code: X'67'
  1334.  
  1335.  Parameters 
  1336.  
  1337.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1338.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1339.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1340.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  1341.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1342.                     Γöé Task number                        Γöé Byte       Γöé
  1343.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1344.                     Γöé Length                           Γöé Word       Γöé
  1345.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1346.                     Γöé Status flag                        Γöé Byte       Γöé
  1347.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1348.  
  1349.  Format 
  1350.  
  1351.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1352.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1353.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1354.                     Γöé Destination buffer pointer                 Γöé Doubleword    Γöé
  1355.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1356.  
  1357.           Co-processor adapter number 
  1358.                     The logical number of the co-processor adapter. 
  1359.  
  1360.           Task number 
  1361.                     The task number of the buffer owner. 
  1362.  
  1363.           Length 
  1364.                     The number of bytes to read. The number of bytes actually 
  1365.                     read is returned in this field. A value of 0 indicates that 
  1366.                     64KB should be read. 
  1367.  
  1368.           Status flag 
  1369.                     The control bits that determine when the secondary status 
  1370.                     buffer should be read. A B'1' in bit 0 indicates that the 
  1371.                     buffer should only be read if the status available bit is 
  1372.                     set in the task primary status byte; a B'0' in bit 0 
  1373.                     indicates that the secondary status buffer should be read 
  1374.                     regardless of the value of the status available bit. 
  1375.  
  1376.           Destination buffer pointer 
  1377.                     A doubleword pointer to where the secondary status buffer 
  1378.                     data is stored. 
  1379.  
  1380.  Return Codes 
  1381.  
  1382.                     IF      AX=0 then NO error
  1383.                     ELSE    AX=error code
  1384.  
  1385.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  1386.                     X'FF06' = ERROR_ICA_INVALID_TASK
  1387.                     X'FF0C' = ERROR_ICA_STATUS_NOT_READY
  1388.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  1389.  
  1390.  Comments 
  1391.  
  1392.           If a length greater than the size of the secondary status buffer is 
  1393.           specified, the function reads only the number of bytes in the 
  1394.           secondary status buffer.  The size of the secondary status buffer is 
  1395.           read from the task buffer control block. The number of bytes actually 
  1396.           read is returned in the Length field of the parameter packet. 
  1397.  
  1398.           This function does not require the caller to own the shared storage 
  1399.           window for the co-processor adapter. 
  1400.  
  1401.  
  1402. ΓòÉΓòÉΓòÉ 4.12. GetVersion ΓòÉΓòÉΓòÉ
  1403.  
  1404. GetVersion 
  1405.  
  1406. GetVersion returns the version level of the installed OS/2 Support program so 
  1407. you can determine what services are available. 
  1408.  
  1409. Category code: X'F0'
  1410. Function code: X'69'
  1411.  
  1412.  Format 
  1413.  
  1414.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1415.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1416.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1417.                     Γöé Major version code                     Γöé Byte       Γöé
  1418.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1419.                     Γöé Minor version code                     Γöé Byte       Γöé
  1420.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1421.  
  1422.           Major version code 
  1423.                     The integer portion of the version number. If the version 
  1424.                     is represented by A.BC, the major version code is A. For 
  1425.                     example, if the call returns a value of X'01', the major 
  1426.                     version value is for Version 1.02 or later of the OS/2 
  1427.                     Support program. 
  1428.  
  1429.           Minor version code 
  1430.                     The fractional portion of the version number. If the 
  1431.                     version is represented by A.BC, the minor version code is 
  1432.                     BC. For example, if the call returns a value of X'02', the 
  1433.                     minor version is for Version 1.02 of the OS/2 Support 
  1434.                     program. Or, as another example, if the call returns a 
  1435.                     value of X'03', the minor version is for Version 1.03 of 
  1436.                     the OS/2 Support program. 
  1437.  
  1438.  Comments 
  1439.  
  1440.           You can tell if the original device driver is installed if this call 
  1441.           returns an error code of X'FF0E' (invalid function or category code). 
  1442.  
  1443.  
  1444. ΓòÉΓòÉΓòÉ 4.13. InputBuffer ΓòÉΓòÉΓòÉ
  1445.  
  1446. InputBuffer 
  1447.  
  1448. InputBuffer reads the address of a task input buffer from the task buffer 
  1449. control block. 
  1450.  
  1451. Category code: X'F0'
  1452. Function code: X'61'
  1453.  
  1454.  Parameters 
  1455.  
  1456.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1457.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1458.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1459.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  1460.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1461.                     Γöé Task number                        Γöé Byte       Γöé
  1462.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1463.  
  1464.  Format 
  1465.  
  1466.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1467.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1468.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1469.                     Γöé Length                           Γöé Word       Γöé
  1470.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1471.                     Γöé Offset                           Γöé Word       Γöé
  1472.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1473.                     Γöé Page                            Γöé Byte       Γöé
  1474.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1475.  
  1476.           Co-processor adapter number 
  1477.                     The logical number of the co-processor adapter. 
  1478.  
  1479.           Task number 
  1480.                     The task number of the buffer owner. 
  1481.  
  1482.           Length 
  1483.                     The length of the task input buffer (returned by the 
  1484.                     function). 
  1485.  
  1486.           Offset 
  1487.                     The page offset of the task input buffer (returned by the 
  1488.                     function). 
  1489.  
  1490.           Page 
  1491.                     The page of the task input buffer (returned by the 
  1492.                     function). 
  1493.  
  1494.  Return Codes 
  1495.  
  1496.                     IF      AX=0 then NO error
  1497.                     ELSE    AX=error code
  1498.  
  1499.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  1500.                     X'FF06' = ERROR_ICA_INVALID_TASK
  1501.  
  1502.  Comments 
  1503.  
  1504.           The InputBuffer function reads the length and address of the task 
  1505.           input buffer and stores them in the data packet. This address can 
  1506.           then be used for reading from or writing to the buffer. 
  1507.  
  1508.           This function does not require the caller to own the shared storage 
  1509.           window for the co-processor adapter. 
  1510.  
  1511.  
  1512. ΓòÉΓòÉΓòÉ 4.14. IssueCommand ΓòÉΓòÉΓòÉ
  1513.  
  1514. IssueCommand 
  1515.  
  1516. IssueCommand issues a command with parameters to a task. 
  1517.  
  1518. Category code: X'F0'
  1519. Function code: X'4A'
  1520.  
  1521.  Parameters 
  1522.  
  1523.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1524.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1525.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1526.                     Γöé Co-processor                        Γöé Byte       Γöé
  1527.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1528.                     Γöé Task number                        Γöé Byte       Γöé
  1529.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1530.                     Γöé Command code                        Γöé Byte       Γöé
  1531.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1532.                     Γöé Length                           Γöé Word       Γöé
  1533.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1534.                     Γöé Timeout                          Γöé Word       Γöé
  1535.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1536.  
  1537.  Format 
  1538.  
  1539.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1540.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1541.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1542.                     Γöé Parameter pointer                     Γöé Doubleword    Γöé
  1543.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1544.  
  1545.           Co-processor adapter number 
  1546.                     The logical number of the co-processor adapter. 
  1547.  
  1548.           Task number 
  1549.                     The task number of the task to receive the command. 
  1550.  
  1551.           Command code 
  1552.                     The command code to put in the task buffer control block. 
  1553.  
  1554.           Length 
  1555.                     The number of parameter bytes to write to the task output 
  1556.                     buffer. A value of 0 indicates that no parameter bytes 
  1557.                     should be written. 
  1558.  
  1559.           Timeout 
  1560.                     The number of milliseconds to wait for the RCM to respond 
  1561.                     to a command. 
  1562.  
  1563.           Parameter pointer 
  1564.                     The doubleword pointer to parameter bytes that are written 
  1565.                     to the task output buffer. 
  1566.  
  1567.  Return Codes 
  1568.  
  1569.                     IF      AX=0 then NO error
  1570.                     ELSE    AX=error code
  1571.  
  1572.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  1573.                     X'FF06' = ERROR_ICA_INVALID_TASK
  1574.                     X'FF08' = ERROR_ICA_CMD_TIMEOUT
  1575.                     X'FF14' = ERROR_ICA_OB_TOO_SHORT
  1576.                     X'FF11' = ERROR_ICA_BAD_PCSELECT
  1577.                     X'FF12' = COMMAND_REJECTED
  1578.                     X'FF13' = ERROR_ICA_NO_CMD_RESPONSE
  1579.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  1580.  
  1581.  Comments 
  1582.  
  1583.           The IssueCommand function issues a command to a task on a given 
  1584.           co-processor adapter. A length of 0 should be passed to the function 
  1585.           if there are no parameters to write. If the length parameter is 
  1586.           larger than the size of the task output buffer, an error is returned 
  1587.           to the application. 
  1588.  
  1589.           The calling application does not need to own the co-processor adapter 
  1590.           shared storage window to call this function. 
  1591.  
  1592.  
  1593. ΓòÉΓòÉΓòÉ 4.15. Lock ΓòÉΓòÉΓòÉ
  1594.  
  1595. Lock 
  1596.  
  1597. Lock locks a segment and obtains its physical address. The locked memory can 
  1598. then be used for bus master transfers through the peer services. 
  1599.  
  1600. Note:  This routine is necessary only when using the Realtime Control Microcode 
  1601. Version 2.0 and the Realtime Interface Co-Processor Portmaster Adapter/A. 
  1602.  
  1603. Category code: X'F0'
  1604. Function code: X'4A'
  1605.  
  1606.  Parameters 
  1607.  
  1608.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1609.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1610.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1611.                     Γöé Selector                          Γöé Word       Γöé
  1612.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1613.  
  1614.  Format 
  1615.  
  1616.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1617.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1618.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1619.                     Γöé Lock handle                        Γöé Doubleword    Γöé
  1620.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1621.                     Γöé Physical address                      Γöé Doubleword    Γöé
  1622.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1623.  
  1624.           Selector 
  1625.                     This field contains the locked selector.  The driver locks 
  1626.                     this segment and passes back the 32-bit physical address 
  1627.                     for offset 0 within the selector. 
  1628.  
  1629.           Lock handle 
  1630.                     This is the handle for the locked selector.  The lock 
  1631.                     handle is used to unlock the segment when it is no longer 
  1632.                     needed. 
  1633.  
  1634.           Physical Address 
  1635.                     This the 32-bit physical address of offset 0 in the given 
  1636.                     selector. This field is returned by the driver. 
  1637.  
  1638.  Return Codes 
  1639.  
  1640.                     IF      AX=0 then NO error
  1641.                     ELSE    AX=error code
  1642.  
  1643.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  1644.  
  1645.  
  1646. ΓòÉΓòÉΓòÉ 4.16. Notify ΓòÉΓòÉΓòÉ
  1647.  
  1648. Notify Notify registers a semaphore with the device driver for special events 
  1649. on the co-processor adapter. 
  1650.  
  1651. Category code: X'F0'
  1652. Function code: X'4B'
  1653.  
  1654.  Parameters 
  1655.  
  1656.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1657.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1658.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1659.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  1660.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1661.                     Γöé Control flag                        Γöé Byte       Γöé
  1662.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1663.                     Γöé Semaphore handle                      Γöé Doubleword    Γöé
  1664.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1665.  
  1666.  Format 
  1667.  
  1668.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1669.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1670.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1671.                     Γöé Reserved                          Γöé Word       Γöé
  1672.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1673.  
  1674.           Co-processor adapter number 
  1675.                     The logical number of the co-processor adapter. 
  1676.  
  1677.           Control flag 
  1678.                     The control bits that indicate the events for which the 
  1679.                     semaphore should be registered. A B'1' in bit 7 means that 
  1680.                     the semaphore should be registered for initialize commands 
  1681.                     issued to the RCM on the given co-processor adapter. 
  1682.  
  1683.           Semaphore handle 
  1684.                     The doubleword handle of the semaphore to register with the 
  1685.                     device driver. 
  1686.  
  1687.  Return Codes 
  1688.  
  1689.                     IF      AX=0 then NO error
  1690.                     ELSE    AX=error code
  1691.  
  1692.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  1693.                     X'FF0D' = ERROR_ICA_INVALID_CONTROL
  1694.                     X'FF15' = ERROR_ICA_SEM_FULL
  1695.                     X'FF1D' = ERROR_ICA_BAD_SEMAPHORE
  1696.  
  1697.  Comments 
  1698.  
  1699.           The Notify function registers a semaphore with the device driver for 
  1700.           notification of Initialize commands to the RCM. When an initialize 
  1701.           command is issued to the RCM on the specified co-processor adapter, 
  1702.           all semaphores that have been registered for that co-processor 
  1703.           adapter with the Notify function are cleared. Application threads 
  1704.           must call DosSemWait with the semaphore after registering the 
  1705.           semaphore with the Notify function. A maximum of 255 semaphores can 
  1706.           be registered with the device driver. The semaphore should be made 
  1707.           non-exclusive by the DosCreateSem call. For more information 
  1708.           regarding DOS calls, refer to OS/2 Technical Library. 
  1709.  
  1710.  
  1711. ΓòÉΓòÉΓòÉ 4.17. Open ΓòÉΓòÉΓòÉ
  1712.  
  1713. Open 
  1714.  
  1715. Open acquires a device handle to be used in requesting device driver services. 
  1716.  
  1717.  Comments 
  1718.  
  1719.           This function is not a generic IOCtl function; it should be called 
  1720.           through the OS/2 DosOpen call. This returns a device handle to the 
  1721.           caller that is used for the device driver generic IOCtl calls and for 
  1722.           the dynamic link libraries (DDLs). 
  1723.  
  1724.           The following parameters should be passed to DosOpen: 
  1725.  
  1726.           o The file name of the device driver is ICARIC$. 
  1727.           o The file size is not used; a value of 0 is recommended. 
  1728.           o The file attribute should be 0. 
  1729.           o The open flag should be X'0001'. 
  1730.           o The open mode should be X'2042'. 
  1731.  
  1732.           For more information regarding DOS calls, refer to OS/2 Technical 
  1733.           Library. 
  1734.  
  1735.  
  1736. ΓòÉΓòÉΓòÉ 4.18. OutputBuffer ΓòÉΓòÉΓòÉ
  1737.  
  1738. OutputBuffer 
  1739.  
  1740. OutputBuffer reads the address of a task output buffer from the task buffer 
  1741. control block. 
  1742.  
  1743. Category code: X'F0'
  1744. Function code: X'62'
  1745.  
  1746.  Parameters 
  1747.  
  1748.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1749.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1750.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1751.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  1752.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1753.                     Γöé Task number                        Γöé Byte       Γöé
  1754.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1755.  
  1756.  Format 
  1757.  
  1758.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1759.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1760.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1761.                     Γöé Length                           Γöé Word       Γöé
  1762.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1763.                     Γöé Offset                           Γöé Word       Γöé
  1764.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1765.                     Γöé Page                            Γöé Byte       Γöé
  1766.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1767.  
  1768.           Co-processor adapter number 
  1769.                     The logical number of the co-processor adapter. 
  1770.  
  1771.           Task number 
  1772.                     The task number of the buffer owner. 
  1773.  
  1774.           Length 
  1775.                     The length of the task output buffer (returned by the 
  1776.                     function). 
  1777.  
  1778.           Offset 
  1779.                     The page offset of the task output buffer (returned by the 
  1780.                     function). 
  1781.  
  1782.           Page 
  1783.                     The page of the task output buffer (returned by the 
  1784.                     function). 
  1785.  
  1786.  Return Codes 
  1787.  
  1788.                     IF      AX=0 then NO error
  1789.                     ELSE    AX=error code
  1790.  
  1791.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  1792.                     X'FF06' = ERROR_ICA_INVALID_TASK
  1793.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  1794.  
  1795.  Comments 
  1796.  
  1797.           The OutputBuffer function reads the length and address of the task 
  1798.           output buffer and stores them in the data packet. This address can 
  1799.           then be used for reading from or writing to the buffer. 
  1800.  
  1801.           This function does not require the caller to own the shared storage 
  1802.           window for the co-processor adapter. 
  1803.  
  1804.  
  1805. ΓòÉΓòÉΓòÉ 4.19. PeerClose ΓòÉΓòÉΓòÉ
  1806.  
  1807. PeerClose 
  1808.  
  1809. PeerClose closes a peer handle and terminates usage of peer services. 
  1810.  
  1811. Note:  This routine requires Realtime Control Microcode Version 2.0 and the 
  1812. Realtime Interface Co-Processor Portmaster Adapter/A. 
  1813.  
  1814. Category code: X'F0'
  1815. Function code: X'6C'
  1816.  
  1817.  Parameters 
  1818.  
  1819.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1820.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1821.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1822.                     Γöé Peer handle                        Γöé Word       Γöé
  1823.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1824.                     Γöé Disp code                         Γöé Word       Γöé
  1825.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1826.                     Γöé Reserved                          Γöé Doubleword    Γöé
  1827.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1828.  
  1829.  Format 
  1830.  
  1831.           None 
  1832.  
  1833.           Peer handle 
  1834.                     The peer handle to be closed. 
  1835.  
  1836.           Disp code 
  1837.                     This field controls the handling of any unreceived request 
  1838.                     blocks on a close.  A value of 0 causes the request blocks 
  1839.                     to be purged.  A value of 1 causes the close request to 
  1840.                     fail with error code ERROR_ICA_REQS_REMAIN if any 
  1841.                     unreceived peer request blocks are queued. 
  1842.  
  1843.           Reserved 
  1844.                     Reserved and must be 0. 
  1845.  
  1846.  Return Codes 
  1847.  
  1848.                     IF      AX=0 then NO error
  1849.                     ELSE    AX=error code
  1850.  
  1851.                     X'FF17' = ERROR_ICA_BAD_HANDLE
  1852.                     X'FF18' = ERROR_ICA_REQS_REMAIN
  1853.  
  1854.  
  1855. ΓòÉΓòÉΓòÉ 4.20. PeerOpen ΓòÉΓòÉΓòÉ
  1856.  
  1857. PeerOpen 
  1858.  
  1859. PeerOpen establishes an application as a peer task within the system unit. 
  1860.  
  1861. Note:  This routine requires Realtime Control Microcode Version 2.0 and the 
  1862. Realtime Interface Co-Processor Portmaster Adapter/A. 
  1863.  
  1864. Category code: X'F0'
  1865. Function code: X'6B'
  1866.  
  1867.  Parameters 
  1868.  
  1869.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1870.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1871.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1872.                     Γöé Peer segment                        Γöé Word       Γöé
  1873.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1874.                     Γöé Peer segment size                     Γöé Word       Γöé
  1875.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1876.                     Γöé Sem handle                         Γöé Doubleword    Γöé
  1877.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1878.                     Γöé Reserved                          Γöé Doubleword    Γöé
  1879.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1880.  
  1881.  Format 
  1882.  
  1883.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1884.                     Γöé FIELD                           Γöé LENGTH      Γöé
  1885.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1886.                     Γöé Peer handle                        Γöé Word       Γöé
  1887.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1888.                     Γöé Reserved                          Γöé Doubleword    Γöé
  1889.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1890.  
  1891.           Sem handle 
  1892.                     The semaphore handle the driver clears to signal incoming 
  1893.                     peer request blocks. 
  1894.  
  1895.           Peer segment 
  1896.                     A block of memory used by the driver to pass peer request 
  1897.                     blocks to the application. The driver locks this memory. 
  1898.                     The format of the peer segment passed to the driver 
  1899.                     follows: 
  1900.  
  1901.                                         -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  1902.                                         Γöé BUFFER SIZE       Γöé PEER REQUEST BLOCKS                 Γöé
  1903.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1904.                                         Γöé Word           Γöé Peer handle                     Γöé
  1905.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1906.                                         Γöé Doubleword        Γöé Driver sem handle                  Γöé
  1907.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1908.                                         Γöé Word           Γöé Rx wait flag                    Γöé
  1909.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1910.                                         Γöé Word           Γöé Head PRB pointer                  Γöé
  1911.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1912.                                         Γöé Word           Γöé Tail PRB pointer                  Γöé
  1913.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1914.                                         Γöé Word           Γöé Tail Rx PRB pointer                 Γöé
  1915.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1916.                                         Γöé Word           Γöé Buffer size                     Γöé
  1917.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1918.                                         Γöé Word           Γöé Buffer count                    Γöé
  1919.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1920.                                         Γöé Word           Γöé Reserved                      Γöé
  1921.                                         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1922.                                         Γöé Doubleword        Γöé Reserved                      Γöé
  1923.                                         ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1924.  
  1925.                     The fields in the peer segment are defined as follows: 
  1926.  
  1927.              Peer handle 
  1928.                        Initialized by the driver and contains the peer handle 
  1929.                        of the application that owns this peer segment. 
  1930.  
  1931.              Driver sem handle 
  1932.                        Contains the semaphore handle used by the driver to 
  1933.                        signal incoming peer request blocks. It is initialized 
  1934.                        by the driver. 
  1935.  
  1936.              Rx wait flag 
  1937.                        This Boolean flag indicates if the application is 
  1938.                        waiting for a peer request block through the semaphore. 
  1939.                        If the flag is true, the driver signals the semaphore 
  1940.                        when an incoming peer request block arrives. The caller 
  1941.                        (the ICADevReceive DLL routine) initializes and sets 
  1942.                        this flag when waiting for the semaphore. The driver 
  1943.                        resets this flag when it clears the semaphore. 
  1944.  
  1945.              Head PRB pointer 
  1946.                        This is the offset of the oldest peer request block in 
  1947.                        the peer request block list. It is initialized to 0 and 
  1948.                        updated exclusively by the driver. 
  1949.  
  1950.              Tail PRB pointer 
  1951.                        This is the offset of the newest peer request block in 
  1952.                        the peer request block list.  It is initialized to 0 and 
  1953.                        updated exclusively by the driver. 
  1954.  
  1955.              Tail Rx PRB pointer 
  1956.                        This field is for use by the caller to keep track of the 
  1957.                        last peer request block received.  This field allows the 
  1958.                        caller to process peer request blocks in the peer 
  1959.                        request block list and allows the driver to continue 
  1960.                        receiving peer request blocks. The ICADevReceive and 
  1961.                        ICADevReceiveDone DLL routines use this field to point 
  1962.                        to the last peer request block passed to the caller.  It 
  1963.                        is initialized and used exclusively by the caller. 
  1964.  
  1965.              Buffer size 
  1966.                        The size of the peer request block area.  It is 
  1967.                        initialized by the caller. 
  1968.  
  1969.              Peer request blocks 
  1970.                        The data area reserved for passing peer request blocks. 
  1971.                        The driver copies received peer request blocks to this 
  1972.                        area. 
  1973.  
  1974.           Peer handle 
  1975.                     The peer handle will be returned to the application by the 
  1976.                     driver in this field. 
  1977.  
  1978.           Peer segment size 
  1979.                     The size, in bytes, of the peer segment. 
  1980.  
  1981.           Reserved 
  1982.                     Reserved and must be 0. 
  1983.  
  1984.  Return Codes 
  1985.  
  1986.                     IF      AX=0 then NO error
  1987.                     ELSE    AX=error code
  1988.  
  1989.                     X'FF16' = ERROR_ICA_NO_PEER_HANDLE
  1990.  
  1991.  
  1992. ΓòÉΓòÉΓòÉ 4.21. PeerSend ΓòÉΓòÉΓòÉ
  1993.  
  1994. PeerSend 
  1995.  
  1996. PeerClose sends a peer request block. 
  1997.  
  1998. Note:  This routine requires Realtime Control Microcode Version 2.0 and the 
  1999. Realtime Interface Co-Processor Portmaster Adapter/A. 
  2000.  
  2001. Category code: X'F0'
  2002. Function code: X'4E'
  2003.  
  2004.  Parameters 
  2005.  
  2006.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2007.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2008.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2009.                     Γöé Peer request block                     Γöé Word       Γöé
  2010.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2011.  
  2012.  Format 
  2013.  
  2014.           None 
  2015.  
  2016.           Peer request block 
  2017.                     A pointer to the peer request block to be sent.  The peer 
  2018.                     request block, used only with the Realtime Interface 
  2019.                     Co-Processor Portmaster Adapter/A or the system unit. Refer 
  2020.                     to IBM Realtime Control Microcode Firmware Technical 
  2021.                     Reference for the format of the peer request block. 
  2022.  
  2023.  Return Codes 
  2024.  
  2025.                     IF      AX=0 then NO error
  2026.                     ELSE    AX=error code
  2027.  
  2028.                     X'FF21H' = ERROR_ICA_BAD_PARM
  2029.  
  2030.           The error codes on a bad peer request block return in the Completion 
  2031.           Code field of the peer request block. Refer to IBM Realtime Interface 
  2032.           Co-Processor Firmware Technical Reference for a complete list of the 
  2033.           peer request block completion codes. 
  2034.  
  2035.  
  2036. ΓòÉΓòÉΓòÉ 4.22. PrimaryStatus ΓòÉΓòÉΓòÉ
  2037.  
  2038. PrimaryStatus 
  2039.  
  2040. PrimaryStatus reads the primary status byte for a given task. 
  2041.  
  2042. Category code: X'F0'
  2043. Function code: X'64'
  2044.  
  2045.  Parameters 
  2046.  
  2047.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2048.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2049.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2050.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2051.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2052.                     Γöé Task number                        Γöé Byte       Γöé
  2053.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2054.  
  2055.  Format 
  2056.  
  2057.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2058.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2059.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2060.                     Γöé Primary status byte                    Γöé Byte       Γöé
  2061.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2062.  
  2063.           Co-processor adapter number 
  2064.                     The logical number of the co-processor adapter. 
  2065.  
  2066.           Task number 
  2067.                     The number of the task whose primary status byte will be 
  2068.                     returned. 
  2069.  
  2070.           Primary status byte 
  2071.                     The primary status of the task (returned by the function). 
  2072.  
  2073.  Return Codes 
  2074.  
  2075.                     IF      AX=0 then NO error
  2076.                     ELSE    AX=error code
  2077.  
  2078.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2079.                     X'FF06' = ERROR_ICA_INVALID_TASK
  2080.  
  2081.  Comments 
  2082.  
  2083.           The PrimaryStatus function returns the value of the primary status 
  2084.           byte of the given task in the data packet. Refer to Realtime 
  2085.           Interface Co-Processor Technical Reference for the meanings of the 
  2086.           primary status bits. 
  2087.  
  2088.  
  2089. ΓòÉΓòÉΓòÉ 4.23. PutOutputBuffer ΓòÉΓòÉΓòÉ
  2090.  
  2091. PutOutputBuffer 
  2092.  
  2093. PutOutputBuffer writes the contents of a buffer to the given task output 
  2094. buffer. 
  2095.  
  2096. Category code: X'F0'
  2097. Function code: X'49'
  2098.  
  2099.  Parameters 
  2100.  
  2101.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2102.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2103.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2104.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2105.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2106.                     Γöé Task number                        Γöé Byte       Γöé
  2107.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2108.                     Γöé Length                           Γöé Word       Γöé
  2109.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2110.  
  2111.  Format 
  2112.  
  2113.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2114.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2115.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2116.                     Γöé Source buffer pointer                   Γöé Doubleword    Γöé
  2117.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2118.  
  2119.           Co-processor adapter number 
  2120.                     The logical number of the co-processor adapter. 
  2121.  
  2122.           Task number 
  2123.                     The task number of the buffer owner. 
  2124.  
  2125.           Length 
  2126.                     The number of bytes to write. The number of bytes actually 
  2127.                     written is returned in this field. A value of 0 indicates 
  2128.                     that 64KB should be written. 
  2129.  
  2130.           Source buffer pointer 
  2131.                     A doubleword pointer to the data that should be written to 
  2132.                     the task output buffer. 
  2133.  
  2134.  Return Codes 
  2135.  
  2136.                     IF      AX=0 then NO error
  2137.                     ELSE    AX=error code
  2138.  
  2139.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2140.                     X'FF06' = ERROR_ICA_INVALID_TASK
  2141.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  2142.  
  2143.  Comments 
  2144.  
  2145.           The PutOutputBuffer function writes the contents of a buffer to the 
  2146.           given task output buffer. If a length greater than the size of the 
  2147.           output buffer is specified, the function writes only enough bytes to 
  2148.           fill the output buffer; the size of the output buffer is read from 
  2149.           the task buffer control block. The number of bytes actually written 
  2150.           is returned in the data packet. 
  2151.  
  2152.           This function does not require the caller to own the shared storage 
  2153.           window for the co-processor adapter. 
  2154.  
  2155.  
  2156. ΓòÉΓòÉΓòÉ 4.24. ReadString ΓòÉΓòÉΓòÉ
  2157.  
  2158. ReadString 
  2159.  
  2160. ReadString reads the contents of a given co-processor adapter memory and writes 
  2161. it to an application buffer. 
  2162.  
  2163. Category code: X'F0'
  2164. Function code: X'65'
  2165.  
  2166.  Parameters 
  2167.  
  2168.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2169.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2170.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2171.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2172.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2173.  
  2174.  Format 
  2175.  
  2176.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2177.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2178.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2179.                     Γöé Length                           Γöé Word       Γöé
  2180.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2181.                     Γöé Segment/page                        Γöé Word       Γöé
  2182.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2183.                     Γöé Offset                           Γöé Word       Γöé
  2184.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2185.                     Γöé Address format                       Γöé Byte       Γöé
  2186.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2187.                     Γöé Destination buffer pointer                 Γöé Doubleword    Γöé
  2188.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2189.  
  2190.           Co-processor adapter number 
  2191.                     The logical number of the co-processor adapter. 
  2192.  
  2193.           Length 
  2194.                     The number of bytes to read from co-processor adapter 
  2195.                     memory. A value of 0 indicates that 64KB should be read. 
  2196.  
  2197.           Segment/page 
  2198.                     The segment or page of the memory address. The meaning of 
  2199.                     this field is determined by the address format field. 
  2200.  
  2201.           Offset 
  2202.                     The offset of the memory address. The meaning of this field 
  2203.                     is determined by the address format field. 
  2204.  
  2205.           Address format 
  2206.                     The control field determining the address format. If the 
  2207.                     field contains X'00', the Segment/page field is a segment 
  2208.                     in co-processor adapter memory, and the Offset field is an 
  2209.                     offset in that segment. If the field contains X'FF', the 
  2210.                     Segment/page field contains the page number of the read, 
  2211.                     and the Offset field contains the page offset of the read. 
  2212.  
  2213.           Destination buffer pointer 
  2214.                     A doubleword pointer to the buffer where the co-processor 
  2215.                     adapter memory is being copied. 
  2216.  
  2217.  Return Codes 
  2218.  
  2219.                     IF      AX=0 then NO error
  2220.                     ELSE    AX=error code
  2221.  
  2222.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2223.                     X'FF07' = ERROR_ICA_INVALID_PAGE
  2224.                     X'FF08' = ERROR_ICA_INVALID_OFFSET
  2225.                     X'FF09' = ERROR_ICA_INVALID_FORMAT
  2226.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  2227.  
  2228.  Comments 
  2229.  
  2230.           The ReadString function reads from co-processor adapter memory and 
  2231.           writes to a system unit buffer. The address in co-processor adapter 
  2232.           memory can be specified either as a segment and offset or as a page 
  2233.           and offset. 
  2234.  
  2235.           This function does not require the caller to own the shared storage 
  2236.           window of the co-processor adapter. 
  2237.  
  2238.  
  2239. ΓòÉΓòÉΓòÉ 4.25. RegisterSemaphore ΓòÉΓòÉΓòÉ
  2240.  
  2241. RegisterSemaphore 
  2242.  
  2243. RegisterSemaphore registers a system semaphore for task interrupts. 
  2244.  
  2245. Category code: X'F0'
  2246. Function code: X'47'
  2247.  
  2248.  Parameters 
  2249.  
  2250.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2251.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2252.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2253.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2254.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2255.                     Γöé Task number                        Γöé Byte       Γöé
  2256.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2257.                     Γöé Semaphore handle                      Γöé Doubleword    Γöé
  2258.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2259.  
  2260.  Format 
  2261.  
  2262.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2263.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2264.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2265.                     Γöé Reserved                          Γöé Word       Γöé
  2266.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2267.  
  2268.           Co-processor adapter number 
  2269.                     The logical number of the co-processor adapter. 
  2270.  
  2271.           Task number 
  2272.                     The number of the task for registering the semaphore. 
  2273.  
  2274.           Semaphore handle 
  2275.                     The doubleword semaphore handle returned by DosCreateSem. 
  2276.                     This system semaphore is cleared when an interrupt is 
  2277.                     received from the given task on the given co-processor 
  2278.                     adapter. 
  2279.  
  2280.  Return Codes 
  2281.  
  2282.                     IF      AX=0 then NO error
  2283.                     ELSE    AX=error code
  2284.  
  2285.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2286.                     X'FF06' = ERROR_ICA_INVALID_TASK
  2287.                     X'FF15' = ERROR_ICA_SEM_FULL
  2288.                     X'FF1D' = ERROR_ICA_BAD_SEMAPHORE
  2289.  
  2290.  Comments 
  2291.  
  2292.           Semaphores are a means of synchronization between system unit 
  2293.           applications and co-processor adapter tasks. The RegisterSemaphore 
  2294.           function can register a maximum of 255 application system semaphores 
  2295.           with the device driver. When a task on a co-processor adapter 
  2296.           interrupts the system unit, the device driver clears any semaphores 
  2297.           that have been registered for that task and co-processor adapter. 
  2298.  
  2299.           For an application to wait on a task interrupt, it must: 
  2300.  
  2301.            1. Use DosCreateSem to create a nonexclusive system semaphore 
  2302.            2. Use DosSemSet to set the semaphore 
  2303.            3. Register the semaphore with the RegisterSemaphore call 
  2304.            4. Call DosSemWait to wait for the semaphore to be cleared. 
  2305.  
  2306.           For more information regarding DOS calls, refer to OS/2 Technical 
  2307.           Library. 
  2308.  
  2309.  
  2310. ΓòÉΓòÉΓòÉ 4.26. RemoveNotify ΓòÉΓòÉΓòÉ
  2311.  
  2312. RemoveNotify 
  2313.  
  2314. RemoveNotify removes a semaphore from the device driver list for notification 
  2315. of special events. 
  2316.  
  2317. Category code: X'F0'
  2318. Function code: X'4C'
  2319.  
  2320.  Parameters 
  2321.  
  2322.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2323.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2324.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2325.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2326.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2327.                     Γöé Control flag                        Γöé Byte       Γöé
  2328.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2329.                     Γöé Semaphore handle                      Γöé Doubleword    Γöé
  2330.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2331.  
  2332.  Format 
  2333.  
  2334.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2335.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2336.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2337.                     Γöé Reserved                          Γöé Word       Γöé
  2338.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2339.  
  2340.           Co-processor adapter number 
  2341.                     The logical number of the co-processor adapter. 
  2342.  
  2343.           Control flag 
  2344.                     The control bits that indicate the events for which the 
  2345.                     semaphore should no longer be registered. A B'1' in bit 7 
  2346.                     means that the semaphore should no longer be registered for 
  2347.                     Initialize commands to the RCM on the given co-processor 
  2348.                     adapter. 
  2349.  
  2350.           Semaphore handle 
  2351.                     The doubleword handle of the semaphore registered with the 
  2352.                     device driver. 
  2353.  
  2354.  Return Codes 
  2355.  
  2356.                     IF      AX=0 then NO error
  2357.                     ELSE    AX=error code
  2358.  
  2359.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2360.                     X'FF0D' = ERROR_ICA_INVALID_CONTROL
  2361.                     X'FF1D' = ERROR_ICA_BAD_SEMAPHORE
  2362.  
  2363.  Comments 
  2364.  
  2365.           Before all processes terminate, they must use this function to remove 
  2366.           semaphores that have registered with the Notify function. 
  2367.  
  2368.  
  2369. ΓòÉΓòÉΓòÉ 4.27. RemoveSemaphore ΓòÉΓòÉΓòÉ
  2370.  
  2371. RemoveSemaphore 
  2372.  
  2373. RemoveSemaphore removes a system semaphore from the device driver list of 
  2374. registered semaphores. 
  2375.  
  2376. Category code: X'F0'
  2377. Function code: X'48'
  2378.  
  2379.  Parameters 
  2380.  
  2381.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2382.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2383.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2384.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2385.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2386.                     Γöé Task number                        Γöé Byte       Γöé
  2387.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2388.                     Γöé Semaphore handle                      Γöé Doubleword    Γöé
  2389.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2390.  
  2391.  Format 
  2392.  
  2393.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2394.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2395.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2396.                     Γöé Reserved                          Γöé Word       Γöé
  2397.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2398.  
  2399.           Co-processor adapter number 
  2400.                     The logical number of the co-processor adapter. 
  2401.  
  2402.           Task number 
  2403.                     The number of the task for which the semaphore was 
  2404.                     registered. 
  2405.  
  2406.           Semaphore handle 
  2407.                     The doubleword semaphore handle returned by DosCreateSem. 
  2408.                     This system semaphore is removed from the device driver 
  2409.                     internal list of semaphores to clear when an interrupt is 
  2410.                     received from the given task on the given co-processor 
  2411.                     adapter. 
  2412.  
  2413.  Return Codes 
  2414.  
  2415.                     IF      AX=0 then NO error
  2416.                     ELSE    AX=error code
  2417.  
  2418.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2419.                     X'FF06' = ERROR_ICA_INVALID_TASK
  2420.                     X'FF1D' = ERROR_ICA_BAD_SEMAPHORE
  2421.  
  2422.  Comments 
  2423.  
  2424.           The RemoveSemaphore function removes an application system semaphore 
  2425.           from the registered semaphore list in the device driver. The 
  2426.           semaphore was registered with the device driver using the 
  2427.           RegisterSemaphore function for synchronization between system unit 
  2428.           applications and co-processor adapter tasks. When an application no 
  2429.           longer needs to be notified of interrupts from the task, it must 
  2430.           deregister the semaphore with the RemoveSemaphore function. 
  2431.  
  2432.           For more information regarding DOS calls, refer to the OS/2 Technical 
  2433.           Library. 
  2434.  
  2435.  
  2436. ΓòÉΓòÉΓòÉ 4.28. Reset ΓòÉΓòÉΓòÉ
  2437.  
  2438. Reset 
  2439.  
  2440. Reset issues a hardware reset to the given co-processor adapter. 
  2441.  
  2442. Category code: X'F0'
  2443. Function code: X'40'
  2444.  
  2445.  Parameters 
  2446.  
  2447.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2448.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2449.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2450.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2451.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2452.  
  2453.  Format 
  2454.  
  2455.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2456.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2457.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2458.                     Γöé Reserved                          Γöé Byte       Γöé
  2459.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2460.  
  2461.           Co-processor adapter number 
  2462.                     The logical number of the co-processor adapter to reset 
  2463.  
  2464.  Return Codes 
  2465.  
  2466.                     IF      AX=0 then NO error
  2467.                     ELSE    AX=error code
  2468.  
  2469.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2470.  
  2471.  Comments 
  2472.  
  2473.           The RCM and all other tasks are unloaded; the co-processor adapter 
  2474.           also goes through its power-on self-test (POST). Control is returned 
  2475.           to the caller after the POST has completed. 
  2476.  
  2477.  
  2478. ΓòÉΓòÉΓòÉ 4.29. SecondaryStatus ΓòÉΓòÉΓòÉ
  2479.  
  2480. SecondaryStatus 
  2481.  
  2482. SecondaryStatus reads the address of a task secondary status buffer from the 
  2483. task buffer control block. 
  2484.  
  2485. Category code: X'F0'
  2486. Function code: X'63'
  2487.  
  2488.  Parameters 
  2489.  
  2490.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2491.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2492.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2493.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2494.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2495.                     Γöé Task number                        Γöé Byte       Γöé
  2496.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2497.  
  2498.  Format 
  2499.  
  2500.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2501.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2502.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2503.                     Γöé Length                           Γöé Word       Γöé
  2504.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2505.                     Γöé Offset                           Γöé Word       Γöé
  2506.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2507.                     Γöé Page                            Γöé Byte       Γöé
  2508.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2509.  
  2510.           Co-processor adapter number 
  2511.                     The logical number of the co-processor adapter. 
  2512.  
  2513.           Task number 
  2514.                     The task number of the buffer owner. 
  2515.  
  2516.           Length 
  2517.                     The length of the task secondary status buffer (returned by 
  2518.                     the function). 
  2519.  
  2520.           Offset 
  2521.                     The page offset of the task secondary status buffer 
  2522.                     (returned by the function). 
  2523.  
  2524.           Page 
  2525.                     The page of the task secondary status buffer (returned by 
  2526.                     the function). 
  2527.  
  2528.  Return Codes 
  2529.  
  2530.                     IF      AX=0 then NO error
  2531.                     ELSE    AX=error code
  2532.  
  2533.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2534.                     X'FF06' = ERROR_ICA_INVALID_TASK
  2535.  
  2536.  Comments 
  2537.  
  2538.           The SecondaryStatus function reads the length and address of the task 
  2539.           output buffer and stores them in the data packet. This address can 
  2540.           then be used for reading from or writing to the buffer. 
  2541.  
  2542.           This function does not require the caller to own the shared storage 
  2543.           window for the co-processor adapter. 
  2544.  
  2545.  
  2546. ΓòÉΓòÉΓòÉ 4.30. TaskFlush ΓòÉΓòÉΓòÉ
  2547.  
  2548. TaskFlush 
  2549.  
  2550. TaskFlush flushes all requests from the calling process for services from the 
  2551. device driver. 
  2552.  
  2553. Category code: X'F0'
  2554. Function code: X'45'
  2555.  
  2556.  Parameters 
  2557.  
  2558.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2559.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2560.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2561.                     Γöé Reserved                          Γöé Byte       Γöé
  2562.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2563.  
  2564.  Format 
  2565.  
  2566.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2567.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2568.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2569.                     Γöé Reserved                          Γöé Byte       Γöé
  2570.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2571.  
  2572.           Bytes in the parameter and data packets are left for future 
  2573.           expansion. 
  2574.  
  2575.  Comments 
  2576.  
  2577.           The TaskFlush function flushes any window requests made by the 
  2578.           calling process, releases any co-processor adapter windows owned by 
  2579.           the calling process, and deregisters any semaphores registered with 
  2580.           the device driver by the calling process. This function can be used 
  2581.           in an application exit routine to flush the application before ending 
  2582.           the process. 
  2583.  
  2584.  
  2585. ΓòÉΓòÉΓòÉ 4.31. UnLock ΓòÉΓòÉΓòÉ
  2586.  
  2587. UnLock 
  2588.  
  2589. UnLock unlocks a segment previously locked by the Lock function. 
  2590.  
  2591. Note:  This routine is only necessary when using Realtime Control Microcode 
  2592. Version 2.0 and the Realtime Interface Co-Processor Portmaster Adapter/A. 
  2593.  
  2594. Category code: X'F0'
  2595. Function code: X'50'
  2596.  
  2597.  Parameters 
  2598.  
  2599.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2600.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2601.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2602.                     Γöé Lock handle                        Γöé Doubleword    Γöé
  2603.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2604.  
  2605.  Format 
  2606.  
  2607.           None 
  2608.  
  2609.           Lock handle 
  2610.                     The handle of the segment to be unlocked 
  2611.  
  2612.  Return Codes 
  2613.  
  2614.                     IF      AX=0 then NO error
  2615.                     ELSE    AX=error code
  2616.  
  2617.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  2618.  
  2619.  
  2620. ΓòÉΓòÉΓòÉ 4.32. WindowRelease ΓòÉΓòÉΓòÉ
  2621.  
  2622. WindowRelease 
  2623.  
  2624. The WindowRelease function releases ownership of the shared storage window of 
  2625. the given co-processor adapter. 
  2626.  
  2627. Category code: X'F0'
  2628. Function code: X'44'
  2629.  
  2630.  Parameters 
  2631.  
  2632.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2633.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2634.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2635.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2636.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2637.  
  2638.  Format 
  2639.  
  2640.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2641.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2642.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2643.                     Γöé Reserved                          Γöé Byte       Γöé
  2644.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2645.  
  2646.           Co-processor adapter number 
  2647.                     The logical number of the co-processor adapter shared 
  2648.                     storage window to release 
  2649.  
  2650.  Return Codes 
  2651.  
  2652.                     IF      AX=0 then NO error
  2653.                     ELSE    AX=error code
  2654.  
  2655.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2656.                     X'FF0A' = ERROR_ICA_WIN_RESERVED
  2657.  
  2658.  Comments 
  2659.  
  2660.           After ownership is released, the window can then be used by another 
  2661.           application. The selector that was created for referencing the window 
  2662.           is removed from the local descriptor table. 
  2663.  
  2664.  
  2665. ΓòÉΓòÉΓòÉ 4.33. WindowReserveNoWait ΓòÉΓòÉΓòÉ
  2666.  
  2667. WindowReserveNoWait 
  2668.  
  2669. WindowReserveNoWait requests ownership of a co-processor adapter shared storage 
  2670. window.  This call returns if the window is already owned. 
  2671.  
  2672. Category code: X'F0'
  2673. Function code: X'43'
  2674.  
  2675.  Parameters 
  2676.  
  2677.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2678.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2679.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2680.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2681.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2682.  
  2683.  Format 
  2684.  
  2685.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2686.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2687.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2688.                     Γöé Base address of window                   Γöé Doubleword    Γöé
  2689.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2690.                     Γöé PID                            Γöé Word       Γöé
  2691.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2692.                     Γöé Thread ID                         Γöé Word       Γöé
  2693.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2694.  
  2695.           Co-processor adapter number 
  2696.                     The logical number of the co-processor adapter shared 
  2697.                     storage window to reserve. 
  2698.  
  2699.           Base address of window 
  2700.                     A doubleword pointer to the start of the co-processor 
  2701.                     adapter shared storage window. 
  2702.  
  2703.           PID 
  2704.                     The process ID of the owning thread if the window is 
  2705.                     already owned. 
  2706.  
  2707.           Thread ID 
  2708.                     The thread ID of the owning thread if the window is already 
  2709.                     owned. 
  2710.  
  2711.  Return Codes 
  2712.  
  2713.                     IF      AX=0 then NO error
  2714.                     ELSE    AX=error code
  2715.  
  2716.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2717.                     X'FF0A' = ERROR_ICA_WIN_RESERVED
  2718.  
  2719.  Comments 
  2720.  
  2721.           The WindowReserveNoWait function requests ownership of the shared 
  2722.           storage window for the given co-processor adapter. If the window is 
  2723.           already owned by another thread, the function returns immediately 
  2724.           with the process ID and thread ID of the window owner. If the call is 
  2725.           successful, a doubleword pointer to the shared storage window is 
  2726.           returned to the calling thread.  This pointer can be used for 
  2727.           directly reading from and writing to the co-processor adapter memory. 
  2728.           A selector is added to the local descriptor table for referencing the 
  2729.           shared storage window. 
  2730.  
  2731.  
  2732. ΓòÉΓòÉΓòÉ 4.34. WindowReserveWait ΓòÉΓòÉΓòÉ
  2733.  
  2734. WindowReserveWait 
  2735.  
  2736. WindowReserveWait requests ownership of a co-processor adapter shared storage 
  2737. window.  This call is blocked if the window is already owned. 
  2738.  
  2739. Category code: X'F0'
  2740. Function code: X'42'
  2741.  
  2742.  Parameters 
  2743.  
  2744.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2745.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2746.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2747.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2748.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2749.                     Γöé Timeout                          Γöé Doubleword    Γöé
  2750.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2751.                     Γöé Reserved                          Γöé Doubleword    Γöé
  2752.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2753.  
  2754.  Format 
  2755.  
  2756.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2757.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2758.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2759.                     Γöé Base address of window                   Γöé Doubleword    Γöé
  2760.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2761.  
  2762.           Co-processor adapter number 
  2763.                     The logical number of the co-processor adapter shared 
  2764.                     storage window to reserve. 
  2765.  
  2766.           Timeout 
  2767.                     The length of time, in milliseconds, to wait for ownership 
  2768.                     of the window. 
  2769.  
  2770.           Base address of window: 
  2771.                     A doubleword pointer to the start of the co-processor 
  2772.                     adapter shared storage window. 
  2773.  
  2774.  Return Codes 
  2775.  
  2776.                     IF      AX=0 then NO error
  2777.                     ELSE    AX=error code
  2778.  
  2779.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2780.                     X'FF0B' = ERROR_ICA_TIMEOUT
  2781.  
  2782.  Comments 
  2783.  
  2784.           The WindowReserveWait function requests ownership of the shared 
  2785.           storage window for the given co-processor adapter. If the window is 
  2786.           already owned by another thread, the calling thread is blocked until 
  2787.           either the window is released or the wait times out. A doubleword 
  2788.           pointer to the shared storage window is returned to the calling 
  2789.           thread if the call is successful; this pointer can be used for 
  2790.           directly reading from and writing to the co-processor adapter memory. 
  2791.           A selector is added to the local descriptor table for referencing the 
  2792.           shared storage window. 
  2793.  
  2794.  
  2795. ΓòÉΓòÉΓòÉ 4.35. WriteString ΓòÉΓòÉΓòÉ
  2796.  
  2797. WriteString 
  2798.  
  2799. WriteString writes the contents of an application buffer to the given 
  2800. co-processor adapter memory. 
  2801.  
  2802. Category code: X'F0'
  2803. Function code: X'46'
  2804.  
  2805.  Parameters 
  2806.  
  2807.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2808.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2809.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2810.                     Γöé Co-processor adapter number                Γöé Byte       Γöé
  2811.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2812.  
  2813.  Format 
  2814.  
  2815.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  2816.                     Γöé FIELD                           Γöé LENGTH      Γöé
  2817.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2818.                     Γöé Length                           Γöé Word       Γöé
  2819.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2820.                     Γöé Segment/page                        Γöé Word       Γöé
  2821.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2822.                     Γöé Offset                           Γöé Word       Γöé
  2823.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2824.                     Γöé Address format                       Γöé Byte       Γöé
  2825.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2826.                     Γöé Source buffer pointer                   Γöé Doubleword    Γöé
  2827.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2828.  
  2829.           Co-processor adapter number 
  2830.                     The logical number of the co-processor adapter. 
  2831.  
  2832.           Length 
  2833.                     The number of bytes to write to co-processor adapter 
  2834.                     memory. A value of 0 indicates that 64KB must be written. 
  2835.  
  2836.           Segment/page 
  2837.                     The segment or page of the memory address. See the 
  2838.                     definition of the Address format field for more 
  2839.                     information. 
  2840.  
  2841.           Offset 
  2842.                     The offset of the memory address. See the definition of the 
  2843.                     Address format field for more information. 
  2844.  
  2845.           Address format 
  2846.                     The control field determining the address format. If the 
  2847.                     field contains X'00', the Segment/page field is a segment 
  2848.                     in co-processor adapter memory, and the Offset field is an 
  2849.                     offset in that segment. If the field contains X'FF', the 
  2850.                     Segment/page field contains the page number of the read, 
  2851.                     and the Offset field contains the page offset of the read. 
  2852.  
  2853.           Source buffer pointer 
  2854.                     A doubleword pointer to the buffer to copy to co-processor 
  2855.                     adapter memory. 
  2856.  
  2857.  Return Codes 
  2858.  
  2859.                     IF      AX=0 then NO error
  2860.                     ELSE    AX=error code
  2861.  
  2862.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  2863.                     X'FF07' = ERROR_ICA_INVALID_PAGE
  2864.                     X'FF08' = ERROR_ICA_INVALID_OFFSET
  2865.                     X'FF09' = ERROR_ICA_INVALID_FORMAT
  2866.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  2867.  
  2868.  Comments 
  2869.  
  2870.           The WriteString function writes the contents of a system unit buffer 
  2871.           to co-processor adapter memory. The address of the co-processor 
  2872.           adapter memory can be specified either as a segment and offset, or as 
  2873.           a page and offset. The format parameter should have a value of X'FF' 
  2874.           for page and offset addresses; a value of X'00' designates a segment 
  2875.           and offset address. 
  2876.  
  2877.  
  2878. ΓòÉΓòÉΓòÉ 5. Using the Application Loader ΓòÉΓòÉΓòÉ
  2879.  
  2880. The application loader (ICALDRIC.EXE) is included with the Communications 
  2881. Manager program. It is used by Communications Manager to download tasks to the 
  2882. Realtime Interface Co-Processor adapter. It can also be used to download 
  2883. user-written tasks to installed co-processor adapters. 
  2884.  
  2885. It can be invoked from the keyboard or from a .CMD command file, or it can be 
  2886. called from another program using OS/2 facilities. The first task loaded onto a 
  2887. co-processor adapter must be the Realtime Control Microcode (RCM) that is 
  2888. delivered with the co-processor adapter. After the RCM is loaded, the user can 
  2889. load custom tasks onto the co-processor adapter. Each task has a unique task 
  2890. number that is assigned when the task is loaded. The MAXTASK field in the 
  2891. parameter file defines the largest task number under which a task can be 
  2892. loaded. 
  2893.  
  2894. In the following example, the RCM is loaded onto co-processor adapter 0: 
  2895.  
  2896.         > ICALDRIC 0 ICAAIM.COM 0
  2897.  
  2898. In the case of Multiport, Model 2, or Portmaster: 
  2899.  
  2900.         > ICALDRIC 0 ICARCM.COM 0
  2901.  
  2902. The following message is displayed if there is no error: 
  2903.  
  2904.         Normal termination.  Task 00 loaded on coproc 00
  2905.  
  2906. The first 0 (decimal) represents the first logical co-processor adapter as 
  2907. defined in the parameter file. The last 0 (decimal) represents the task number, 
  2908. which is always 0 for the Realtime Control Microcode. 
  2909.  
  2910. Realtime Control Microcode Version 1.x (ICAAIM.COM) does not support the 
  2911. passing of parameters. 
  2912.  
  2913. Realtime Control Microcode Version 2.x (ICARCM.COM) supports the following 
  2914. parameters: 
  2915.  
  2916.  o Parameter 1-disable peer services 
  2917.  
  2918.    Realtime Control Microcode Version 2.01 or later allows a user to disable 
  2919.    peer services by specifying an optional parameter of 1 (one) when invoking 
  2920.    the application loader utility. For example: 
  2921.  
  2922.               ICALDRIC 0 ICARCM.COM 0  ( 1
  2923.  
  2924.  o Parameter 2-reserve RAM for Electrical Interface Board (EIB) usage 
  2925.  
  2926.    Realtime Control Microcode Version 2.02 or later allows a user to specify an 
  2927.    optional parameter of 2 (two) to enable a 32KB portion of random access 
  2928.    memory specifically for EIB use. This parameter may be specified when 
  2929.    invoking the application loader utility. For example: 
  2930.  
  2931.               ICALDRIC 0 ICARCM.COM 0  ( 2
  2932.  
  2933.  Note:  Parameters 1 and 2 may be used at the same time by separating the 
  2934.         parameters with a blank. For example: 
  2935.  
  2936.                         > ICALDRIC 0 ICARCM.COM 0  ( 1 2
  2937.         These parameters may be passed together and in any order; that is, they 
  2938.         are not mutually exclusive and not order dependent. 
  2939.  
  2940.  See Information Messages, for other messages that are displayed by the 
  2941.  application loader. 
  2942.  
  2943.  Note: 
  2944.  
  2945.   1. The Microsoft** C Version 6.0 compiler (or its functional equivalent) is 
  2946.      referred to as Microsoft C in this chapter. 
  2947.  
  2948.   2. The Macro Assembler/2* compiler (or its functional equivalent) is referred 
  2949.      to as Macro Assembler in this chapter. 
  2950.  
  2951.  The application loader accepts tasks with the .COM format or the old .EXE 
  2952.  format.  The application loader does not load tasks with the new OS/2 protect 
  2953.  mode .EXE format.  The Macro Assembler and Microsoft C compilers can be used 
  2954.  to construct tasks as long as the result is a .COM or old .EXE file. 
  2955.  
  2956.  The application loader sets up the initial values for the code segment (CS) 
  2957.  register, data segment (DS) register, stack segment (SS) register, and stack 
  2958.  pointer (SP) register in the task header. 
  2959.  
  2960.  Note:  The application loader can be invoked only in a protect mode session of 
  2961.         the base operating system. 
  2962.  
  2963.  For more information on writing tasks to run in any of the Realtime Interface 
  2964.  Co-Processor adapters, see the publications listed in Realtime Interface 
  2965.  Co-Processor Publications. 
  2966.  
  2967.  For a list of the error codes returned by the device loader, see Error Codes. 
  2968.  
  2969.  
  2970. ΓòÉΓòÉΓòÉ 5.1. Starting the Application Loader ΓòÉΓòÉΓòÉ
  2971.  
  2972. The application loader requires command line parameters to indicate which task 
  2973. to load and how to load that task. The first three parameters are required. The 
  2974. parameters must be separated by spaces or commas. The parameters must be typed 
  2975. in the following order: 
  2976.  
  2977.    ICALDRIC coproc fname taskn [start [highlow [bound [msg]]]]
  2978. where 
  2979.  
  2980.  coproc 
  2981.            Is the logical co-processor adapter number (in decimal format) where 
  2982.            the task is to be loaded. 
  2983.  
  2984.  fname 
  2985.            Is the file name of the task to be loaded. A drive and path may be 
  2986.            specified if the task is not in the current directory. 
  2987.  
  2988.  taskn 
  2989.            Is the task number (in decimal format) to be assigned to the task. 
  2990.            The RCM must be loaded as task 0.  Application tasks can be loaded 
  2991.            in the range of 1 to MAXTASK, where MAXTASK is defined in the 
  2992.            configuration file. 
  2993.  
  2994.  start 
  2995.            Is a start flag.  The letter S indicates that the task should be 
  2996.            started after it is loaded. The letter L indicates that the task 
  2997.            should only be loaded.  If the start parameter is not used, the task 
  2998.            is started by default. 
  2999.  
  3000.  highlow 
  3001.            Is a flag for loading in high or low co-processor adapter memory. 
  3002.            The string HIGH should be specified for loading the task as high as 
  3003.            possible; the string LOW should be specified for loading the task as 
  3004.            low as possible. If the highlow parameter is not specified, the task 
  3005.            is loaded in high memory by default. 
  3006.  
  3007.  bound 
  3008.            Is the memory boundary in paragraphs (in decimal format) that the 
  3009.            task should be loaded on.  If this parameter is not specified, the 
  3010.            application loader will load the task on a paragraph boundary 
  3011.            (parameter value of 1). 
  3012.  
  3013.  msg 
  3014.            Is the message flag. The letter N indicates that application loader 
  3015.            messages should be suppressed. If the msg parameter is not 
  3016.            specified, messages are displayed by default. 
  3017.  
  3018.  In the first example, the task usertask is loaded on co-processor adapter 1 as 
  3019.  task 2 with messages displayed. All other parameters have the default values. 
  3020.  In the second example, the task usertask is loaded on co-processor adapter 1 
  3021.  as task 2 with messages suppressed. All other parameters have the default 
  3022.  values. 
  3023.  
  3024.        > ICALDRIC 1 usertask.exe 2
  3025.  
  3026.        > ICALDRIC 1 usertask.exe 2,,,,N
  3027.  
  3028.  
  3029. ΓòÉΓòÉΓòÉ 6. Understanding Dynamic Link Libraries ΓòÉΓòÉΓòÉ
  3030.  
  3031. The dynamic link libraries (DLLs) provide a programming interface for system 
  3032. unit programs to the device driver and any installed co-processor adapters. 
  3033. They can be used for accessing co-processor adapter memory for interacting with 
  3034. co-processor adapter tasks. 
  3035.  
  3036. The DLLs are defined in two files: ICARICDL.LIB and ICARICDL.DLL. ICARICDL.LIB 
  3037. contains link information; it should be linked with system unit programs that 
  3038. will call the DLLs. ICARICDL.DLL contains the DLL code; the directory where the 
  3039. file is located should be in the list of directories assigned to the LIBPATH 
  3040. variable in the CONFIG.SYS file so that the OS/2 program can find the code at 
  3041. runtime. 
  3042.  
  3043. An include file (ICACALLS.INC) is provided for use with assembly language 
  3044. programs.  This file contains a set of macros that declare the DLLs as 
  3045. external, push parameters on the stack, and then call the DLLs. The format is 
  3046. similar to the DOSCALLS.INC include file packaged with the OS/2 Technical 
  3047. Library. These files are included with the Communications Manager program and 
  3048. have been installed if the X.25 support has been installed.  If the X.25 
  3049. support has not been installed, you must obtain the OS/2 Support program to 
  3050. install these files. 
  3051.  
  3052. To use the DLLs in an assembly language program, add the following line in the 
  3053. source file of that program: 
  3054.  
  3055.           include   icacalls.inc
  3056.  
  3057. To assemble and link the program using the DLLs, type the following commands: 
  3058.  
  3059.           masm asmprog;
  3060.           link asmprog,,,icaricdl.lib;
  3061.  
  3062. All examples of DLLs in the text will use these macros. 
  3063.  
  3064. See Error Codes, for the error codes returned by the DLLs. 
  3065.  
  3066.  
  3067. ΓòÉΓòÉΓòÉ 6.1. Using Dynamic Link Libraries ΓòÉΓòÉΓòÉ
  3068.  
  3069. The DLLs used to access the ICARICIO.SYS device driver are explained on the 
  3070. following pages. Although the parameters described in this chapter are 
  3071. functionally equivalent to those described in Using the Device Driver 
  3072. Programming Interface, their names may be slightly different. 
  3073.  
  3074.  
  3075. ΓòÉΓòÉΓòÉ 6.2. ICADevChangePage ΓòÉΓòÉΓòÉ
  3076.  
  3077. ICADevChangePage 
  3078.  
  3079. ICADevChangePage changes the shared storage window so that it points to a 
  3080. different page of co-processor adapter memory. 
  3081.  
  3082.  Usage 
  3083.  
  3084.                     EXTRN   ICADevChangePage:FAR
  3085.  
  3086.                     PUSH    WORD    DevHandle    ;device driver handle
  3087.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  3088.                     PUSH    BYTE    NewPage      ;new page value
  3089.                     PUSH@   BYTE    OldPage      ;old page value returned
  3090.                     CALL    ICADevChangePage
  3091.  
  3092.           Where: 
  3093.  
  3094.           DevHandle 
  3095.                     Is the handle returned when opening the device driver with 
  3096.                     DosOpen. 
  3097.  
  3098.           CoProc 
  3099.                     Is the logical number of the co-processor adapter. 
  3100.  
  3101.           NewPage 
  3102.                     Is the new page number for the shared storage window. 
  3103.  
  3104.           OldPage 
  3105.                     Is the previous page referenced by the shared storage 
  3106.                     window. 
  3107.  
  3108.  Return Codes 
  3109.  
  3110.                     IF      AX=0 then NO error
  3111.                     ELSE    AX=error code
  3112.  
  3113.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  3114.                     X'FF07' = ERROR_ICA_INVALID_PAGE
  3115.                     X'FF0A' = ERROR_ICA_WIN_RESERVED
  3116.  
  3117.  Comments 
  3118.  
  3119.           The ICADevChangePage function can only be called by applications that 
  3120.           have already reserved the shared storage window of the given 
  3121.           co-processor adapter. The function is usually used by applications 
  3122.           that directly access co-processor adapter memory and need to access a 
  3123.           different page of that memory. 
  3124.  
  3125.  Examples 
  3126.  
  3127.           In the following example, the CPU page register is set to page number 
  3128.           5 of the memory of co-processor adapter 0. Page number 5 of 
  3129.           co-processor adapter 0's memory is seen through the shared storage 
  3130.           window. 
  3131.  
  3132.                                include icacalls.inc     ;include macros
  3133.  
  3134.                     DevHan     dw      ?                ;handle returned by DosOpen
  3135.                     CoProc     db      0                ;co-processor adapter 0
  3136.                     NewPage    db      5                ;new page number
  3137.                     OldPage    db      ?                ;returned old page number
  3138.  
  3139.                                @ICADevChangePage DevHan,CoProc,NewPage,OldPage
  3140.  
  3141.                                or      ax,ax            ;jump in case of error
  3142.                                jnz     ErrorHandler
  3143.  
  3144.  
  3145. ΓòÉΓòÉΓòÉ 6.3. ICADevGetExtParms ΓòÉΓòÉΓòÉ
  3146.  
  3147. ICADevGetExtParms 
  3148.  
  3149. ICADevGetExtParms gets extended parameter information for the co-processor 
  3150. adapter and the Realtime Interface Co-Processor adapter. 
  3151.  
  3152.  Usage 
  3153.  
  3154.                     EXTRN   ICADevGetExtParms:FAR
  3155.  
  3156.                     PUSH    WORD    DevHandle    ;device driver handle
  3157.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  3158.                     PUSH    BYTE    ParmLen      ;number of parm bytes to return
  3159.                     PUSH@   OTHER   ExtParmBuf   ;destination for parameters
  3160.                     CALL    ICADevGetExtParms
  3161.  
  3162.           Where: 
  3163.  
  3164.           DevHandle 
  3165.                     Is the handle returned when opening the device driver with 
  3166.                     DosOpen. 
  3167.  
  3168.           CoProc 
  3169.                     Is the logical number of the co-processor adapter. 
  3170.  
  3171.           ParmLen 
  3172.                     Is the number of parameter bytes to return to the caller. 
  3173.                     This field should have a value of 5 or less. This routine 
  3174.                     will return the smaller of the ParmLen parameter and the 
  3175.                     number of available parameter bytes. 
  3176.  
  3177.           ExtParmBuf 
  3178.                     Is a doubleword pointer to where the parameters will be 
  3179.                     stored. 
  3180.  
  3181.  Return Codes 
  3182.  
  3183.                     IF      AX=0 then NO error
  3184.                     ELSE    AX=error code
  3185.  
  3186.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  3187.  
  3188.  Comments 
  3189.  
  3190.           The ICADevGetExtParms function returns a 5-byte record containing the 
  3191.           extended parameter information for a given co-processor adapter. You 
  3192.           must verify that there is enough space to receive the extended 
  3193.           parameters. 
  3194.  
  3195.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  3196.                     Γöé PARAMETER                      Γöé LENGTH          Γöé
  3197.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3198.                     Γöé Adapter code                    Γöé Byte           Γöé
  3199.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3200.                     Γöé Physical slot number                Γöé Byte           Γöé
  3201.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3202.                     Γöé EIB 0 ID                      Γöé Byte           Γöé
  3203.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3204.                     Γöé EIB 1 ID                      Γöé Byte           Γöé
  3205.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3206.                     Γöé Clocking options (0,1)               Γöé Byte           Γöé
  3207.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3208.                     Γöé Arbitration Level                  Γöé Byte           Γöé
  3209.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  3210.  
  3211.  Examples 
  3212.  
  3213.           In the following example, the Electrical Interface Board 0 ID for 
  3214.           adapter 0 will be returned. 
  3215.  
  3216.                                include icacalls.inc     ;include macros
  3217.  
  3218.                     DevHan     dw      ?                ;handle returned by DosOpen
  3219.                     CoProc     db      0                ;co-processor adapter 0
  3220.                     ExtParmLen db      5                ;parameter buffer length
  3221.                     EP         ICAEXTPARM <>            ;parameter buffer
  3222.  
  3223.                                @ICADevGetExtParms DevHan,CoProc,ExtParmLen,EP
  3224.  
  3225.                                or      ax,ax            ;jump in case of error
  3226.                                jnz     ErrorHandler
  3227.  
  3228.                                mov     al,EP.EIB0ID
  3229.  
  3230.  
  3231. ΓòÉΓòÉΓòÉ 6.4. ICADevGetInBuf ΓòÉΓòÉΓòÉ
  3232.  
  3233. ICADevGetInBuf 
  3234.  
  3235. ICADevGetInBuf reads the contents of a task input buffer. 
  3236.  
  3237.  Usage 
  3238.  
  3239.                     EXTRN   ICADevGetInBuf:FAR
  3240.  
  3241.                     PUSH    WORD    DevHandle    ;device driver handle
  3242.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  3243.                     PUSH    BYTE    TaskNum      ;task number
  3244.                     PUSH@   OTHER   Buffer       ;destination for buffer data
  3245.                     PUSH@   WORD    Length       ;length to read
  3246.                     CALL    ICADevGetInBuf
  3247.  
  3248.           Where: 
  3249.  
  3250.           DevHandle 
  3251.                     Is the handle returned when opening the device driver with 
  3252.                     DosOpen. 
  3253.  
  3254.           CoProc 
  3255.                     Is the logical number of the co-processor adapter. 
  3256.  
  3257.           TaskNum 
  3258.                     Is the task number of the buffer owner. 
  3259.  
  3260.           Buffer 
  3261.                     Is a doubleword pointer to where the input buffer data will 
  3262.                     be stored. 
  3263.  
  3264.           Length 
  3265.                     Is a doubleword pointer to the number of bytes to be read. 
  3266.                     A value of 0 indicates that 64KB should be read. 
  3267.  
  3268.  Return Codes 
  3269.  
  3270.                     IF      AX=0 then NO error
  3271.                     ELSE    AX=error code
  3272.  
  3273.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  3274.                     X'FF06' = ERROR_ICA_INVALID_TASK
  3275.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  3276.  
  3277.  Comments 
  3278.  
  3279.           The ICADevGetInBuf function can be called by any application; 
  3280.           ownership of the shared storage window is not required. Typically, 
  3281.           this function would be called to get input data after a task 
  3282.           interrupts the system unit. 
  3283.  
  3284.           If a length greater than the size of the input buffer is specified, 
  3285.           the function reads only the number of bytes in the input buffer. The 
  3286.           number of bytes actually read is returned in the same location. You 
  3287.           should make sure that there is enough space to receive the input 
  3288.           buffer data. 
  3289.  
  3290.  Examples 
  3291.  
  3292.           In the following example, 8 bytes are read from the RCM's input 
  3293.           buffer on co-processor adapter 1 and are written to RCMInBuf. 
  3294.  
  3295.                                include icacalls.inc     ;include macros
  3296.  
  3297.                     DevHan     dw      ?                ;handle returned by DosOpen
  3298.                     CoProc     db      1                ;co-processor adapter 1
  3299.                     TaskNum    db      0                ;RCM's task number
  3300.                     RCMInBuf   db      8 dup (?)        ;destination buffer
  3301.                     InLen      dw      8                ;number of bytes to read
  3302.  
  3303.                                @ICADevGetInBuf DevHan,CoProc,TaskNum,RCMInBuf,InLen
  3304.  
  3305.                                or      ax,ax            ;jump in case of error
  3306.                                jnz     ErrorHandler
  3307.  
  3308.  
  3309. ΓòÉΓòÉΓòÉ 6.5. ICADevGetParms ΓòÉΓòÉΓòÉ
  3310.  
  3311. ICADevGetParms 
  3312.  
  3313. ICADevGetParms gets the configuration parameters for a given co-processor 
  3314. adapter. 
  3315.  
  3316.  Usage 
  3317.  
  3318.                     EXTRN   ICADevGetParms:FAR
  3319.  
  3320.                     PUSH    WORD    DevHandle    ;device driver handle
  3321.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  3322.                     PUSH@   OTHER   ParmBuffer   ;destination for parameters
  3323.                     CALL    ICADevGetParms
  3324.  
  3325.           Where: 
  3326.  
  3327.           DevHandle 
  3328.                     Is the handle returned when opening the device driver with 
  3329.                     DosOpen. 
  3330.  
  3331.           CoProc 
  3332.                     Is the logical number of the co-processor adapter. 
  3333.  
  3334.           ParmBuffer 
  3335.                     Is a doubleword pointer to where the configuration 
  3336.                     parameters will be stored. 
  3337.  
  3338.  Return Codes 
  3339.  
  3340.                     IF      AX=0 then NO error
  3341.                     ELSE    AX=error code
  3342.  
  3343.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  3344.  
  3345.  Comments 
  3346.  
  3347.           The ICADevGetParms function returns a 20-byte record containing the 
  3348.           configuration parameters for the given co-processor adapter. You 
  3349.           should verify that there is enough space to receive the configuration 
  3350.           parameters. The configuration parameters have the following format: 
  3351.  
  3352.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  3353.                     Γöé PARAMETER                      Γöé LENGTH          Γöé
  3354.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3355.                     Γöé Base I/O Address                  Γöé Word           Γöé
  3356.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3357.                     Γöé LAST indicator                   Γöé Byte           Γöé
  3358.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3359.                     Γöé Megabyte of shared storage window          Γöé Byte           Γöé
  3360.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3361.                     Γöé Page of shared storage window            Γöé Byte           Γöé
  3362.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3363.                     Γöé Maximum task number                 Γöé Byte           Γöé
  3364.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3365.                     Γöé Maximum priority value               Γöé Byte           Γöé
  3366.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3367.                     Γöé Maximum queue number                Γöé Byte           Γöé
  3368.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3369.                     Γöé Maximum timer number                Γöé Byte           Γöé
  3370.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3371.                     Γöé CAD16 - CAD23                    Γöé Byte           Γöé
  3372.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3373.                     Γöé CAD0 - CAD15                    Γöé Word           Γöé
  3374.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3375.                     Γöé Reserved                      Γöé Doubleword        Γöé
  3376.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3377.                     Γöé Interrupt level                   Γöé Byte           Γöé
  3378.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3379.                     Γöé Reserved                      Γöé Word           Γöé
  3380.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3381.                     Γöé Page size code                   Γöé Byte           Γöé
  3382.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  3383.  
  3384.  Examples 
  3385.  
  3386.           In the following example, the maximum task number for co-processor 
  3387.           adapter 0 is put in the AL register after calling the ICADevGetParms 
  3388.           function. 
  3389.  
  3390.                                include icacalls.inc     ;include macros
  3391.  
  3392.                     DevHan     dw      ?                ;handle returned by DosOpen
  3393.                     CoProc     db      0                ;co-processor adapter 0
  3394.                     Parm0      ICAPARM <>               ;parameter buffer
  3395.  
  3396.                                @ICADevGetParms DevHan,CoProc,Parm0
  3397.  
  3398.                                or      ax,ax            ;jump in case of error
  3399.                                jnz     ErrorHandler
  3400.  
  3401.                                mov     al,Parm0.PRM_MAXTASK ;get maximum task number
  3402.  
  3403.  
  3404. ΓòÉΓòÉΓòÉ 6.6. ICADevGetSecStatus ΓòÉΓòÉΓòÉ
  3405.  
  3406. ICADevGetSecStatus 
  3407.  
  3408. ICADevGetSecStatus reads the contents of a task secondary status buffer. 
  3409.  
  3410.  Usage 
  3411.  
  3412.                     EXTRN   ICADevGetSecStatus:FAR
  3413.  
  3414.                     PUSH    WORD    DevHandle    ;device driver handle
  3415.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  3416.                     PUSH    BYTE    TaskNum      ;task number
  3417.                     PUSH@   OTHER   Buffer       ;destination for buffer data
  3418.                     PUSH@   WORD    Length       ;length to read
  3419.                     PUSH    BYTE    Status       ;status control flag
  3420.                     CALL    ICADevGetSecStatus
  3421.  
  3422.           Where: 
  3423.  
  3424.           DevHandle 
  3425.                     Is the handle returned when opening the device driver with 
  3426.                     DosOpen. 
  3427.  
  3428.           CoProc 
  3429.                     Is the logical number of the co-processor adapter. 
  3430.  
  3431.           TaskNum 
  3432.                     Is the task number of the buffer owner. 
  3433.  
  3434.           Buffer 
  3435.                     Is a doubleword pointer to where the secondary status 
  3436.                     buffer data will be stored. 
  3437.  
  3438.           Length 
  3439.                     Is a doubleword pointer to the number of bytes to read. A 
  3440.                     value of 0 indicates that 64KB will be read. 
  3441.  
  3442.           Status 
  3443.                     Is the status flag that indicates if the status available 
  3444.                     bit in the task primary status byte should be checked. 
  3445.  
  3446.  Return Codes 
  3447.  
  3448.                     IF      AX=0 then NO error
  3449.                     ELSE    AX=error code
  3450.  
  3451.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  3452.                     X'FF06' = ERROR_ICA_INVALID_TASK
  3453.                     X'FF0C' = ERROR_ICA_STATUS_NOT_READY
  3454.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  3455.  
  3456.  Comments 
  3457.  
  3458.           The ICADevGetSecStatus function can be called by any application; 
  3459.           ownership of the shared storage window is not required. Typically, 
  3460.           this function would be called to obtain status information after a 
  3461.           task has reported an error. 
  3462.  
  3463.           If a length greater than the size of the secondary status buffer is 
  3464.           specified, the function reads only the number of bytes in the input 
  3465.           buffer. The number of bytes actually read is returned in the same 
  3466.           location. You should make sure that there is enough space to receive 
  3467.           the secondary status buffer data. 
  3468.  
  3469.           Bit 0 of the Status parameter has the following meanings: 
  3470.  
  3471.           o A B'0' means that the buffer should always be read. 
  3472.           o A B'1' means that the buffer should only be read if the status 
  3473.             available bit is set in the task primary status byte. 
  3474.  
  3475.  Examples 
  3476.  
  3477.           In the following example, 10 bytes are read from the task 1 secondary 
  3478.           status buffer on co-processor adapter 0 only if the status available 
  3479.           bit is set in task 1 primary status byte. 
  3480.  
  3481.                                include icacalls.inc     ;include macros
  3482.  
  3483.                     DevHan     dw      ?                ;handle returned by DosOpen
  3484.                     CoProc     db      0                ;co-processor adapter 0
  3485.                     TaskNum    db      1                ;task number 1
  3486.                     SBuf       db      10 dup (?)       ;buffer area for status
  3487.                     SLen       dw      10               ;number of bytes to read
  3488.                     SFlag      db      1                ;flag for read only if status
  3489.                                                         ; available
  3490.  
  3491.                                @ICADevGetSecStatus DevHan,CoProc,TaskNum,SBuf,SLen,SFlag
  3492.  
  3493.                                or      ax,ax            ;jump in case of error
  3494.                                jnz     ErrorHandler
  3495.  
  3496.  
  3497. ΓòÉΓòÉΓòÉ 6.7. ICADevGetVersion ΓòÉΓòÉΓòÉ
  3498.  
  3499. ICADevGetVersion 
  3500.  
  3501. ICADevGetVersion reads the major and minor version code of the installed device 
  3502. driver. 
  3503.  
  3504.  Usage 
  3505.  
  3506.                     EXTRN   ICADevGetVersion:FAR
  3507.  
  3508.                     PUSH    WORD    DevHandle    ;device driver handle from DosOpen
  3509.                     PUSH@   WORD    Version      ;destination for version code
  3510.                     CALL    ICADevGetVersion
  3511.           Where: 
  3512.  
  3513.           Version 
  3514.                     Is the version code. The minor code is stored in the first 
  3515.                     byte; the major code is stored in the second byte. For 
  3516.                     example, if the call returns a value of X'0201', the 
  3517.                     version is 1.02 of the OS/2 Support program. As another 
  3518.                     example, if the call returns a value of X'0301', the 
  3519.                     version is 1.03 of the OS/2 Support program. 
  3520.  
  3521.  Return Codes 
  3522.  
  3523.           No error. 
  3524.  
  3525.           ICADevGetVersion returns the version of the installed device driver. 
  3526.           This version code can be used to tell what services are available 
  3527.           from the device driver. 
  3528.  
  3529.  Examples 
  3530.  
  3531.           In the following example, the level of the device driver is checked. 
  3532.  
  3533.                                include icacalls.inc     ;include macros
  3534.  
  3535.                     DevHan     dw      ?                ;handle returned by DosOpen
  3536.                     Version    dw      ?                ;level of driver
  3537.  
  3538.                                @ICADevGetVersion DevHan,Version
  3539.  
  3540.                                cmp     Version,0201h    ;check level of driver
  3541.  
  3542.  
  3543. ΓòÉΓòÉΓòÉ 6.8. ICADevInputBuffer ΓòÉΓòÉΓòÉ
  3544.  
  3545. ICADevInputBuffer 
  3546.  
  3547. ICADevInputBuffer reads the address of a task input buffer from the task buffer 
  3548. control block. 
  3549.  
  3550.  Usage 
  3551.  
  3552.                     EXTRN   ICADevInputBuffer:FAR
  3553.  
  3554.                     PUSH    WORD    DevHandle    ;device driver handle
  3555.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  3556.                     PUSH    BYTE    TaskNum      ;task number
  3557.                     PUSH@   OTHER   Buffer       ;destination for buffer address
  3558.                     CALL    ICADevInputBuffer
  3559.  
  3560.           Where: 
  3561.  
  3562.           DevHandle 
  3563.                     Is the handle returned when opening the device driver with 
  3564.                     DosOpen. 
  3565.  
  3566.           CoProc 
  3567.                     Is the logical number of the co-processor adapter. 
  3568.  
  3569.           TaskNum 
  3570.                     Is the task number of the buffer owner. 
  3571.  
  3572.           Buffer 
  3573.                     Is a doubleword pointer to where the input buffer address 
  3574.                     will be stored. 
  3575.  
  3576.  Return Codes 
  3577.  
  3578.                     IF      AX=0 then NO error
  3579.                     ELSE    AX=error code
  3580.  
  3581.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  3582.                     X'FF06' = ERROR_ICA_INVALID_TASK
  3583.  
  3584.  Comments 
  3585.  
  3586.           The ICADevInputBuffer function returns the address of a task input 
  3587.           buffer in a 5-byte record. Make sure there is enough space to store 
  3588.           the buffer address. The format of the buffer address record is as 
  3589.           follows: 
  3590.  
  3591.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  3592.                     Γöé PARAMETER                      Γöé LENGTH          Γöé
  3593.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3594.                     Γöé Buffer length in bytes               Γöé Word           Γöé
  3595.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3596.                     Γöé Buffer page offset                 Γöé Word           Γöé
  3597.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3598.                     Γöé Buffer page number                 Γöé Byte           Γöé
  3599.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  3600.  
  3601.  Examples 
  3602.  
  3603.           In the following example, the address of the RCM's input buffer is 
  3604.           written to BufAddr. 
  3605.  
  3606.                                include icacalls.inc     ;include macros
  3607.  
  3608.                     DevHan     dw      ?                ;handle returned by DosOpen
  3609.                     CoProc     db      0                ;co-processor adapter 0
  3610.                     TaskNum    db      0                ;task number 0
  3611.                     BufAddr    ICABUFFER <>             ;buffer address structure
  3612.  
  3613.                                @ICADevInputBuffer DevHan,CoProc,TaskNum,BufAddr
  3614.  
  3615.                                or      ax,ax            ;jump in case of error
  3616.                                jnz     ErrorHandler
  3617.  
  3618.  
  3619. ΓòÉΓòÉΓòÉ 6.9. ICADevIssueCommand ΓòÉΓòÉΓòÉ
  3620.  
  3621. ICADevIssueCommand 
  3622.  
  3623. ICADevIssueCommand issues a command with parameters to a task. 
  3624.  
  3625.  Usage 
  3626.  
  3627.                     EXTRN   ICADevIssueCommand:FAR
  3628.  
  3629.                     PUSH    WORD    DevHandle    ;device driver handle
  3630.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  3631.                     PUSH    BYTE    TaskNum      ;task number
  3632.                     PUSH    BYTE    Command      ;command code
  3633.                     PUSH@   OTHER   Buffer       ;pointer to buffer to write
  3634.                     PUSH    WORD    Length       ;length of buffer to write
  3635.                     PUSH    WORD    Timeout      ;wait length in milliseconds
  3636.                     CALL    ICADevIssueCommand
  3637.  
  3638.           Where: 
  3639.  
  3640.           DevHandle 
  3641.                     Is the handle returned when opening the device driver with 
  3642.                     DosOpen. 
  3643.  
  3644.           CoProc 
  3645.                     Is the logical number of the co-processor adapter. 
  3646.  
  3647.           TaskNum 
  3648.                     Is the task number of the buffer owner. 
  3649.  
  3650.           Command 
  3651.                     Is the command code to give to the task. 
  3652.  
  3653.           Buffer 
  3654.                     Is a doubleword pointer to the parameter bytes to write to 
  3655.                     the task output buffer. 
  3656.  
  3657.           Length 
  3658.                     Is the number of parameter bytes. A value of 0 indicates 
  3659.                     that no parameter bytes should be written. 
  3660.  
  3661.           Timeout 
  3662.                     Is the number of milliseconds to wait for a response from 
  3663.                     the RCM. 
  3664.  
  3665.  Return Codes 
  3666.  
  3667.                     IF      AX=0 then NO error
  3668.                     ELSE    AX=error code
  3669.  
  3670.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  3671.                     X'FF06' = ERROR_ICA_INVALID_TASK
  3672.                     X'FF0B' = ERROR_ICA_CMD_TIMEOUT
  3673.                     X'FF12' = ERROR_CMD_REJECTED
  3674.                     X'FF14' = ERROR_ICA_OB_TOO_SHORT
  3675.                     X'FF11' = ERROR_ICA_BAD_PCSELECT
  3676.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  3677.  
  3678.  Comments 
  3679.  
  3680.           The ICADevIssueCommand function issues a command to a task on a given 
  3681.           co-processor adapter. A length of 0 should be passed to the function 
  3682.           if there are no parameters to write. If the length parameter is 
  3683.           larger than the size of the task output buffer, an error is returned 
  3684.           to the application. 
  3685.  
  3686.  Examples 
  3687.  
  3688.           In the following example, a command is issued to task 1 on 
  3689.           co-processor adapter 0. The command code is 8, and 3 parameter bytes 
  3690.           are put in task 1 output buffer: X'10', X'20', and X'30'. 
  3691.  
  3692.                              include icacalls.inc       ;include macros
  3693.  
  3694.                     DevHan   dw      ?                  ;handle returned by DosOpen
  3695.                     CoProc   db      0                  ;co-processor adapter 0
  3696.                     TaskNum  db      1                  ;task number 1
  3697.                     Cmd      db      8                  ;command code = 8
  3698.                     Buf      db      10h,20h,30h        ;parameter buffer
  3699.                     Len      dw      3                  ;number of parameter bytes
  3700.                     Timeout  dw      5000               ;timeout = 5000 milliseconds
  3701.  
  3702.                              @ICADevIssueCommand DevHan,CoProc,TaskNum,Cmd,Buf,Len,Timeout
  3703.  
  3704.                              or      ax,ax              ;jump in case of error
  3705.                              jnz     ErrorHandler
  3706.  
  3707.  
  3708. ΓòÉΓòÉΓòÉ 6.10. ICADevLock ΓòÉΓòÉΓòÉ
  3709.  
  3710. ICADevLock 
  3711.  
  3712. ICADevLock locks a segment and obtains its physical address.  The locked memory 
  3713. can then be used for bus master transfers through peer services. 
  3714.  
  3715. Note:  This routing is only necessary when using Realtime Control Microcode 
  3716. Version 2.0 and the Realtime Interface Co-Processor Portmaster Adapter/A. 
  3717.  
  3718.  Usage 
  3719.  
  3720.                     EXTRN   ICADevLock:FAR
  3721.  
  3722.                     PUSH    WORD    DevHandle    ;device driver handle
  3723.                     PUSH    WORD    Selector     ;selector to lock
  3724.                     PUSH@   DWORD   PhysAddr     ;physical address returned
  3725.                                                  ;here
  3726.                     PUSH@   DWORD   Lockhand     ;lock handle returned
  3727.                                                  ;here
  3728.                     CALL    ICADevLock
  3729.  
  3730.           Where: 
  3731.  
  3732.           DevHandle 
  3733.                     Is the handle returned when opening the device driver with 
  3734.                     DosOpen. 
  3735.  
  3736.           Selector 
  3737.                     Is the selector to lock. 
  3738.  
  3739.           PhysAddr 
  3740.                     Is the physical address returned here. 
  3741.  
  3742.           LockHand 
  3743.                     Is the lock handle returned here. 
  3744.  
  3745.  Return Codes 
  3746.  
  3747.                     IF      AX=0 then NO error
  3748.                     ELSE    AX=error code
  3749.  
  3750.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  3751.  
  3752.  Comments 
  3753.  
  3754.           The ICADevLock function locks a segment of memory and returns its 
  3755.           physical address.  This function is necessary when transferring data 
  3756.           to or from the system unit through a Realtime Control Microcode move 
  3757.           data peer request. 
  3758.  
  3759.  Examples 
  3760.  
  3761.                              include icacalls.inc       ;include macros
  3762.  
  3763.                     DevHan   dw      ?                  ;handle returned by DosOpen
  3764.                     Selector dw      ?                  ;selector of memory to lock
  3765.                     Phys@    dd      ?                  ;physical memory address returned
  3766.                                                         ;here
  3767.                     LockHan  dd      ?                  ;lock handle
  3768.  
  3769.                              @ICADevLock DevHan,CoProc,Selector,Phys@,LockHan
  3770.  
  3771.                              or      ax,ax              ;jump in case of error
  3772.                              jnz     ErrorHandler
  3773.  
  3774.  
  3775. ΓòÉΓòÉΓòÉ 6.11. ICADevNotify ΓòÉΓòÉΓòÉ
  3776.  
  3777. ICADevNotify 
  3778.  
  3779. ICADevNotify registers a system semaphore with the device driver for 
  3780. notification of special events. 
  3781.  
  3782.  Usage 
  3783.  
  3784.                     EXTRN   ICADevNotify:FAR
  3785.  
  3786.                     PUSH    WORD    DevHandle    ;device driver handle
  3787.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  3788.                     PUSH    BYTE    Control      ;control bits
  3789.                     PUSH    DWORD   Semaphore    ;semaphore handle to register
  3790.                     CALL    ICADevNotify
  3791.  
  3792.           Where: 
  3793.  
  3794.           DevHandle 
  3795.                     Is the handle returned when opening the device driver with 
  3796.                     DosOpen. 
  3797.  
  3798.           CoProc 
  3799.                     Is the logical number of the co-processor adapter. 
  3800.  
  3801.           Control 
  3802.                     Is the control flag. 
  3803.  
  3804.           Semaphore 
  3805.                     Is the handle of the system semaphore to register. 
  3806.  
  3807.  Return Codes 
  3808.  
  3809.                     IF      AX=0 then NO error
  3810.                     ELSE    AX=error code
  3811.  
  3812.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  3813.                     X'FF0D' = ERROR_ICA_INVALID_CONTROL
  3814.                     X'FF15' = ERROR_ICA_SEM_FULL
  3815.                     X'FF1D' = ERROR_ICA_BAD_SEMAPHORE
  3816.  
  3817.  Comments 
  3818.  
  3819.           The ICADevNotify function registers a system semaphore with the 
  3820.           device driver for notification of special events. The Semaphore 
  3821.           parameter is a handle returned by the DosCreateSem OS/2 function. 
  3822.           The semaphore should be made DosCreateSem call. 
  3823.  
  3824.           A B'1' in bit 7 of the Control parameter is for notification of 
  3825.           Initialize commands to the RCM on the given co-processor adapters; 
  3826.           all other bits should be B'0'. When an Initialize command is issued 
  3827.           to the RCM, all semaphores that have been registered for that 
  3828.           co-processor adapter with the ICADevNotify function are cleared. 
  3829.           Application threads should call DosSemWait for the semaphore after 
  3830.           registering the semaphore so that they are notified of Initialize 
  3831.           commands to the RCM. A maximum of 255 semaphores can be registered 
  3832.           with the device driver. 
  3833.  
  3834.           For more information regarding DOS calls, refer to the OS/2 Technical 
  3835.           Library. 
  3836.  
  3837.  Examples 
  3838.  
  3839.           In the following example, the SemHan semaphore handle is registered 
  3840.           with the device driver. When an Initialize command is issued to the 
  3841.           RCM on co-processor adapter 0, the SemHan semaphore will be cleared 
  3842.           by the device driver. The process waiting on the semaphore is 
  3843.           activated. 
  3844.  
  3845.                                include icacalls.inc     ;include macros
  3846.  
  3847.                     DevHan     dw      ?                ;handle returned by DosOpen
  3848.                     CoProc     db      0                ;co-processor adapter 0
  3849.                     Control    db      80h              ;flag for RCM Init notify
  3850.                     SemHan     dd      ?                ;semaphore handle from
  3851.                                                         ; DosCreateSem
  3852.  
  3853.                                @ICADevNotify DevHan,CoProc,Control,SemHan
  3854.  
  3855.                                or      ax,ax            ;jump in case of error
  3856.                                jnz     ErrorHandler
  3857.  
  3858.  
  3859. ΓòÉΓòÉΓòÉ 6.12. ICADevOutputBuffer ΓòÉΓòÉΓòÉ
  3860.  
  3861. ICADevOutputBuffer 
  3862.  
  3863. ICADevOutputBuffer reads the address of a task output buffer from the task 
  3864. buffer control block. 
  3865.  
  3866.  Usage 
  3867.  
  3868.                     EXTRN   ICADevOutputBuffer:FAR
  3869.  
  3870.                     PUSH    WORD    DevHandle    ;device driver handle
  3871.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  3872.                     PUSH    BYTE    TaskNum      ;task number
  3873.                     PUSH@   OTHER   Buffer       ;returned buffer address
  3874.                     CALL    ICADevOutputBuffer
  3875.  
  3876.           Where: 
  3877.  
  3878.           DevHandle 
  3879.                     Is the handle returned when opening the device driver with 
  3880.                     DosOpen. 
  3881.  
  3882.           CoProc 
  3883.                     Is the logical number of the co-processor adapter. 
  3884.  
  3885.           TaskNum 
  3886.                     Is the task number of the buffer owner. 
  3887.  
  3888.           Buffer 
  3889.                     Is a doubleword pointer to where the output buffer address 
  3890.                     will be stored. 
  3891.  
  3892.  Return Codes 
  3893.  
  3894.                     IF      AX=0 then NO error
  3895.                     ELSE    AX=error code
  3896.  
  3897.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  3898.                     X'FF06' = ERROR_ICA_INVALID_TASK
  3899.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  3900.  
  3901.  Comments 
  3902.  
  3903.           The ICADevOutputBuffer function returns the address of a task output 
  3904.           buffer in a 5-byte record. 
  3905.  
  3906.           The format of the buffer address record is as follows: 
  3907.  
  3908.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  3909.                     Γöé RECORD                       Γöé LENGTH          Γöé
  3910.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3911.                     Γöé Buffer length in bytes               Γöé Word           Γöé
  3912.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3913.                     Γöé Buffer page offset                 Γöé Word           Γöé
  3914.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3915.                     Γöé Buffer page number                 Γöé Byte           Γöé
  3916.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  3917.  
  3918.  Examples 
  3919.  
  3920.           In the following example, the address of the RCM's output buffer is 
  3921.           written to BufAddr. 
  3922.  
  3923.                                include icacalls.inc     ;include macros
  3924.  
  3925.                     DevHan     dw      ?                ;handle returned by DosOpen
  3926.                     CoProc     db      1                ;co-processor adapter 1
  3927.                     TaskNum    db      0                ;task number 0
  3928.                     BufAddr    ICABUFFER <>             ;buffer address structure
  3929.  
  3930.                                @ICADevOutputBuffer DevHan,CoProc,TaskNum,BufAddr
  3931.  
  3932.                                or      ax,ax            ;jump in case of error
  3933.                                jnz     ErrorHandler
  3934.  
  3935.  
  3936. ΓòÉΓòÉΓòÉ 6.13. ICADevPeerClose ΓòÉΓòÉΓòÉ
  3937.  
  3938. ICADevPeerClose 
  3939.  
  3940. ICADevPeerClose closes a peer handle. 
  3941.  
  3942. Note:  This routine requires Realtime control Microcode Version 2.0 and the 
  3943. Realtime Interface Co-Processor Portmaster Adapter/A. 
  3944.  
  3945.  Usage 
  3946.  
  3947.                     EXTRN   ICADevPeerClose:FAR
  3948.  
  3949.                     PUSH    WORD    DevHandle    ;device driver handle
  3950.                     PUSH    WORD    PeerHandle   ;peer handle
  3951.                     PUSH    WORD    DispCode     ;dispositon code
  3952.                     CALL    ICADevPeerClose
  3953.  
  3954.           Where: 
  3955.  
  3956.           DevHandle 
  3957.                     Is the handle returned when opening the device driver with 
  3958.                     DosOpen. 
  3959.  
  3960.           PeerHandle 
  3961.                     Is the handle returned when opening the device driver with 
  3962.                     ICADevPeerOpen. 
  3963.  
  3964.           DispCode 
  3965.                     Is the disposition code. 
  3966.  
  3967.  Return Codes 
  3968.  
  3969.                     IF      AX=0 then NO error
  3970.                     ELSE    AX=error code
  3971.  
  3972.                     X'FF17' = ERROR_ICA_BAD_HANDLE
  3973.                     X'FF18' = ERROR_ICA_REQS_REMAIN
  3974.                     X'FF1F' = ERROR_ICA_UNKNOWN_DISP
  3975.                     X'FF20' = ERROR_ICA_UNKNOWN_PEER
  3976.  
  3977.  Comments 
  3978.  
  3979.           The ICADevPeerClose function is used to return a peer handle to the 
  3980.           device driver and terminate peer services. 
  3981.  
  3982.  Examples 
  3983.  
  3984.                                include icacalls.inc     ;include macros
  3985.  
  3986.                     DISP_PURGE equ     0
  3987.                     DevHan     dw      ?                ;handle returned by DosOpen
  3988.                     PeerHan    dw      ?                ;peer handle returned by ICADevPeerOpen
  3989.  
  3990.                                @ICADevPeerClose DevHan,PeerHan,DISP.PURGE
  3991.  
  3992.                                or      ax,ax            ;jump in case of error
  3993.                                jnz     ErrorHandler
  3994.  
  3995.  
  3996. ΓòÉΓòÉΓòÉ 6.14. ICADevPeerOpen ΓòÉΓòÉΓòÉ
  3997.  
  3998. ICADevPeerOpen 
  3999.  
  4000. ICADevPeerOpen establishes a peer task in the system unit. 
  4001.  
  4002. Note:  This routine requires Realtime control Microcode Version 2.0 and the 
  4003. Realtime Interface Co-Processor Portmaster Adapter/A. 
  4004.  
  4005.  Usage 
  4006.  
  4007.                     EXTRN   ICADevPeerOpen:FAR
  4008.  
  4009.                     PUSH    WORD    DevHandle    ;device driver handle
  4010.                     PUSH    WORD    BuffSize     ;size of peer data segment
  4011.                     PUSH    DWORD   PeerHandle   ;peer handle
  4012.                     CALL    ICADevPeerOpen
  4013.  
  4014.           Where: 
  4015.  
  4016.           DevHandle 
  4017.                     Is the handle returned when opening the device driver with 
  4018.                     DosOpen. 
  4019.  
  4020.           BuffSize 
  4021.                     Is the size of the peer data segment. 
  4022.  
  4023.           PeerHandle 
  4024.                     Is the handle returned here. 
  4025.  
  4026.  Return Codes 
  4027.  
  4028.                     IF      AX=0 then NO error
  4029.                     ELSE    AX=error code
  4030.  
  4031.                     X'FF16' = ERROR_ICA_NO_PEER_HAND
  4032.                     X'FF1E' = ERROR_NOT_ENOUGH_MEMORY
  4033.                     X'FF22' = ERROR_TOO_MANY_SEMAPHORES
  4034.  
  4035.  Comments 
  4036.  
  4037.           The ICADevPeerOpen function establishes a thread as a peer task. The 
  4038.           function returns a peer handle used as the thread's task ID within 
  4039.           the peer request block. The BuffSize parameter specifies the size (in 
  4040.           bytes) of the buffer area allocated for receiving incoming peer 
  4041.           request blocks. The driver copies incoming request blocks to the 
  4042.           receive area and returns a positive acknowledgment as long as buffers 
  4043.           are available. If buffers are not available, the driver returns a 
  4044.           negative acknowledgment to any incoming peer request blocks for the 
  4045.           task. 
  4046.  
  4047.  Examples 
  4048.  
  4049.                                include icacalls.inc     ;include macros
  4050.  
  4051.                     BUFF_SIZE  equ     1024             ;1KB buffer area
  4052.                     DevHan     dw      ?                ;handle returned by DosOpen
  4053.                     PeerHan    dw      ?                ;peer handle is returned here
  4054.  
  4055.                                @ICADevPeerOpen DevHan,BUFF_SIZE,PeerHan
  4056.  
  4057.                                or      ax,ax            ;jump in case of error
  4058.                                jnz     ErrorHandler
  4059.  
  4060.  
  4061. ΓòÉΓòÉΓòÉ 6.15. ICADevPeerReceive ΓòÉΓòÉΓòÉ
  4062.  
  4063. ICADevPeerReceive 
  4064.  
  4065. ICADevPeerReceive receives peer request blocks. 
  4066.  
  4067. Note:  This routine requires Realtime Control Microcode Version 2.0 and the 
  4068. Realtime Interface Co-Processor Portmaster Adapter/A. 
  4069.  
  4070.  Usage 
  4071.  
  4072.                     EXTRN   ICADevPeerReceive:FAR
  4073.  
  4074.                     PUSH    WORD    PeerHandle   ;peer handle
  4075.                     PUSH    DWORD   Time-out     ;time-out in milliseconds
  4076.                                                  ;0 = no wait
  4077.                                                  ;-1 = wait forever
  4078.                     PUSH@   DWORD   PeerReqBlk   ;pointer to peer request
  4079.                                                  ;blocks returned
  4080.                     PUSH@   WORD    ReqBlkCount  ;count of request blocks
  4081.                                                  ;returned
  4082.                     CALL    ICADevPeerReceive
  4083.  
  4084.           Where: 
  4085.  
  4086.           PeerHandle 
  4087.                     Is the handle returned. 
  4088.  
  4089.           Time-out 
  4090.                     Is the time-out in milliseconds. 
  4091.  
  4092.           PeerReqBlk 
  4093.                     Is the pointer to the peer request blocks returned. 
  4094.  
  4095.           ReqBlkCount 
  4096.                     Is the count of the request blocks returned. 
  4097.  
  4098.  Return Codes 
  4099.  
  4100.                     IF      AX=0 then NO error
  4101.                     ELSE    AX=error code
  4102.  
  4103.                     X'FF19' = ERROR_ICA_NO_REQS
  4104.                     X'FF0B' = ERROR_ICA_TIMEOUT
  4105.                     X'FF0A' = ERROR_RCV_SEQ_ERR
  4106.                     X'FF17' = ERROR_ICA_BAD_HANDLE
  4107.  
  4108.  Comments 
  4109.  
  4110.           The ICADevPeerReceive returns a pointer to a list of peer request 
  4111.           blocks along with a count of request blocks in the list.  An 
  4112.           ICADevPeerReceiveDone call must be called to free request blocks.  If 
  4113.           no peer request blocks are available to receive after the request 
  4114.           blocks are processed by the peer task, the call blocks are subject to 
  4115.           the Time-out parameter. 
  4116.  
  4117.  Examples 
  4118.  
  4119.                                include icacalls.inc     ;include macros
  4120.  
  4121.                     PeerHan    dw      ?                ;peer handle
  4122.                     Timeout    dd      -1               ;Time-out (-1 = no timeout)
  4123.                     PRBPtr     dd      ?                ;Pointer to PRB returned here
  4124.                     PRBCt      dw      ?                ;Count of PRB's returned here
  4125.  
  4126.                                @ICADevPeerReceive PeerHan,Timeout,PRBPtr,PRBCt
  4127.  
  4128.                                or      ax,ax            ;jump in case of error
  4129.                                jnz     ErrorHandler
  4130.  
  4131.  
  4132. ΓòÉΓòÉΓòÉ 6.16. ICADevPeerReceiveDone ΓòÉΓòÉΓòÉ
  4133.  
  4134. ICADevPeerReceiveDone 
  4135.  
  4136. ICADevPeerReceiveDone is used by a peer task to indicate the completion of 
  4137. processing of received peer request blocks. 
  4138.  
  4139. Note:  This routine requires Realtime Control Microcode Version 2.0 and the 
  4140. Realtime Interface Co-Processor Portmaster Adapter/A. 
  4141.  
  4142.  Usage 
  4143.  
  4144.                     EXTRN   ICADevPeerReceiveDone:FAR
  4145.  
  4146.                     PUSH    WORD    PeerHandle   ;peer handle
  4147.                     CALL    ICADevPeerReceive
  4148.  
  4149.           Where: 
  4150.  
  4151.           PeerHandle 
  4152.                     Is the handle returned by the ICADevPeerReceive call. 
  4153.  
  4154.  Return Codes 
  4155.  
  4156.                     IF      AX=0 then NO error
  4157.                     ELSE    AX=error code
  4158.  
  4159.                     X'FF17' = ERROR_ICA_BAD_HANDLE
  4160.                     X'FF0A' = ERROR_RCV_SEQ_ERR
  4161.  
  4162.  Comments 
  4163.  
  4164.           The ICADevPeerReceiveDone, used after an ICADevPeerReceive call, 
  4165.           indicates that the application is done processing the peer request 
  4166.           blocks returned by the ICADevPeerReceive call.  The application must 
  4167.           complete all processing of the request blocks or copy any necessary 
  4168.           data before making this call.  Failure to call ICADevPeerReceiveDone 
  4169.           causes request blocks to consume the buffer area created on the 
  4170.           ICADevPeerOpen. When this buffer area is exhausted, the driver 
  4171.           returns a negative acknowledgment to any incoming request block for 
  4172.           the application. 
  4173.  
  4174.  Examples 
  4175.  
  4176.                                include icacalls.inc     ;include macros
  4177.  
  4178.                     PeerHan    db      ?                ;peer handle
  4179.  
  4180.                                @ICADevPeerReceiveDone PeerHan
  4181.  
  4182.                                or      ax,ax            ;jump in case of error
  4183.                                jnz     ErrorHandler
  4184.  
  4185.  
  4186. ΓòÉΓòÉΓòÉ 6.17. ICADevPeerSend ΓòÉΓòÉΓòÉ
  4187.  
  4188. ICADevPeerSend 
  4189.  
  4190. ICADevPeerSend sends a peer request block to a peer task on a Realtime 
  4191. Interface Co-Processor Portmaster Adapter/A or another peer thread in the 
  4192. system unit. 
  4193.  
  4194. Note:  This routine requires Realtime Control Microcode Version 2.0 and the 
  4195. Realtime Interface Co-Processor Portmaster Adapter/A. 
  4196.  
  4197.  Usage 
  4198.  
  4199.                     EXTRN   ICADevPeerSend:FAR
  4200.  
  4201.                     PUSH    WORD    DevHandle    ;device driver handle
  4202.                     PUSH@   OTHER   PeerReqBlk   ;peer request block
  4203.                     CALL    ICADevPeerSend
  4204.  
  4205.           Where: 
  4206.  
  4207.           DevHandle 
  4208.                     Is the device driver handle returned. 
  4209.  
  4210.           PeerReqBlk 
  4211.                     Is the peer request block. 
  4212.  
  4213.  Return Codes 
  4214.  
  4215.                     IF      AX=0 then NO error
  4216.                     ELSE    AX=error code
  4217.  
  4218.                     X'FF21' = ERROR_ICA_BAD_PARM
  4219.                     X'FF1E' = ERROR_ICA_NOT_ENOUGH_MEMORY
  4220.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  4221.  
  4222.  Comments 
  4223.  
  4224.           The ICADevPeerSend routine is used to send a peer request block to a 
  4225.           task on a Realtime Interface Co-Processor Portmaster Adapter/A. For a 
  4226.           complete discussion of the Realtime Control Microcode Version 2.0 and 
  4227.           the Realtime Interface Co-Processor Portmaster Adapter/A peer 
  4228.           services, refer to IBM Realtime Interface Co-Processor Firmware 
  4229.           Technical Reference. 
  4230.  
  4231.  Examples 
  4232.  
  4233.                                include icacalls.inc     ;include macros
  4234.  
  4235.                     PRB        struc   PeerReqBlk
  4236.  
  4237.                                @ICADevPeerSend PRB
  4238.  
  4239.                                or      ax,ax            ;jump in case of error
  4240.                                jnz     ErrorHandler
  4241.  
  4242.  
  4243. ΓòÉΓòÉΓòÉ 6.18. ICADevPrimaryStatus ΓòÉΓòÉΓòÉ
  4244.  
  4245. ICADevPrimaryStatus 
  4246.  
  4247. ICADevPrimaryStatus reads the primary status byte for a given task. 
  4248.  
  4249.  Usage 
  4250.  
  4251.                     EXTRN   ICADevPrimaryStatus:FAR
  4252.  
  4253.                     PUSH    WORD    DevHandle    ;device driver handle
  4254.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  4255.                     PUSH    BYTE    TaskNum      ;task number
  4256.                     PUSH@   BYTE    PrimStat     ;pointer to primary status variable
  4257.                     CALL    ICADevPrimaryStatus
  4258.  
  4259.           Where: 
  4260.  
  4261.           DevHandle 
  4262.                     Is the handle returned when opening the device driver with 
  4263.                     DosOpen. 
  4264.  
  4265.           CoProc 
  4266.                     Is the logical number of the co-processor adapter. 
  4267.  
  4268.           TaskNum 
  4269.                     Is the task number of the buffer owner. 
  4270.  
  4271.           PrimStat 
  4272.                     Is a doubleword pointer to where the primary status byte is 
  4273.                     stored. 
  4274.  
  4275.  Return Codes 
  4276.  
  4277.                     IF      AX=0 then NO error
  4278.                     ELSE    AX=error code
  4279.  
  4280.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  4281.                     X'FF06' = ERROR_ICA_INVALID_TASK
  4282.  
  4283.  Comments 
  4284.  
  4285.           The ICADevPrimaryStatus function returns the primary status byte for 
  4286.           the given task. Refer to Realtime Interface Co-Processor Technical 
  4287.           Reference for the meanings of the primary status bits. 
  4288.  
  4289.  Examples 
  4290.  
  4291.           In the following example, the primary status byte of task 1 on 
  4292.           co-processor adapter 0 is stored in PrimStat. 
  4293.  
  4294.                                include icacalls.inc     ;include macros
  4295.  
  4296.                     DevHan     dw      ?                ;handle returned by DosOpen
  4297.                     CoProc     db      0                ;co-processor adapter 0
  4298.                     TaskNum    db      1                ;task number 1
  4299.                     PrimStat   db      ?                ;primary status byte
  4300.  
  4301.                                @ICADevPrimaryStatus DevHan,CoProc,TaskNum,PrimStat
  4302.  
  4303.                                or      ax,ax            ;jump in case of error
  4304.                                jnz     ErrorHandler
  4305.  
  4306.  
  4307. ΓòÉΓòÉΓòÉ 6.19. ICADevPutOutBuf ΓòÉΓòÉΓòÉ
  4308.  
  4309. ICADevPutOutBuf 
  4310.  
  4311. ICADevPutOutBuf writes the contents of a buffer to the given task output 
  4312. buffer. 
  4313.  
  4314.  Usage 
  4315.  
  4316.                     EXTRN   ICADevPutOutBuf:FAR
  4317.  
  4318.                     PUSH    WORD    DevHandle    ;device driver handle
  4319.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  4320.                     PUSH    BYTE    TaskNum      ;task number
  4321.                     PUSH@   OTHER   Buffer       ;source of buffer data
  4322.                     PUSH@   WORD    Length       ;length to write
  4323.                     CALL    ICADevPutOutBuf
  4324.  
  4325.           Where: 
  4326.  
  4327.           DevHandle 
  4328.                     Is the handle returned when opening the device driver with 
  4329.                     DosOpen. 
  4330.  
  4331.           CoProc 
  4332.                     Is the logical number of the co-processor adapter. 
  4333.  
  4334.           TaskNum 
  4335.                     Is the task number of the buffer owner. 
  4336.  
  4337.           Buffer 
  4338.                     Is a doubleword pointer to the buffer data to write to the 
  4339.                     output buffer. 
  4340.  
  4341.           Length 
  4342.                     Is a doubleword pointer to the number of bytes to write. It 
  4343.                     returns the number of bytes actually written. A value of 0 
  4344.                     indicates that 64KB will be written. 
  4345.  
  4346.  Return Codes 
  4347.  
  4348.                     IF      AX=0 then NO error
  4349.                     ELSE    AX=error code
  4350.  
  4351.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  4352.                     X'FF06' = ERROR_ICA_INVALID_TASK
  4353.  
  4354.  Comments 
  4355.  
  4356.           The ICADevPutOutBuf function can be called by any application; 
  4357.           ownership of the shared storage window is not required. Typically, 
  4358.           this function would be called to write to the output buffer before 
  4359.           issuing a command to the task. If a length greater than the size of 
  4360.           the output buffer is specified, the function writes only the number 
  4361.           of bytes in the output buffer. The number of bytes actually written 
  4362.           is returned in the same location. 
  4363.  
  4364.  Examples 
  4365.  
  4366.           In the following example, 8 bytes of data are written to the output 
  4367.           buffer of task 1 on co-processor adapter 1. 
  4368.  
  4369.                                include icacalls.inc     ;include macros
  4370.  
  4371.                     DevHan     dw      ?                ;handle returned by DosOpen
  4372.                     CoProc     db      1                ;co-processor adapter 1
  4373.                     TaskNum    db      1                ;task number 1
  4374.                     OutData    db      8,7,6,5,4,3,2,1  ;source buffer
  4375.                     OutLen     dw      8                ;number of bytes to write
  4376.  
  4377.                                @ICADevPutOutBuf DevHan,CoProc,TaskNum,OutData,OutLen
  4378.  
  4379.                                or      ax,ax            ;jump in case of error
  4380.                                jnz     ErrorHandler
  4381.  
  4382.  
  4383. ΓòÉΓòÉΓòÉ 6.20. ICADevReadString ΓòÉΓòÉΓòÉ
  4384.  
  4385. ICADevReadString 
  4386.  
  4387. ICADevReadString reads from given co-processor adapter memory and writes to an 
  4388. application buffer. 
  4389.  
  4390.  Usage 
  4391.  
  4392.                     EXTRN   ICADevReadString:FAR
  4393.  
  4394.                     PUSH    WORD    DevHandle    ;device driver handle
  4395.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  4396.                     PUSH    WORD    Length       ;length to read
  4397.                     PUSH    WORD    SegPage      ;segment or page of read
  4398.                     PUSH    WORD    Offset       ;offset of read
  4399.                     PUSH    BYTE    Format       ;address format control byte
  4400.                     PUSH@   OTHER   Buffer       ;destination for co-proc memory
  4401.                     CALL    ICADevReadString
  4402.  
  4403.           Where: 
  4404.  
  4405.           DevHandle 
  4406.                     Is the handle returned when opening the device driver with 
  4407.                     DosOpen. 
  4408.  
  4409.           CoProc 
  4410.                     Is the logical number of the co-processor adapter. 
  4411.  
  4412.           Length 
  4413.                     Is the number of bytes to read. A value of 0 indicates that 
  4414.                     64KB will be read. 
  4415.  
  4416.           SegPage 
  4417.                     Is the segment or page number of the read. 
  4418.  
  4419.           Offset 
  4420.                     Is the segment offset or page offset of the read. 
  4421.  
  4422.           Format 
  4423.                     Is the control byte defining the format of the address. 
  4424.  
  4425.           Buffer 
  4426.                     Is a doubleword pointer to the buffer where the 
  4427.                     co-processor adapter memory will be copied. 
  4428.  
  4429.  Return Codes 
  4430.  
  4431.                     IF      AX=0 then NO error
  4432.                     ELSE    AX=error code
  4433.  
  4434.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  4435.                     X'FF07' = ERROR_ICA_INVALID_PAGE
  4436.                     X'FF08' = ERROR_ICA_INVALID_OFFSET
  4437.                     X'FF09' = ERROR_ICA_INVALID_FORMAT
  4438.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  4439.  
  4440.  Comments 
  4441.  
  4442.           The ICADevReadString function reads the contents of co-processor 
  4443.           adapter memory and writes it to a system unit buffer. The address of 
  4444.           the co-processor adapter memory can be specified either as a segment 
  4445.           and offset address or as a page and offset address. The Format 
  4446.           parameter should have a value of X'FF' for page and offset addresses; 
  4447.           a value of X'00' designates a segment and offset address. 
  4448.  
  4449.  Examples 
  4450.  
  4451.           In the following example, the first 4 bytes of the interface block on 
  4452.           co-processor adapter 1 are written to Buffer. 
  4453.  
  4454.                                include icacalls.inc     ;include macros
  4455.  
  4456.                     DevHan     dw      ?                ;handle returned by DosOpen
  4457.                     CoProc     db      1                ;co-processor adapter 1
  4458.                     Len        dw      4                ;number of bytes to read
  4459.                     Seg        dw      0                ;segment 0
  4460.                     Off        dw      440h             ;offset 440h
  4461.                     Format     db      0                ;segment:offset address
  4462.                     Buffer     db      4 dup (?)        ;destination buffer
  4463.  
  4464.                                @ICADevReadString DevHan,CoProc,Len,Seg,Off,Format,Buffer
  4465.  
  4466.                                or      ax,ax            ;jump in case of error
  4467.                                jnz     ErrorHandler
  4468.  
  4469.  
  4470. ΓòÉΓòÉΓòÉ 6.21. ICADevRegSemaphore ΓòÉΓòÉΓòÉ
  4471.  
  4472. ICADevRegSemaphore 
  4473.  
  4474. ICADevRegSemaphore registers a system semaphore with the device driver. 
  4475.  
  4476.  Usage 
  4477.  
  4478.                     EXTRN   ICADevRegSemaphore:FAR
  4479.  
  4480.                     PUSH    WORD    DevHandle    ;device driver handle
  4481.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  4482.                     PUSH    BYTE    TaskNum      ;task number
  4483.                     PUSH    DWORD   Semaphore    ;handle of semaphore to register
  4484.                     CALL    ICADevRegSemaphore
  4485.  
  4486.           Where: 
  4487.  
  4488.           DevHandle 
  4489.                     Is the handle returned when opening the device driver with 
  4490.                     DosOpen. 
  4491.  
  4492.           CoProc 
  4493.                     Is the logical number of the co-processor adapter. 
  4494.  
  4495.           TaskNum 
  4496.                     Is the task number for which to register the semaphore. 
  4497.  
  4498.           Semaphore 
  4499.                     Is the handle of the application system semaphore. 
  4500.  
  4501.  Return Codes 
  4502.  
  4503.                     IF      AX=0 then NO error
  4504.                     ELSE    AX=error code
  4505.  
  4506.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  4507.                     X'FF06' = ERROR_ICA_INVALID_TASK
  4508.                     X'FF15' = ERROR_ICA_SEM_FULL
  4509.                     X'FF1D' = ERROR_ICA_BAD_SEMAPHORE
  4510.  
  4511.  Comments 
  4512.  
  4513.           The ICADevRegSemaphore function registers an application system 
  4514.           semaphore with the device driver. Semaphores are a means of 
  4515.           synchronization between system unit applications and co-processor 
  4516.           adapter tasks. When a task on a co-processor adapter interrupts the 
  4517.           system unit, the device driver clears any semaphores that have been 
  4518.           registered for that task and adapter. For an application to wait on a 
  4519.           task interrupt, it must: 
  4520.  
  4521.            1. Use DosCreateSem to create a nonexclusive system semaphore 
  4522.            2. Use DosSemSet to set the semaphore 
  4523.            3. Register the semaphore with the ICADevRegSemaphore call 
  4524.            4. Call DosSemWait to wait for the semaphore to be cleared. 
  4525.  
  4526.           For more information regarding DOS calls, refer to OS/2 Technical 
  4527.           Library. 
  4528.  
  4529.  Examples 
  4530.  
  4531.           In the following example, the SemHan semaphore handle is registered 
  4532.           with the device driver. When an interrupt is received from task 0 on 
  4533.           co-processor adapter 0, the SemHan semaphore is cleared by the device 
  4534.           driver. The process waiting on the semaphore is activated. 
  4535.  
  4536.                                include icacalls.inc     ;include macros
  4537.  
  4538.                     DevHan     dw      ?                ;handle returned by DosOpen
  4539.                     CoProc     db      0                ;co-processor adapter 0
  4540.                     TaskNum    db      0                ;task number 0 (RCM)
  4541.                     SemHan     dd      ?                ;semaphore handle from
  4542.                                                         ; DosCreateSem
  4543.  
  4544.                                @ICADevRegSemaphore DevHan,CoProc,TaskNum,SemHan
  4545.  
  4546.                                or      ax,ax            ;jump in case of error
  4547.                                jnz     ErrorHandler
  4548.  
  4549.  
  4550. ΓòÉΓòÉΓòÉ 6.22. ICADevRemNotify ΓòÉΓòÉΓòÉ
  4551.  
  4552. ICADevRemNotify 
  4553.  
  4554. ICADevRemNotify removes a semaphore from the device driver list for 
  4555. notification of the RCM INIT COMMAND. 
  4556.  
  4557.  Usage 
  4558.  
  4559.                     EXTRN   ICADevRemNotify:FAR
  4560.  
  4561.                     PUSH    WORD    DevHandle    ;device driver handle
  4562.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  4563.                     PUSH    BYTE    Control      ;control bits
  4564.                     PUSH    DWORD   Semaphore    ;semaphore handle to remove
  4565.                     CALL    ICADevRemNotify
  4566.  
  4567.           Where: 
  4568.  
  4569.           DevHandle 
  4570.                     Is the handle returned when opening the device driver with 
  4571.                     DosOpen. 
  4572.  
  4573.           CoProc 
  4574.                     Is the logical number of the co-processor adapter. 
  4575.  
  4576.           Control 
  4577.                     Is the control flag. 
  4578.  
  4579.           Semaphore 
  4580.                     Is the handle of the semaphore to remove from the 
  4581.                     notification list. 
  4582.  
  4583.  Return Codes 
  4584.  
  4585.                     IF      AX=0 then NO error
  4586.                     ELSE    AX=error code
  4587.  
  4588.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  4589.                     X'FF0D' = ERROR_ICA_INVALID_CONTROL
  4590.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  4591.  
  4592.  Comments 
  4593.  
  4594.           The ICADevRemNotify function removes a semaphore from the device 
  4595.           driver notification list for special events. The semaphore handle 
  4596.           will have been registered with the device driver using the 
  4597.           ICADevNotify function. 
  4598.  
  4599.           The format of the Control parameter is B'1000 0000'. Bits 0 through 6 
  4600.           should be B'0'. 
  4601.  
  4602.  Examples 
  4603.  
  4604.           In the following example, the SemHan semaphore handle is removed by 
  4605.           the device driver from its internal tables. SemHan was registered 
  4606.           with the device driver with the ICADevNotify call. 
  4607.  
  4608.                                include icacalls.inc     ;include macros
  4609.  
  4610.                     DevHan     dw      ?                ;handle returned by DosOpen
  4611.                     CoProc     db      0                ;co-processor adapter 0
  4612.                     Control    db      80h              ;flag for RCM Init notify
  4613.                     SemHan     dd      ?                ;semaphore handle from
  4614.                                                         ; DosCreateSem and registered
  4615.                                                         ; with ICADevNotify
  4616.  
  4617.                                @ICADevRemNotify DevHan,CoProc,Control,SemHan
  4618.  
  4619.                                or      ax,ax            ;jump in case of error
  4620.                                jnz     ErrorHandler
  4621.  
  4622.  
  4623. ΓòÉΓòÉΓòÉ 6.23. ICADevRemSemaphore ΓòÉΓòÉΓòÉ
  4624.  
  4625. ICADevRemSemaphore 
  4626.  
  4627. ICADevRemSemaphore removes a system semaphore from the device driver list of 
  4628. registered semaphores. 
  4629.  
  4630.  Usage 
  4631.  
  4632.                     EXTRN   ICADevRemSemaphore:FAR
  4633.  
  4634.                     PUSH    WORD    DevHandle    ;device driver handle
  4635.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  4636.                     PUSH    BYTE    TaskNum      ;task number for semaphore
  4637.                     PUSH    DWORD   Semaphore    ;handle of semaphore to remove
  4638.                     CALL    ICADevRemSemaphore
  4639.  
  4640.           Where: 
  4641.  
  4642.           DevHandle 
  4643.                     Is the handle returned when opening the device driver with 
  4644.                     DosOpen. 
  4645.  
  4646.           CoProc 
  4647.                     Is the logical number of the co-processor adapter for which 
  4648.                     the semaphore was registered. 
  4649.  
  4650.           TaskNum 
  4651.                     Is the task number for which the semaphore was registered. 
  4652.  
  4653.           Semaphore 
  4654.                     Is the handle of the application system semaphore. 
  4655.  
  4656.  Return Codes 
  4657.  
  4658.                     IF      AX=0 then NO error
  4659.                     ELSE    AX=error code
  4660.  
  4661.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  4662.                     X'FF06' = ERROR_ICA_INVALID_TASK
  4663.                     X'FF1D' = ERROR_ICA_BAD_SEMAPHORE
  4664.  
  4665.  Comments 
  4666.  
  4667.           The ICADevRemSemaphore function removes an application system 
  4668.           semaphore from the registered semaphore list in the device driver. 
  4669.           The ICADevRegSemaphore function registers semaphores with the device 
  4670.           driver for synchronization between the system unit application and 
  4671.           the given co-processor adapter task. When the application no longer 
  4672.           needs to be notified of interrupts from the task, it should 
  4673.           deregister the semaphore with the ICADevRemSemaphore function. The 
  4674.           co-processor adapter and task numbers will be the same as those used 
  4675.           when the semaphore was registered with the ICADevRegSemaphore 
  4676.           function. 
  4677.  
  4678.  Examples 
  4679.  
  4680.           In the following example, the SemHan semaphore handle is removed from 
  4681.           the device driver internal tables. The function is called when the 
  4682.           process no longer needs to be notified of interrupts from task 0 
  4683.           (RCM) on co-processor adapter 0. 
  4684.  
  4685.                                include icacalls.inc     ;include macros
  4686.  
  4687.                     DevHan     dw      ?                ;handle returned by DosOpen
  4688.                     CoProc     db      0                ;co-processor adapter 0
  4689.                     TaskNum    db      0                ;task number 0 (RCM)
  4690.                     SemHan     dd      ?                ;semaphore handle from
  4691.                                                         ; DosCreateSem and registered
  4692.                                                         ; with ICADevRegSemaphore
  4693.  
  4694.                                @ICADevRemSemaphore DevHan,CoProc,TaskNum,SemHan
  4695.  
  4696.                                or      ax,ax            ;jump in case of error
  4697.                                jnz     ErrorHandler
  4698.  
  4699.  
  4700. ΓòÉΓòÉΓòÉ 6.24. ICADevReset ΓòÉΓòÉΓòÉ
  4701.  
  4702. ICADevReset 
  4703.  
  4704. ICADevReset issues a hardware reset command to the given co-processor adapter. 
  4705.  
  4706.  Usage 
  4707.  
  4708.                     EXTRN   ICADevReset:FAR
  4709.  
  4710.                     PUSH    WORD    DevHandle    ;device driver handle
  4711.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  4712.                     CALL    ICADevReset
  4713.  
  4714.           Where: 
  4715.  
  4716.           DevHandle 
  4717.                     Is the handle returned when opening the device driver with 
  4718.                     DosOpen. 
  4719.  
  4720.           CoProc 
  4721.                     Is the logical number of the co-processor adapter to reset. 
  4722.  
  4723.  Return Codes 
  4724.  
  4725.                     IF      AX=0 then NO error
  4726.                     ELSE    AX=error code
  4727.  
  4728.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  4729.  
  4730.  Comments 
  4731.  
  4732.           The ICADevReset function issues a hardware reset command to the given 
  4733.           co-processor adapter. The RCM and all other tasks are unloaded; the 
  4734.           co-processor adapter also goes through its power-on self test (POST). 
  4735.           Control is returned to the caller after the POST has completed. 
  4736.  
  4737.  Examples 
  4738.  
  4739.           In the following example, co-processor adapter 1 is reset: 
  4740.  
  4741.                                include icacalls.inc     ;include macros
  4742.  
  4743.                     DevHan     dw      ?                ;handle returned by DosOpen
  4744.                     CoProc     db      1                ;co-processor adapter 1
  4745.  
  4746.                                @ICADevReset DevHan,CoProc
  4747.  
  4748.                                or      ax,ax            ;jump in case of error
  4749.                                jnz     ErrorHandler
  4750.  
  4751.  
  4752. ΓòÉΓòÉΓòÉ 6.25. ICADevSecStatus ΓòÉΓòÉΓòÉ
  4753.  
  4754. ICADevSecStatus 
  4755.  
  4756. ICADevSecStatus reads the address of a task secondary status buffer from the 
  4757. task Buffer Control Block. 
  4758.  
  4759.  Usage 
  4760.  
  4761.                     EXTRN   ICADevSecStatus:FAR
  4762.  
  4763.                     PUSH    WORD    DevHandle    ;device driver handle
  4764.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  4765.                     PUSH    BYTE    TaskNum      ;task number
  4766.                     PUSH@   OTHER   Buffer       ;destination for buffer address
  4767.                     CALL    ICADevSecStatus
  4768.  
  4769.           Where: 
  4770.  
  4771.           DevHandle 
  4772.                     Is the handle returned when opening the device driver with 
  4773.                     DosOpen. 
  4774.  
  4775.           CoProc 
  4776.                     Is the logical number of the co-processor adapter. 
  4777.  
  4778.           TaskNum 
  4779.                     Is the task number of the buffer owner. 
  4780.  
  4781.           Buffer 
  4782.                     Is a doubleword pointer to where the secondary status 
  4783.                     buffer address is stored. 
  4784.  
  4785.  Return Codes 
  4786.  
  4787.                     IF      AX=0 then NO error
  4788.                     ELSE    AX=error code
  4789.  
  4790.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  4791.                     X'FF06' = ERROR_ICA_INVALID_TASK
  4792.  
  4793.  Comments 
  4794.  
  4795.           The ICADevSecStatus function returns the address of a task secondary 
  4796.           status buffer in a 5-byte record. You should make sure that there is 
  4797.           enough space to store the buffer address. The format of the buffer 
  4798.           address record is as follows: 
  4799.  
  4800.                     -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  4801.                     Γöé RECORD                       Γöé LENGTH          Γöé
  4802.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4803.                     Γöé Buffer length in bytes               Γöé Word           Γöé
  4804.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4805.                     Γöé Buffer page offset                 Γöé Word           Γöé
  4806.                     Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4807.                     Γöé Buffer page number                 Γöé Byte           Γöé
  4808.                     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  4809.  
  4810.  Examples 
  4811.  
  4812.           In the following example, the address of the RCM's secondary status 
  4813.           buffer is written to BufAddr. 
  4814.  
  4815.                                include icacalls.inc     ;include macros
  4816.  
  4817.                     DevHan     dw      ?                ;handle returned by DosOpen
  4818.                     CoProc     db      1                ;co-processor adapter 1
  4819.                     TaskNum    db      0                ;task number 0
  4820.                     BufAddr    ICABUFFER <>             ;buffer address structure
  4821.  
  4822.                                @ICADevSecStatus DevHan,CoProc,TaskNum,BufAddr
  4823.  
  4824.                                or      ax,ax            ;jump in case of error
  4825.                                jnz     ErrorHandler
  4826.  
  4827.  
  4828. ΓòÉΓòÉΓòÉ 6.26. ICADevTaskFlush ΓòÉΓòÉΓòÉ
  4829.  
  4830. ICADevTaskFlush 
  4831.  
  4832. ICADevTaskFlush flushes all requests from the calling process for services from 
  4833. the device driver. 
  4834.  
  4835.  Usage 
  4836.  
  4837.                     EXTRN   ICADevTaskFlush:FAR
  4838.  
  4839.                     PUSH    WORD    DevHandle    ;device driver handle
  4840.                     CALL    ICADevTaskFlush
  4841.  
  4842.           Where: 
  4843.  
  4844.           DevHandle 
  4845.                     Is the handle returned when opening the device driver with 
  4846.                     DosOpen. 
  4847.  
  4848.  Return Codes 
  4849.  
  4850.                     No errors.
  4851.  
  4852.  Comments 
  4853.  
  4854.           The ICADevTaskFlush function flushes any window requests by the 
  4855.           calling process, releases any co-processor adapter windows owned by 
  4856.           the calling process, and deregisters any semaphores registered with 
  4857.           the device driver by the calling process. This function can be used 
  4858.           in an application exit routine to release resources before completing 
  4859.           the process. 
  4860.  
  4861.  Examples 
  4862.  
  4863.           In the following example, all requests by the calling process are 
  4864.           flushed from the device driver. In addition, all shared storage 
  4865.           windows owned by the calling process are released. 
  4866.  
  4867.                                include icacalls.inc     ;include macros
  4868.  
  4869.                     DevHan     dw      ?                ;handle returned by DosOpen
  4870.  
  4871.                                @ICADevTaskFlush DevHan
  4872.  
  4873.                                or      ax,ax            ;jump in case of error
  4874.                                jnz     ErrorHandler
  4875.  
  4876.  
  4877. ΓòÉΓòÉΓòÉ 6.27. ICADevUnLock ΓòÉΓòÉΓòÉ
  4878.  
  4879. ICADevUnLock 
  4880.  
  4881. ICADevUnLock unlocks a previously locked segment with ICADevLock. 
  4882.  
  4883. Note:  This routing is only necessary when using Realtime Control Microcode 
  4884. Version 2.0 and the Realtime Interface Co-Processor Portmaster Adapter/A. 
  4885.  
  4886.  Usage 
  4887.  
  4888.                     EXTRN   ICADevUnLock:FAR
  4889.  
  4890.                     PUSH    WORD    DevHandle    ;device driver handle
  4891.                     PUSH    DWORD   LockHand     ;lock handle to unlock
  4892.                     CALL    ICADevUnLockush
  4893.  
  4894.           Where: 
  4895.  
  4896.           DevHandle 
  4897.                     Is the handle returned when opening the device driver with 
  4898.                     DosOpen. 
  4899.  
  4900.           LockHand 
  4901.                     Is the lock handle to unlock. 
  4902.  
  4903.  Return Codes 
  4904.  
  4905.                     IF      AX=0 then NO error
  4906.                     ELSE    AX=error code
  4907.  
  4908.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  4909.  
  4910.  Comments 
  4911.  
  4912.           The ICADevUnLock function unlocks a segment of memory and returns its 
  4913.           physical address.  This function is necessary when transferring data 
  4914.           to or from the system unit through RCSMoveData peer request. 
  4915.  
  4916.  Examples 
  4917.  
  4918.                                include icacalls.inc     ;include macros
  4919.  
  4920.                     DevHan     dw      ?                ;device driver handle
  4921.                     LockHan    dd      ?                ;lock handle returned by ICADevLock
  4922.  
  4923.                                @ICADevUnlock DevHan, LockHan
  4924.  
  4925.                                or      ax,ax            ;jump in case of error
  4926.                                jnz     ErrorHandler
  4927.  
  4928.  
  4929. ΓòÉΓòÉΓòÉ 6.28. ICADevWinRelease ΓòÉΓòÉΓòÉ
  4930.  
  4931. ICADevWinRelease 
  4932.  
  4933. ICADevWinRelease releases ownership of a co-processor adapter shared storage 
  4934. window. 
  4935.  
  4936.  Usage 
  4937.  
  4938.                     EXTRN   ICADevWinRelease:FAR
  4939.  
  4940.                     PUSH    WORD    DevHandle    ;device driver handle
  4941.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  4942.                     CALL    ICADevWinRelease
  4943.  
  4944.           Where: 
  4945.  
  4946.           DevHandle 
  4947.                     Is the handle returned when opening the device driver with 
  4948.                     DosOpen. 
  4949.  
  4950.           CoProc 
  4951.                     Is the logical number of the co-processor adapter shared 
  4952.                     storage window. 
  4953.  
  4954.  Return Codes 
  4955.  
  4956.                     IF      AX=0 then NO error
  4957.                     ELSE    AX=error code
  4958.  
  4959.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  4960.                     X'FF0A' = ERROR_ICA_WIN_NOT_OWNED
  4961.  
  4962.  Comments 
  4963.  
  4964.           The ICADevWinRelease function releases ownership of the shared 
  4965.           storage window for the given co-processor adapter. The window can 
  4966.           then be acquired by another application thread. The selector that was 
  4967.           created for referencing the window is removed from the local 
  4968.           descriptor table of the process. 
  4969.  
  4970.  Examples 
  4971.  
  4972.           In the following example, the shared storage window of co-processor 
  4973.           adapter 1 is released. 
  4974.  
  4975.                                include icacalls.inc     ;include macros
  4976.  
  4977.                     DevHan     dw      ?                ;handle returned by DosOpen
  4978.                     CoProc     db      1                ;co-processor adapter 1
  4979.  
  4980.                                @ICADevWinRelease DevHan,CoProc
  4981.  
  4982.                                or      ax,ax            ;jump in case of error
  4983.                                jnz     ErrorHandler
  4984.  
  4985.  
  4986. ΓòÉΓòÉΓòÉ 6.29. ICADevWinResNoWait ΓòÉΓòÉΓòÉ
  4987.  
  4988. ICADevWinResNoWait 
  4989.  
  4990. ICADevWinResNoWait requests ownership of a co-processor adapter shared storage 
  4991. window. The call returns the process ID and the window ID of the window owner 
  4992. if the window is already owned. 
  4993.  
  4994.  Usage 
  4995.  
  4996.                     EXTRN   ICADevWinResNoWait:FAR
  4997.  
  4998.                     PUSH    WORD    DevHandle    ;device driver handle
  4999.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  5000.                     PUSH@   DWORD   WinAddr      ;pointer to shared storage window
  5001.                     PUSH@   WORD    PID          ;owning thread's process ID if owned
  5002.                     PUSH@   WORD    ThreadID     ;owning thread's thread ID if owned
  5003.                     CALL    ICADevWinResNoWait
  5004.  
  5005.           Where: 
  5006.  
  5007.           DevHandle 
  5008.                     Is the handle returned when opening the device driver with 
  5009.                     DosOpen. 
  5010.  
  5011.           CoProc 
  5012.                     Is the logical number of the co-processor adapter shared 
  5013.                     storage window. 
  5014.  
  5015.           WinAddr 
  5016.                     Is a doubleword pointer to where the shared storage window 
  5017.                     address should be placed. 
  5018.  
  5019.           PID 
  5020.                     Is the process ID of the owning thread if the window is 
  5021.                     already owned. 
  5022.  
  5023.           ThreadID 
  5024.                     Is the thread ID of the owning thread if the window is 
  5025.                     already owned. 
  5026.  
  5027.  Return Codes 
  5028.  
  5029.                     IF      AX=0 then NO error
  5030.                     ELSE    AX=error code
  5031.  
  5032.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  5033.                     X'FF0A' = ERROR_ICA_WIN_RESERVED
  5034.  
  5035.  Comments 
  5036.  
  5037.           The ICADevWinResNoWait function requests ownership of the shared 
  5038.           storage window for the given co-processor adapter. If the window is 
  5039.           already owned by another thread, the function returns immediately 
  5040.           with the process ID and thread ID of the window owner. If the call is 
  5041.           successful, a doubleword pointer to the shared storage window is 
  5042.           returned to the calling thread; this pointer can be used for directly 
  5043.           reading from and writing to the co-processor adapter memory. A 
  5044.           selector is added to the process's local descriptor table for 
  5045.           referencing the window. 
  5046.  
  5047.  Examples 
  5048.  
  5049.           In the following example, the calling process requests ownership of 
  5050.           the shared storage window of co-processor adapter 0: 
  5051.  
  5052.                                include icacalls.inc     ;include macros
  5053.  
  5054.                     DevHan     dw      ?                ;handle returned by DosOpen
  5055.                     CoProc     db      0                ;co-processor adapter 0
  5056.                     WinPtr     dd      ?                ;window pointer
  5057.                     PID        dw      ?                ;process ID of window owner
  5058.                     ThreadID   dw      ?                ;thread ID of window owner
  5059.  
  5060.                                @ICADevWinResNoWait DevHan,CoProc,WinPtr,PID,ThreadID
  5061.  
  5062.                                or      ax,ax            ;jump in case of error
  5063.                                jnz     ErrorHandler
  5064.  
  5065.  
  5066. ΓòÉΓòÉΓòÉ 6.30. ICADevWinResWait ΓòÉΓòÉΓòÉ
  5067.  
  5068. ICADevWinResWait 
  5069.  
  5070. ICADevWinResWait requests ownership of a co-processor adapter shared storage 
  5071. window; the call is blocked if the window is already owned. 
  5072.  
  5073.  Usage 
  5074.  
  5075.                     EXTRN   ICADevWinResWait:FAR
  5076.  
  5077.                     PUSH    WORD    DevHandle    ;device driver handle
  5078.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  5079.                     PUSH@   DWORD   WinAddr      ;returns pointer to window
  5080.                     PUSH    DWORD   Timeout      ;timeout on wait (in milliseconds)
  5081.                     CALL    ICADevWinResWait
  5082.  
  5083.           Where: 
  5084.  
  5085.           DevHandle 
  5086.                     Is the handle returned when opening the device driver with 
  5087.                     DosOpen. 
  5088.  
  5089.           CoProc 
  5090.                     Is the logical number of the co-processor adapter shared 
  5091.                     storage window. 
  5092.  
  5093.           WinAddr 
  5094.                     Is a doubleword pointer to where the shared storage window 
  5095.                     address should be placed. 
  5096.  
  5097.           Timeout 
  5098.                     Is a time-out length, in milliseconds, for the wait if the 
  5099.                     window is already owned by another thread. 
  5100.  
  5101.  Return Codes 
  5102.  
  5103.                     IF      AX=0 then NO error
  5104.                     ELSE    AX=error code
  5105.  
  5106.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  5107.                     X'FF0B' = ERROR_ICA_TIMEOUT
  5108.  
  5109.  Comments 
  5110.  
  5111.           The ICADevWinResWait function requests ownership of the shared 
  5112.           storage window for the given co-processor adapter. If the window is 
  5113.           already owned by another thread, the calling thread is blocked until 
  5114.           either the window is released or the wait times out. A doubleword 
  5115.           pointer to the shared storage window is returned to the calling 
  5116.           thread if the call is successful; this pointer can be used for 
  5117.           directly reading from and writing to the co-processor adapter memory. 
  5118.           A selector is added to the process local descriptor table for 
  5119.           referencing the window. 
  5120.  
  5121.  Examples 
  5122.  
  5123.           In the following example, the calling process requests ownership of 
  5124.           the shared storage window of co-processor adapter 0. 
  5125.  
  5126.                                include icacalls.inc     ;include macros
  5127.  
  5128.                     DevHan     dw      ?                ;handle returned by DosOpen
  5129.                     CoProc     db      0                ;co-processor adapter 0
  5130.                     WinPtr     dd      ?                ;window pointer
  5131.                     Timeout    dd      2000             ;max wait = 2 seconds
  5132.  
  5133.                                @ICADevWinResWait DevHan,CoProc,WinPtr,Timeout
  5134.  
  5135.                                or      ax,ax            ;jump in case of error
  5136.                                jnz     ErrorHandler
  5137.  
  5138.  
  5139. ΓòÉΓòÉΓòÉ 6.31. ICADevWriteString ΓòÉΓòÉΓòÉ
  5140.  
  5141. ICADevWriteString 
  5142.  
  5143. ICADevWriteString writes the contents of an application buffer to co-processor 
  5144. adapter memory. 
  5145.  
  5146.  Usage 
  5147.  
  5148.                     EXTRN   ICADevWriteString:FAR
  5149.  
  5150.                     PUSH    WORD    DevHandle    ;device driver handle
  5151.                     PUSH    BYTE    CoProc       ;co-processor adapter number
  5152.                     PUSH    WORD    Length       ;length to write
  5153.                     PUSH    WORD    SegPage      ;segment or page of write
  5154.                     PUSH    WORD    Offset       ;offset of write
  5155.                     PUSH    BYTE    Format       ;address format control byte
  5156.                     PUSH@   OTHER   Buffer       ;buffer to write to co-proc memory
  5157.                     CALL    ICADevWriteString
  5158.  
  5159.           Where: 
  5160.  
  5161.           DevHandle 
  5162.                     Is the handle returned when opening the device driver with 
  5163.                     DosOpen. 
  5164.  
  5165.           CoProc 
  5166.                     Is the logical number of the co-processor adapter. 
  5167.  
  5168.           Length 
  5169.                     Is the number of bytes to write. A value of 0 indicates 
  5170.                     that64KB should be written. 
  5171.  
  5172.           SegPage 
  5173.                     Is the segment or page number to write to. 
  5174.  
  5175.           Offset 
  5176.                     Is the segment offset or page offset to write to. 
  5177.  
  5178.           Format 
  5179.                     Is the control byte defining the format of the address. 
  5180.  
  5181.           Buffer 
  5182.                     Is a doubleword pointer to the buffer that contains the 
  5183.                     data to write. 
  5184.  
  5185.  Return Codes 
  5186.  
  5187.                     IF      AX=0 then NO error
  5188.                     ELSE    AX=error code
  5189.  
  5190.                     X'FF05' = ERROR_ICA_INVALID_COPROC
  5191.                     X'FF07' = ERROR_ICA_INVALID_PAGE
  5192.                     X'FF08' = ERROR_ICA_INVALID_OFFSET
  5193.                     X'FF09' = ERROR_ICA_INVALID_FORMAT
  5194.                     X'FF1C' = ERROR_ICA_BAD_ADDRESS
  5195.  
  5196.  Comments 
  5197.  
  5198.           The ICADevWriteString function writes the contents of a system unit 
  5199.           buffer to co-processor adapter memory. The address of the 
  5200.           co-processor adapter memory can be specified either as a segment and 
  5201.           offset address or as a page and offset address. The Format parameter 
  5202.           will have a value of X'FF' for page and offset addresses; a value of 
  5203.           X'00' designates segment and offset addresses. 
  5204.  
  5205.  Examples 
  5206.  
  5207.           In the following example, 5 bytes from Buffer are written to page 1 
  5208.           offset 0 on co-processor adapter 1. 
  5209.  
  5210.                                include icacalls.inc     ;include macros
  5211.  
  5212.                     DevHan     dw      ?                ;handle returned by DosOpen
  5213.                     CoProc     db      1                ;co-processor adapter 1
  5214.                     Len        dw      4                ;number of bytes to write
  5215.                     Page       dw      1                ;page 1
  5216.                     Off        dw      0                ;offset 0
  5217.                     Format     db      0FFh             ;segment:offset address
  5218.                     Buffer     db      1,2,3,4,5        ;destination buffer
  5219.  
  5220.                                @ICADevWriteString DevHan,CoProc,Len,Seg,Off,Format,Buffer
  5221.  
  5222.                                or      ax,ax            ;jump in case of error
  5223.                                jnz     ErrorHandler
  5224.  
  5225.  
  5226. ΓòÉΓòÉΓòÉ 7. Information Messages ΓòÉΓòÉΓòÉ
  5227.  
  5228. This appendix lists information messages, which are arranged alphabetically. An 
  5229. explanation and recommended response follow each message. For explanations and 
  5230. recommended actions for numbered error messages, see Message Reference. 
  5231.  
  5232.  Enter co-processor adapter number: Explanation: The application loader was 
  5233.            invoked with too few parameters.  The application loader requires a 
  5234.            minimum of three parameters: co-processor adapter number, task file 
  5235.            name, and task number. 
  5236.  
  5237.            User Response: Type the logical number of the co-processor adapter 
  5238.            where the task should be loaded. 
  5239.  
  5240.  Enter file name: Explanation: The application loader was invoked with too few 
  5241.            parameters. The application loader requires a minimum of three 
  5242.            parameters: co-processor adapter number, task file name, and task 
  5243.            number. 
  5244.  
  5245.            User Response: Type the file name of the task to be loaded. 
  5246.  
  5247.  Enter tasknum [,start [,highlow [,bound [,msg]]]]: Explanation: The 
  5248.            application loader was invoked with too few parameters.  The 
  5249.            application loader requires a minimum of three parameters: 
  5250.            co-processor adapter number, task file name, and task number. 
  5251.  
  5252.            User Response: Type the task number of the new task.  Four more 
  5253.            parameters can be typed after the task number.  See Starting the 
  5254.            Application Loader for more information. 
  5255.  
  5256.  ICARICIO.SYS initializing co-processor adapters... Explanation: The device 
  5257.            driver started initializing the installed co-processor adapters. 
  5258.            This can take up to 20 seconds for each co-processor adapter. 
  5259.  
  5260.            User Response: Wait for the device driver to print a message 
  5261.            indicating whether it has installed. 
  5262.  
  5263.  ICARICIO.SYS installed and running Explanation: The device driver finished 
  5264.            initializing the installed co-processor adapters and is resident in 
  5265.            memory. Applications that interface with the installed co-processor 
  5266.            adapters can run after the base operating system has completed 
  5267.            startup. 
  5268.  
  5269.            User Response: No action is necessary. 
  5270.  
  5271.  Normal termination. Task xx loaded on coproc yy Explanation: The application 
  5272.            loader loaded a task onto co-processor adapter yy as task number xx. 
  5273.            No errors were found. The task can interact with other tasks or 
  5274.            system unit applications. 
  5275.  
  5276.            User Response: No action is necessary. 
  5277.  
  5278.  POS overrides parameter file data at base address nnnn Explanation: The device 
  5279.            driver detected that the megabyte and window location set up by the 
  5280.            Programmable Option Select (POS) differs from the values indicated 
  5281.            in the device driver parameter configuration file. The POS setup 
  5282.            data is assumed to be correct. 
  5283.  
  5284.            User Response: Make sure that the megabyte and window location 
  5285.            values in the POS setup data and the device driver parameter 
  5286.            configuration file are the same. 
  5287.  
  5288.  
  5289. ΓòÉΓòÉΓòÉ 8. Error Codes ΓòÉΓòÉΓòÉ
  5290.  
  5291. This appendix contains the error codes returned by the device driver, dynamic 
  5292. link libraries (DLLs), and the device loader. 
  5293.  
  5294.  
  5295. ΓòÉΓòÉΓòÉ 8.1. Device Driver and DLL Error Codes ΓòÉΓòÉΓòÉ
  5296.  
  5297. The following error codes are returned by the device driver and DLLs: 
  5298.  
  5299.  X'FF03'   ERROR_ICA_DEV_NOT_CLOSED 
  5300.            The device driver is not closed. 
  5301.  
  5302.  X'FF04'   ERROR_ICA_COPROC_NOT_ACTIVE 
  5303.            The co-processor adapter is installed in the system but not active. 
  5304.  
  5305.  X'FF05'   ERROR_ICA_INVALID_COPROC 
  5306.            The co-processor adapter is not installed. 
  5307.  
  5308.  X'FF06'   ERROR_ICA_INVALID_TASK 
  5309.            The task number is out of range, the task is not loaded, or the task 
  5310.            status is invalid. 
  5311.  
  5312.  X'FF07'   ERROR_ICA_INVALID_PAGE 
  5313.            The page number is out of range. Valid ranges are as follows: 
  5314.  
  5315.     Page      Page 
  5316.     Size      Range 
  5317.     8KB       Valid page numbers are in the range X'0' to X'7F'. 
  5318.     16KB      Valid page numbers are in the range X'0' to X'3F'. 
  5319.     32KB      Valid page numbers are in the range X'0' to X'1F'. 
  5320.     64KB      All page offsets are valid. 
  5321.  
  5322.  X'FF08'   ERROR_ICA_INVALID_OFFSET 
  5323.            The page offset is out of range. Valid ranges are as follows: 
  5324.  
  5325.     Page      Page 
  5326.     Size      Range 
  5327.     8KB       Valid page offsets are in the range X'0' to X'1FFF'. 
  5328.     16KB      Valid page offsets are in the range X'0' to X'3FFF'. 
  5329.     32KB      Valid page offsets are in the range X'0' to X'7FFF'. 
  5330.     64KB      All page offsets are valid. 
  5331.  
  5332.  X'FF09'   ERROR_ICA_INVALID_FORMAT 
  5333.            The address format byte had a value other than X'0' or X'FF'. 
  5334.  
  5335.  X'FF0A'   ERROR_ICA_WIN_RESERVED 
  5336.            The shared storage window is already reserved by another process. 
  5337.  
  5338.  X'FF0B'   ERROR_ICA_TIMEOUT 
  5339.            A call time-out occurred. If this code was returned after issuing a 
  5340.            command, the Realtime Control Microcode (RCM) did not respond to the 
  5341.            command in time. If this code was returned after requesting a shared 
  5342.            storage window, the window was not released by the previous owner 
  5343.            before time expired. 
  5344.  
  5345.  X'FF0C'   ERROR_ICA_STATUS_NOT_READY 
  5346.            The secondary status buffer could not be read from because the 
  5347.            secondary status available bit in the task primary status byte was 
  5348.            not set. 
  5349.  
  5350.  X'FF0D'   ERROR_ICA_INVALID_CONTROL 
  5351.            The control bit fields were invalid. 
  5352.  
  5353.  X'FF0E'   ERROR_ICA_BAD_GENIOCTL 
  5354.            An invalid category code or function code was passed to the device 
  5355.            driver. Check the description of the desired command for the correct 
  5356.            category and function codes. 
  5357.  
  5358.  X'FF0F'   ERROR_ICA_WIN_NOT_RSRVD 
  5359.            The window request was canceled by a call to TaskFlush or 
  5360.            ICADevTaskFlush from another thread in the calling process. 
  5361.  
  5362.  X'FF10'   ERROR_ICA_WIN_NOT_OWNED 
  5363.            The shared storage window is not owned by the calling thread. 
  5364.  
  5365.  X'FF11'   ERROR_ICA_BAD_PCSELECT 
  5366.            The command could not be issued because the PC select byte in the 
  5367.            interface block was invalid. 
  5368.  
  5369.  X'FF12'   ERROR_ICA_CMD_REJECTED 
  5370.            The RCM returned an error after the command was issued. 
  5371.  
  5372.  X'FF13'   ERROR_ICA_NO_CMD_RESPONSE 
  5373.            The co-processor adapter did not respond after the command was 
  5374.            issued. 
  5375.  
  5376.  X'FF14'   ERROR_ICA_OB_TOO_SHORT 
  5377.            The number of parameter bytes exceeded the length of the task output 
  5378.            buffer; the command operation did not finish. 
  5379.  
  5380.  X'FF15'   ERROR_ICA_SEM_FULL 
  5381.            The system semaphore cannot be registered with the device driver 
  5382.            because there is no more room in the device driver. A maximum of 255 
  5383.            semaphores can be registered with the device driver. 
  5384.  
  5385.  X'FF16'   ERROR_ICA_NO_PEER_HAND 
  5386.            No free peer handles were available on the peer open call.  A 
  5387.            maximum of 32 peer handles may be opened with the device driver. 
  5388.  
  5389.  X'FF17'   ERROR_ICA_BAD_HANDLE 
  5390.            An invalid peer handle was passed to the routine. 
  5391.  
  5392.  X'FF18'   ERROR_ICA_REQS_REMAIN 
  5393.            A disposition code to save requests was specified on peer close and 
  5394.            there were still unreceived request blocks for the peer handle. 
  5395.  
  5396.  X'FF19'   ERROR_ICA_NO_REQS 
  5397.            No peer request blocks are available to receive. 
  5398.  
  5399.  X'FF1A'   ERROR_RCV_SEQ_ERR 
  5400.            The order of peer receive and peer receive done calls is out of 
  5401.            sequence. 
  5402.  
  5403.  X'FF1C'   ERROR_ICA_BAD_ADDRESS 
  5404.            An invalid address was passed to the driver.  Either the application 
  5405.            does not have proper access to the addressed memory, or an address 
  5406.            in a task buffer control block is invalid. 
  5407.  
  5408.  X'FF1D'   ERROR_ICA_BAD_SEMAPHORE 
  5409.            An invalid semaphore handle was passed to the driver. 
  5410.  
  5411.  X'FF1E'   ERROR_ICA_NOT_ENOUGH_MEMORY 
  5412.            There is insufficient memory to complete the request. 
  5413.  
  5414.  X'FF1F'   ERROR_ICA_UNKNOWN_DISPOSITION 
  5415.            An invalid disposition code was passed to the driver in the peer 
  5416.            close call. 
  5417.  
  5418.  X'FF20'   ERROR_ICA_UNKNOWN_PEER 
  5419.            An unknown peer handle was specified. 
  5420.  
  5421.  X'FF21'   ERROR_ICA_BAD_PARM 
  5422.            A parameter in the peer request block is invalid. 
  5423.  
  5424.  X'FF22'   ERROR_ICA_TOO_MANY_SEMAPHORES 
  5425.            The maximum number of semaphores supported by the driver has been 
  5426.            reached. 
  5427.  
  5428.  
  5429. ΓòÉΓòÉΓòÉ 8.2. Device Loader Error Codes ΓòÉΓòÉΓòÉ
  5430.  
  5431. In addition to the messages that are displayed by the application loader, error 
  5432. codes are returned that correspond to the message numbers. These error codes 
  5433. are listed in Device Loader Error Codes and can be read in the errorlevel 
  5434. variable if the application loader is invoked from a batch file. They are also 
  5435. returned to programs that invoke the application loader with the DosExecPgm 
  5436. call or the C system call. 
  5437.  
  5438. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5439. Γöé      Device Loader Error Codes                      Γöé
  5440. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5441. Γöé ERROR CODE DESCRIPTION                   Γöé VALUE       Γöé
  5442. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5443. Γöé ICA_LOAD_SUCCESSFUL                    Γöé 30        Γöé
  5444. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5445. Γöé ERROR_ICA_OPEN_FILE                    Γöé 31        Γöé
  5446. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5447. Γöé ERROR_ICA_READ_FILE                    Γöé 32        Γöé
  5448. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5449. Γöé ERROR_ICA_CLOSE_FILE                    Γöé 33        Γöé
  5450. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5451. Γöé ERROR_ICA_RCM_ENHAN                    Γöé 34        Γöé
  5452. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5453. Γöé ERROR_ICA_INVALID_PARM                   Γöé 35        Γöé
  5454. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5455. Γöé ERROR_ICA_DRIVER_ERROR                   Γöé 36        Γöé
  5456. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5457. Γöé ERROR_ICA_INVALID_TASK                   Γöé 37        Γöé
  5458. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5459. Γöé ERROR_ICA_SEVERE_DEVICE_ERR                Γöé 38        Γöé
  5460. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5461. Γöé ERROR_ICA_RCM_LOADED                    Γöé 39        Γöé
  5462. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5463. Γöé ERROR_ICA_RCM_STATUS                    Γöé 40        Γöé
  5464. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5465. Γöé ERROR_ICA_RCM_NOT_LOADED                  Γöé 41        Γöé
  5466. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5467. Γöé ERROR_ICA_RCM_FOUND_ERROR                 Γöé 42        Γöé
  5468. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5469. Γöé ERROR_ICA_TASK_ERR_FLAG                  Γöé 43        Γöé
  5470. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5471. Γöé ERROR_ICA_TASK_LOADED                   Γöé 44        Γöé
  5472. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5473. Γöé ERROR_ICA_FILE_FORMAT                   Γöé 45        Γöé
  5474. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5475. Γöé ERROR_ICA_RCM_OUTBUF                    Γöé 46        Γöé
  5476. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5477. Γöé ERROR_ICA_RCM_NOT_READY                  Γöé 47        Γöé
  5478. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5479. Γöé ERROR_ICA_NOT_STARTED                   Γöé 48        Γöé
  5480. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5481. Γöé ERROR_ICA_RELOCATION                    Γöé 49        Γöé
  5482. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5483. Γöé ERROR_ICA_COPROC                      Γöé 50        Γöé
  5484. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5485. Γöé ERROR_ICA_TASKFILE                     Γöé 51        Γöé
  5486. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5487. Γöé ERROR_ICA_TASKNUM                     Γöé 52        Γöé
  5488. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5489. Γöé ERROR_ICA_NO_RESPONSE                   Γöé 53        Γöé
  5490. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5491. Γöé ERROR_ICA_PC_SELECT                    Γöé 54        Γöé
  5492. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5493. Γöé ERROR_ICA_NO_DRIVER                    Γöé 55        Γöé
  5494. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5495. Γöé ERROR_ICA_TASK_LENGTH                   Γöé 56        Γöé
  5496. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5497. Γöé ERROR_ICA_INVALID_COPROC                  Γöé 57        Γöé
  5498. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5499. Γöé ERROR_ICA_OS2_ERROR                    Γöé 58        Γöé
  5500. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5501. Γöé ERROR_ICA_INVALID_DRIVER                  Γöé 59        Γöé
  5502. Γöé                              Γöé          Γöé
  5503. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5504.  
  5505.  
  5506. ΓòÉΓòÉΓòÉ 9. Tips and Techniques ΓòÉΓòÉΓòÉ
  5507.  
  5508. The following tips and techniques are provided for programmers who are 
  5509. developing software for the co-processor adapter. For a more complete 
  5510. discussion of these topics, refer to IBM Realtime Interface Co-Processor 
  5511. Firmware Technical Reference or any of the other publications listed in 
  5512. Realtime Interface Co-Processor Publications. 
  5513.  
  5514. Note:  Macro Assembler/2 (or its functional equivalent) is referred to as OS/2* 
  5515.        Macro Assembler in this chapter. 
  5516.  
  5517.  
  5518. ΓòÉΓòÉΓòÉ 9.1. Online Message Help ΓòÉΓòÉΓòÉ
  5519.  
  5520. Online message help is available through the base operating system, which uses 
  5521. the message file ICAH.MSG. ICAH.MSG contains an explanation and recommended 
  5522. action for each error message that is displayed by the software modules in the 
  5523. OS/2 Support program. The explanations and recommended actions for the software 
  5524. modules in the base operating system are found in Message Reference. To display 
  5525. the explanation and action for a particular message, type the following 
  5526. command: 
  5527.  
  5528.      > HELPMSG ICAnnnn
  5529.  
  5530. where nnnn is the number of the message. In the following example, help is 
  5531. requested for message 0001. 
  5532.  
  5533.      > HELPMSG ICA0001
  5534.  
  5535.      ICA0001E: Parameter file open error.  Error code = nnnn
  5536.  
  5537.      Explanation: The ICARICIO.SYS device driver was unable
  5538.                   to open the parameter file.
  5539.  
  5540.      Action:      Make sure that the filename and the path
  5541.                   specified in the CONFIG.SYS file is correct.
  5542.  
  5543.  
  5544. ΓòÉΓòÉΓòÉ 9.2. Setting the Shared Storage Window ΓòÉΓòÉΓòÉ
  5545.  
  5546. The shared storage window for a co-processor adapter must be located on an 8KB 
  5547. boundary where no other memory or adapters exist. The addresses where the 
  5548. window can be located are in the adapter space lower than 1MB (physical address 
  5549. X'C0000' to X'DFFFF') or in the area higher than the system unit memory. Once 
  5550. the address has been decided, it should be converted to megabyte and page 
  5551. values in the parameter file record. 
  5552.  
  5553. To convert a shared storage location to a megabyte and page value for the 
  5554. parameter file, first calculate the physical address of the window location. If 
  5555. the shared storage window is to be located at segment X'C000' in the adapter 
  5556. space, the physical address would be X'C0000'. The high digit is the megabyte 
  5557. value.  In the case of physical address X'C0000', the megabyte value would 
  5558. be 0. Divide the bottom five digits of the physical address by X'2000' to get 
  5559. the page value. In the case of physical address X'C0000', the page value would 
  5560. be X'60'. 
  5561.  
  5562. In another example, if there are 3MB of system unit memory, the shared storage 
  5563. window may be located at 4MB. This would yield a physical address of 
  5564. X'400000'. The megabyte value would be 4, and the page value would be 0. 
  5565.  
  5566.  
  5567. ΓòÉΓòÉΓòÉ 9.3. Using a Personal System/2 Workstation ΓòÉΓòÉΓòÉ
  5568.  
  5569. The co-processor adapter uses programmable option select (POS) for 
  5570. configuration.  The configuration information for the co-processor adapter is 
  5571. contained in the file @EFF0.ADF, which is provided on an option diskette with 
  5572. the co-processor adapter. @EFFO.ADF is used for Multiport/2 and X.25/2, and 
  5573. @8F70.ADF is used for Portmaster. This file must be copied to the Reference 
  5574. Diskette for your IBM Personal System/2* (PS/2*) workstation so that it can be 
  5575. used during system configuration.  The megabyte and page values are set in this 
  5576. configuration and override the values set in the parameter file. Refer to the 
  5577. operations guide provided with the ARTIC card. 
  5578.  
  5579.  
  5580. ΓòÉΓòÉΓòÉ 9.4. Developing Tasks ΓòÉΓòÉΓòÉ
  5581.  
  5582. Co-processor adapter tasks can be developed under DOS or the base operating 
  5583. system. These tasks can be developed with either the DOS Macro Assembler, the 
  5584. OS/2 Macro Assembler program or the Microsoft C Compiler Version 6.0 together 
  5585. with the ARTIC C Language support with the following restrictions: 
  5586.  
  5587.  o In the base operating system, the IBM OS/2 Macro Assembler program can be 
  5588.    used only to develop old .EXE format tasks.  Tasks cannot be developed with 
  5589.    the .COM format because the EXE2BIN utility is not shipped with the base 
  5590.    operating system. 
  5591.  
  5592.  o The DOS Macro Assembler and OS/2 Macro Assembler programs order segments 
  5593.    differently.  The DOS Macro Assembler program orders segments alphabetically 
  5594.    by default; the OS/2 Macro Assembler program orders segments in order of 
  5595.    appearance by default. Either of these defaults can be overridden with a 
  5596.    command line parameter. The /A parameter tells the assembler to order 
  5597.    segments alphabetically; the /S parameter tells the assembler to order 
  5598.    segments by order of appearance. 
  5599.  
  5600.  o Tasks that were developed to interface with DOS programs also interface with 
  5601.    OS/2 programs if they communicate synchronously; that is, the task does not 
  5602.    interrupt the personal computer a second time until it receives an 
  5603.    acknowledgment to the first interrupt.  See Tasks and System Unit 
  5604.    Applications that follows. 
  5605.  
  5606.  Refer to the following books for more specific information on task 
  5607.  development: 
  5608.  
  5609.  o Realtime Interface Co-Processor Technical Reference 
  5610.  
  5611.  o IBM Realtime Interface Co-Processor Firmware Technical Reference 
  5612.  
  5613.  
  5614. ΓòÉΓòÉΓòÉ 9.5. Tasks and System Unit Applications ΓòÉΓòÉΓòÉ
  5615.  
  5616. This section describes guidelines to follow for communication between system 
  5617. unit applications and co-processor adapter tasks. System unit applications 
  5618. issue commands to tasks with the IssueCommand generic IOCtl call. These dynamic 
  5619. link libraries perform the same function; they copy parameter bytes to the task 
  5620. output buffer and write a command code to the command code field in the task 
  5621. buffer control block. The task responds to the command by placing the return 
  5622. parameters in its input buffer and then interrupting the system unit. A system 
  5623. unit application can request to be notified of interrupts from a certain task 
  5624. by registering a system semaphore with the device driver. This is done with the 
  5625. RegisterSemaphore generic IOCtl call. 
  5626.  
  5627. If two successive interrupts are issued to the system unit from the same task, 
  5628. the system unit interrupt applications may miss the second interrupt. The OS/2 
  5629. operating system semaphores do not keep a counter; instead, they have one of 
  5630. two states:  set or cleared. Thus, there must be a signal from the system unit 
  5631. application indicating that it has received the first interrupt before the task 
  5632. interrupts again. This could take the form of a command to the task. 
  5633.  
  5634. This application issues a command to the RCM on co-processor adapter 0 to query 
  5635. the amount of free memory. Other applications must follow the same steps when 
  5636. communicating with a co-processor adapter task. To issue a command to a task: 
  5637.  
  5638.   1. Open the device driver with the DosOpen OS/2 call. 
  5639.  
  5640.   2. Create a system semaphore with the DosCreateSem OS/2 call. If the 
  5641.      semaphore already exists, it can be opened with the DosOpenSem OS/2 call. 
  5642.  
  5643.   3. Set the system semaphore with the DosSemSet OS/2 call because semaphores 
  5644.      are in the cleared state when they are created. 
  5645.  
  5646.   4. Register the semaphore with the device driver with the ICADevRegSemaphore 
  5647.      dynamic link library. 
  5648.  
  5649.   5. Issue the command to the task with the ICADevIssueCommand dynamic link 
  5650.      library. 
  5651.  
  5652.   6. Wait for the semaphore with the DosSemWait OS/2 call for a response from 
  5653.      the task. 
  5654.  
  5655.   7. Read the return parameters with the ICADevGetInBuf dynamic link library. 
  5656.  
  5657.  When the system unit application is finished communicating with the task, 
  5658.  release the semaphore and device driver handle with the following steps: 
  5659.  
  5660.   1. Remove the system semaphore from the device driver with the 
  5661.      ICADevRemSemaphore dynamic link library. 
  5662.  
  5663.   2. Release the system semaphore with the DosCloseSem OS/2 call. 
  5664.  
  5665.   3. Close the device driver with the DosClose OS/2 call. 
  5666.  
  5667.  
  5668. ΓòÉΓòÉΓòÉ 10. Parameter File ΓòÉΓòÉΓòÉ
  5669.  
  5670. The parameter file (ICAPARM.PRM) tells the device driver how to initialize the 
  5671. installed co-processor adapters and is optional for the co-processor adapter. 
  5672. If you are using X.25 support of the Communications Manager program, you should 
  5673. not define this file. X.25 support assumes the default configuration described 
  5674. later in this appendix. The following rules should be observed when defining 
  5675. the parameter file: 
  5676.  
  5677.  o The parameter file must be defined and created before the device driver is 
  5678.    installed.  It is not required for the co-processor adapter or the X.25 
  5679.    Interface Co-Processor adapter.  See Default Configuration for more 
  5680.    information. 
  5681.  
  5682.  o The parameter file should be created with a text editor as an ASCII file. 
  5683.  
  5684.  o The parameter file should contain one record for each co-processor adapter 
  5685.    installed in the system.  Multiple co-processor adapters can be installed in 
  5686.    a system unit. The logical co-processor adapter number is determined by the 
  5687.    record position of the record in this file starting at 0. 
  5688.  
  5689.  o Each line must start with a number sign (#). 
  5690.  
  5691.  o The last line must end with a dollar sign ($), which indicates to the device 
  5692.    driver that this is the last record.  All other lines should end with a 
  5693.    semicolon (;). 
  5694.  
  5695.  o Spaces or commas can be used to separate the entries on each line. 
  5696.  
  5697.  o All numbers are hexadecimal. 
  5698.  
  5699.  Parameter File Format shows the format of a record for a co-processor adapter 
  5700.  in the parameter file: 
  5701.  
  5702.   -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5703.   Γöé      Parameter File Format                        Γöé
  5704.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5705.   Γöé FIELD    Γöé FIELD NAME        Γöé FIELD SIZE Γöé VALUE/RANGE       Γöé
  5706.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5707.   Γöé NA     Γöé Beginning record delim-  Γöé -      Γöé #            Γöé
  5708.   Γöé       Γöé iter           Γöé       Γöé             Γöé
  5709.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5710.   Γöé 1      Γöé Co-processor adapter   Γöé Word    Γöé X'02A0' - X'3EA0'    Γöé
  5711.   Γöé       Γöé base I/O address     Γöé       Γöé             Γöé
  5712.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5713.   Γöé 2      Γöé Megabyte value      Γöé Byte    Γöé X'00' - X'0F'      Γöé
  5714.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5715.   Γöé 3      Γöé Page value        Γöé Byte    Γöé X'00' - X'7F'      Γöé
  5716.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5717.   Γöé 4      Γöé MAXTASK          Γöé Byte    Γöé X'00' - X'FD'      Γöé
  5718.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5719.   Γöé 5      Γöé MAXPRI          Γöé Byte    Γöé X'01'- X'FF'       Γöé
  5720.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5721.   Γöé 6      Γöé MAXQUEUE         Γöé Byte    Γöé X'00' - X'FE'      Γöé
  5722.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5723.   Γöé 7      Γöé MAXTIME          Γöé Byte    Γöé X'00' - X'FE'      Γöé
  5724.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5725.   Γöé 8      Γöé Compare degate 2     Γöé Byte    Γöé X'00' - X'FF'      Γöé
  5726.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5727.   Γöé 9      Γöé Compare degate 0 and 1  Γöé Word    Γöé X'0000' - X'FFFF'    Γöé
  5728.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5729.   Γöé NA     Γöé Ending record delimiter  Γöé -      Γöé If last co-processor   Γöé
  5730.   Γöé       Γöé              Γöé       Γöé adapter, $, else ;    Γöé
  5731.   ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5732.  
  5733.  
  5734. ΓòÉΓòÉΓòÉ 10.1. Definitions for the Parameter Fields ΓòÉΓòÉΓòÉ
  5735.  
  5736. This section defines each of the parameter fields of the ICAPARM.PRM file. 
  5737.  
  5738.  
  5739. ΓòÉΓòÉΓòÉ 10.1.1. Beginning Record Delimiter ΓòÉΓòÉΓòÉ
  5740.  
  5741. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5742. Γöé Length       Γöé One character                       Γöé
  5743. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5744. Γöé Range       Γöé #                             Γöé
  5745. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5746. Γöé Description    Γöé The first character of each record must be a #.    Γöé
  5747. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5748.  
  5749.  
  5750. ΓòÉΓòÉΓòÉ 10.1.2. Co-Processor Adapter Base I/O Address ΓòÉΓòÉΓòÉ
  5751.  
  5752. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5753. Γöé Length       Γöé Word                           Γöé
  5754. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5755. Γöé Range       Γöé X'02A0'  Co-Processor Adapter  0             Γöé
  5756. Γöé          Γöé X'06A0'  Co-Processor Adapter  1             Γöé
  5757. Γöé          Γöé X'0AA0'  Co-Processor Adapter  2             Γöé
  5758. Γöé          Γöé X'0EA0'  Co-Processor Adapter  3             Γöé
  5759. Γöé          Γöé X'12A0'  Co-Processor Adapter  4             Γöé
  5760. Γöé          Γöé X'16A0'  Co-Processor Adapter  5             Γöé
  5761. Γöé          Γöé X'1AA0'  Co-Processor Adapter  6             Γöé
  5762. Γöé          Γöé X'1EA0'  Co-Processor Adapter  7             Γöé
  5763. Γöé          Γöé X'22A0'  Co-Processor Adapter  8             Γöé
  5764. Γöé          Γöé X'26A0'  Co-Processor Adapter  9             Γöé
  5765. Γöé          Γöé X'2AA0'  Co-Processor Adapter 10             Γöé
  5766. Γöé          Γöé X'2EA0'  Co-Processor Adapter 11             Γöé
  5767. Γöé          Γöé X'32A0'  Co-Processor Adapter 12             Γöé
  5768. Γöé          Γöé X'36A0'  Co-Processor Adapter 13             Γöé
  5769. Γöé          Γöé X'3AA0'  Co-Processor Adapter 14             Γöé
  5770. Γöé          Γöé X'3EA0'  Co-Processor Adapter 15             Γöé
  5771. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5772. Γöé Description    Γöé This value should match the value set with the reference Γöé
  5773. Γöé          Γöé diskette for your PS/2 workstation; refer to the co-   Γöé
  5774. Γöé          Γöé processor's operations manual for more information.    Γöé
  5775. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5776.  
  5777.  
  5778. ΓòÉΓòÉΓòÉ 10.1.3. Megabyte Value ΓòÉΓòÉΓòÉ
  5779.  
  5780. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5781. Γöé Length       Γöé Byte                           Γöé
  5782. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5783. Γöé Range       Γöé X'00' - X'0F'                       Γöé
  5784. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5785. Γöé Description    Γöé The megabyte value indicates which megabyte of system   Γöé
  5786. Γöé          Γöé unit storage will be used for the window of the co-    Γöé
  5787. Γöé          Γöé processor adapter.  A megabyte value of 0 indicates the  Γöé
  5788. Γöé          Γöé window will be located in the first megabyte of system  Γöé
  5789. Γöé          Γöé unit storage.  A value of 1 indicates the window will be Γöé
  5790. Γöé          Γöé located in the second megabyte of system unit storage.  Γöé
  5791. Γöé          Γöé See the following page value description for information Γöé
  5792. Γöé          Γöé on the placement of the window.  On the co-processor   Γöé
  5793. Γöé          Γöé adapter, this value should match the value set with the  Γöé
  5794. Γöé          Γöé reference diskette for your PS/2 workstation.       Γöé
  5795. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5796.  
  5797.  
  5798. ΓòÉΓòÉΓòÉ 10.1.4. Page Value ΓòÉΓòÉΓòÉ
  5799.  
  5800. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5801. Γöé Length       Γöé Byte                           Γöé
  5802. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5803. Γöé Range       Γöé X'00' - X'7F'                       Γöé
  5804. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5805. Γöé Description    Γöé The page value is an offset (in increments of 8KB)    Γöé
  5806. Γöé          Γöé within the megabyte specified by the megabyte value.   Γöé
  5807. Γöé          Γöé This value indicates the location of the co-processor   Γöé
  5808. Γöé          Γöé adapter shared storage window within the specified mega- Γöé
  5809. Γöé          Γöé byte.  A page value of 0 indicates the window is located Γöé
  5810. Γöé          Γöé at the beginning of the megabyte specified by the mega-  Γöé
  5811. Γöé          Γöé byte value.  Special care must be taken in assigning the Γöé
  5812. Γöé          Γöé location of the co-processor adapter shared storage    Γöé
  5813. Γöé          Γöé window.  The window should not overlap the window of   Γöé
  5814. Γöé          Γöé another co-processor adapter.  In addition, regions    Γöé
  5815. Γöé          Γöé are 128KB wide and are defined by the type of memory   Γöé
  5816. Γöé          Γöé devices that reside in those regions.  If a co-processor Γöé
  5817. Γöé          Γöé adapter is configured as an 8-bit device, it cannot    Γöé
  5818. Γöé          Γöé reside in the same 128KB region as a 16-bit device.    Γöé
  5819. Γöé          Γöé Conversely, if a co-processor adapter is configured as a Γöé
  5820. Γöé          Γöé 16-bit device, it cannot reside in the same 128KB region Γöé
  5821. Γöé          Γöé as an 8-bit device.                    Γöé
  5822. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5823.  
  5824.  
  5825. ΓòÉΓòÉΓòÉ 10.1.5. MAXTASK ΓòÉΓòÉΓòÉ
  5826.  
  5827. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5828. Γöé Length       Γöé Byte                           Γöé
  5829. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5830. Γöé Range       Γöé X'00' - X'FD'                       Γöé
  5831. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5832. Γöé Description    Γöé This is the largest number of tasks that can be loaded  Γöé
  5833. Γöé          Γöé on a given co-processor adapter.  Task 0 is reserved for Γöé
  5834. Γöé          Γöé the RCM.  You should determine the most efficient number Γöé
  5835. Γöé          Γöé of tasks for the given co-processor adapter to avoid   Γöé
  5836. Γöé          Γöé reserving unnecessary space in the RCM data area.     Γöé
  5837. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5838.  
  5839.  
  5840. ΓòÉΓòÉΓòÉ 10.1.6. MAXPRI ΓòÉΓòÉΓòÉ
  5841.  
  5842. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5843. Γöé Length       Γöé Byte                           Γöé
  5844. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5845. Γöé Range       Γöé X'01'- X'FF'                       Γöé
  5846. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5847. Γöé Description    Γöé This is the highest priority level that can be assigned  Γöé
  5848. Γöé          Γöé to a task loaded on this co-processor adapter.  This   Γöé
  5849. Γöé          Γöé value should be selected carefully to avoid reserving   Γöé
  5850. Γöé          Γöé unnecessary space in the RCM internal priority queue   Γöé
  5851. Γöé          Γöé tables.                          Γöé
  5852. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5853.  
  5854.  
  5855. ΓòÉΓòÉΓòÉ 10.1.7. MAXQUEUE ΓòÉΓòÉΓòÉ
  5856.  
  5857. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5858. Γöé Length       Γöé Byte                           Γöé
  5859. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5860. Γöé Range       Γöé X'00' - X'FE'                       Γöé
  5861. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5862. Γöé Description    Γöé This is the largest number of user queues that will be  Γöé
  5863. Γöé          Γöé available for application tasks executing on the given  Γöé
  5864. Γöé          Γöé co-processor adapter.                   Γöé
  5865. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5866.  
  5867.  
  5868. ΓòÉΓòÉΓòÉ 10.1.8. MAXTIME ΓòÉΓòÉΓòÉ
  5869.  
  5870. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5871. Γöé Length       Γöé Byte                           Γöé
  5872. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5873. Γöé Range       Γöé X'00' - X'FE'                       Γöé
  5874. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5875. Γöé Description    Γöé This is the largest number of timer blocks reserved for  Γöé
  5876. Γöé          Γöé application tasks executing on the given co-processor   Γöé
  5877. Γöé          Γöé adapter.                         Γöé
  5878. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5879.  
  5880.  
  5881. ΓòÉΓòÉΓòÉ 10.1.9. Compare Degate 2 ΓòÉΓòÉΓòÉ
  5882.  
  5883. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5884. Γöé Length       Γöé Byte                           Γöé
  5885. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5886. Γöé Range       Γöé X'00' - X'FF'                       Γöé
  5887. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5888. Γöé Description    Γöé When this address, in conjunction with the address in   Γöé
  5889. Γöé          Γöé the compare degate 0 and 1 field, is accessed by the   Γöé
  5890. Γöé          Γöé system unit, the co-processor adapter shared storage   Γöé
  5891. Γöé          Γöé window will be automatically degated from the system   Γöé
  5892. Γöé          Γöé unit memory bus.  If the system unit supports only 1MB  Γöé
  5893. Γöé          Γöé of memory, this parameter is limited to the range X'00'  Γöé
  5894. Γöé          Γöé to X'0F'.  The full range of X'00' to X'FF' is valid   Γöé
  5895. Γöé          Γöé only in a system designed for 16MB of memory.  This    Γöé
  5896. Γöé          Γöé field should have a value of 0 to disable this feature.  Γöé
  5897. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5898.  
  5899.  
  5900. ΓòÉΓòÉΓòÉ 10.1.10. Compare Degate 0 and 1 ΓòÉΓòÉΓòÉ
  5901.  
  5902. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5903. Γöé Length       Γöé Word                           Γöé
  5904. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5905. Γöé Range       Γöé X'0000' - X'FFFF'                     Γöé
  5906. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5907. Γöé Description    Γöé When this address, in conjunction with the address in   Γöé
  5908. Γöé          Γöé the compare degate 2 field, is accessed by the system   Γöé
  5909. Γöé          Γöé unit, the co-processor adapter automatically degates its Γöé
  5910. Γöé          Γöé shared storage window from the system unit memory bus   Γöé
  5911. Γöé          Γöé (see the preceding section, Compare Degate 2  ).  This  Γöé
  5912. Γöé          Γöé field should have a value of 0 to disable this feature.  Γöé
  5913. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5914.  
  5915.  
  5916. ΓòÉΓòÉΓòÉ 10.1.11. Ending Record Delimiter ΓòÉΓòÉΓòÉ
  5917.  
  5918. -ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ+
  5919. Γöé Length       Γöé One character                       Γöé
  5920. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5921. Γöé Range       Γöé ; or $                          Γöé
  5922. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5923. Γöé Description    Γöé The last character in the definition record for a co-   Γöé
  5924. Γöé          Γöé processor adapter should be a semicolon (;) unless this  Γöé
  5925. Γöé          Γöé is the last record in the file.  In this case, the last  Γöé
  5926. Γöé          Γöé character should be a dollar sign ($).  If a system does Γöé
  5927. Γöé          Γöé not have the $ character, use X'24'.           Γöé
  5928. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5929.  
  5930.  
  5931. ΓòÉΓòÉΓòÉ 10.2. More Information about the Parameter File ΓòÉΓòÉΓòÉ
  5932.  
  5933. Parameter File Example for a System Unit with Two Co-Processor Adapters 
  5934. Installed shows the parameter file for a system unit with two co-processor 
  5935. adapters installed. 
  5936.  
  5937. Parameter File Example for a System Unit with Two Co-Processor Adapters Installed
  5938.  
  5939. In the preceding example, the megabyte value of 0 and the page value of X'6C' 
  5940. in the first line indicate that the co-processor adapter shared storage window 
  5941. will be located at physical address X'D8000'. The megabyte value of 0 and the 
  5942. page value of X'6D' in the second line indicate that the co-processor adapter 
  5943. shared storage window will be located at physical address X'DA000'. The compare 
  5944. degate values of X'0F' and X'E010' indicate that the co-processor adapters will 
  5945. not be reset if physical address X'FE010' is accessed on the system unit. 
  5946. Physical address X'FE010' is an address in read-only memory (ROM) that is 
  5947. accessed during system restart. X'FE010' may have no significance in the OS/2 
  5948. operating system if it uses a different address for system restart. If the OS/2 
  5949. operating system uses a different vector, the compare degate values should be 
  5950. set to reference the beginning of a ROM area, since the OS/2 operating system 
  5951. scans the beginning of the ROM areas when it restarts. 
  5952.  
  5953. Part of the configuration of the co-processor adapter is done by the 
  5954. Programmable Option Select (POS), which is part of the PS/2* architecture.  POS 
  5955. replaces jumpers and switches used for initializing hardware adapters.  The 
  5956. megabyte and page fields are initialized by POS and override the values entered 
  5957. in the parameter file. Refer to the co-processor's operations manual or any of 
  5958. the following books for more information on POS: 
  5959.  
  5960.  o Realtime Interface Co-Processor Technical Reference 
  5961.  
  5962.  o IBM X.25 Interface Co-Processor:  Technical Reference 
  5963.  
  5964.  o IBM Realtime Interface Co-Processor Portmaster Technical Reference 
  5965.  
  5966.  
  5967. ΓòÉΓòÉΓòÉ 10.3. Default Configuration ΓòÉΓòÉΓòÉ
  5968.  
  5969. If no ICAPARM.PRM file is used, the device driver will initialize the 
  5970. co-processor adapter to the following default values: 
  5971.  
  5972.  I/O Base Address This value will be read from the card POS registers. 
  5973.  
  5974.  Window Location  These values (megabyte and page) will be read from the card 
  5975.                   POS registers. They should be set with the system unit 
  5976.                   reference diskette. 
  5977.  
  5978.  MAXTASK          Set to default value of X'10'. 
  5979.  
  5980.  MAXPRI           Set to default value of X'10'. 
  5981.  
  5982.  MAXQUEUE         Set to default value of X'50'. 
  5983.  
  5984.  MAXTIME          Set to default value of X'32'. 
  5985.  
  5986.  CAD Address      Set to a default value of 0, so that this feature is 
  5987.                   disabled. Adapter storage will not degate after a reset (by 
  5988.                   software or pressing a key combination) of the system unit. 
  5989.  If a parameter file is defined, the device driver will first process the 
  5990.  co-processor adapters listed in the parameter file. It will then search for 
  5991.  any other co-processor adapter installed in the system unit. These 
  5992.  co-processor adapters are configured to the default values listed in the 
  5993.  preceding list. They are assigned logical card numbers following the numbers 
  5994.  of the cards defined in the parameter file. 
  5995.  
  5996.  
  5997. ΓòÉΓòÉΓòÉ 11. The Ignore Feature ΓòÉΓòÉΓòÉ
  5998.  
  5999. The OS/2 Support device driver incorporates a feature that provides the 
  6000. capability to ignore certain Realtime Interface Co-Processor (ARTIC) cards. 
  6001.  
  6002. To use the ignore feature, add the following information to the CONFIG.SYS file 
  6003. after the ICARICIO.SYS and ICAPARM.PRM entries: 
  6004.  
  6005.  o Either an uppercase or lowercase "i" 
  6006.  o A left parenthesis "(" 
  6007.  o The physical card number (in hexadecimal) of the card you want to ignore 
  6008.  o A right parenthesis ")" 
  6009.  
  6010.  Note:  The co-processor adapter card at Base I/O address 2A0 has a physical 
  6011.  card number of 0. See Co-Processor Adapter Base I/O Address for a list of the 
  6012.  physical card numbers. 
  6013.  
  6014.  If you want to ignore more than one co-processor adapter card, separate the 
  6015.  physical card numbers by either commas or spaces. 
  6016.  
  6017.  For example, to ignore physical cards 0 and 2, but not 1, type the following: 
  6018.  
  6019.   device=c:\artic\icaricio.sys c:\artic\icaparm.prm I(0,2)
  6020.  
  6021.  To ignore physical cards 4 and B: 
  6022.  
  6023.   device=c:\artic\icaricio.sys c:\artic\icaparm.prm I(4,B)
  6024.  
  6025.  Because the ignore feature distinguishes the co-processor adapter cards by 
  6026.  physical card numbers, and the co-processor adapter cards cannot be physically 
  6027.  numbered higher than F, the only valid entries for the ignore feature are 0 
  6028.  through 9 and A through F (uppercase or lowercase).  Any other entries passed 
  6029.  to the ARTIC OS/2 Support device driver (ICARICIO.SYS) will be flagged as 
  6030.  errors and not used. 
  6031.  
  6032.  Note:  A co-processor adapter card that appears in the ICAPARM.PRM (parameter) 
  6033.  file will not be ignored.  Therefore, if the card you want to ignore appears 
  6034.  in your ICAPARM.PRM file, the card's entry must be removed from that file.