home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / smp4uptk.zip / TOOLKIT / BOOK / SMP.INF (.txt)
OS/2 Help File  |  1997-03-12  |  984KB  |  24,501 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. How to Use the SMP Programming Addendum ΓòÉΓòÉΓòÉ
  3.  
  4. The SMP Programming Addendum is a detailed technical guide and reference for 
  5. application programmers who which to exploit the symmetric multiprocessor 
  6. support in the OS/2 operating system. It gives reference information and code 
  7. examples to enable you to write source code using OS/2 functions and tools. 
  8.  
  9. Before you begin to use this information, it would be helpful to understand how 
  10. you can: 
  11.  
  12.      Expand the Contents to see all available topics 
  13.      Obtain additional information for a highlighted word or phrase 
  14.      Use action bar choices 
  15.      Use the programming information. 
  16.  
  17.  How to Use the Contents 
  18.  
  19.  When the Contents window first appears, some topics have a plus (+) sign 
  20.  beside them. The plus sign indicates that additional topics are available. 
  21.  
  22.  To expand the Contents if you are using a mouse, click on the plus sign. If 
  23.  you are using the keyboard, use the Up or Down Arrow key to highlight the 
  24.  topic, and press the plus (+) key. For example, File System has a plus sign 
  25.  beside it. To see additional topics for that heading, click on the plus sign 
  26.  or highlight that topic and press the plus (+) key. 
  27.  
  28.  To view a topic, double-click on the topic (or press the Up or Down Arrow key 
  29.  to highlight the topic, and then press the Enter key). 
  30.  
  31.  How to Obtain Additional Information 
  32.  
  33.  After you select a topic, the information for that topic appears in a window. 
  34.  Highlighted words or phrases indicate that additional information is 
  35.  available. You will notice that certain words and phrases are highlighted in 
  36.  green letters, or in white letters on a black background. These are called 
  37.  hypertext terms. If you are using a mouse, double-click on the highlighted 
  38.  word. If you are using a keyboard, press the Tab key to move to the 
  39.  highlighted word, and then press the Enter key. Additional information then 
  40.  appears in a window. 
  41.  
  42.  How to Use Action Bar Choices 
  43.  
  44.  Several choices are available for managing information presented in the OS/2 
  45.  operating system SMP Programming Addendum. There are three pull-down menus on 
  46.  the action bar:  the Services menu, the Options menu, and the Help menu. 
  47.  
  48.  The actions that are selectable from the Services menu operate on the active 
  49.  window currently displayed on the screen. These actions include the following: 
  50.  
  51.  Bookmark 
  52.     Allows you to set a placeholder so you can retrieve information of interest 
  53.     to you. 
  54.  
  55.     When you place a bookmark on a topic, it is added to a list of bookmarks 
  56.     you have previously set. You can view the list, and you can remove one or 
  57.     all bookmarks from the list. If you have not set any bookmarks, the list is 
  58.     empty. 
  59.  
  60.     To set a bookmark, do the following: 
  61.  
  62.       1. Select a topic from the Contents. 
  63.  
  64.       2. When that topic appears, choose the Bookmark option from the Services 
  65.          pull-down. 
  66.  
  67.       3. If you want to change the name used for the bookmark, type the new 
  68.          name in the field. 
  69.  
  70.       4. Click on the Place radio button (or press the Up or Down Arrow key to 
  71.          select it). 
  72.  
  73.       5. Click on OK (or select it and press Enter). The bookmark is then added 
  74.          to the bookmark list. 
  75.  
  76.  Search 
  77.     Allows you to find occurrences of a word or phrase in the current topic, 
  78.     selected topics, or all topics. 
  79.  
  80.     You can specify a word or phrase to be searched. You can also limit the 
  81.     search to a set of topics by first marking the topics in the Contents list. 
  82.  
  83.     To search for a word or phrase in all topics, do the following: 
  84.  
  85.       1. Choose the Search option from the Services pull-down. 
  86.  
  87.       2. Type the word or words to be searched for. 
  88.  
  89.       3. Click on All sections (or press the Up or Down Arrow keys to select 
  90.          it). 
  91.  
  92.       4. Click on Search (or select it and press Enter) to begin the search. 
  93.  
  94.       5. The list of topics where the word or phrase appears is displayed. 
  95.  
  96.  Print 
  97.     Allows you to print one or more topics. You can also print a set of topics 
  98.     by first marking the topics in the Contents list. 
  99.  
  100.     To print the document Contents list, do the following: 
  101.  
  102.       1. Choose Print from the Services pull-down. 
  103.  
  104.       2. Click on Contents (or press the Up or Down Arrow key to select it). 
  105.  
  106.       3. Click on Print (or select it and press Enter). 
  107.  
  108.       4. The Contents list is printed on your printer. 
  109.  
  110.  Copy 
  111.     Allows you to copy a topic that you are viewing to the System Clipboard or 
  112.     to a file that you can edit. You will find this particularly useful for 
  113.     copying syntax definitions and program samples into the application that 
  114.     you are developing. 
  115.  
  116.     You can copy a topic that you are viewing in two ways: 
  117.  
  118.         Copy copies the topic that you are viewing into the System Clipboard. 
  119.          If you are using a Presentation Manager (PM) editor (for example, the 
  120.          System Editor) that copies or cuts (or both) to the System Clipboard, 
  121.          and pastes to the System Clipboard, you can easily add the copied 
  122.          information to your program source module. 
  123.  
  124.         Copy to file copies the topic that you are viewing into a temporary 
  125.          file named TEXT.TMP. You can later edit that file by using any editor. 
  126.          You will find TEXT.TMP in the directory where your viewable document 
  127.          resides. 
  128.  
  129.          To copy a topic, do the following: 
  130.  
  131.            1. Expand the Contents list and select a topic. 
  132.  
  133.            2. When the topic appears, choose Copy to file from the Services 
  134.               pull-down. 
  135.  
  136.            3. The system puts the text pertaining to that topic into the 
  137.               temporary file named TEXT.TMP. 
  138.  
  139.     For information on one of the other choices in the Services pull-down, 
  140.     highlight the choice and press the F1 key. 
  141.  
  142.  The actions that are selectable from the Options menu allow you to change the 
  143.  way your Contents list is displayed. To expand the Contents and show all 
  144.  levels for all topics, choose Expand all from the Options pull-down. You can 
  145.  also press the Ctrl and * keys together. For information on one of the other 
  146.  choices in the Options pull-down, highlight the choice and press the F1 key. 
  147.  
  148.  The actions that are selectable from the Help menu allow you to select 
  149.  different types of help information. You can also press the F1 key for help 
  150.  information about the Information Presentation Facility (IPF). 
  151.  
  152.  How to Use the Programming Information 
  153.  
  154.  The SMP Programming Addendum consists of guide and reference information that 
  155.  provides a detailed description of each system function that has been added or 
  156.  changed to support the symmetric multiprocessing capabilities of OS/2. 
  157.  
  158.  Programming information is presented by component, such as Error Management, 
  159.  Exception Management, and File System, for example: 
  160.  
  161.        ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  162.        Γöé            Contents                     Γöé
  163.        Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  164.        Γöé                                         Γöé
  165.        Γöé  + Error Management                     Γöé
  166.        Γöé  + Exception Management                 Γöé
  167.        Γöé  + File System                          Γöé
  168.        Γöé                                         Γöé
  169.        ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  170.  
  171.  By clicking on the plus sign beside "File System", you see an alphabetic list 
  172.  of the functions for the file system. Selecting a function takes you directly 
  173.  into the reference information for that function. 
  174.  
  175.  Units of reference information are presented in selectable multiple windows or 
  176.  viewports. A viewport is a Presentation Manager window that can be sized, 
  177.  moved, minimized, maximized, or closed. By selecting a unit (in this case, an 
  178.  entry on the Contents list), you will see two windows displayed: 
  179.  
  180.      ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  181.      Γöé Unit Title         Γöé      Selection Title     Γöé
  182.      Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  183.      Γöé Select an item     Γöé                          Γöé
  184.      Γöé                    Γöé                          Γöé
  185.      Γöé Function Syntax    Γöé                          Γöé
  186.      Γöé Parameters         Γöé                          Γöé
  187.      Γöé Return Values      Γöé                          Γöé
  188.      Γöé Notes              Γöé                          Γöé
  189.      Γöé Example            Γöé                          Γöé
  190.      Γöé Related Functions  Γöé                          Γöé
  191.      Γöé Glossary           Γöé                          Γöé
  192.      Γöé                    Γöé                          Γöé
  193.      ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  194.  
  195.  The window on the left is the primary window. It contains a list of items that 
  196.  are always available to you. The window on the right is the secondary window. 
  197.  It contains a 'snapshot' of the unit information. For reference units (that 
  198.  is, function descriptions), this window contains the Function Syntax. 
  199.  
  200.  All of the information needed to understand a reference unit (or topic) is 
  201.  readily available to you through the primary window. The information is 
  202.  divided into discrete information groups, and only the appropriate information 
  203.  group appears for the topic that you are viewing. 
  204.  
  205.  The information groups for a reference unit (that is, a function description) 
  206.  can include the following: 
  207.  
  208.      Function Syntax 
  209.      Parameters 
  210.      Return Values 
  211.      Notes 
  212.      Example 
  213.      Related Functions 
  214.      Glossary 
  215.  
  216.  This list may vary. Some topics may be omitted when they do not apply. 
  217.  
  218.  Information groups are displayed in separate viewports that are stacked in a 
  219.  third window location that overlaps the secondary window. By selecting an item 
  220.  (information group) in the primary window, the item is displayed in the third 
  221.  window location, as follows: 
  222.  
  223.    ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  224.    Γöé Unit Title     Γöé   Selection Γöé   Glossary       Γöé
  225.    Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  226.    Γöé Select an item Γöé             Γöé Select a startingΓöé
  227.    Γöé                Γöé             Γöé letter of        Γöé
  228.    Γöé    .           Γöé             Γöé glossary terms   Γöé
  229.    Γöé    .           Γöé             Γöé                  Γöé
  230.    Γöé    .           Γöé             Γöé A    N           Γöé
  231.    Γöé    .           Γöé             Γöé B    O           Γöé
  232.    Γöé    .           Γöé             Γöé C    P           Γöé
  233.    Γöé Glossary       Γöé             Γöé .    .           Γöé
  234.    Γöé                Γöé             Γöé .    .           Γöé
  235.    Γöé                Γöé             Γöé .    .           Γöé
  236.    Γöé                Γöé             Γöé M    Z           Γöé
  237.    ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  238.  
  239.  By selecting successive items from the primary window, additional windows are 
  240.  displayed on top of the previous windows displayed in the third window 
  241.  location. For example, in a function description, Parameters and Return Values 
  242.  are items listed in the primary window. When selected, they appear one on top 
  243.  of the other in the third window location. Because of this, you may move the 
  244.  first selected (topmost) window to the left before selecting the next item. 
  245.  This allows simultaneous display of two related pieces of information from the 
  246.  "stack" of windows in the third window location, as follows: 
  247.  
  248.    ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  249.    Γöé Unit Title     Γöé  Parameters  Γöé  Return Values  Γöé
  250.    Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  251.    Γöé Select an item Γöé              Γöé                 Γöé
  252.    Γöé    .           Γöé              Γöé                 Γöé
  253.    Γöé    .           Γöé              Γöé                 Γöé
  254.    Γöé    .           Γöé              Γöé                 Γöé
  255.    Γöé Parameters     Γöé              Γöé                 Γöé
  256.    Γöé Return Values  Γöé              Γöé                 Γöé
  257.    Γöé    .           Γöé              Γöé                 Γöé
  258.    Γöé    .           Γöé              Γöé                 Γöé
  259.    Γöé    .           Γöé              Γöé                 Γöé
  260.    Γöé                Γöé              Γöé                 Γöé
  261.    ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  262.  
  263.  Each window can be individually closed from its system menu. All windows are 
  264.  closed when you close the primary window. 
  265.  
  266.  Some secondary windows may have the appearance of a split screen. For example, 
  267.  an illustration may appear in the left half of the window, and scrollable, 
  268.  explanatory information may appear in the right half of the window. Because 
  269.  illustrations may not necessarily fit into the small window size on your 
  270.  screen, you may maximize the secondary window for better readability. 
  271.  
  272.  
  273. ΓòÉΓòÉΓòÉ 2. Introduction to OS/2 Warp Server Version 4 Advanced ΓòÉΓòÉΓòÉ
  274.  
  275. This document provides a guide for developers writing applications and device 
  276. drivers exploiting the symmetrical multiprocessing capabilities of OS/2 Warp 
  277. Server Version 4 Advanced. 
  278.  
  279. The purpose of this reference is to give information about functions, 
  280. constants, and data structures.  It provides information about the functions 
  281. which enable the user to call functions in the C programming language. 
  282.  
  283. OS/2 Warp Server for SMP was developed to satisfy the need to run OS/2 on 
  284. multiprocessor based CISC processors, namely the Intel x86 compatible family. 
  285. The requirements for OS/2 Warp Server for SMP were that it run all existing 
  286. applications, device drivers and subsystems, as well as take advantage of new 
  287. multiprocessor (MP) exploitive applications and device drivers. 
  288.  
  289. The emergence of low-cost MP hardware based on the 486, Pentium, and Pentium 
  290. Pro processors makes OS/2 Warp Server for SMP an attractive desktop operating 
  291. environment. Server and workstation environments using the x86 architecture are 
  292. moving toward the more powerful emerging RISC based chip sets.  These new RISC 
  293. processors lack the full range of programming tools available for the x86 chip 
  294. set. OS/2 Warp Server for SMP attempts to solve the problems of insufficient 
  295. processor bandwidth by supporting multiple x86 processors in a single computer. 
  296.  
  297. To provide increased performance, OS/2 Warp Server for SMP allows applications, 
  298. file system, mass storage and network drivers to execute on any processor at 
  299. any time.  A number of databases and applications have been modified to take 
  300. advantage of the additional features provided by OS/2 Warp Server for SMP. 
  301. DB2/2 and CICS are two databases that IBM has modified to run better under OS/2 
  302. Warp Server for SMP.  These application can benefit greatly from OS/2 Warp 
  303. Server for SMP  because they are CPU-intensive.  Other applications which can 
  304. also benefit from OS/2 Warp Server for SMP are: 
  305.  
  306.      Lotus Notes & cc-Mail 
  307.      NetView Series 
  308.      Novell Netware 
  309.      Scientific Applications 
  310.      Multimedia Applications 
  311.  
  312.  
  313. ΓòÉΓòÉΓòÉ 2.1. What's New Since OS/2 for SMP 2.11 ΓòÉΓòÉΓòÉ
  314.  
  315. OS/2 Warp Server Version 4 Advanced provides: 
  316.  
  317.  High Memory Support 
  318.            Memory management has been enhanced to allow 32-bit applications to 
  319.            allocate and address linear memory objects above the 512MB boundary. 
  320.            This effectively breaks the 512MB memory limit in previous versions 
  321.            of OS/2. 
  322.  
  323.  Raw File System 
  324.            The Raw File System provides the ability to access physical or 
  325.            logical drives using a UNC name.  Since drive access is no longer 
  326.            limited to available drive letters, more than 26 physical and 
  327.            logical drives are now available to 32-bit applications.  This 
  328.            allows access to up to 128 drives without incurring the 
  329.            serialization overhead of the OS/2 file system.  In addition, the 
  330.            raw file system supports physical disks up to 1 TB (terabyte) in 
  331.            size. 
  332.  
  333.  Enhanced File I/O Support 
  334.            With the addition of the DosListIO function, multiple locking, 
  335.            unlocking, seeking, and I/O operations may now be initiated at once. 
  336.            These can be synchronous (ordered) requests or, in the case of the 
  337.            Raw File System, unordered requests. 
  338.  
  339.  MPS 1.4 Compliant Intel I/O APIC Support 
  340.            OS/2 Warp Server for SMP now recognizes multiple MPS 1.4 compliant 
  341.            Intel I/O Advanced Programmable Interrupt Controllers (APICs) in a 
  342.            system.  Multiple I/O APICs increases the number of adapters allowed 
  343.            on the system. 
  344.  
  345.  Software Trace Facility (STRACE) 
  346.            STRACE is a tracing tool available on Pentium-class machines which 
  347.            provides a software-based timing and tracing mechanism. With the 
  348.            addition of the DosPerfSysCall function, software running in ring 3 
  349.            may now record events in the software trace buffer. 
  350.  
  351.  Performance Monitoring 
  352.            OS/2 Warp Server for SMP provides a set of functions which allow 
  353.            application developers an efficient and uniform way to access system 
  354.            performance information and to monitor and change processor status. 
  355.  
  356.  The ICAT Debugger 
  357.            The ICAT debugger is a source-level debugger used for remotely 
  358.            debugging OS/2 device drivers, kernel code, Installable File Systems 
  359.            (IFS), and applications running on an OS/2 Warp Server for SMP 
  360.            machine from another OS/2 system. 
  361.  
  362.  Kernel Debugger 
  363.            The protocols necessary for communicating with the kernel debugger 
  364.            over a serial communications link have been made available for 
  365.            application developers. 
  366.  
  367.  
  368. ΓòÉΓòÉΓòÉ 2.2. Exploiting SMP-Specific Features ΓòÉΓòÉΓòÉ
  369.  
  370. If your program or device driver will be using SMP-specific features of OS/2, 
  371. such as the new DosListIO and DosPerfSysCall functions, you will need to 
  372. dual-path your code so that your program can run on versions of OS/2 that do 
  373. not support the new functions. It is the intent of IBM to provide these 
  374. functions in non-SMP versions of OS/2 in the future. 
  375.  
  376. The recommended way to determine from your program if you are running on an 
  377. version of OS/2 that supports the new DosListIO and DosPerfSysCall 
  378.  
  379.  From a program: 
  380.                      Query the exported entry point for the function using 
  381.                      DosQueryProcAddr. 
  382.  
  383.  From a device driver: 
  384.                      Use the GetDOSVar device helper specifying first an 
  385.                      ordinal value of 18, SMP_ACTIVE.  If SMP is indicated, 
  386.                      ordinal value 17, _cProcessors can be used to determine 
  387.                      the number of processors available. 
  388.  
  389.                      In addition, ordinal 19, PSDInfo.psd_flags, returns usual 
  390.                      informational about a PSD.  Refer to PSDInfo in PSD.H for 
  391.                      details. 
  392.  
  393.  
  394. ΓòÉΓòÉΓòÉ 2.3. Notation Conventions ΓòÉΓòÉΓòÉ
  395.  
  396. The following notation conventions are used in this reference: 
  397.  
  398.  NULL                  The term NULL applied to a parameter is used to indicate 
  399.                        the presence of the pointer parameter, but with no 
  400.                        value. 
  401.  
  402.  NULLHANDLE            The term NULLHANDLE applied to a parameter is used to 
  403.                        indicate the presence of the handle parameter, but with 
  404.                        no value. 
  405.  
  406.  Implicit Pointer      If no entry for a data type "Pxxxxxxx" is found in Data 
  407.                        Types, then it is implicitly a pointer to the data type 
  408.                        "xxxxxxx". See Implicit Pointer Data Types for more 
  409.                        information about implicit pointers. 
  410.  
  411.  Constant Names        All constants are written in uppercase to match the 
  412.                        header files. Where applicable, constant names have a 
  413.                        prefix derived from the name of a function, message, or 
  414.                        idea associated with the constant. For example: 
  415.  
  416.                        WM_CREATE          Window message 
  417.                        SV_CXICON          System value 
  418.                        CF_TEXT            Clipboard format. 
  419.  
  420.                        In this book, references to a complete set of constants 
  421.                        with a given prefix is written as shown in the following 
  422.                        examples: 
  423.  
  424.                        Window message       WM_* 
  425.                        System value         SV_* 
  426.  
  427.  Parameters and Fields Function parameters and data structure fields are shown 
  428.                        in italics. 
  429.  
  430.  
  431. ΓòÉΓòÉΓòÉ 2.4. Conventions Used in Function Descriptions ΓòÉΓòÉΓòÉ
  432.  
  433. This section provides information about the notation conventions and function 
  434. descriptions used in this reference. 
  435.  
  436. The documentation for each function contains the following sections: 
  437.  
  438.  Syntax 
  439.       The function syntax describes the C-language calling syntax of the 
  440.       function and gives a brief description. 
  441.  
  442.       Programming Note 
  443.                         The functions in this book are spelled in mixed-case 
  444.                         for readability but are known to the system as 
  445.                         uppercase character strings. If you are using a 
  446.                         compiler that generates a mixed-case external name, you 
  447.                         should code the functions in uppercase. 
  448.  
  449.  Parameters 
  450.       Each parameter is listed with its C-language data type, parameter type, 
  451.       and a brief description. 
  452.  
  453.           All data types are written in uppercase to match the header files. A 
  454.            data type of "Pxxxxxxx" implicitly defines a pointer to the data 
  455.            type "xxxxxxx". 
  456.  
  457.            The term NULL applied to a parameter indicates the presence of the 
  458.            parameter, with no value. 
  459.  
  460.            Refer to Data Types for a complete list of all data types and their 
  461.            descriptions. 
  462.  
  463.           There are three parameter types: 
  464.  
  465.            Input              Specified by the programmer. 
  466.            Output             Returned by the function. 
  467.            Input/Output       Specified by the programmer and modified by the 
  468.                               function. 
  469.  
  470.           A brief description is provided with each parameter. Where 
  471.            appropriate, restrictions are also included. In some cases, the 
  472.            parameter points to a structure. 
  473.  
  474.  Returns 
  475.       A list of possible return codes or errors (when appropriate) is included 
  476.       in this section. Some functions do not have return codes. Refer to Errors 
  477.       for a complete list of all return codes and their descriptions. 
  478.  
  479.  Remarks 
  480.       This section contains additional information about the function, when 
  481.       required. 
  482.  
  483.  Related Functions 
  484.       This list shows the functions (if any) that are related to the function 
  485.       being described. 
  486.  
  487.  Example Code 
  488.       An example for each function is shown in the C programming language. 
  489.  
  490.  
  491. ΓòÉΓòÉΓòÉ 2.5. Error Severities ΓòÉΓòÉΓòÉ
  492.  
  493. Each of the error conditions given in the list of errors for each function 
  494. falls into one of these areas: 
  495.  
  496.  Warning 
  497.     The function detected a problem, but took some remedial action that enabled 
  498.     the function to complete successfully. The return code in this case 
  499.     indicates that the function completed successfully. 
  500.  
  501.  Error 
  502.     The function detected a problem for which it could not take any sensible 
  503.     remedial action. The system has recovered from the problem, and the state 
  504.     of the system, with respect to the application, remains the same as at the 
  505.     time when the function was requested. The system has not even partially 
  506.     executed the function (other than reporting the error). 
  507.  
  508.  Severe Error 
  509.     The function detected a problem from which the system could not reestablish 
  510.     its state, with respect to the application, at the time when that function 
  511.     was requested; that is, the system partially executed the function. This 
  512.     necessitates the application performing some corrective activity to restore 
  513.     the system to some known state. 
  514.  
  515.  Unrecoverable Error 
  516.     The function detected some problem from which the system could not 
  517.     re-establish its state, with respect to the application, at the time when 
  518.     that call was issued. It is possible that the application cannot perform 
  519.     some corrective action to restore the system to some known state. 
  520.  
  521.  
  522. ΓòÉΓòÉΓòÉ 2.6. Header Files ΓòÉΓòÉΓòÉ
  523.  
  524. All functions require an "#include" statement for the system header file OS2.H: 
  525.  
  526.  
  527. #include  <OS2.H>
  528.  
  529. Most functions also require a "#define" statement to select an appropriate 
  530. (conditional) section of the header file, and hence, the required prototype. 
  531. Where this is necessary, it is shown at the head of the function definition in 
  532. the form: 
  533.  
  534.  
  535. #define   INCL_name
  536.  
  537. Note:  These "#define" statements must precede the "#include <OS2.H>" 
  538.        statement. 
  539.  
  540.  
  541. ΓòÉΓòÉΓòÉ 2.7. Addressing Elements in Arrays ΓòÉΓòÉΓòÉ
  542.  
  543. Constants defining array elements are given values that are zero-based in C; 
  544. that is, the numbering of the array elements starts at zero, not one. 
  545.  
  546. For example, in the DevQueryCaps function, the sixth element of the ulArray 
  547. parameter is CAPS_HEIGHT, which is equated to 5. 
  548.  
  549. Count parameters related to such arrays always mean the actual number of 
  550. elements available; therefore, again using the DevQueryCaps function as an 
  551. example, if all elements up to and including CAPS_HEIGHT are provided for, 
  552. lCount could be set to (CAPS_HEIGHT+1). 
  553.  
  554. In functions for which the starting array element can be specified, this is 
  555. always zero-based, and so the C element number constants can be used directly. 
  556. For example, to start with the CAPS_HEIGHT element, the lStart parameter can be 
  557. set to CAPS_HEIGHT. 
  558.  
  559.  
  560. ΓòÉΓòÉΓòÉ 2.8. Implicit Pointer Data Types ΓòÉΓòÉΓòÉ
  561.  
  562. A data type name beginning with "P" (for example, PERRORCODE) is likely to be a 
  563. pointer to another data type (in this instance, ERRORCODE). 
  564.  
  565. In the data type summary, Data Types, no explicit "typedefs" are shown for 
  566. pointers; therefore, if no data type definition can be found in the summary for 
  567. a data type name "Pxxxxxx", it represents a pointer to the data type "xxxxxx", 
  568. for which a definition should be found in the reference. 
  569.  
  570. The implicit type definition needed for such a pointer "Pxxxxxx" is: 
  571.  
  572.  
  573. typedef xxxxxx *Pxxxxxx;
  574.  
  575. Such definitions are provided in the header files. 
  576.  
  577.  
  578. ΓòÉΓòÉΓòÉ 2.9. Storage Mapping of Data Types ΓòÉΓòÉΓòÉ
  579.  
  580. The storage mapping of the data types is dependent on the machine architecture. 
  581. To be portable, applications must access the data types using the definitions 
  582. supplied for the environment in which they will execute. 
  583.  
  584.  
  585. ΓòÉΓòÉΓòÉ 2.10. Double-Byte Character Set (DBCS) ΓòÉΓòÉΓòÉ
  586.  
  587. Throughout this publication, you will see references to specific value for 
  588. character strings. The values are for single-byte character set (SBCS). If you 
  589. use the double-byte character set (DBCS), note that one DBCS character equals 
  590. two SBCS characters. 
  591.  
  592.  
  593. ΓòÉΓòÉΓòÉ 2.10.1. C++ Considerations ΓòÉΓòÉΓòÉ
  594.  
  595. This section contains several topics you should take into consideration if you 
  596. are using C++. 
  597.  
  598.  
  599. ΓòÉΓòÉΓòÉ 2.10.1.1. C++ Header Files ΓòÉΓòÉΓòÉ
  600.  
  601. OS/2 functions that used to take a PSZ as a parameter, and that do not modify 
  602. the contents of the passed string, have been updated in the C++ header files to 
  603. take a PCSZ data type parameter. The use of PCSZ allows for better optimization 
  604. by the compiler and is more semantically compatible with C++. Existing code 
  605. that calls functions that use PSZ will continue to work correctly. 
  606.  
  607. Several of the typedefs have been changed in the C++ header files. For example, 
  608. many items that are unsigned char in the C header files are char in the C++ 
  609. header files. For instance, 
  610.  
  611.  
  612. typedef unsigned char BYTE;
  613.  
  614. has changed to 
  615.  
  616.  
  617. typedef char BYTE;
  618.  
  619. The existing samples that are included in the IBM Developer's Toolkit for OS/2 
  620. Warp Version 3 can be used with either set of the header files. 
  621.  
  622.  
  623. ΓòÉΓòÉΓòÉ 2.10.1.2. LINK386 ΓòÉΓòÉΓòÉ
  624.  
  625. The C++ compiler will provide a dynamic link library which is used by LINK386 
  626. when generating error messages. This DLL will convert a compiler generated 
  627. mangled name into the function prototype. If the DLL is not present, an error 
  628. message will be displayed and LINK386 will display the compiler-generated, 
  629. mangled name in the error message. 
  630.  
  631.  
  632. ΓòÉΓòÉΓòÉ 3. Platform Specific Drivers (PSDs) ΓòÉΓòÉΓòÉ
  633.  
  634. In OS/2 Warp Server for SMP, all of the platform specific code has been removed 
  635. from the operating system, and placed into a Platform Specific Driver. These 
  636. drivers provide an abstraction layer for the underlying hardware by allowing 
  637. the operating system to call generic functions to perform platform-specific 
  638. operations without worrying about the actual hardware implementation. This 
  639. allows OS/2 Warp Server for SMP to support new MP hardware platforms without 
  640. modifying the operating system. 
  641.  
  642. PSDs are 32-bit flat DLLs specified in CONFIG.SYS by using the PSD= keyword, 
  643. and must conform to the 8.3 file naming convention (e.g. PSD=BELIZE.PSD). They 
  644. cannot contain either drive or path information because OS/2 cannot process 
  645. such information at the stage of the startup sequence when the PSD statements 
  646. are processed. The root directory of the startup partition is first searched 
  647. for the specified file name, followed by the \OS2 directory of the startup 
  648. partition. If drive or path information is included in a PSD statement, an 
  649. error is generated. 
  650.  
  651. PSD parameters may be specified after the PSD's name, and may be a maximum of 
  652. 1024 characters long. The parameter string is not interpreted or parsed by 
  653. OS/2, but is passed verbatim as an ASCIIZ string when the PSD's Install 
  654. function is invoked. 
  655.  
  656. If multiple PSD statements are encountered, OS/2 will load each PSD in the 
  657. order listed in CONFIG.SYS, and call the PSD's install function. The first PSD 
  658. which successfully installs will be the one OS/2 uses. 
  659.  
  660. PSD statements are processed before BASEDEV, IFS, and DEVICE statements. 
  661.  
  662.  
  663. ΓòÉΓòÉΓòÉ 3.1. Platform Specific Driver Architecture and Structure ΓòÉΓòÉΓòÉ
  664.  
  665. The PSD operates in three contexts (modes): Kernel, Interrupt, and Init. 
  666.  
  667.      Kernel Mode 
  668.  
  669.       The OS/2 kernel calls the PSD for task-time operations, that is, it will 
  670.       execute as a thread within a process. Kernel mode is also referred to as 
  671.       the task context. 
  672.  
  673.      Interrupt Mode 
  674.  
  675.       The OS/2 kernel calls the PSD for interrupt-time operations. Interrupt 
  676.       time is a generic term that refers to executing code as a result of a 
  677.       hardware interrupt. The code does not execute as a thread belonging to a 
  678.       process. 
  679.  
  680.      Init Mode 
  681.  
  682.       The PSD is currently being used for system initialization. A limited set 
  683.       of PSD helps are available for use. 
  684.  
  685.  PSDs may contain multiple code and data objects. All objects will be fixed 
  686.  (not-swappable or movable) in low physical memory, with virtual addresses in 
  687.  the system arena. Objects are loaded in low physical memory to facilitate the 
  688.  use of real mode or bi-modal code. All objects default to permanent, which 
  689.  means that they remain in the system after initialization is completed. The 
  690.  SEGMENTS directive and the IOPL option in the linker DEF file should be used 
  691.  to mark those objects that are not to be kept after initialization. 
  692.  
  693.  The multitasking/multiprocessing environment of OS/2 Warp Server for SMP 
  694.  dictates that the PSD must be capable of handling multiple requests 
  695.  simultaneously. This means that global variables should be used sparingly. 
  696.  Upon PSD installation, the kernel passes a pointer to a small area of 
  697.  processor local memory (PLMA) which the PSD developer can use to store 
  698.  variables.  This PLMA area is currently 256 bytes in size.  IBM reserves the 
  699.  right to increase the size of this area in future releases of OS/2, though the 
  700.  minimum available will always be 256 bytes. The size of the PLMA is passed in 
  701.  the same structure as the pointer to the PLMA from the PSDINSTALL export. 
  702.  
  703.  PSD developers must be aware of the effects of the calls they make, because 
  704.  there is no guarantee that if an operation is started on a processor, and 
  705.  execution blocks, that the operation will continue on the same processor. OS/2 
  706.  does not preempt a thread in the PSD, but it may block as a result of using a 
  707.  PSD help, or it may be interrupted by a hardware interrupt. 
  708.  
  709.  PSDs can register an interrupt handler for any given IRQ level using the 
  710.  SET_IRQ PSD help. These interrupt handlers are guaranteed to be called before 
  711.  any device driver's interrupt handler. If the PSD's interrupt handler returns 
  712.  NO_ERROR, the interrupt manager will assume the interrupt has been handled, it 
  713.  will end the interrupt. If a -1 is returned, the interrupt manager will assume 
  714.  that the interrupt has not been handled, and will call each device driver 
  715.  which has a registered interrupt handler for that particular level until one 
  716.  claims the interrupt. If the interrupt is unclaimed, the IRQ level will be 
  717.  masked off. 
  718.  
  719.  All PSDs must use the SET_IRQ PSD help to indicate which IRQ level they will 
  720.  be using for inter-processor interrupts (IPI). If the PSD's IPI IRQ level is 
  721.  shared, it must register a handler which detects if the IRQ is an IPI or 
  722.  another interrupt. The handler must return NO_ERROR if the interrupt was 
  723.  caused by an IPI, otherwise it returns a -1. If the IPI IRQ level is unique, 
  724.  an interrupt handler need not be installed but SET_IRQ must still be used to 
  725.  indicate which is the IPI IRQ level. 
  726.  
  727.  The kernel will save the state of all the registers (except EAX) around calls 
  728.  to the PSD functions. All the functions will run at Ring 0. Upon invocation, 
  729.  SS, DS, and ES will be flat. The PSD functions must conform to the C calling 
  730.  convention. They receive parameters on the stack (4 bytes per parameter), and 
  731.  must return a return code in EAX. 
  732.  
  733.  The PSD functions have been split into three categories: 
  734.  
  735.      Functions that the PSD must have for OS/2 to operate (required functions) 
  736.      Functions that the PSD does not need to have (optional functions) 
  737.      Functions that the PSD must have for OS/2 to use multiple processors (MP 
  738.       functions). 
  739.  
  740.  The kernel provides default handling for some of the PSD functions. PSD 
  741.  functions can also chain to a kernel default handler by returning a -1 return 
  742.  code. If a return code other than -1 is returned by a PSD function, the 
  743.  default handler will not get called. The PSD function glossary later in this 
  744.  chapter details the categories of all the functions, as well as any default 
  745.  handlers they may have. 
  746.  
  747.  The PSD developer makes functions available to OS/2 by using the EXPORTS 
  748.  statement in the module definition (DEF) file. All functions should be 
  749.  exported using upper case with no leading underscores (_). An example is shown 
  750.  below. 
  751.  
  752.  
  753.     LIBRARY TESTPSD
  754.  
  755.     EXPORTS
  756.  
  757.        PSD_INSTALL   = _Install
  758.        PSD_DEINSTALL = _DeInstall
  759.  
  760.  The initial CS and EIP in the PSD's executable image is ignored. The image 
  761.  should also not contain a stack object. OS/2 allocates a per-processor PSD 
  762.  stack and sets SS and ESP correctly before invoking any of the PSD functions. 
  763.  
  764.  PSDs should be written in flat 32-bit code, using C, and must be linked as a 
  765.  LIBRARY. 
  766.  
  767.  OS/2 invokes all PSD functions in protect mode, but there is also a PSD help 
  768.  which allows the PSD developer to call a PSD function in real mode. 
  769.  
  770.  OS/2 services are provided through the PSD help interface. Access to these 
  771.  services are obtained upon PSD installation. PSD helpers preserve all 
  772.  registers except EAX. 
  773.  
  774.  All the definitions (e.g. defines, structures, etc.) that are required for 
  775.  building a PSD are in the header file PSD.H. 
  776.  
  777.  
  778. ΓòÉΓòÉΓòÉ 3.2. OS/2 Initialization ΓòÉΓòÉΓòÉ
  779.  
  780. OS/2 requires a PSD for system initialization. The system will display an error 
  781. message if a valid PSD for the current platform cannot be installed. 
  782.  
  783. The following is a list of steps, in the order in which they occur, that are 
  784. executed after a PSD is installed. If any step does not complete successfully, 
  785. the system initialization process will stop, and a fatal error message will be 
  786. displayed. 
  787.  
  788.    1. After a PSD is successfully installed, its Init function is invoked. This 
  789.       function is used to allocate and initialize any resources that the PSD 
  790.       may require, as well as initializing the state of the hardware. 
  791.  
  792.    2. The kernel determines the number of usable processors on the current 
  793.       platform by using the PSD_GET_NUM_OF_PROCS function. 
  794.  
  795.    3. The kernel allocates all resources required to support the additional 
  796.       processors. This step determines what to allocate based on the results of 
  797.       the previous step. 
  798.  
  799.    4. The PSD's processor initialization function is invoked on the current 
  800.       processor (CPU0). 
  801.  
  802.    5. An MP daemon is created for CPU0. An MP daemon is a thread that never 
  803.       goes away, which is used for MP operations by a specific processor. 
  804.  
  805.    6. An MP daemon is created for the next logical processor. 
  806.  
  807.    7. The PSD's start processor call is invoked to start the next logical 
  808.       processor. The PSD should only start the specified processor, and then 
  809.       return (see the PSD_START_PROC function for more detail). The started 
  810.       processor will spin in a tight loop waiting for a variable to be cleared. 
  811.       This variable is referred to as the processor initialization real mode 
  812.       spinlock. 
  813.  
  814.    8. Upon return from the PSD's start processor call, the processor 
  815.       initialization real mode spinlock is cleared. 
  816.  
  817.    9. CPU0 will spin in a tight loop waiting for a variable to be cleared. This 
  818.       variable is referred to as the CPU0 spinlock. 
  819.  
  820.   10. The started processor continues execution of the kernel's real mode 
  821.       processor initialization code now that processor's initialization real 
  822.       mode spinlock has been cleared. 
  823.  
  824.   11. The started processor sets up all protect mode and paging information, 
  825.       and switches into protect mode with paging enabled. 
  826.  
  827.   12. Up to this point, the started processor has been running on a small 
  828.       processor initialization stack (It has not been running as an OS/2 
  829.       thread). The current context is switched to that of this processors MP 
  830.       daemon. 
  831.  
  832.   13. OS/2 calls the PSD's processor initialization function for the current 
  833.       processor. 
  834.  
  835.   14. The PSD indicates that the processor has been initialized. 
  836.  
  837.   15. The started processor will spin in a tight loop waiting for a variable to 
  838.       be cleared. This variable is referred to as the processor initialization 
  839.       protect mode spinlock. 
  840.  
  841.   16. The CPU0 spinlock is cleared. 
  842.  
  843.   17. System initialization continues on CPU0 now that its spinlock has been 
  844.       cleared. 
  845.  
  846.   18. Steps 6, through 17 are repeated until all processors have been started. 
  847.  
  848.   19. The rest of system initialization continues normally, on CPU0. 
  849.  
  850.   20. After the system is fully initialized, the processor initialization 
  851.       protect mode spinlock is cleared. This allows CPU1 through CPU-N to start 
  852.       executing code. 
  853.  
  854.  
  855. ΓòÉΓòÉΓòÉ 3.3. PSD Function Glossary ΓòÉΓòÉΓòÉ
  856.  
  857. In the functions listed below all pointers must be flat 32-bit linear 
  858. addresses. 
  859.  
  860. The following keywords indicate: 
  861.  
  862.  Required          Indicates that the function is required for OS/2 to operate 
  863.                    properly, so the function can not be omitted. 
  864.  
  865.  Optional          Indicates that the function is not required. 
  866.  
  867.  MP                Indicates that the function is not required for OS/2 to 
  868.                    execute with one processor, but it is required for OS/2 to 
  869.                    use multiple processors. 
  870.  
  871.  Default           Indicates that the OS/2 kernel provides default handling for 
  872.                    that specific function. 
  873.  
  874.  Can Block         Indicates that the function can call a PSD help that may 
  875.                    block. 
  876.  
  877.  Can't Block       Indicates that the function can not call a PSD help that may 
  878.                    block. 
  879.  
  880.  Input             Indicates that the kernel fills the field with input values 
  881.                    before calling the function. 
  882.  
  883.  Output            Indicates that the PSD should return values in the specified 
  884.                    field. 
  885.  
  886.  0-based           Indicates that a zero denotes the first value. 
  887.  
  888.  1-based           Indicates that a one denotes the first value. 
  889.  
  890.  
  891. ΓòÉΓòÉΓòÉ 3.4. PSD Functions ΓòÉΓòÉΓòÉ
  892.  
  893. Following are the PSD functions. 
  894.  
  895.  
  896. ΓòÉΓòÉΓòÉ 3.4.1. PSD_INSTALL ΓòÉΓòÉΓòÉ
  897.  
  898.  PSD_INSTALL keywords 
  899.       Required, Can Block 
  900.  
  901.  Description 
  902.       Determine if the PSD supports the current platform. 
  903.  
  904.       This function probes the hardware to see if the PSD supports the current 
  905.       platform. No other operations should be executed in this function. It is 
  906.       merely a presence check. This function is the first function called upon 
  907.       loading a PSD. It must store away all the information passed to it in the 
  908.       install structure. 
  909.  
  910.  Mode 
  911.       Called in Init Mode; may be called in Kernel Mode. 
  912.  
  913.  Entry 
  914.       Pointer to an INSTALL structure. 
  915.  
  916.  Exit 
  917.  
  918.       NO_ERROR          if the PSD installed successfully. 
  919.       -1                if the PSD does not support the current platform. 
  920.  
  921.  Structures 
  922.  
  923.             typedef struct install_s
  924.             {
  925.                P_F_2   pPSDHlpRouter;  (Input)
  926.                char   *pParmString;    (Input)
  927.                void   *pPSDPLMA;       (Input)
  928.                ulong_t sizePLMA;       (Input)
  929.             } INSTALL;
  930.  
  931.       pPSDHlpRouter            points to the PSD help router. Use the PSDHelp 
  932.                                macro in PSD.H to access the PSD helps. 
  933.  
  934.       pParmString              points to any parameters specified in CONFIG.SYS 
  935.                                after the PSD's name. If no parameters were 
  936.                                specified this field is NULL. 
  937.  
  938.       pPSDPLMA                 points to the PSD's processor local memory area. 
  939.                                This area contains different physical memory at 
  940.                                the same linear address across all processors. 
  941.                                You can use the area to store variables such 
  942.                                that each processor accesses unique values, but 
  943.                                all the code references the same variables. 
  944.  
  945.       sizePLMA                 is the total size of the PSD's PLMA in bytes. 
  946.  
  947.  Notes 
  948.       This function may be called after OS/2 is finished with initialization by 
  949.       the DosTestPSD API; therefore, the PSD developer must be careful not to 
  950.       use any Init mode only PSD help's in this function. 
  951.  
  952.  
  953. ΓòÉΓòÉΓòÉ 3.4.2. PSD_DEINSTALL ΓòÉΓòÉΓòÉ
  954.  
  955.  PSD_DEINSTALL keywords 
  956.       Required, Can Block 
  957.  
  958.  Description 
  959.       DeInstall the PSD. 
  960.  
  961.       This function is called to release any resources that may have been 
  962.       allocated by the PSD_INSTALL function. A PSD is never de-installed after 
  963.       its Init routine is called. 
  964.  
  965.  Mode 
  966.       Called in Init Mode; may be called in Kernel Mode. 
  967.  
  968.  Entry 
  969.       None. 
  970.  
  971.  Exit 
  972.  
  973.       NO_ERROR          if the PSD DeInstalled succesfully. 
  974.       -1                if the PSD didn't DeInstall. 
  975.  
  976.  Notes 
  977.       This function may be called after OS/2 is finished with initialization by 
  978.       the DosTestPSD API; therefore, the PSD developer must be careful not to 
  979.       use any init mode only PSDHelp's in this function. 
  980.  
  981.  
  982. ΓòÉΓòÉΓòÉ 3.4.3. PSD_INIT ΓòÉΓòÉΓòÉ
  983.  
  984.  PSD_INIT keywords 
  985.       Required, Can Block 
  986.  
  987.  Description 
  988.       Initialize the PSD. 
  989.  
  990.       This function is called to initialize the PSD. It is used to allocate and 
  991.       initialize any resources that the PSD may require, as well as 
  992.       initializing the state of the hardware. This function should only 
  993.       initialize the state of the hardware in general. Initialization of CPUs 
  994.       should be done in ProcInit. It must fill in the INIT structure passed to 
  995.       it by OS/2. This function is only called once on CPU0. 
  996.  
  997.  Mode 
  998.       Called in Init Mode only. 
  999.  
  1000.  Entry 
  1001.       Pointer to INIT structure 
  1002.  
  1003.  Exit 
  1004.  
  1005.       NO_ERROR          if the PSD initialized successfully. 
  1006.       -1                if the PSD didn't initialize. 
  1007.  
  1008.  Structures 
  1009.  
  1010.             typedef struct init_s
  1011.             {
  1012.                ulong_t flags;    (Output)
  1013.                ulong_t version;  (Output)
  1014.             } INIT;
  1015.  
  1016.       flags          in the INIT structure indicate any special features or 
  1017.                      requirement that the PSD may have. 
  1018.                      INIT_GLOBAL_IRQ_ACCESS                 indicates that the 
  1019.                                                             platform can 
  1020.                                                             perform IRQ 
  1021.                                                             operations (e.g. 
  1022.                                                             PIC masking) on any 
  1023.                                                             processor. If this 
  1024.                                                             flag is omitted, 
  1025.                                                             the IRQ functions 
  1026.                                                             are guaranteed to 
  1027.                                                             only get called on 
  1028.                                                             CPU0, otherwise 
  1029.                                                             they may get called 
  1030.                                                             on any processor. 
  1031.                                                             If the flag is 
  1032.                                                             omitted and an IRQ 
  1033.                                                             operation is 
  1034.                                                             initiated on a 
  1035.                                                             processor other 
  1036.                                                             then CPU0, the OS/2 
  1037.                                                             kernel will route 
  1038.                                                             the request to 
  1039.                                                             CPU0. 
  1040.  
  1041.                      INIT_USE_FPERR_TRAP                    indicates that Trap 
  1042.                                                             16 will be used to 
  1043.                                                             report floating 
  1044.                                                             point errors, 
  1045.                                                             instead of IRQ 13. 
  1046.                                                             If this flag is 
  1047.                                                             set, the kernel 
  1048.                                                             sets the NE flag in 
  1049.                                                             CR0 for all 
  1050.                                                             processors. The PSD 
  1051.                                                             is responsible for 
  1052.                                                             doing any 
  1053.                                                             additional work for 
  1054.                                                             making the 
  1055.                                                             transition. 
  1056.  
  1057.                      INIT_EOI_IRQ13_ON_CPU0                 indicates that an 
  1058.                                                             EOI for a floating 
  1059.                                                             point error using 
  1060.                                                             IRQ13 should only 
  1061.                                                             be performed from 
  1062.                                                             CPU0. On CPU1-N, 
  1063.                                                             the hardware is 
  1064.                                                             responsible for 
  1065.                                                             clearing the 
  1066.                                                             interrupt. 
  1067.  
  1068.  
  1069.       version        indicates the version number of this PSD. It should be 
  1070.                      updated appropriately as this will help with service. 
  1071.  
  1072.  Notes 
  1073.       None. 
  1074.  
  1075.  
  1076. ΓòÉΓòÉΓòÉ 3.4.4. PSD_PROC_INIT ΓòÉΓòÉΓòÉ
  1077.  
  1078.  PSD_PROC_INIT keywords 
  1079.       MP, Can Block 
  1080.  
  1081.  Description 
  1082.       Initialize the current processor. 
  1083.  
  1084.       This function is called to initialize the current processor. It is called 
  1085.       in protect mode, once on a per-processor basis. It should initialize 
  1086.       variables in the PSD's PLMA, along with initialization of the hardware 
  1087.       state for that specific processor. 
  1088.  
  1089.  Mode 
  1090.       Called in Init Mode only. 
  1091.  
  1092.  Entry 
  1093.       None. 
  1094.  
  1095.  Exit 
  1096.  
  1097.       NO_ERROR          if the processor initialized successfully. 
  1098.       -1                if the processor didn't initialize. 
  1099.  
  1100.  Structures 
  1101.       None 
  1102.  
  1103.  Notes 
  1104.       None 
  1105.  
  1106.  
  1107. ΓòÉΓòÉΓòÉ 3.4.5. PSD_START_PROC ΓòÉΓòÉΓòÉ
  1108.  
  1109.  PSD_START_PROC keywords 
  1110.       MP, Can Block 
  1111.  
  1112.  Description 
  1113.       Start a processor. 
  1114.  
  1115.       This function is used to start a specified processor. The PSD may only 
  1116.       start the processor that was specified. 
  1117.  
  1118.       OS/2 fills in the address of a started processors initial real mode CS:IP 
  1119.       in the warm reboot vector of the BIOS data area (0x40:0x67). 
  1120.  
  1121.       OS/2 provides serialization such that another processor will not be 
  1122.       started until the previous processor has finished its real mode 
  1123.       initialization, gone into protect mode, and finished calling the ProcInit 
  1124.       function. The processor which is started will be held in real mode until 
  1125.       the StartProc function has been completed, and will then be allowed to 
  1126.       initialize. 
  1127.  
  1128.       All processors are started before the first device driver is loaded. 
  1129.  
  1130.  Mode 
  1131.       Called in Init Mode only. 
  1132.  
  1133.  Entry 
  1134.       Processor number (0-based). 
  1135.  
  1136.  Exit 
  1137.  
  1138.       NO_ERROR          if the processor started successfully. 
  1139.       -1                if the processor didn't start. 
  1140.  
  1141.  Structures 
  1142.       None. 
  1143.  
  1144.  Notes 
  1145.       If the hardware implementation uses some other mechanism to indicate a 
  1146.       started processors initial CS:IP the value specified in the warm reboot 
  1147.       vector should be used. 
  1148.  
  1149.       If the hardware implementation requires some other real mode operation to 
  1150.       be completed before the processor can continue to execute, the PSD 
  1151.       developer must be certain to chain to the address specified in the warm 
  1152.       reboot vector. 
  1153.  
  1154.  
  1155. ΓòÉΓòÉΓòÉ 3.4.6. PSD_GET_NUM_OF_PROCS ΓòÉΓòÉΓòÉ
  1156.  
  1157.  PSD_GET_NUM_OF_PROCS keywords 
  1158.       Required, Can Block 
  1159.  
  1160.  Description 
  1161.       Return number of processors. 
  1162.  
  1163.       This function must detect and return the number of usable x86 based 
  1164.       processors that exist on the current platform. If the PSD detects that 
  1165.       any of the processors are defective or non x86-based, it is the PSD's 
  1166.       responsibility to setup the state of the PSD and hardware, such that all 
  1167.       usable processors are logically ordered. For example, if there are 4 
  1168.       processors and CPU2 is defective, the CPU's should be ordered as follows: 
  1169.       CPU0 = 0, CPU1 = 1, CPU2 (Defective), CPU3 = 2). 
  1170.  
  1171.  Mode 
  1172.       Called in Init Mode only. 
  1173.  
  1174.  Entry 
  1175.       None. 
  1176.  
  1177.  Exit 
  1178.       Number of processors (1-based). 
  1179.  
  1180.  Structures 
  1181.       None. 
  1182.  
  1183.  Notes 
  1184.       OS/2 Warp Server for SMP only supports processors that are compatible 
  1185.       with the architecture of the Intel 386 and above. 
  1186.  
  1187.  
  1188. ΓòÉΓòÉΓòÉ 3.4.7. PSD_GEN_IPI ΓòÉΓòÉΓòÉ
  1189.  
  1190.  PSD_GEN_IPI keywords 
  1191.       MP, Can't Block 
  1192.  
  1193.  Description 
  1194.       Generate an inter-processor interrupt. 
  1195.  
  1196.       This function is used to generate an inter-processor interrupt. All 
  1197.       inter-processor hardware dependencies should be fully initialized before 
  1198.       the first GenIPI is called. 
  1199.  
  1200.  Mode 
  1201.       Called in Kernel, and Interrupt Mode. 
  1202.  
  1203.  Entry 
  1204.       Processor number to interrupt (0-based). 
  1205.  
  1206.  Exit 
  1207.  
  1208.       NO_ERROR          if the IPI was generated. 
  1209.       -1                if the IPI was not generated. 
  1210.  
  1211.  Structures 
  1212.       None. 
  1213.  
  1214.  Notes 
  1215.       OS/2 guarantees that the GenIPI function will not be called to interrupt 
  1216.       a processor that has not finished processing any previous IPIs. 
  1217.  
  1218.  
  1219. ΓòÉΓòÉΓòÉ 3.4.8. PSD_END_IPI ΓòÉΓòÉΓòÉ
  1220.  
  1221.  PSD_END_IPI keywords 
  1222.       MP, Can't Block 
  1223.  
  1224.  Description 
  1225.       End an inter-processor interrupt. 
  1226.  
  1227.       This function is used to end an inter-processor interrupt, that was 
  1228.       generated by GenIPI. 
  1229.  
  1230.  Mode 
  1231.       Called in Kernel, and Interrupt Mode. 
  1232.  
  1233.  Entry 
  1234.       Processor number to end interrupt on (0-based). 
  1235.  
  1236.  Exit 
  1237.  
  1238.       NO_ERROR          if the IPI was ended successfully. 
  1239.       -1                if the IPI didn't end successfully. 
  1240.  
  1241.  Structures 
  1242.       None. 
  1243.  
  1244.  Notes 
  1245.       The processor number specified and the current processor number should be 
  1246.       identical. 
  1247.  
  1248.  
  1249. ΓòÉΓòÉΓòÉ 3.4.9. PSD_PORT_IO ΓòÉΓòÉΓòÉ
  1250.  
  1251.  PSD_PORT_IO keywords 
  1252.       Optional, Default, Can't Block 
  1253.  
  1254.  Description 
  1255.       Perform local port I/O. 
  1256.  
  1257.       Some platforms have some non MP specific system ports localized on a 
  1258.       per-processor basis. If a local I/O operation may block before 
  1259.       completion, I/O can be routed to a specific CPU for processing. This 
  1260.       should be done, because an operation which started on one processor is 
  1261.       not guaranteed to complete on that processor if execution is blocked. 
  1262.       This function gets invoked as the result of a device driver calling 
  1263.       DevHelp_Port_IO. 
  1264.  
  1265.  Mode 
  1266.       Called in Kernel, and Interrupt Mode. 
  1267.  
  1268.  Entry 
  1269.       Pointer to a PORT_IO structure. 
  1270.  
  1271.  Exit 
  1272.  
  1273.       NO_ERROR          if the I/O was successful. 
  1274.       -1                if the I/O wasn't successful. 
  1275.  
  1276.  Structures 
  1277.  
  1278.             typedef struct port_io_s
  1279.             {
  1280.                ulong_t port;   (Input)
  1281.                ulong_t data;   (Input/Output)
  1282.                ulong_t flags;  (Input)
  1283.             } PORT_IO;
  1284.  
  1285.       port           indicates which port to read to, or write from. 
  1286.  
  1287.       data           contains the data read from a read request, or the data to 
  1288.                      write if a write request. If the request uses less the 4 
  1289.                      bytes the least significant portion of the data variable 
  1290.                      is used. 
  1291.  
  1292.       flags          indicate what operation to perform. 
  1293.  
  1294.                      IO_READ_BYTE               Read a byte from the port 
  1295.                      IO_READ_WORD               Read a word from the port 
  1296.                      IO_READ_DWORD              Read a dword from the port 
  1297.                      IO_WRITE_BYTE              Write a byte to the port 
  1298.                      IO_WRITE_WORD              Write a word to the port 
  1299.                      IO_WRITE_DWORD             Write a dword to the port 
  1300.  
  1301.  Notes 
  1302.       If the I/O performed is to a non-local port, the I/O should be handled as 
  1303.       a regular I/O request. 
  1304.  
  1305.       If device drivers or applications access the local ports directly, 
  1306.       instead of using the documented interfaces problems may occur. 
  1307.  
  1308.  
  1309. ΓòÉΓòÉΓòÉ 3.4.10. PSD_IRQ_MASK ΓòÉΓòÉΓòÉ
  1310.  
  1311.  PSD_IRQ_MASK keywords 
  1312.       Optional, Default, Can't Block 
  1313.  
  1314.  Description 
  1315.       Mask/Unmask IRQ levels 
  1316.  
  1317.       This function allows masking (disabling), or un-masking (enabling) of IRQ 
  1318.       levels. When this function is invoked it should save the state of the 
  1319.       interrupt flag, and disable interrupts before performing the mask 
  1320.       operation. It should then restore the state of the interrupt flag. 
  1321.  
  1322.  Mode 
  1323.       Called in Kernel, and Interrupt Mode. 
  1324.  
  1325.  Entry 
  1326.       Pointer to PSD_IRQ structure. 
  1327.  
  1328.  Exit 
  1329.  
  1330.       NO_ERROR          operation completed successfully. 
  1331.       -1                operation failed. 
  1332.  
  1333.  Structures 
  1334.  
  1335.             typedef struct psd_irq_s
  1336.             {
  1337.                ulong_t flags;    (Input)
  1338.                ulong_t data;     (Input/Output)
  1339.                ulong_t procnum;  (Input)
  1340.             } PSD_IRQ;
  1341.  
  1342.       data           is the logical IRQ levels to mask, or un-mask. 
  1343.  
  1344.       flags          indicate which type of operation is to be performed. 
  1345.  
  1346.                      IRQ_MASK              mask (disable) IRQ levels 
  1347.                      IRQ_UNMASK            unmask (enable) IRQ levels 
  1348.                      IRQ_GETMASK           retrieves the masks for all IRQ 
  1349.                                            levels 
  1350.                      IRQ_NEWMASK           indicates that all the IRQ levels 
  1351.                                            should reflect the state of the 
  1352.                                            specified mask. 
  1353.  
  1354.       procnum        is the processor number of where the operation should take 
  1355.                      place. 
  1356.  
  1357.  Notes 
  1358.       If this function is omitted, OS/2 will perform all mask operations for an 
  1359.       8259 Master/Slave based PIC system. The requests will be sent to CPU0 
  1360.       depending on the state of the INIT_GLOBAL_IRQ_ACCESS flag. 
  1361.  
  1362.  
  1363. ΓòÉΓòÉΓòÉ 3.4.11. PSD_IRQ_REG ΓòÉΓòÉΓòÉ
  1364.  
  1365.  PSD_IRQ_REG keywords 
  1366.       Optional, Default, Can't Block 
  1367.  
  1368.  Description 
  1369.       Access IRQ related registers. 
  1370.  
  1371.       This function permits access to the IRQ related registers. 
  1372.  
  1373.  Mode 
  1374.       Called in Kernel, and Interrupt Mode. 
  1375.  
  1376.  Entry 
  1377.       Pointer to PSD_IRQ structure. 
  1378.  
  1379.  Exit 
  1380.  
  1381.       NO_ERROR          operation completed successfully. 
  1382.       -1                operation failed. 
  1383.  
  1384.  Structures 
  1385.  
  1386.             typedef struct psd_irq_s
  1387.             {
  1388.                ulong_t flags;    (Input)
  1389.                ulong_t data;     (Input/Output)
  1390.                ulong_t procnum;  (Input)
  1391.             } PSD_IRQ;
  1392.  
  1393.       flags          indicate which type of operation is to be performed. 
  1394.  
  1395.                      IRQ_READ_IRR          read the interrupt request register. 
  1396.                      IRQ_READ_ISR          read the in service register. 
  1397.  
  1398.       data           contains the data read from a read request, or the data to 
  1399.                      write if a write request. 
  1400.  
  1401.       procnum        is the processor number of where the operation should take 
  1402.                      place. 
  1403.  
  1404.  Notes 
  1405.       If this function is omitted, OS/2 will perform all register operations 
  1406.       for an 8259 Master/Slave based PIC system. The requests will be sent to 
  1407.       CPU0 depending on the state of the INIT_GLOBAL_IRQ_ACCESS flag. 
  1408.  
  1409.  
  1410. ΓòÉΓòÉΓòÉ 3.4.12. PSD_IRQ_EOI ΓòÉΓòÉΓòÉ
  1411.  
  1412.  PSD_IRQ_EOI keywords 
  1413.       Optional, Default, Can't Block 
  1414.  
  1415.  Description 
  1416.       Issue an EOI. 
  1417.  
  1418.       This function is used to issue an End-Of-Interrupt. 
  1419.  
  1420.  Mode 
  1421.       Called in Kernel, and Interrupt mode. 
  1422.  
  1423.  Entry 
  1424.       Pointer to PSD_IRQ structure. 
  1425.  
  1426.  Exit 
  1427.  
  1428.       NO_ERROR          operation completed successfully. 
  1429.       -1                operation failed. 
  1430.  
  1431.  Structures 
  1432.  
  1433.             typedef struct psd_irq_s
  1434.             {
  1435.                ulong_t flags;    (Input)
  1436.                ulong_t data;     (Input/Output)
  1437.                ulong_t procnum;  (Input)
  1438.             } PSD_IRQ;
  1439.  
  1440.       data           is the interrupt level to end. 
  1441.       flags          is not used in this operation. 
  1442.       procnum        is the processor number of where the operation should take 
  1443.                      place. 
  1444.  
  1445.  Notes 
  1446.       If this function is omitted, OS/2 will perform all EOI operations for an 
  1447.       8259 Master/Slave based PIC system. The requests will be sent to CPU0 
  1448.       depending on the state of the INIT_GLOBAL_IRQ_ACCESS flag. 
  1449.  
  1450.  
  1451. ΓòÉΓòÉΓòÉ 3.4.13. PSD_APP_COMM ΓòÉΓòÉΓòÉ
  1452.  
  1453.  PSD_APP_COMM keywords 
  1454.       Optional, Can Block 
  1455.  
  1456.  Description 
  1457.       Perform generic APP/PSD communication. 
  1458.  
  1459.       This function performs generic application/PSD communication. The entry 
  1460.       arguments, and return codes are not interpreted by OS/2, it is passed 
  1461.       verbatim to and from the PSD. 
  1462.  
  1463.  Mode 
  1464.       Called in Kernel mode. 
  1465.  
  1466.  Entry 
  1467.       Function number, Argument. 
  1468.  
  1469.  Exit 
  1470.       Return code. 
  1471.  
  1472.  Structures 
  1473.       None. 
  1474.  
  1475.  Notes 
  1476.       None. 
  1477.  
  1478.  
  1479. ΓòÉΓòÉΓòÉ 3.4.14. PSD_SET_ADV_INT_MODE ΓòÉΓòÉΓòÉ
  1480.  
  1481.  PSD_SET_ADV_INT_MODE keywords 
  1482.       Optional, Can't Block 
  1483.  
  1484.  Description 
  1485.       TBD 
  1486.  
  1487.  Mode 
  1488.       Called in Init Mode only. 
  1489.  
  1490.  Entry 
  1491.       None. 
  1492.  
  1493.  Exit 
  1494.       Return code. 
  1495.  
  1496.  Structures 
  1497.       None. 
  1498.  
  1499.  Notes 
  1500.       The kernel initially provides default handling/detection for spurious 
  1501.       interrupts. This is done for the last IRQ line of every PIC. It does this 
  1502.       by checking the PIC's ISR register, and if the IRQ is not in service, it 
  1503.       does not pass the interrupt request to the interrupt manager (i.e. a 
  1504.       spurious interrupt). 
  1505.  
  1506.       If a PSD switches into advanced interrupt mode; the kernel will no longer 
  1507.       provide default handling/detection of spurious interrupts. It becomes the 
  1508.       PSD's responsibility. 
  1509.  
  1510.       One way a PSD could provide handling/detection of a spurious interrupt is 
  1511.       to register a PSD handler for an IRQ level which may be spurious. As soon 
  1512.       as the interrupt is detected the handler should insure that it is valid. 
  1513.       If it is not (i.e. a spurious interrupt), it should dismiss the 
  1514.       interrupt, and return NO_ERROR to the interrupt manager. The NO_ERROR 
  1515.       return code informs the interrupt manager that the interrupt has been 
  1516.       handled by the PSD. If the interrupt is valid the PSD should return a -1, 
  1517.       as this informs the interrupt manager that the interrupt should be passed 
  1518.       on to any device drivers registered to receive that interrupt. 
  1519.  
  1520.  
  1521. ΓòÉΓòÉΓòÉ 3.5. PSD Helps ΓòÉΓòÉΓòÉ
  1522.  
  1523. OS/2 provides system services to the PSD developer via PSD helps. 
  1524.  
  1525. The address of the PSD help router is passed in the INSTALL structure when a 
  1526. PSD's install function is called.  All PSD helps destroy the contents of the 
  1527. EAX register (used for a return code).  All other registers, including the 
  1528. flags, are preserved. 
  1529.  
  1530. To invoke a PSD help, set up the appropriate parameters and call the PSD help 
  1531. router.  For an example, refer to Sample Source Code for a PSD. Some prototypes 
  1532. and macros are defined in PSD.H to simplify their usage. 
  1533.  
  1534. The following keywords indicate: 
  1535.  
  1536.  May Block      Indicates that the help may block. 
  1537.  Won't Block    Indicates that the help won't block. 
  1538.  
  1539.  
  1540. ΓòÉΓòÉΓòÉ 3.5.1. PSDHLP_VMALLOC ΓòÉΓòÉΓòÉ
  1541.  
  1542.  PSDHLP_VMALLOC keywords 
  1543.       May Block 
  1544.  
  1545.  Description 
  1546.       Allocate memory. 
  1547.  
  1548.       This function is used to allocate virtual memory, or map virtual memory 
  1549.       to physical memory, depending on the value of the flags. All virtual 
  1550.       addresses are allocated from the system arena (i.e. global address 
  1551.       space). 
  1552.  
  1553.  Mode 
  1554.       Callable in Init and Kernel mode. 
  1555.  
  1556.  Parameters 
  1557.       Pointer to a VMALLOC structure. 
  1558.  
  1559.  Exit 
  1560.       Return code. 
  1561.  
  1562.  Structures 
  1563.  
  1564.             typedef struct vmalloc_s
  1565.             {
  1566.                ulong_t addr;    (Input/Output)
  1567.                ulong_t cbsize;  (Input)
  1568.                ulong_t flags;   (Input)
  1569.             } VMALLOC;
  1570.  
  1571.       addr           is filled with the linear address of the allocated or 
  1572.                      mapped memory on return from the help. 
  1573.  
  1574.                      If VMALLOC_LOCSPECIFIC is specified, this field must 
  1575.                      contain the virtual address to map before calling the 
  1576.                      help. 
  1577.  
  1578.                      If VMALLOC_PHYS is specified, this field must contain the 
  1579.                      physical address to map before calling the help. 
  1580.  
  1581.       cbsize         is the size of the allocation, or mapping in bytes. 
  1582.  
  1583.       flags          indicate which type of operation is to be performed. 
  1584.  
  1585.                      VMALLOC_FIXED              indicates that the allocated 
  1586.                                                 memory is to be fixed in memory 
  1587.                                                 (not-swappable or movable). If 
  1588.                                                 this flag is omitted, the 
  1589.                                                 allocated memory will be 
  1590.                                                 swappable by default. 
  1591.  
  1592.                      VMALLOC_CONTIG             indicates that the allocation 
  1593.                                                 must use contigous physical 
  1594.                                                 memory. If this flag is 
  1595.                                                 specified VMALLOC_FIXED must 
  1596.                                                 also be used. 
  1597.  
  1598.                      VMALLOC_LOCSPECIFIC        indicates a request for a 
  1599.                                                 memory allocation at a specific 
  1600.                                                 virtual address. If this flag 
  1601.                                                 is specified, the addr field 
  1602.                                                 must contain the virtual 
  1603.                                                 address to map. 
  1604.  
  1605.                                                 Note:  This flag can be used 
  1606.                                                        with the VMALLOC_PHYS 
  1607.                                                        flag to allocate memory 
  1608.                                                        where linear = physical. 
  1609.  
  1610.                      VMALLOC_PHYS               indicates a request for a 
  1611.                                                 virtual mapping of physical 
  1612.                                                 memory. If this flag is 
  1613.                                                 specified, the addr field must 
  1614.                                                 contain the physical address to 
  1615.                                                 map. 
  1616.  
  1617.                                                 Note:  This flag can be used 
  1618.                                                        with the 
  1619.                                                        VMALLOC_LOCSPECIFIC flag 
  1620.                                                        to allocate memory where 
  1621.                                                        linear = physical. 
  1622.  
  1623.                      VMALLOC_1M                 indicates a request for a 
  1624.                                                 memory allocation below the 1MB 
  1625.                                                 boundary. 
  1626.  
  1627.  Notes 
  1628.       None. 
  1629.  
  1630.  
  1631. ΓòÉΓòÉΓòÉ 3.5.2. PSDHLP_VMFREE ΓòÉΓòÉΓòÉ
  1632.  
  1633.  PSDHLP_VMFREE keywords 
  1634.       May Block 
  1635.  
  1636.  Description 
  1637.       Free allocation created by PSDHLP_VMALLOC. 
  1638.  
  1639.       This function frees memory or destroys a physical mapping created by the 
  1640.       PSDHLP_VMALLOC help. 
  1641.  
  1642.  Mode 
  1643.       Callable in Init and Kernel Mode. 
  1644.  
  1645.  Parameters 
  1646.       Linear address to free. 
  1647.  
  1648.  Exit 
  1649.       Return code. 
  1650.  
  1651.  Structures 
  1652.       None. 
  1653.  
  1654.  Notes 
  1655.       All memory or mappings allocated by a PSD must be released if the PSD is 
  1656.       DeInstalled. 
  1657.  
  1658.  
  1659. ΓòÉΓòÉΓòÉ 3.5.3. PSDHLP_SET_IRQ ΓòÉΓòÉΓòÉ
  1660.  
  1661.  PSDHLP_SET_IRQ keywords 
  1662.       Won't Block 
  1663.  
  1664.  Description 
  1665.       Setup IRQ information. 
  1666.  
  1667.       This function is used to setup IRQ information. 
  1668.  
  1669.       The PSD can use this help to register an interrupt handler at any given 
  1670.       IRQ level between IRQ 0-IRQ 1F. These interrupt handler's are guaranteed 
  1671.       to be called before any device driver's interrupt handler. If the PSD's 
  1672.       interrupt handler returns NO_ERROR, the interrupt manager will assume the 
  1673.       interrupt has been handled, and it will end the interrupt. If a -1 is 
  1674.       returned, the interrupt manager will assume that the interrupt has not 
  1675.       been handled, and will call each device driver which has a registered 
  1676.       interrupt handler for that particular level, until one claims the 
  1677.       interrupt. If the interrupt is unclaimed, the IRQ level will be masked 
  1678.       off. 
  1679.  
  1680.       All PSDs must use the SET_IRQ PSD help to indicate which IRQ level it 
  1681.       will be using for its inter-processor interrupts (IPI). If the PSD's IPI 
  1682.       IRQ level is shared, it must register a handler which detects if the IRQ 
  1683.       is an IPI or another interrupt. The handler must return NO_ERROR if the 
  1684.       interrupt was caused by an IPI, otherwise, it returns a -1. If the IPI 
  1685.       IRQ level is unique, an interrupt handler need not be installed, but 
  1686.       SET_IRQ must still be used to indicate the IPI IRQ level. 
  1687.  
  1688.       This function can also be used to set, or remap what interrupt vector a 
  1689.       particular IRQ level will use. 
  1690.  
  1691.  Mode 
  1692.       Callable in Init mode only. 
  1693.  
  1694.  Parameters 
  1695.       Pointer to a SET_IRQ structure. 
  1696.  
  1697.  Exit 
  1698.       Return code. 
  1699.  
  1700.  Structures 
  1701.  
  1702.             typedef struct set_irq_s
  1703.             {
  1704.                ushort_t irq;
  1705.                ushort_t flags;
  1706.                ulong_t  vector;
  1707.                P_F_2    handler;
  1708.             } SET_IRQ;
  1709.  
  1710.       irq            specifies which IRQ level this operation is to be 
  1711.                      performed on. 
  1712.  
  1713.       flags          indicate what is the type of the specified IRQ. If no flag 
  1714.                      is used, a regular IRQ level is assumed. 
  1715.  
  1716.                      IRQf_IPI            indicates that the specified IRQ level 
  1717.                                          is to be used for inter-processor 
  1718.                                          interrupts. 
  1719.                      IRQf_LSI            indicates that the specified IRQ level 
  1720.                                          is to be used as a local software 
  1721.                                          interrupt. 
  1722.                      IRQf_SPI            indicates that the specfied IRQ level 
  1723.                                          is to be used as a system priority 
  1724.                                          interrupt. 
  1725.  
  1726.       vector         is used to specify what interrupt vector the IRQ level 
  1727.                      will use. 
  1728.  
  1729.       handler        contains the address of an interrupt handler. If the PSD 
  1730.                      is just specifying that a specific IRQ level is of a 
  1731.                      special type (e.g. IPI IRQ), it does not need a handler 
  1732.                      (the handler variable must be NULL). 
  1733.  
  1734.  Notes 
  1735.       IRQf_LSI, and IRQf_SPI, are currently not being used. 
  1736.  
  1737.  
  1738. ΓòÉΓòÉΓòÉ 3.5.4. PSDHLP_CALL_REAL_MODE ΓòÉΓòÉΓòÉ
  1739.  
  1740.  PSDHLP_CALL_REAL_MODE keywords 
  1741.       Won't Block 
  1742.  
  1743.  Description 
  1744.       Call a PSD function in real mode. 
  1745.  
  1746.       This function is used by the PSD developer to call one of his PSD 
  1747.       functions in real mode. 
  1748.  
  1749.  Mode 
  1750.       Callable in Init mode only. 
  1751.  
  1752.  Parameters 
  1753.       Pointer to a CALL_REAL_MODE structure. 
  1754.  
  1755.  Exit 
  1756.       Called functions return code. 
  1757.  
  1758.  Structures 
  1759.  
  1760.             typedef struct call_real_mode_s
  1761.             {
  1762.                ulong_t function;
  1763.                ulong_t pdata;
  1764.             } CALL_REAL_MODE;
  1765.  
  1766.       function       contains the linear address of the function to be called 
  1767.                      in real mode. 
  1768.  
  1769.       pdata          contains the linear address of a parameter to be passed to 
  1770.                      the real mode function. The parameter is pointed to by 
  1771.                      DS:SI on entry to the called function. 
  1772.  
  1773.       A return code may be returned by the real mode function in EAX. 
  1774.  
  1775.  Notes 
  1776.       No PSD helps may be used in real mode. 
  1777.  
  1778.  
  1779. ΓòÉΓòÉΓòÉ 3.5.5. PSDHLP_VMLINTOPHYS ΓòÉΓòÉΓòÉ
  1780.  
  1781.  PSDHLP_VMLINTOPHYS keywords 
  1782.       Won't Block 
  1783.  
  1784.  Description 
  1785.       Convert linear address to physical 
  1786.  
  1787.       This function converts the specified linear address to physical. 
  1788.  
  1789.  Mode 
  1790.       Callable in Init, Kernel, and Interrupt Mode. 
  1791.  
  1792.  Parameters 
  1793.       Linear address to convert. 
  1794.  
  1795.  Exit 
  1796.       Physical address if successful, -1 otherwise. 
  1797.  
  1798.  Structures 
  1799.       None. 
  1800.  
  1801.  Notes 
  1802.       None. 
  1803.  
  1804.  
  1805. ΓòÉΓòÉΓòÉ 3.6. Application Programming Interface ΓòÉΓòÉΓòÉ
  1806.  
  1807. The OS/2 kernel will provide new support APIs for PSDs. 
  1808.  
  1809.  
  1810. ΓòÉΓòÉΓòÉ 3.6.1. DosTestPSD ΓòÉΓòÉΓòÉ
  1811.  
  1812.  Description 
  1813.       Determine if the PSD is valid for the current platform. 
  1814.  
  1815.       This function will load the specified PSD, call its Install, and 
  1816.       DeInstall routine, and unload the PSD. It returns the return code from 
  1817.       the PSD's Install routine, or any error code it might have received while 
  1818.       attempting to do the above operation. 
  1819.  
  1820.  Parameters 
  1821.       Pointer to a fully qualified PSD path and name. 
  1822.  
  1823.  Exit 
  1824.       Return Code. 
  1825.  
  1826.  Notes 
  1827.       This function will mainly be used by OS/2's install, to test the validity 
  1828.       of a PSD that will be installed. 
  1829.  
  1830.  
  1831. ΓòÉΓòÉΓòÉ 4. High Memory Support ΓòÉΓòÉΓòÉ
  1832.  
  1833. The High Memory Support in OS/2 Warp Server for SMP removes the 512 MB virtual 
  1834. memory limit present in previous versions of OS/2, thus allowing 32-bit 
  1835. applications to allocate shared or private memory objects above the 512 MB 
  1836. boundary. 
  1837.  
  1838.  
  1839. ΓòÉΓòÉΓòÉ 4.1. VIRTUALADDRESSLIMIT Parameter in CONFIG.SYS ΓòÉΓòÉΓòÉ
  1840.  
  1841. A new CONFIG.SYS parameter, VIRTUALADDRESSLIMIT. has been added to specify the 
  1842. highest virtual memory address that may be accessed.  The default value for 
  1843. OS/2 Warp Server for SMP is 2 GB, which is specified in MB in the command: 
  1844.  
  1845. VIRTUALADDRESSLIMIT=2048
  1846.  
  1847. The smallest value allowed is 512, which provides compatability with previous 
  1848. versions of OS/2 which only allowed access to 512 MB. The largest value 
  1849. supported is 3072 (3 GB).  The VIRTUALADDRESSLIMIT parameter may be specified 
  1850. as part of selective install. 
  1851.  
  1852. Values in excess of 512 will reduce the number of processes that can 
  1853. concurrently run on the system.  When memory has been exhausted, OS/2 control 
  1854. program functions will fail with ERROR_NOT_ENOUGH_MEMORY and PM functions will 
  1855. fail with PMERR_INSUFFICIENT_MEMORY.  Future versions of OS/2 may allow larger 
  1856. values and, for any given value, support more concurrent processes. 
  1857.  
  1858. Values outside the valid range (below 512 or over 3072) will result in an error 
  1859. message during CONFIG.SYS processing and the system will use the default value 
  1860. of 2048. 
  1861.  
  1862. The highest virtual memory address and the maximum number of concurrent 
  1863. processes allowed can be determined from a program by using the DosQuerySysInfo 
  1864. function. 
  1865.  
  1866.  
  1867. ΓòÉΓòÉΓòÉ 4.2. New OBJ_ANY Memory Attribute ΓòÉΓòÉΓòÉ
  1868.  
  1869. A new allocation attribute of OBJ_ANY is available to 32-bit programs when 
  1870. allocating memory using DosAllocMem and DosAllocSharedMem. OBJ_ANY indicates 
  1871. that the memory may be allocated anywhere in the available virtual address 
  1872. space.  An application must be able to handle pointer values above the 512 MB 
  1873. tiled memory compatibility region when using OBJ_ANY. 
  1874.  
  1875. In OS/2 Warp Server for SMP, OBJ_ANY memory allocations will first be attempted 
  1876. in the high memory area, which is the area of the virtual address space above 
  1877. 512 MB.  If there is insufficient memory to satisfy the request from the high 
  1878. memory area, the memory will be allocated in the first 512 MB of the address 
  1879. space.  IBM reserves the right to change this allocation strategy in future 
  1880. releases of OS/2. 
  1881.  
  1882. Memory objects allocated below the 512 MB line will start on a 64 KB boundary, 
  1883. the size will be rounded up to a multiple of 64 KB, and the memory will be 
  1884. tileable. 
  1885.  
  1886. Objects allocated above the 512 MB line will start on a 4 KB boundary, the size 
  1887. will be rounded up to a multiple of 4 KB, and the memory will not be tileable. 
  1888. 16-bit programs will not be able to address or access the object. 
  1889.  
  1890. Memory should be allocated with the OBJ_ANY attribute wherever possible, since 
  1891. it provides the most efficient use of both the per-process address space as 
  1892. well as the system-wide virtual memory resources.  It is intended that an 
  1893. application would make infrequent requests for large blocks of memory using 
  1894. DosAllocMem and then use DosSubSetMem along with DosSubAllocMem and 
  1895. DosSubFreeMem to manage the memory. If OBJ_ANY is not specified, the behavior 
  1896. of DosAllocMem and DosAllocSharedMem is the same as in OS/2 Warp. 
  1897.  
  1898.  
  1899. ΓòÉΓòÉΓòÉ 4.3. Implementation Details ΓòÉΓòÉΓòÉ
  1900.  
  1901. Note:  IBM reserves the right to change these implementation details in future 
  1902.        releases of OS/2. 
  1903.  
  1904.  Any number specified in VIRTUALADDRESSLIMIT is rounded up to a 64 MB boundary. 
  1905.  
  1906.  The user's address space above the 512 MB line has the same properties as the 
  1907.  user's address space below the 512 MB line, namely: 
  1908.  
  1909.      A high private arena at the low end and a high shared arena at the high 
  1910.       end. 
  1911.  
  1912.      1/8 of the user's address space is guaranteed to be in the high private 
  1913.       arena 
  1914.  
  1915.      1/8 of the user's address s[ace is guaranteed to be in the high shared 
  1916.       arena 
  1917.  
  1918.      The two arenas grow toward each other: the high private arena grows up 
  1919.       and the high shared arena grows down. 
  1920.  
  1921.  No memory objects can span the 512 MB line. 
  1922.  
  1923.  The current allocation strategy for OBJ_ANY allocations is:  Allocate from the 
  1924.  appropriate high memory arena.  If there is not enough virtual memory in the 
  1925.  specified arena to support the request, then the allocation will come from the 
  1926.  appropriate low memory arena below the 512 MB line, if possible. Otherwise, 
  1927.  the function will fail with a return code of ERROR_NOT_ENOUGH_MEMORY. 
  1928.  
  1929.  
  1930. ΓòÉΓòÉΓòÉ 4.4. High Memory Support Functions ΓòÉΓòÉΓòÉ
  1931.  
  1932. The following OS/2 functions have been tested with the High Memory Support: 
  1933.  
  1934.      DosFlatToSel 
  1935.      DosGetNamedSharedMem 
  1936.      DosGetSharedMem 
  1937.      DosGiveSharedMem 
  1938.      DosSetMem 
  1939.      DosFreeMem 
  1940.      DosRead 
  1941.      DosWrite 
  1942.      DosQueryMem 
  1943.      DosQueryState 
  1944.      DosQueryPageUsage 
  1945.      DosSubSetMem 
  1946.      DosSubAllocMem 
  1947.      DosSubFreeMem 
  1948.      DosSubUnsetMem 
  1949.      All 32-bit semaphore functions 
  1950.      All 32-bit exception handling functions 
  1951.  
  1952.  The maximum amount of free space in the high memory area can be determined 
  1953.  from a program by using the DosQuerySysInfo function. 
  1954.  
  1955.  If a virtual address above the 512 MB line is passed to DosFlatToSel, a 0 is 
  1956.  returned. 
  1957.  
  1958.  The following functions have been enhanced for High Memory Support: 
  1959.  
  1960.  
  1961. ΓòÉΓòÉΓòÉ 4.5. DosAllocMem ΓòÉΓòÉΓòÉ
  1962.  
  1963.  
  1964. ΓòÉΓòÉΓòÉ <hidden> DosAllocMem - Syntax ΓòÉΓòÉΓòÉ
  1965.  
  1966. Allocates a private memory object within the virtual-address space. 
  1967.  
  1968.  
  1969. #define INCL_DOSMEMMGR
  1970. #include <os2.h>
  1971.  
  1972. PPVOID    ppb;   /*  A pointer to a variable that will receive the base address of the allocated private memory object. */
  1973. ULONG     cb;    /*  Size, in bytes, of the private memory object to allocate. */
  1974. ULONG     flag;  /*  Allocate attribute and desired access protection flags. */
  1975. APIRET    ulrc;  /*  Return Code. */
  1976.  
  1977. ulrc = DosAllocMem(ppb, cb, flag);
  1978.  
  1979.  
  1980. ΓòÉΓòÉΓòÉ <hidden> DosAllocMem Parameter - ppb ΓòÉΓòÉΓòÉ
  1981.  
  1982.  ppb (PPVOID) - output 
  1983.     A pointer to a variable that will receive the base address of the allocated 
  1984.     private memory object. 
  1985.  
  1986.  
  1987. ΓòÉΓòÉΓòÉ <hidden> DosAllocMem Parameter - cb ΓòÉΓòÉΓòÉ
  1988.  
  1989.  cb (ULONG) - input 
  1990.     Size, in bytes, of the private memory object to allocate. 
  1991.  
  1992.     The size is rounded up to the next page-size boundary. The size of a page 
  1993.     is 4KB. 
  1994.  
  1995.  
  1996. ΓòÉΓòÉΓòÉ <hidden> DosAllocMem Parameter - flag ΓòÉΓòÉΓòÉ
  1997.  
  1998.  flag (ULONG) - input 
  1999.     Allocate attribute and desired access protection flags. 
  2000.  
  2001.     A set of flags describing the allocation attributes and desired access 
  2002.     protection for the private memory object. Possible values are shown in the 
  2003.     lists below: 
  2004.  
  2005.     Allocation Attributes 
  2006.  
  2007.     PAG_COMMIT (0x00000010) 
  2008.             All pages in the private memory object are initially committed. 
  2009.  
  2010.     OBJ_TILE (0x00000040) 
  2011.             The private memory object must be allocated in the first 512MB of 
  2012.             virtual-address space, with 16-bit selectors mapping the memory 
  2013.             object. 
  2014.  
  2015.     OBJ_ANY (0x01000000) 
  2016.             The private memory object may reside anywhere in the available 
  2017.             virtual-address space.  16-bit programs will not be able to access 
  2018.             this object. 
  2019.  
  2020.     OBJ_TILE and OBJ_ANY are incompatible options.  Specifying both for the 
  2021.     same memory object will result in an error. 
  2022.  
  2023.     OBJ_ANY indicates that the memory may be allocated anywhere in the 
  2024.     available virtual address space.  In OS/2 Warp Server for SMP, OBJ_ANY 
  2025.     memory allocations will first be attempted in the high memory area, which 
  2026.     is the area of the virtual address space above 512 MB.  If there is 
  2027.     insufficient memory to satisfy the request from the high memory area, the 
  2028.     memory will be allocated in the first 512 MB of the address space.  IBM 
  2029.     reserves the right to change this allocation strategy in future releases of 
  2030.     OS/2. 
  2031.  
  2032.     If a memory object is allocated in the high memory area above 512 MB, 
  2033.     16-bit programs will not be able to address or access the object. 
  2034.  
  2035.     Memory should be allocated with the OBJ_ANY attribute wherever possible, 
  2036.     since it provides the most efficient use of both the per-process address 
  2037.     space as well as the system-wide virtual memory resources.  It is intended 
  2038.     that an application would make infrequent requests for large blocks of 
  2039.     memory using DosAllocMem and then use DosSubSetMem along with 
  2040.     DosSubAllocMem and DosSubFreeMem to manage the memory. 
  2041.  
  2042.     The maximum amount of free space in the high memory area can be determined 
  2043.     from a program by using the DosQuerySysInfo function. 
  2044.  
  2045.     For OBJ_TILE memory objects, the 16-bit selectors are allocated to map the 
  2046.     32-bit object at 64KB boundaries.  The figure below shows how the 16-bit 
  2047.     alias selectors map the 32-bit object. 
  2048.  
  2049.  
  2050.             32-bit             32-bit               16-bit alias
  2051.             Offset             Object               Selectors
  2052.  
  2053.            BaseAddress+000KBΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöÇΓöÇΓöÇΓöÇΓöÇ Sel
  2054.                             Γöé              Γöé
  2055.            BaseAddress+064KBΓö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ ΓöÇΓöÇΓöÇΓöÇΓöÇ Sel+HugeInc
  2056.                             Γöé              Γöé
  2057.            BaseAddress+128KBΓö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ ΓöÇΓöÇΓöÇΓöÇΓöÇ Sel+HugeInc*2
  2058.                             Γöé              Γöé
  2059.            BaseAddress+192KBΓö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ ΓöÇΓöÇΓöÇΓöÇΓöÇ Sel+HugeInc*3
  2060.                             Γöé              Γöé
  2061.  
  2062.         HugeInc is the huge increment used for DosAllocHuge.
  2063.  
  2064.     Desired Access Protection 
  2065.  
  2066.     PAG_EXECUTE (0x00000004) 
  2067.             Execute access to the committed pages in the private memory object 
  2068.  
  2069.     PAG_READ (0x00000001) 
  2070.             Read access 
  2071.  
  2072.     PAG_WRITE (0x00000002) 
  2073.             Write access 
  2074.  
  2075.     PAG_GUARD (0x00000008) 
  2076.             Access to the committed pages in the private memory object causes a 
  2077.             "guard page entered" condition to be raised in the subject process. 
  2078.  
  2079.     At least one of the bits PAG_READ, PAG_WRITE, or PAG_EXECUTE must be set. 
  2080.  
  2081.  
  2082. ΓòÉΓòÉΓòÉ <hidden> DosAllocMem Return Value - ulrc ΓòÉΓòÉΓòÉ
  2083.  
  2084.  ulrc (APIRET) - returns 
  2085.     Return Code. 
  2086.  
  2087.     DosAllocMem returns one of the following values: 
  2088.  
  2089.     0              NO_ERROR 
  2090.     8              ERROR_NOT_ENOUGH_MEMORY 
  2091.     87             ERROR_INVALID_PARAMETER 
  2092.     95             ERROR_INTERRUPT 
  2093.  
  2094.     For a full list of error codes, see Errors. 
  2095.  
  2096.  
  2097. ΓòÉΓòÉΓòÉ <hidden> DosAllocMem - Parameters ΓòÉΓòÉΓòÉ
  2098.  
  2099.  ppb (PPVOID) - output 
  2100.     A pointer to a variable that will receive the base address of the allocated 
  2101.     private memory object. 
  2102.  
  2103.  cb (ULONG) - input 
  2104.     Size, in bytes, of the private memory object to allocate. 
  2105.  
  2106.     The size is rounded up to the next page-size boundary. The size of a page 
  2107.     is 4KB. 
  2108.  
  2109.  flag (ULONG) - input 
  2110.     Allocate attribute and desired access protection flags. 
  2111.  
  2112.     A set of flags describing the allocation attributes and desired access 
  2113.     protection for the private memory object. Possible values are shown in the 
  2114.     lists below: 
  2115.  
  2116.     Allocation Attributes 
  2117.  
  2118.     PAG_COMMIT (0x00000010) 
  2119.             All pages in the private memory object are initially committed. 
  2120.  
  2121.     OBJ_TILE (0x00000040) 
  2122.             The private memory object must be allocated in the first 512MB of 
  2123.             virtual-address space, with 16-bit selectors mapping the memory 
  2124.             object. 
  2125.  
  2126.     OBJ_ANY (0x01000000) 
  2127.             The private memory object may reside anywhere in the available 
  2128.             virtual-address space.  16-bit programs will not be able to access 
  2129.             this object. 
  2130.  
  2131.     OBJ_TILE and OBJ_ANY are incompatible options.  Specifying both for the 
  2132.     same memory object will result in an error. 
  2133.  
  2134.     OBJ_ANY indicates that the memory may be allocated anywhere in the 
  2135.     available virtual address space.  In OS/2 Warp Server for SMP, OBJ_ANY 
  2136.     memory allocations will first be attempted in the high memory area, which 
  2137.     is the area of the virtual address space above 512 MB.  If there is 
  2138.     insufficient memory to satisfy the request from the high memory area, the 
  2139.     memory will be allocated in the first 512 MB of the address space.  IBM 
  2140.     reserves the right to change this allocation strategy in future releases of 
  2141.     OS/2. 
  2142.  
  2143.     If a memory object is allocated in the high memory area above 512 MB, 
  2144.     16-bit programs will not be able to address or access the object. 
  2145.  
  2146.     Memory should be allocated with the OBJ_ANY attribute wherever possible, 
  2147.     since it provides the most efficient use of both the per-process address 
  2148.     space as well as the system-wide virtual memory resources.  It is intended 
  2149.     that an application would make infrequent requests for large blocks of 
  2150.     memory using DosAllocMem and then use DosSubSetMem along with 
  2151.     DosSubAllocMem and DosSubFreeMem to manage the memory. 
  2152.  
  2153.     The maximum amount of free space in the high memory area can be determined 
  2154.     from a program by using the DosQuerySysInfo function. 
  2155.  
  2156.     For OBJ_TILE memory objects, the 16-bit selectors are allocated to map the 
  2157.     32-bit object at 64KB boundaries.  The figure below shows how the 16-bit 
  2158.     alias selectors map the 32-bit object. 
  2159.  
  2160.  
  2161.             32-bit             32-bit               16-bit alias
  2162.             Offset             Object               Selectors
  2163.  
  2164.            BaseAddress+000KBΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöÇΓöÇΓöÇΓöÇΓöÇ Sel
  2165.                             Γöé              Γöé
  2166.            BaseAddress+064KBΓö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ ΓöÇΓöÇΓöÇΓöÇΓöÇ Sel+HugeInc
  2167.                             Γöé              Γöé
  2168.            BaseAddress+128KBΓö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ ΓöÇΓöÇΓöÇΓöÇΓöÇ Sel+HugeInc*2
  2169.                             Γöé              Γöé
  2170.            BaseAddress+192KBΓö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ ΓöÇΓöÇΓöÇΓöÇΓöÇ Sel+HugeInc*3
  2171.                             Γöé              Γöé
  2172.  
  2173.         HugeInc is the huge increment used for DosAllocHuge.
  2174.  
  2175.     Desired Access Protection 
  2176.  
  2177.     PAG_EXECUTE (0x00000004) 
  2178.             Execute access to the committed pages in the private memory object 
  2179.  
  2180.     PAG_READ (0x00000001) 
  2181.             Read access 
  2182.  
  2183.     PAG_WRITE (0x00000002) 
  2184.             Write access 
  2185.  
  2186.     PAG_GUARD (0x00000008) 
  2187.             Access to the committed pages in the private memory object causes a 
  2188.             "guard page entered" condition to be raised in the subject process. 
  2189.  
  2190.     At least one of the bits PAG_READ, PAG_WRITE, or PAG_EXECUTE must be set. 
  2191.  
  2192.  ulrc (APIRET) - returns 
  2193.     Return Code. 
  2194.  
  2195.     DosAllocMem returns one of the following values: 
  2196.  
  2197.     0              NO_ERROR 
  2198.     8              ERROR_NOT_ENOUGH_MEMORY 
  2199.     87             ERROR_INVALID_PARAMETER 
  2200.     95             ERROR_INTERRUPT 
  2201.  
  2202.     For a full list of error codes, see Errors. 
  2203.  
  2204.  
  2205. ΓòÉΓòÉΓòÉ <hidden> DosAllocMem - Remarks ΓòÉΓòÉΓòÉ
  2206.  
  2207. DosAllocMem can be used to reserve, or reserve and commit, linear address space 
  2208. for a private memory object. 
  2209.  
  2210. The operating system allocates a range of private pages large enough to fulfill 
  2211. the specified allocation request from the private virtual-address space of the 
  2212. subject process. The base address of the object is returned in the ppb 
  2213. parameter. 
  2214.  
  2215. The allocated memory object is rounded up to a multiple of 4KB in size. 
  2216.  
  2217. The committed memory allocated by DosAllocMem can be swapped. 
  2218.  
  2219. Any access protection can be applied to committed pages within a private memory 
  2220. object. Committed pages are initially allocated and backed by demand pages. The 
  2221. first attempt to read or write the page causes a page of zeros to be created. 
  2222.  
  2223. If a failure occurs during the allocation, no pages are allocated, and an 
  2224. appropriate error code is returned. 
  2225.  
  2226. With the Intel 80386 processor, execute and read access are equivalent. Also, 
  2227. write access implies both read and execute access. 
  2228.  
  2229. The guard-page attribute is intended to provide automatic stack-growth and 
  2230. stack-limit checking. An application may also use it in other data structures. 
  2231.  
  2232. Reserved pages that are not committed are given an access protection of "no 
  2233. access". 
  2234.  
  2235.  
  2236. ΓòÉΓòÉΓòÉ <hidden> DosAllocMem - Related Functions ΓòÉΓòÉΓòÉ
  2237.  
  2238. Related Functions 
  2239.  
  2240.      DosAllocSharedMem 
  2241.      DosFreeMem 
  2242.  
  2243.  
  2244. ΓòÉΓòÉΓòÉ <hidden> DosAllocMem - Example Code ΓòÉΓòÉΓòÉ
  2245.  
  2246. This example allocates memory as Read/Write, queries it, commits it, uses it, 
  2247. and then releases it. 
  2248.  
  2249. #define INCL_DOSMEMMGR   /* Include DOS Memory Management APIs */
  2250. #define INCL_DOSERRORS   /* DOS error values                   */
  2251. #include <os2.h>
  2252. #include <stdio.h>
  2253. #include <string.h>
  2254.  
  2255. int main (VOID)
  2256. {
  2257.    PVOID  MyObject    = NULL;     /* Pointer to memory object            */
  2258.    ULONG  ulObjSize   = 0;        /* Size of memory object (in bytes)    */
  2259.    ULONG  ulMemFlags  = 0;        /* Attribute flags for the object      */
  2260.    ULONG  ulMemSize   = 0;        /* Size of memory region for DosSetMem */
  2261.    APIRET rc          = NO_ERROR; /* Return code                         */
  2262.  
  2263.    ulObjSize = 40960L;        /* A big object                              */
  2264.  
  2265.    rc = DosAllocMem(&MyObject,     /* Pointer to memory object pointer     */
  2266.                     ulObjSize,     /* Size of object to be allocated       */
  2267.                     OBJ_ANY  |     /* Allocate memory anywhere             */
  2268.                     PAG_WRITE );   /* Allocate memory as read/writeable    */
  2269.  
  2270.    if (rc != NO_ERROR) {
  2271.       printf("DosAllocMem error:  return code = %u\n",rc);
  2272.       return 1;
  2273.    }
  2274.        /* Object can't be used until it is COMMITTED.  Since this was
  2275.           not done at DosAllocMem time, do it now.                    */
  2276.  
  2277.    rc = DosSetMem(MyObject,                    /* Pointer to object      */
  2278.                   ulObjSize,                   /* Size of area to change */
  2279.                   PAG_DEFAULT | PAG_COMMIT );  /* Commit the object      */
  2280.  
  2281.    if (rc != NO_ERROR) {
  2282.       printf("DosSetMem error:  return code = %u\n",rc);
  2283.       rc = DosFreeMem(MyObject);
  2284.       /* If omitted, OS/2 frees it at termination */
  2285.       return 1;
  2286.    } else { printf("DosSetMem: complete\n"); }
  2287.  
  2288.    strcpy(MyObject, "The memory object has just been used.");
  2289.  
  2290.               /* Check COMMIT status of the memory object. */
  2291.  
  2292.    ulMemSize = ulObjSize;
  2293.    rc = DosQueryMem(MyObject, &ulMemSize, &ulMemFlags);
  2294.    if (rc == NO_ERROR) {
  2295.       if (ulMemFlags & PAG_COMMIT) {
  2296.          printf("   Page containing MyObject is now committed.\n");
  2297.       } else {
  2298.          printf("Error: Page containing MyObject has not
  2299.                  been committed.\n");
  2300.       } /* endif */
  2301.    } else {
  2302.       printf("DosQueryMem error: return code = %u\n",rc);
  2303.    } /* endif */
  2304.  
  2305.    rc = DosFreeMem(MyObject);
  2306.    if (rc != NO_ERROR) {
  2307.       printf("DosFreeMem error: return code = %u\n",rc);
  2308.       return 1;
  2309.    }
  2310.  
  2311.    return NO_ERROR;
  2312. }
  2313.  
  2314.  
  2315. ΓòÉΓòÉΓòÉ <hidden> DosAllocMem - Topics ΓòÉΓòÉΓòÉ
  2316.  
  2317. Select an item: 
  2318.  
  2319. Syntax
  2320. Parameters
  2321. Returns
  2322. Remarks
  2323. Example Code
  2324. Related Functions
  2325.  
  2326.  
  2327. ΓòÉΓòÉΓòÉ 4.6. DosAllocSharedMem ΓòÉΓòÉΓòÉ
  2328.  
  2329.  
  2330. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem - Syntax ΓòÉΓòÉΓòÉ
  2331.  
  2332. Allocates a shared memory object within the virtual-address space. 
  2333.  
  2334.  
  2335. #define INCL_DOSMEMMGR
  2336. #include <os2.h>
  2337.  
  2338. PPVOID    ppb;      /*  A pointer to a variable that will receive the base address of the allocated range of pages. */
  2339. PSZ       pszName;  /*  An optional address of the name string associated with the shared memory object to be allocated. */
  2340. ULONG     cb;       /*  Size, in bytes, of the shared memory object to allocate. */
  2341. ULONG     flag;     /*  Allocation attribute and desired access protection flags. */
  2342. APIRET    ulrc;     /*  Return Code. */
  2343.  
  2344. ulrc = DosAllocSharedMem(ppb, pszName, cb,
  2345.          flag);
  2346.  
  2347.  
  2348. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem Parameter - ppb ΓòÉΓòÉΓòÉ
  2349.  
  2350.  ppb (PPVOID) - output 
  2351.     A pointer to a variable that will receive the base address of the allocated 
  2352.     range of pages. 
  2353.  
  2354.     OS/2 determines where to allocate the virtual address for the shared memory 
  2355.     object. 
  2356.  
  2357.  
  2358. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem Parameter - pszName ΓòÉΓòÉΓòÉ
  2359.  
  2360.  pszName (PSZ) - input 
  2361.     An optional address of the name string associated with the shared memory 
  2362.     object to be allocated. 
  2363.  
  2364.     The name is an ASCIIZ string in the format of an OS/2 file name, and is in 
  2365.     the subdirectory, \SHAREMEM\; for example, \SHAREMEM\PUBLIC.DAT. 
  2366.  
  2367.     To allocate unnamed shared memory, set this parameter to NULL. If you want 
  2368.     to use unnamed shared memory, the flag parameter must include either 
  2369.     OBJ_GETTABLE or OBJ_GIVEABLE. 
  2370.  
  2371.  
  2372. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem Parameter - cb ΓòÉΓòÉΓòÉ
  2373.  
  2374.  cb (ULONG) - input 
  2375.     Size, in bytes, of the shared memory object to allocate. 
  2376.  
  2377.     The size is rounded up to the next page-size boundary. The size of a page 
  2378.     is 4KB. 
  2379.  
  2380.  
  2381. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem Parameter - flag ΓòÉΓòÉΓòÉ
  2382.  
  2383.  flag (ULONG) - input 
  2384.     Allocation attribute and desired access protection flags. 
  2385.  
  2386.     A set of flags describing the allocation attributes and desired access 
  2387.     protection for the shared memory object. Possible values are shown in the 
  2388.     following lists: 
  2389.  
  2390.     Allocation Attributes 
  2391.  
  2392.     PAG_COMMIT (0x00000010) 
  2393.              All pages in the shared memory object are initially committed. 
  2394.  
  2395.     OBJ_GIVEABLE (0x00000200) 
  2396.              The access to the memory object can be given to another process 
  2397.              using the DosGiveSharedMem function. 
  2398.  
  2399.     OBJ_GETTABLE (0x00000100) 
  2400.              The memory object can be accessed by another process that knows 
  2401.              the address of the memory and calls the DosGetSharedMem function. 
  2402.  
  2403.     OBJ_TILE (0x00000040) 
  2404.              The shared memory object must be allocated in the first 512MB of 
  2405.              virtual-address space, with 16-bit selectors mapping the memory 
  2406.              object. 
  2407.  
  2408.     OBJ_ANY  (0x01000000) 
  2409.              The shared memory object may be allocated anywhere in the 
  2410.              virtual-address space.  16-bit programs will not be able to access 
  2411.              the memory object. 
  2412.  
  2413.     OBJ_TILE and OBJ_ANY are incompatable attributes and may not be specified 
  2414.     together. 
  2415.  
  2416.     OBJ_ANY indicates that the memory may be allocated anywhere in the 
  2417.     available virtual address space.  In OS/2 Warp Server for SMP, OBJ_ANY 
  2418.     memory allocations will first be attempted in the high memory area, which 
  2419.     is the area of the virtual address space above 512 MB.  If there is 
  2420.     insufficient memory to satisfy the request from the high memory area, the 
  2421.     memory will be allocated in the first 512 MB of the address space.  IBM 
  2422.     reserves the right to change this allocation strategy in future releases of 
  2423.     OS/2. 
  2424.  
  2425.     If a memory object is allocated in the high memory area above 512 MB, 
  2426.     16-bit programs will not be able to address or access the object. 
  2427.  
  2428.     Memory should be allocated with the OBJ_ANY attribute wherever possible, 
  2429.     since it provides the most efficient use of both the per-process address 
  2430.     space as well as the system-wide virtual memory resources.  It is intended 
  2431.     that an application would make infrequent requests for large blocks of 
  2432.     memory using DosAllocMem and then use DosSubSetMem along with 
  2433.     DosSubAllocMem and DosSubFreeMem to manage the memory. 
  2434.  
  2435.     The maximum amount of free space in the high memory area can be determined 
  2436.     from a program by using the DosQuerySysInfo function. 
  2437.  
  2438.     For OBJ_TILE memory objects, the 16-bit selectors are allocated to map the 
  2439.     32-bit object at 64KB boundaries. The figure in the description of the 
  2440.     Parameters for DosAllocMem shows how the 16-bit alias selectors map the 
  2441.     32-bit object. 
  2442.  
  2443.     Desired Access Protection 
  2444.  
  2445.     PAG_EXECUTE (0x00000004) 
  2446.              Execute access to the committed pages in the private memory object 
  2447.              is desired. 
  2448.  
  2449.     PAG_READ (0x00000001) 
  2450.              Read access is desired. 
  2451.  
  2452.     PAG_WRITE (0x00000002) 
  2453.              Write access is desired. 
  2454.  
  2455.     PAG_GUARD (0x00000008), 
  2456.              Access to the committed pages in the private memory object causes 
  2457.              a "guard page entered" condition to be raised in the subject 
  2458.              process. 
  2459.  
  2460.     At least one of the bits of PAG_READ, PAG_WRITE, or PAG_EXECUTE must be 
  2461.     set. 
  2462.  
  2463.  
  2464. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem Return Value - ulrc ΓòÉΓòÉΓòÉ
  2465.  
  2466.  ulrc (APIRET) - returns 
  2467.     Return Code. 
  2468.  
  2469.     DosAllocSharedMem returns one of the following values: 
  2470.  
  2471.     0              NO_ERROR 
  2472.     8              ERROR_NOT_ENOUGH_MEMORY 
  2473.     87             ERROR_INVALID_PARAMETER 
  2474.     95             ERROR_INTERRUPT 
  2475.     123            ERROR_INVALID_NAME 
  2476.     183            ERROR_ALREADY_EXISTS 
  2477.  
  2478.     For a full list of error codes, see Errors. 
  2479.  
  2480.  
  2481. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem - Parameters ΓòÉΓòÉΓòÉ
  2482.  
  2483.  ppb (PPVOID) - output 
  2484.     A pointer to a variable that will receive the base address of the allocated 
  2485.     range of pages. 
  2486.  
  2487.     OS/2 determines where to allocate the virtual address for the shared memory 
  2488.     object. 
  2489.  
  2490.  pszName (PSZ) - input 
  2491.     An optional address of the name string associated with the shared memory 
  2492.     object to be allocated. 
  2493.  
  2494.     The name is an ASCIIZ string in the format of an OS/2 file name, and is in 
  2495.     the subdirectory, \SHAREMEM\; for example, \SHAREMEM\PUBLIC.DAT. 
  2496.  
  2497.     To allocate unnamed shared memory, set this parameter to NULL. If you want 
  2498.     to use unnamed shared memory, the flag parameter must include either 
  2499.     OBJ_GETTABLE or OBJ_GIVEABLE. 
  2500.  
  2501.  cb (ULONG) - input 
  2502.     Size, in bytes, of the shared memory object to allocate. 
  2503.  
  2504.     The size is rounded up to the next page-size boundary. The size of a page 
  2505.     is 4KB. 
  2506.  
  2507.  flag (ULONG) - input 
  2508.     Allocation attribute and desired access protection flags. 
  2509.  
  2510.     A set of flags describing the allocation attributes and desired access 
  2511.     protection for the shared memory object. Possible values are shown in the 
  2512.     following lists: 
  2513.  
  2514.     Allocation Attributes 
  2515.  
  2516.     PAG_COMMIT (0x00000010) 
  2517.              All pages in the shared memory object are initially committed. 
  2518.  
  2519.     OBJ_GIVEABLE (0x00000200) 
  2520.              The access to the memory object can be given to another process 
  2521.              using the DosGiveSharedMem function. 
  2522.  
  2523.     OBJ_GETTABLE (0x00000100) 
  2524.              The memory object can be accessed by another process that knows 
  2525.              the address of the memory and calls the DosGetSharedMem function. 
  2526.  
  2527.     OBJ_TILE (0x00000040) 
  2528.              The shared memory object must be allocated in the first 512MB of 
  2529.              virtual-address space, with 16-bit selectors mapping the memory 
  2530.              object. 
  2531.  
  2532.     OBJ_ANY  (0x01000000) 
  2533.              The shared memory object may be allocated anywhere in the 
  2534.              virtual-address space.  16-bit programs will not be able to access 
  2535.              the memory object. 
  2536.  
  2537.     OBJ_TILE and OBJ_ANY are incompatable attributes and may not be specified 
  2538.     together. 
  2539.  
  2540.     OBJ_ANY indicates that the memory may be allocated anywhere in the 
  2541.     available virtual address space.  In OS/2 Warp Server for SMP, OBJ_ANY 
  2542.     memory allocations will first be attempted in the high memory area, which 
  2543.     is the area of the virtual address space above 512 MB.  If there is 
  2544.     insufficient memory to satisfy the request from the high memory area, the 
  2545.     memory will be allocated in the first 512 MB of the address space.  IBM 
  2546.     reserves the right to change this allocation strategy in future releases of 
  2547.     OS/2. 
  2548.  
  2549.     If a memory object is allocated in the high memory area above 512 MB, 
  2550.     16-bit programs will not be able to address or access the object. 
  2551.  
  2552.     Memory should be allocated with the OBJ_ANY attribute wherever possible, 
  2553.     since it provides the most efficient use of both the per-process address 
  2554.     space as well as the system-wide virtual memory resources.  It is intended 
  2555.     that an application would make infrequent requests for large blocks of 
  2556.     memory using DosAllocMem and then use DosSubSetMem along with 
  2557.     DosSubAllocMem and DosSubFreeMem to manage the memory. 
  2558.  
  2559.     The maximum amount of free space in the high memory area can be determined 
  2560.     from a program by using the DosQuerySysInfo function. 
  2561.  
  2562.     For OBJ_TILE memory objects, the 16-bit selectors are allocated to map the 
  2563.     32-bit object at 64KB boundaries. The figure in the description of the 
  2564.     Parameters for DosAllocMem shows how the 16-bit alias selectors map the 
  2565.     32-bit object. 
  2566.  
  2567.     Desired Access Protection 
  2568.  
  2569.     PAG_EXECUTE (0x00000004) 
  2570.              Execute access to the committed pages in the private memory object 
  2571.              is desired. 
  2572.  
  2573.     PAG_READ (0x00000001) 
  2574.              Read access is desired. 
  2575.  
  2576.     PAG_WRITE (0x00000002) 
  2577.              Write access is desired. 
  2578.  
  2579.     PAG_GUARD (0x00000008), 
  2580.              Access to the committed pages in the private memory object causes 
  2581.              a "guard page entered" condition to be raised in the subject 
  2582.              process. 
  2583.  
  2584.     At least one of the bits of PAG_READ, PAG_WRITE, or PAG_EXECUTE must be 
  2585.     set. 
  2586.  
  2587.  ulrc (APIRET) - returns 
  2588.     Return Code. 
  2589.  
  2590.     DosAllocSharedMem returns one of the following values: 
  2591.  
  2592.     0              NO_ERROR 
  2593.     8              ERROR_NOT_ENOUGH_MEMORY 
  2594.     87             ERROR_INVALID_PARAMETER 
  2595.     95             ERROR_INTERRUPT 
  2596.     123            ERROR_INVALID_NAME 
  2597.     183            ERROR_ALREADY_EXISTS 
  2598.  
  2599.     For a full list of error codes, see Errors. 
  2600.  
  2601.  
  2602. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem - Remarks ΓòÉΓòÉΓòÉ
  2603.  
  2604. DosAllocSharedMem allocates a shared memory object within the virtual-address 
  2605. space. 
  2606.  
  2607. Allocating a shared memory object causes the creation of an object that 
  2608. describes a region of memory that can be shared. The virtual-address space in 
  2609. the calling process is allocated and mapped to the shared memory object. 
  2610.  
  2611. The virtual-address space for a shared memory object is reserved at the same 
  2612. location in the virtual address space of every process. This allows any process 
  2613. to gain access to the shared object at the same virtual address where it was 
  2614. originally allocated. 
  2615.  
  2616. When the shared memory object is given a name, the shared memory object can be 
  2617. shared by other processes that gain access through the shared memory name (see 
  2618. DosGetNamedSharedMem). 
  2619.  
  2620. To specify the name for the shared memory object, the name string provided must 
  2621. include the prefix "\SHAREMEM\". 
  2622.  
  2623. It is an error to request giveable or gettable named shared memory. 
  2624.  
  2625. To allocate unnamed shared memory, set the pszName parameter to NULL. 
  2626.  
  2627. If the shared memory object is unnamed, it may be specified as giveable 
  2628. (OBJ_GIVEABLE) or gettable (OBJ_GETTABLE). Unnamed shared memory may be shared 
  2629. by all processes that get access to the shared memory object (see 
  2630. DosGetSharedMem), or are given access to the shared memory object (see 
  2631. DosGiveSharedMem). 
  2632.  
  2633. It is an error to request non-giveable or non-gettable unnamed shared memory. 
  2634.  
  2635. The allocated memory object is rounded up to a multiple of 4KB in size. 
  2636.  
  2637. The committed memory allocated by DosAllocSharedMem is movable and can be 
  2638. swapped. 
  2639.  
  2640. With the Intel 80386 processor, execute and read access are equivalent. Also, 
  2641. write access implies both read and execute access. 
  2642.  
  2643. The tiled allocation attribute is provided for compatibility with the existing 
  2644. 16-bit implementation of the operating system. If the shared memory object is 
  2645. tiled, the virtual address for the shared memory object will be within the 
  2646. first 512MB of the virtual address space, with 16-bit selectors mapping the 
  2647. memory object. 
  2648.  
  2649.  
  2650. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem - Related Functions ΓòÉΓòÉΓòÉ
  2651.  
  2652. Related Functions 
  2653.  
  2654.      DosAllocMem 
  2655.      DosFreeMem 
  2656.      DosGetNamedSharedMem 
  2657.      DosGetSharedMem 
  2658.      DosGiveSharedMem 
  2659.  
  2660.  
  2661. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem - Example Code ΓòÉΓòÉΓòÉ
  2662.  
  2663. This example allocates named shared memory as Read/Write, and commits it during 
  2664. allocation. It also writes to it, and show how other processes can access it. 
  2665.  
  2666. #define INCL_DOSMEMMGR   /* Include DOS Memory Management APIs */
  2667. #define INCL_DOSERRORS   /* DOS error values                   */
  2668. #include <os2.h>
  2669. #include <stdio.h>
  2670. #include <string.h>
  2671.  
  2672. int main (VOID)
  2673. {
  2674.    PVOID  pvShrObject = NULL;      /* Pointer to shared memory object      */
  2675.    PSZ    pszMemName  = "\\SHAREMEM\\MYTOOL\\APPLICAT.DAT"; /* Object name */
  2676.    PVOID  pvAltObject = NULL;      /* Alternate pointer to shared memory   */
  2677.    APIRET rc          = NO_ERROR;  /* Return code                          */
  2678.    ULONG  ulObjSize   = 1024;   /* Size (system rounds to 4096 - page bdy) */
  2679.  
  2680.    rc = DosAllocSharedMem(&pvShrObject,   /* Pointer to object pointer     */
  2681.                           pszMemName,     /* Name for shared memory        */
  2682.                           ulObjSize,      /* Desired size of object        */
  2683.                           PAG_COMMIT |    /* Commit memory                 */
  2684.                           PAG_WRITE );    /* Allocate memory as read/write */
  2685.    if (rc != NO_ERROR) {
  2686.       printf("DosAllocSharedMem error:  return code = %u\n",rc);
  2687.       return 1;
  2688.    }
  2689.  
  2690.    strcpy(pvShrObject, "Write your shared application data here.");
  2691.  
  2692.       /* Get the address of the shared memory and reference it that way.
  2693.          (Done for illustrative purposes only, this is how another process
  2694.          would go about accessing the named shared memory.)            */
  2695.  
  2696.    rc = DosGetNamedSharedMem(&pvAltObject,  /* Pointer to pointer of object */
  2697.                              pszMemName,    /* Name of shared memory        */
  2698.                              PAG_READ);     /* Want read-only access        */
  2699.    if (rc != NO_ERROR) {
  2700.       printf("DosGetNamedSharedMem error:  return code = %u\n",rc);
  2701.       return 1;
  2702.    }
  2703.  
  2704.    printf("Shared data read was \"%s\"\n",pvAltObject);
  2705.  
  2706.    rc = DosFreeMem(pvShrObject);
  2707.    if (rc != NO_ERROR) {
  2708.       printf("DosFreeMem error:  return code = %u\n",rc);
  2709.       return 1;
  2710.    }
  2711.  
  2712.    return NO_ERROR;
  2713. }
  2714.  
  2715.  
  2716. ΓòÉΓòÉΓòÉ <hidden> DosAllocSharedMem - Topics ΓòÉΓòÉΓòÉ
  2717.  
  2718. Select an item: 
  2719.  
  2720. Syntax
  2721. Parameters
  2722. Returns
  2723. Remarks
  2724. Example Code
  2725. Related Functions
  2726.  
  2727.  
  2728. ΓòÉΓòÉΓòÉ 4.7. DosQuerySysInfo ΓòÉΓòÉΓòÉ
  2729.  
  2730.  
  2731. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Syntax ΓòÉΓòÉΓòÉ
  2732.  
  2733. Returns values of static system variables. 
  2734.  
  2735.  
  2736. #define INCL_DOSMISC
  2737. #include <os2.h>
  2738.  
  2739. ULONG     iStart;  /*  Ordinal of the first system variable to return. */
  2740. ULONG     iLast;   /*  Ordinal of the last system variable to return. */
  2741. PVOID     pBuf;    /*  Address of the data buffer where the system returns the variable values. */
  2742. ULONG     cbBuf;   /*  Length, in bytes, of the data buffer. */
  2743. APIRET    ulrc;    /*  Return Code. */
  2744.  
  2745. ulrc = DosQuerySysInfo(iStart, iLast, pBuf,
  2746.          cbBuf);
  2747.  
  2748.  
  2749. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo Parameter - iStart ΓòÉΓòÉΓòÉ
  2750.  
  2751.  iStart (ULONG) - input 
  2752.     Ordinal of the first system variable to return. 
  2753.  
  2754.  
  2755. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo Parameter - iLast ΓòÉΓòÉΓòÉ
  2756.  
  2757.  iLast (ULONG) - input 
  2758.     Ordinal of the last system variable to return. 
  2759.  
  2760.  
  2761. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo Parameter - pBuf ΓòÉΓòÉΓòÉ
  2762.  
  2763.  pBuf (PVOID) - output 
  2764.     Address of the data buffer where the system returns the variable values. 
  2765.  
  2766.  
  2767. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo Parameter - cbBuf ΓòÉΓòÉΓòÉ
  2768.  
  2769.  cbBuf (ULONG) - input 
  2770.     Length, in bytes, of the data buffer. 
  2771.  
  2772.  
  2773. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo Return Value - ulrc ΓòÉΓòÉΓòÉ
  2774.  
  2775.  ulrc (APIRET) - returns 
  2776.     Return Code. 
  2777.  
  2778.     DosQuerySysInfo returns one of the following values: 
  2779.  
  2780.     0              NO_ERROR 
  2781.     87             ERROR_INVALID_PARAMETER 
  2782.     111            ERROR_BUFFER_OVERFLOW 
  2783.  
  2784.     For a full list of error codes, see Errors. 
  2785.  
  2786.  
  2787. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Parameters ΓòÉΓòÉΓòÉ
  2788.  
  2789.  iStart (ULONG) - input 
  2790.     Ordinal of the first system variable to return. 
  2791.  
  2792.  iLast (ULONG) - input 
  2793.     Ordinal of the last system variable to return. 
  2794.  
  2795.  pBuf (PVOID) - output 
  2796.     Address of the data buffer where the system returns the variable values. 
  2797.  
  2798.  cbBuf (ULONG) - input 
  2799.     Length, in bytes, of the data buffer. 
  2800.  
  2801.  ulrc (APIRET) - returns 
  2802.     Return Code. 
  2803.  
  2804.     DosQuerySysInfo returns one of the following values: 
  2805.  
  2806.     0              NO_ERROR 
  2807.     87             ERROR_INVALID_PARAMETER 
  2808.     111            ERROR_BUFFER_OVERFLOW 
  2809.  
  2810.     For a full list of error codes, see Errors. 
  2811.  
  2812.  
  2813. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Remarks ΓòÉΓòÉΓòÉ
  2814.  
  2815. DosQuerySysInfo returns a single system variable or a range of system variables 
  2816. to a user-allocated buffer. To request a single system variable, set iStart 
  2817. equal to iLast. To request a range of system variables, set iStart less than 
  2818. iLast. 
  2819.  
  2820. Each system variable is a ULONG value. The following list gives the ordinal 
  2821. index, name, and description of the system variables. 
  2822.  
  2823.  1   QSV_MAX_PATH_LENGTH 
  2824.      Maximum length, in bytes, of a path name. 
  2825.  
  2826.  2   QSV_MAX_TEXT_SESSIONS 
  2827.      Maximum number of text sessions. 
  2828.  
  2829.  3   QSV_MAX_PM_SESSIONS 
  2830.      Maximum number of PM sessions. 
  2831.  
  2832.  4   QSV_MAX_VDM_SESSIONS 
  2833.      Maximum number of DOS sessions. 
  2834.  
  2835.  5   QSV_BOOT_DRIVE 
  2836.      Drive from which the system was started (1 means drive A, 2 means drive B, 
  2837.      and so on). 
  2838.  
  2839.  6   QSV_DYN_PRI_VARIATION 
  2840.      Dynamic priority variation flag (0 means absolute priority, 1 means 
  2841.      dynamic priority). 
  2842.  
  2843.  7   QSV_MAX_WAIT 
  2844.      Maximum wait in seconds. 
  2845.  
  2846.  8   QSV_MIN_SLICE 
  2847.      Minimum time slice in milliseconds. 
  2848.  
  2849.  9   QSV_MAX_SLICE 
  2850.      Maximum time slice in milliseconds. 
  2851.  
  2852.  10  QSV_PAGE_SIZE 
  2853.      Memory page size in bytes. This value is 4096 for the 80386 processor. 
  2854.  
  2855.  11  QSV_VERSION_MAJOR 
  2856.      Major version number (see note below). 
  2857.  
  2858.  12  QSV_VERSION_MINOR 
  2859.      Minor version number (see note below). 
  2860.  
  2861.  13  QSV_VERSION_REVISION 
  2862.      Revision number (see note below). 
  2863.  
  2864.  14  QSV_MS_COUNT 
  2865.      Value of a 32-bit, free-running millisecond counter. This value is zero 
  2866.      when the system is started. 
  2867.  
  2868.  15  QSV_TIME_LOW 
  2869.      Low-order 32 bits of the time in seconds since January 1, 1970 at 0:00:00. 
  2870.  
  2871.  16  QSV_TIME_HIGH 
  2872.      High-order 32 bits of the time in seconds since January 1, 1970 at 
  2873.      0:00:00. 
  2874.  
  2875.  17  QSV_TOTPHYSMEM 
  2876.      Total number of bytes of physical memory in the system. 
  2877.  
  2878.  18  QSV_TOTRESMEM 
  2879.      Total number of bytes of resident memory in the system. 
  2880.  
  2881.  19  QSV_TOTAVAILMEM 
  2882.      Maximum number of bytes of memory that can be allocated by all processes 
  2883.      in the system. This number is advisory and is not guaranteed, since system 
  2884.      conditions change constantly. 
  2885.  
  2886.  20  QSV_MAXPRMEM 
  2887.      Maximum number of bytes of memory that this process can allocate in its 
  2888.      private arena. This number is advisory and is not guaranteed, since system 
  2889.      conditions change constantly. 
  2890.  
  2891.  21  QSV_MAXSHMEM 
  2892.      Maximum number of bytes of memory that a process can allocate in the 
  2893.      shared arena. This number is advisory and is not guaranteed, since system 
  2894.      conditions change constantly. 
  2895.  
  2896.  22  QSV_TIMER_INTERVAL 
  2897.      Timer interval in tenths of a millisecond. 
  2898.  
  2899.  23  QSV_MAX_COMP_LENGTH 
  2900.      Maximum length, in bytes, of one component in a path name. 
  2901.  
  2902.  24  QSV_FOREGROUND_FS_SESSION 
  2903.      Session ID of the current foreground full-screen session. Note that this 
  2904.      only applies to full-screen sessions. The Presentation Manager session 
  2905.      (which displays Vio-windowed, PM, and windowed DOS Sessions) is 
  2906.      full-screen session ID 1. 
  2907.  
  2908.  25  QSV_FOREGROUND_PROCESS 
  2909.      Process ID of the current foreground process. 
  2910.  
  2911.  26  QSV_NUMPROCESSORS 
  2912.      Number of processors in the machine. 
  2913.  
  2914.  27  QSV_MAXHPRMEM 
  2915.      Maximum amount of free space in the high private arena for this process. 
  2916.      This number does not indicate the largest single memory object that can be 
  2917.      allocated, since the arena is probably fragmented. 
  2918.  
  2919.  28  QSV_MAXHSHMEM 
  2920.      Maximum amount of free space in the high shared arena for this process. 
  2921.      This number does not indicate the largest single memory object that can be 
  2922.      allocated, since the arena is probably fragmented. 
  2923.  
  2924.  29  QSV_MAXPROCESSES 
  2925.      Maximum number of concurrent processes supported. 
  2926.  
  2927.  30  QSV_VIRTUALADDRESSLIMIT 
  2928.      Size of the user's address space in MB. 
  2929.  
  2930.  Note:  Major, minor and revision numbers for versions of OS/2 operating system 
  2931.  are described below: 
  2932.  
  2933.   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  2934.   Γöé          ΓöéMajor     ΓöéMinor     ΓöéRevision  Γöé
  2935.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2936.   ΓöéOS/2 2.0  Γöé20        Γöé00        Γöé0         Γöé
  2937.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2938.   ΓöéOS/2 2.1  Γöé20        Γöé10        Γöé0         Γöé
  2939.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2940.   ΓöéOS/2 2.11 Γöé20        Γöé11        Γöé0         Γöé
  2941.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2942.   ΓöéOS/2 3.0  Γöé20        Γöé30        Γöé0         Γöé
  2943.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  2944.   ΓöéOS/2 4.0  Γöé20        Γöé40        Γöé0         Γöé
  2945.   ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  2946.  
  2947.  An application can specify file objects managed by an installable file system 
  2948.  that supports long file names.  Because some installable file systems support 
  2949.  longer names than others, the application should issue DosQuerySysInfo upon 
  2950.  initialization. 
  2951.  
  2952.  DosQuerySysInfo returns the maximum path length (QSV_MAX_PATH_LENGTH) 
  2953.  supported by the installed file system. The path length includes the drive 
  2954.  specifier (d:), the leading backslash ( \ ), and the trailing null character. 
  2955.  The value returned by DosQuerySysInfo can be used to allocate buffers for path 
  2956.  names returned by other functions. 
  2957.  
  2958.  Since memory usage in the system changes constantly, the values returned by 
  2959.  QSV_MAXHPRMEM and QSV_MAXHSMMEM should only be used as an indication of 
  2960.  current memory usage. 
  2961.  
  2962.  
  2963. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Related Functions ΓòÉΓòÉΓòÉ
  2964.  
  2965. Related Functions 
  2966.  
  2967.      DosOpen 
  2968.      DosSetFSInfo 
  2969.  
  2970.  
  2971. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Example Code ΓòÉΓòÉΓòÉ
  2972.  
  2973. This example queries and displays the maximum length for a path name and the 
  2974. total amount of physical memory in bytes. 
  2975.  
  2976. #define INCL_DOSMISC       /* DOS Miscellaneous values */
  2977. #define INCL_DOSERRORS     /* DOS Error values         */
  2978. #include <os2.h>
  2979. #include <stdio.h>
  2980.  
  2981. int main(VOID)  {
  2982.  
  2983.   ULONG   aulSysInfo[QSV_MAX] = {0};       /* System Information Data Buffer */
  2984.   APIRET  rc                  = NO_ERROR;  /* Return code                    */
  2985.  
  2986.   rc = DosQuerySysInfo(1L,                 /* Request all available system   */
  2987.                        QSV_MAX,            /* information                    */
  2988.                        (PVOID)aulSysInfo,
  2989.                        sizeof(ULONG)*QSV_MAX);
  2990.  
  2991.   if (rc != NO_ERROR) {
  2992.      printf("DosQuerySysInfo error: return code = %u\n", rc);
  2993.      return 1;
  2994.   } else {
  2995.      printf("Maximum length for a path name is %u characters.\n",
  2996.              aulSysInfo[QSV_MAX_PATH_LENGTH-1]);  /* Max length of path name */
  2997.  
  2998.      printf("Total physical memory is %u bytes.\n",
  2999.              aulSysInfo[QSV_TOTPHYSMEM-1]);       /* Total physical memory   */
  3000.   } /* endif */
  3001.  
  3002.    return NO_ERROR;
  3003. }
  3004.  
  3005.  
  3006. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Topics ΓòÉΓòÉΓòÉ
  3007.  
  3008. Select an item: 
  3009.  
  3010. Syntax
  3011. Parameters
  3012. Returns
  3013. Remarks
  3014. Example Code
  3015. Related Functions
  3016.  
  3017.  
  3018. ΓòÉΓòÉΓòÉ 5. Raw File System ΓòÉΓòÉΓòÉ
  3019.  
  3020. The OS/2 Raw File System provides an interface for applications to efficiently 
  3021. manage data on the logical partitions or physical hard drives installed in a 
  3022. system.  Some of the Raw File System function is available by using a 
  3023. combination of the DosPhysicalDisk and DosDevIOCtl functions.  However, the Raw 
  3024. File System provides a significant step forward in usability and performance. 
  3025.  
  3026. The Raw File System provides a programming abstraction that treats each logical 
  3027. partition or physical disk as one large file that can be opened, locked, 
  3028. seeked, read from, written to, and closed. 
  3029.  
  3030. Logical partitions are identified using the Universal Naming Convention (UNC) 
  3031. in the form of 
  3032.  
  3033. \\.\X:
  3034.  
  3035. where X can be substituted with the letter corresponding the logical partition 
  3036. desired on any hard drive, floppy disk or CD-ROM drive. 
  3037.  
  3038. Physical disks are identified using a UNC name in the form of 
  3039.  
  3040. \\.\Physical_Disk#
  3041.  
  3042. where #  is replaced with the physical disk number corresponding to the number 
  3043. found in the FDISK utility.  The Raw File System recognizes up to 128 physical 
  3044. disks, thus eliminating the limit of 26 drives in previous versions of OS/2. 
  3045.  
  3046. The use of the universal naming convention coupled with the ability to access 
  3047. any physical or logical drive using the common file system functions in OS/2, 
  3048. provides a greatly simplified migration path for applications. 
  3049.  
  3050. Traditionally, raw file systems have been utilized by applications that manage 
  3051. large amounts of data under heavy workloads.  Typically, this has been 
  3052. commercial database servers performing on-line transaction processing.  Disk 
  3053. I/O can become a bottleneck under these conditions and the use of an efficient 
  3054. raw file system can be very useful in improving system performance, through 
  3055. reduced path length and serialization.  The chapter describes the Raw File 
  3056. System functions in detail. 
  3057.  
  3058.  
  3059. ΓòÉΓòÉΓòÉ 5.1. Programming Recommendations ΓòÉΓòÉΓòÉ
  3060.  
  3061. As an aid to those who wish to develop using the Raw File System, here are a 
  3062. few recommendations based on the implementation that will help make the most of 
  3063. your efforts. 
  3064.  
  3065. Note:  Be careful when using the Raw File System!  While it can be very useful 
  3066.        and powerful, it will not stop you from destroying the data on your 
  3067.        disks if you are not careful. 
  3068.  
  3069.  Physical vs. Logical Disks 
  3070.            Physical disk refers to the actual hard disk drives installed in the 
  3071.            system.  The Raw File System supports up to 128 installed physical 
  3072.            disks.  Logical disks refers to partitions located on the physical 
  3073.            disks, including floppy and CD-ROM drives, that have been formatted 
  3074.            for a specific file system, such as FAT or HPFS.  OS/2 is limited to 
  3075.            26 such partitions, the first two of which are reserved for floppy 
  3076.            drives. 
  3077.  
  3078.  Physical Disk Numbering 
  3079.            Physical disk numbers directly correspond with the number assigned 
  3080.            using the FDISK utility program. 
  3081.  
  3082.  Physical Disk Formatting 
  3083.            When using the Raw File System to manage data on a physical disk, 
  3084.            the disk should not be formatted for use by another file system. 
  3085.            The FDISK utility will show the disk as unformatted. 
  3086.  
  3087.  Drive Locking 
  3088.            To make a physical disk accessible only by the current process, use 
  3089.            the OPEN_SHARE_DENYREADWRITE flag on the DosOpen call.  The lock 
  3090.            will automatically be released when DosClose is called. 
  3091.  
  3092.            In order to lock a logical partition, a call to DosDevIOCtl with 
  3093.            category 8, function DSK_LOCKDRIVE must called.  This must be done 
  3094.            before any reads or writes can succeed.  Upon completion, 
  3095.            DosDevIOCtl with category 8, function DSK_UNLOCKDRIVE must be called 
  3096.            before DosClose in order to unlock the disk. 
  3097.  
  3098.  Memory Buffer Sizes 
  3099.            The Raw File System supports large memory buffers for reading and 
  3100.            writing.  For best performance, keep your memory buffers less than 
  3101.            64KB in size.  Buffers larger than this are broken up into multiple 
  3102.            requests in order not to overload the system buffers. 
  3103.  
  3104.  Aligned Memory Buffers 
  3105.            The Raw File System is implemented with performance critical 
  3106.            applications in mind.  Implementation details dictate that memory 
  3107.            buffers used for I/O should begin on page boundaries in order to 
  3108.            achieve maximum performance.  Unaligned memory buffers will result 
  3109.            in poorer performance.  See the example code in the DosListIO 
  3110.            function to see how to align a buffer. 
  3111.  
  3112.  DosListIO Function 
  3113.            The DosListIO function should be used when multiple reads and writes 
  3114.            are necessary.  This will greatly reduce the number of instructions 
  3115.            needed to perform the I/O operations and as a result help minimize 
  3116.            utilization of system resources.  This is most beneficial under 
  3117.            heavy workloads. 
  3118.  
  3119.  Disks Larger than 2 GB 
  3120.            The Raw File System supports physical disks up to 1 TB (terabyte) in 
  3121.            size.  To allow easier addressing of such large disks, a new mode 
  3122.            bit, FILE_SECTOR, has been added to DosSetFilePtr and DosListIO 
  3123.            which allows offsets to be specified in sectors rather than bytes. 
  3124.  
  3125.  For Maximum Performance... 
  3126.            To achieve maximum performance using the Raw File System, the 
  3127.            application should use the DosListIO function with page aligned 
  3128.            memory buffers less than 64 KB in size directed to data on physical 
  3129.            drives. 
  3130.  
  3131.  
  3132. ΓòÉΓòÉΓòÉ 5.2. DosClose ΓòÉΓòÉΓòÉ
  3133.  
  3134.  
  3135. ΓòÉΓòÉΓòÉ <hidden> DosClose - Syntax ΓòÉΓòÉΓòÉ
  3136.  
  3137. Closes a handle to a file, pipe, or device. 
  3138.  
  3139.  
  3140. #define INCL_DOSFILEMGR
  3141. #include <os2.h>
  3142.  
  3143. HFILE     hFile;  /*  The handle returned by a previous call to DosCreateNPipe, DosCreatePipe, DosDupHandle, or DosOpen. */
  3144. APIRET    ulrc;   /*  Return Code. */
  3145.  
  3146. ulrc = DosClose(hFile);
  3147.  
  3148.  
  3149. ΓòÉΓòÉΓòÉ <hidden> DosClose Parameter - hFile ΓòÉΓòÉΓòÉ
  3150.  
  3151.  hFile (HFILE) - input 
  3152.     The handle returned by a previous call to DosCreateNPipe, DosCreatePipe, 
  3153.     DosDupHandle, or DosOpen. 
  3154.  
  3155.  
  3156. ΓòÉΓòÉΓòÉ <hidden> DosClose Return Value - ulrc ΓòÉΓòÉΓòÉ
  3157.  
  3158.  ulrc (APIRET) - returns 
  3159.     Return Code. 
  3160.  
  3161.     DosClose returns one of the following values: 
  3162.  
  3163.     0              NO_ERROR 
  3164.     2              ERROR_FILE_NOT_FOUND 
  3165.     5              ERROR_ACCESS_DENIED 
  3166.     6              ERROR_INVALID_HANDLE 
  3167.  
  3168.     For a full list of error codes, see Errors. 
  3169.  
  3170.  
  3171. ΓòÉΓòÉΓòÉ <hidden> DosClose - Parameters ΓòÉΓòÉΓòÉ
  3172.  
  3173.  hFile (HFILE) - input 
  3174.     The handle returned by a previous call to DosCreateNPipe, DosCreatePipe, 
  3175.     DosDupHandle, or DosOpen. 
  3176.  
  3177.  ulrc (APIRET) - returns 
  3178.     Return Code. 
  3179.  
  3180.     DosClose returns one of the following values: 
  3181.  
  3182.     0              NO_ERROR 
  3183.     2              ERROR_FILE_NOT_FOUND 
  3184.     5              ERROR_ACCESS_DENIED 
  3185.     6              ERROR_INVALID_HANDLE 
  3186.  
  3187.     For a full list of error codes, see Errors. 
  3188.  
  3189.  
  3190. ΓòÉΓòÉΓòÉ <hidden> DosClose - Remarks ΓòÉΓòÉΓòÉ
  3191.  
  3192. Issuing DosClose with the handle to a file closes a handle to a file, pipe, or 
  3193. device. 
  3194.  
  3195. If additional handles to a file were created with DosDupHandle, DosClose must 
  3196. be issued for the duplicate handles before the directory is updated, and 
  3197. information in internal buffers is written to the medium. 
  3198.  
  3199. Closing a device handle causes the device to be notified of the close, if 
  3200. appropriate. 
  3201.  
  3202. Named-Pipe Considerations 
  3203.  
  3204. DosClose closes a named pipe by handle.  When all handles that refer to one end 
  3205. of a pipe are closed, the pipe is considered broken. 
  3206.  
  3207. If the client end closes, no other process can reopen the pipe until the 
  3208. serving end issues DosDisConnectNPipe, followed by DosConnectNPipe. 
  3209.  
  3210. If the server end closes when the pipe is already broken, the pipe is 
  3211. immediately deallocated; otherwise, it is not deallocated until the last client 
  3212. handle is closed. 
  3213.  
  3214.  
  3215. ΓòÉΓòÉΓòÉ <hidden> DosClose - Related Functions ΓòÉΓòÉΓòÉ
  3216.  
  3217. Related Functions 
  3218.  
  3219.      DosConnectNPipe 
  3220.      DosCreateNPipe 
  3221.      DosDisConnectNPipe 
  3222.      DosDupHandle 
  3223.      DosOpen 
  3224.      DosResetBuffer 
  3225.  
  3226.  
  3227. ΓòÉΓòÉΓòÉ <hidden> DosClose - Example Code ΓòÉΓòÉΓòÉ
  3228.  
  3229. This example opens, or creates and opens, a file named "DOSTEST.DAT", writes to 
  3230. it, reads from it, and finally closes it. 
  3231.  
  3232. #define INCL_DOSFILEMGR          /* File Manager values */
  3233. #define INCL_DOSERRORS           /* DOS Error values    */
  3234. #include <os2.h>
  3235. #include <stdio.h>
  3236. #include <string.h>
  3237.  
  3238. int main(void) {
  3239.    HFILE  hfFileHandle   = 0L;  /* Handle for file being manipulated */
  3240.    ULONG  ulAction       = 0;   /* Action taken by DosOpen */
  3241.    ULONG  ulBytesRead    = 0;   /* Number of bytes read by DosRead */
  3242.    ULONG  ulWrote        = 0;   /* Number of bytes written by DosWrite */
  3243.    ULONG  ulLocal        = 0;   /* File pointer position after DosSetFilePtr */
  3244.    UCHAR  uchFileName[20]  = "dostest.dat",  /* Name of file */
  3245.           uchFileData[100] = " ";            /* Data to write to file */
  3246.    APIRET rc             = NO_ERROR;         /* Return code */
  3247.  
  3248.    /* Open the file dostest.dat. Use an existing file or create a new */
  3249.    /* one if it doesn't exist.                                      */
  3250.    rc = DosOpen(uchFileName,                    /* File path name */
  3251.                 &hfFileHandle,                  /* File handle */
  3252.                 &ulAction,                      /* Action taken */
  3253.                 100L,                           /* File primary allocation */
  3254.                 FILE_ARCHIVED | FILE_NORMAL,    /* File attribute */
  3255.                 OPEN_ACTION_CREATE_IF_NEW |
  3256.                 OPEN_ACTION_OPEN_IF_EXISTS,     /* Open function type */
  3257.                 OPEN_FLAGS_NOINHERIT |
  3258.                 OPEN_SHARE_DENYNONE  |
  3259.                 OPEN_ACCESS_READWRITE,          /* Open mode of the file */
  3260.                 0L);                            /* No extended attribute */
  3261.  
  3262.    if (rc != NO_ERROR) {
  3263.       printf("DosOpen error: return code = %u\n", rc);
  3264.       return 1;
  3265.    } else {
  3266.      printf ("DosOpen: Action taken = %ld\n", ulAction);
  3267.    } /* endif */
  3268.  
  3269.    /* Write a string to the file */
  3270.    strcpy (uchFileData, "testing...\n1...\n2...\n3\n");
  3271.    rc = DosWrite (hfFileHandle,              /* File handle */
  3272.                   (PVOID) uchFileData,       /* String to be written */
  3273.                   sizeof (uchFileData),      /* Size of string to be written */
  3274.                   &ulWrote);                 /* Bytes actually written */
  3275.  
  3276.    if (rc != NO_ERROR) {
  3277.       printf("DosWrite error: return code = %u\n", rc);
  3278.       return 1;
  3279.    } else {
  3280.       printf ("DosWrite: Bytes written = %u\n", ulWrote);
  3281.    } /* endif */
  3282.  
  3283.    /* Move the file pointer back to the beginning of the file */
  3284.    rc = DosSetFilePtr (hfFileHandle,           /* File Handle */
  3285.                        0L,                     /* Offset */
  3286.                        FILE_BEGIN,             /* Move from BOF */
  3287.                        &ulLocal);              /* New location address */
  3288.    if (rc != NO_ERROR) {
  3289.       printf("DosSetFilePtr error: return code = %u\n", rc);
  3290.       return 1;
  3291.    }
  3292.  
  3293.    /* Read the first 100 bytes of the file */
  3294.    rc = DosRead (hfFileHandle,                /* File Handle */
  3295.                  uchFileData,                 /* String to be read */
  3296.                  100L,                        /* Length of string to be read */
  3297.                  &ulBytesRead);               /* Bytes actually read */
  3298.  
  3299.    if (rc != NO_ERROR) {
  3300.       printf("DosRead error: return code = %u\n", rc);
  3301.       return 1;
  3302.    } else {
  3303.       printf ("DosRead: Bytes read = %u\n%s\n", ulBytesRead, uchFileData);
  3304.    } /* endif */
  3305.  
  3306.    rc = DosClose(hfFileHandle);                /* Close the file */
  3307.  
  3308.    if (rc != NO_ERROR) {
  3309.       printf("DosClose error: return code = %u\n", rc);
  3310.       return 1;
  3311.    }
  3312.    return NO_ERROR;
  3313. }
  3314.  
  3315.  
  3316. ΓòÉΓòÉΓòÉ <hidden> DosClose - Topics ΓòÉΓòÉΓòÉ
  3317.  
  3318. Select an item: 
  3319.  
  3320. Syntax
  3321. Parameters
  3322. Returns
  3323. Remarks
  3324. Example Code
  3325. Related Functions
  3326.  
  3327.  
  3328. ΓòÉΓòÉΓòÉ 5.3. DosDevIOCtl ΓòÉΓòÉΓòÉ
  3329.  
  3330.  
  3331. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl - Syntax ΓòÉΓòÉΓòÉ
  3332.  
  3333. Performs control functions on a device specified by an opened device handle. 
  3334.  
  3335.  
  3336. #define INCL_DOSDEVICES
  3337. #define INCL_DOSDEVIOCTL
  3338. #include <os2.h>
  3339.  
  3340. HFILE     hDevice;       /*  Device handle returned by DosOpen, or a standard (open) device handle. */
  3341. ULONG     category;      /*  Device category. */
  3342. ULONG     function;      /*  Device-specific function code. */
  3343. PVOID     pParams;       /*  Address of the command-specific argument list. */
  3344. ULONG     cbParmLenMax;  /*  Length, in bytes, of pParams. */
  3345. PULONG    pcbParmLen;    /*  Pointer to the length of parameters. */
  3346. PVOID     pData;         /*  Address of the data area. */
  3347. ULONG     cbDataLenMax;  /*  Length, in bytes, of pData. */
  3348. PULONG    pcbDataLen;    /*  Pointer to the length of data. */
  3349. APIRET    ulrc;          /*  Return Code. */
  3350.  
  3351. ulrc = DosDevIOCtl(hDevice, category, function,
  3352.          pParams, cbParmLenMax, pcbParmLen,
  3353.          pData, cbDataLenMax, pcbDataLen);
  3354.  
  3355.  
  3356. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl Parameter - hDevice ΓòÉΓòÉΓòÉ
  3357.  
  3358.  hDevice (HFILE) - input 
  3359.     Device handle returned by DosOpen, or a standard (open) device handle. 
  3360.  
  3361.  
  3362. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl Parameter - category ΓòÉΓòÉΓòÉ
  3363.  
  3364.  category (ULONG) - input 
  3365.     Device category. 
  3366.  
  3367.     The valid range is 0 to 255. 
  3368.  
  3369.  
  3370. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl Parameter - function ΓòÉΓòÉΓòÉ
  3371.  
  3372.  function (ULONG) - input 
  3373.     Device-specific function code. 
  3374.  
  3375.     The valid range is 0 to 255. 
  3376.  
  3377.  
  3378. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl Parameter - pParams ΓòÉΓòÉΓòÉ
  3379.  
  3380.  pParams (PVOID) - input 
  3381.     Address of the command-specific argument list. 
  3382.  
  3383.  
  3384. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl Parameter - cbParmLenMax ΓòÉΓòÉΓòÉ
  3385.  
  3386.  cbParmLenMax (ULONG) - input 
  3387.     Length, in bytes, of pParams. 
  3388.  
  3389.     This is the maximum length of the data to be returned in pParams. 
  3390.     pcbParmLen may be larger than this on input, but not on output. 
  3391.  
  3392.  
  3393. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl Parameter - pcbParmLen ΓòÉΓòÉΓòÉ
  3394.  
  3395.  pcbParmLen (PULONG) - in/out 
  3396.     Pointer to the length of parameters. 
  3397.  
  3398.     Input        Pointer to the length, in bytes, of the parameters passed in 
  3399.                  pParams. by the application. 
  3400.  
  3401.     Output       Pointer to the length, in bytes, of the parameters returned. 
  3402.  
  3403.                  If this function returns ERROR_BUFFER_OVERFLOW, then 
  3404.                  pcbParmLen points to the size of the buffer required to hold 
  3405.                  the parameters returned. No other data is returned in this 
  3406.                  case. 
  3407.  
  3408.  
  3409. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl Parameter - pData ΓòÉΓòÉΓòÉ
  3410.  
  3411.  pData (PVOID) - input 
  3412.     Address of the data area. 
  3413.  
  3414.  
  3415. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl Parameter - cbDataLenMax ΓòÉΓòÉΓòÉ
  3416.  
  3417.  cbDataLenMax (ULONG) - input 
  3418.     Length, in bytes, of pData. 
  3419.  
  3420.     This is the maximum length of the data to be returned in pData. pcbDataLen 
  3421.     may be larger than this on input, but not on output. 
  3422.  
  3423.  
  3424. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl Parameter - pcbDataLen ΓòÉΓòÉΓòÉ
  3425.  
  3426.  pcbDataLen (PULONG) - in/out 
  3427.     Pointer to the length of data. 
  3428.  
  3429.     Input        Pointer to the length, in bytes, of the data passed by the 
  3430.                  application in pData. 
  3431.  
  3432.     Output       Pointer to the length, in bytes, of the data returned. 
  3433.  
  3434.                  If this function returns ERROR_BUFFER_OVERFLOW, then 
  3435.                  pcbDataLen points to the size of the buffer required to hold 
  3436.                  the data returned. 
  3437.  
  3438.  
  3439. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl Return Value - ulrc ΓòÉΓòÉΓòÉ
  3440.  
  3441.  ulrc (APIRET) - returns 
  3442.     Return Code. 
  3443.  
  3444.     DosDevIOCtl returns one of the following values: 
  3445.  
  3446.     0              NO_ERROR 
  3447.     1              ERROR_INVALID_FUNCTION 
  3448.     6              ERROR_INVALID_HANDLE 
  3449.     15             ERROR_INVALID_DRIVE 
  3450.     31             ERROR_GEN_FAILURE 
  3451.     87             ERROR_INVALID_PARAMETER 
  3452.     111            ERROR_BUFFER_OVERFLOW 
  3453.     115            ERROR_PROTECTION_VIOLATION 
  3454.     117            ERROR_INVALID_CATEGORY 
  3455.     119            ERROR_BAD_DRIVER_LEVEL 
  3456.     163            ERROR_UNCERTAIN_MEDIA 
  3457.     165            ERROR_MONITORS_NOT_SUPPORTED 
  3458.  
  3459.     For a full list of error codes, see Errors. 
  3460.  
  3461.  
  3462. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl - Parameters ΓòÉΓòÉΓòÉ
  3463.  
  3464.  hDevice (HFILE) - input 
  3465.     Device handle returned by DosOpen, or a standard (open) device handle. 
  3466.  
  3467.  category (ULONG) - input 
  3468.     Device category. 
  3469.  
  3470.     The valid range is 0 to 255. 
  3471.  
  3472.  function (ULONG) - input 
  3473.     Device-specific function code. 
  3474.  
  3475.     The valid range is 0 to 255. 
  3476.  
  3477.  pParams (PVOID) - input 
  3478.     Address of the command-specific argument list. 
  3479.  
  3480.  cbParmLenMax (ULONG) - input 
  3481.     Length, in bytes, of pParams. 
  3482.  
  3483.     This is the maximum length of the data to be returned in pParams. 
  3484.     pcbParmLen may be larger than this on input, but not on output. 
  3485.  
  3486.  pcbParmLen (PULONG) - in/out 
  3487.     Pointer to the length of parameters. 
  3488.  
  3489.     Input        Pointer to the length, in bytes, of the parameters passed in 
  3490.                  pParams. by the application. 
  3491.  
  3492.     Output       Pointer to the length, in bytes, of the parameters returned. 
  3493.  
  3494.                  If this function returns ERROR_BUFFER_OVERFLOW, then 
  3495.                  pcbParmLen points to the size of the buffer required to hold 
  3496.                  the parameters returned. No other data is returned in this 
  3497.                  case. 
  3498.  
  3499.  pData (PVOID) - input 
  3500.     Address of the data area. 
  3501.  
  3502.  cbDataLenMax (ULONG) - input 
  3503.     Length, in bytes, of pData. 
  3504.  
  3505.     This is the maximum length of the data to be returned in pData. pcbDataLen 
  3506.     may be larger than this on input, but not on output. 
  3507.  
  3508.  pcbDataLen (PULONG) - in/out 
  3509.     Pointer to the length of data. 
  3510.  
  3511.     Input        Pointer to the length, in bytes, of the data passed by the 
  3512.                  application in pData. 
  3513.  
  3514.     Output       Pointer to the length, in bytes, of the data returned. 
  3515.  
  3516.                  If this function returns ERROR_BUFFER_OVERFLOW, then 
  3517.                  pcbDataLen points to the size of the buffer required to hold 
  3518.                  the data returned. 
  3519.  
  3520.  ulrc (APIRET) - returns 
  3521.     Return Code. 
  3522.  
  3523.     DosDevIOCtl returns one of the following values: 
  3524.  
  3525.     0              NO_ERROR 
  3526.     1              ERROR_INVALID_FUNCTION 
  3527.     6              ERROR_INVALID_HANDLE 
  3528.     15             ERROR_INVALID_DRIVE 
  3529.     31             ERROR_GEN_FAILURE 
  3530.     87             ERROR_INVALID_PARAMETER 
  3531.     111            ERROR_BUFFER_OVERFLOW 
  3532.     115            ERROR_PROTECTION_VIOLATION 
  3533.     117            ERROR_INVALID_CATEGORY 
  3534.     119            ERROR_BAD_DRIVER_LEVEL 
  3535.     163            ERROR_UNCERTAIN_MEDIA 
  3536.     165            ERROR_MONITORS_NOT_SUPPORTED 
  3537.  
  3538.     For a full list of error codes, see Errors. 
  3539.  
  3540.  
  3541. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl - Remarks ΓòÉΓòÉΓòÉ
  3542.  
  3543. Values returned in the range 0xFF00 through 0xFFFF are user-dependent error 
  3544. codes. Values returned in the range 0xFE00 through 0xFEFF are 
  3545. device-driver-dependent error codes. 
  3546.  
  3547. This function provides a generic, expandable IOCtl facility. 
  3548.  
  3549. A null (zero) value for pData specifies that this parameter is not defined for 
  3550. the generic IOCtl function being specified. A null value for pData causes the 
  3551. values passed in cbDataLenMax and pcbDataLen to be ignored. 
  3552.  
  3553. A null (zero) value for pParams specifies that this parameter is not defined 
  3554. for the generic IOCtl function being specified. A null value for pParams causes 
  3555. the values passed in cbParmLenMax and pcbParmLen to be ignored. 
  3556.  
  3557. The kernel formats a generic IOCtl packet and calls the device driver. Because 
  3558. OS/2 Version 1.0 and Version 1.1 device drivers do not understand generic IOCtl 
  3559. packets with cbDataLenMax, pcbDataLen, cbParmLenMax, and pcbParmLen, the kernel 
  3560. does not pass these fields to the device driver. Device drivers that are marked 
  3561. as level 2 or higher must support receipt of the generic IOCtl packets with 
  3562. associated length fields. 
  3563.  
  3564. Do not pass a non-null pointer with a zero length. 
  3565.  
  3566. See Generic IOCtl Commands for a partial listing of IOCtl control functions. 
  3567. For the complete listing of the generic IOCtl control functions (the IOCtl 
  3568. interface), see the OS/2 Warp Control Program Programming Guide and Reference. 
  3569.  
  3570. For debugging considerations, see DosDebug. 
  3571.  
  3572.  
  3573. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl - Related Functions ΓòÉΓòÉΓòÉ
  3574.  
  3575. Related Functions 
  3576.  
  3577.      DosBeep 
  3578.      DosDevConfig 
  3579.      DosPhysicalDisk 
  3580.  
  3581.  
  3582. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl - Example Code ΓòÉΓòÉΓòÉ
  3583.  
  3584. The following is NOT a complete C program.  It is simply intended to provide an 
  3585. idea of how to issue control functions to a device. 
  3586.  
  3587. This example assumes that DevHandle contains the handle to the device, and that 
  3588. the device recognizes category code hex 83, function code hex 1D and the input 
  3589. parameters and input data area. 
  3590.  
  3591.  #define INCL_DOSDEVICES   /* Device values */
  3592.  #define INCL_DOSERRORS    /* Error values */
  3593.  #include <os2.h>
  3594.  #include <stdio.h>
  3595.  #include <string.h>
  3596.  
  3597.  HFILE   DevHandle        = NULLHANDLE;   /* Handle for device */
  3598.  ULONG   ulCategory       = 0x83;         /* Device category */
  3599.  ULONG   ulFunction       = 0x1D;         /* Device-specific function */
  3600.  UCHAR   uchParms[120]    = {0};          /* Input and output for function */
  3601.  ULONG   ulParmLen        = 0;            /* Input and output parameter size */
  3602.  UCHAR   uchDataArea[200] = {0};          /* Input and output data area */
  3603.  ULONG   ulDataLen        = 0;            /* Input and output data size */
  3604.  APIRET  rc               = NO_ERROR;     /* Return code */
  3605.  
  3606.   strcpy(uchParms,"/X /Y /Z");    /* Input parameters */
  3607.   ulParmLen = strlen(uchParms);   /* Length of input parameters */
  3608.  
  3609.   strcpy(uchDataArea,"DF=123;NP=BCR;UN=1993;MAX=328");  /* Input data */
  3610.   ulDataLen = strlen(uchDataArea);                      /* Length of data  */
  3611.  
  3612.   rc = DosDevIOCtl(DevHandle,           /* Handle to device */
  3613.                    ulCategory,          /* Category of request */
  3614.                    ulFunction,          /* Function being requested */
  3615.                    uchParms,            /* Input/Output parameter list */
  3616.                    sizeof(uchParms),    /* Maximum output parameter size */
  3617.                    &ulParmLen,          /* Input:  size of parameter list */
  3618.                                         /* Output: size of parameters returned */
  3619.                    uchDataArea,         /* Input/Output data area */
  3620.                    sizeof(uchDataArea), /* Maximum output data size */
  3621.                    &ulDataLen);         /* Input:  size of input data area */
  3622.                                         /* Output: size of data returned   */
  3623.  
  3624.   if (rc != NO_ERROR) {
  3625.       printf("DosDevIOCtl error: return code = %u\n", rc);
  3626.       return 1;
  3627.   }
  3628.  
  3629.  
  3630. ΓòÉΓòÉΓòÉ <hidden> DosDevIOCtl - Topics ΓòÉΓòÉΓòÉ
  3631.  
  3632. Select an item: 
  3633.  
  3634. Syntax
  3635. Parameters
  3636. Returns
  3637. Remarks
  3638. Example Code
  3639. Related Functions
  3640.  
  3641.  
  3642. ΓòÉΓòÉΓòÉ 5.4. DosListIO ΓòÉΓòÉΓòÉ
  3643.  
  3644.  
  3645. ΓòÉΓòÉΓòÉ <hidden> DosListIO - Syntax ΓòÉΓòÉΓòÉ
  3646.  
  3647. Performs multiple locking, unlocking, seeking, and I/O operations against one 
  3648. or more files. 
  3649.  
  3650.  
  3651. #define INCL_DOSFILEMGR
  3652. #include <os2.h>
  3653.  
  3654. ULONG      ulCmdMode;     /*  Command mode */
  3655. ULONG      ulNumEntries;  /*  Number of LISTIO entries to process */
  3656. PLISTIO    pListIO;       /*  Pointer to array of LISTIO structures */
  3657. APIRET     ulrc;          /*  Return Code. */
  3658.  
  3659. ulrc = DosListIO(ulCmdMode, ulNumEntries,
  3660.          pListIO);
  3661.  
  3662.  
  3663. ΓòÉΓòÉΓòÉ <hidden> DosListIO Parameter - ulCmdMode ΓòÉΓòÉΓòÉ
  3664.  
  3665.  ulCmdMode (ULONG) - input 
  3666.     Command mode 
  3667.  
  3668.     The mode in which operations should be performed. Valid modes are: 
  3669.  
  3670.     LISTIO_ORDERED 
  3671.                    Operations are performed synchronously in the order 
  3672.                    specified. 
  3673.     LISTIO_UNORDERED 
  3674.                    Operations are performed independently without an implied 
  3675.                    ordering.  (This mode is only available in the Raw File 
  3676.                    System.) 
  3677.  
  3678.  
  3679. ΓòÉΓòÉΓòÉ <hidden> DosListIO Parameter - ulNumEntries ΓòÉΓòÉΓòÉ
  3680.  
  3681.  ulNumEntries (ULONG) - input 
  3682.     Number of LISTIO entries to process 
  3683.  
  3684.     The number of seek/read or seek/write operations in the list.  Each 
  3685.     operation is represented by a LISTIO array entry. 
  3686.  
  3687.  
  3688. ΓòÉΓòÉΓòÉ <hidden> DosListIO Parameter - pListIO ΓòÉΓòÉΓòÉ
  3689.  
  3690.  pListIO (PLISTIO) - in/out 
  3691.     Pointer to array of LISTIO structures 
  3692.  
  3693.     Pointer to an array of ulNumEntries LISTIO data structures which contain 
  3694.     the information necessary to perform the I/O operations. 
  3695.  
  3696.  
  3697. ΓòÉΓòÉΓòÉ <hidden> DosListIO Return Value - ulrc ΓòÉΓòÉΓòÉ
  3698.  
  3699.  ulrc (APIRET) - returns 
  3700.     Return Code. 
  3701.  
  3702.     DosListIO returns one of the following values: 
  3703.  
  3704.     0              NO_ERROR 
  3705.     5              ERROR_ACCESS_DENIED 
  3706.     6              ERROR_INVALID_HANDLE 
  3707.     19             ERROR_WRITE_PROTECT 
  3708.     26             ERROR_NOT_DOS_DISK 
  3709.     29             ERROR_WRITE_FAULT 
  3710.     33             ERROR_LOCK_VIOLATION 
  3711.     87             ERROR_INVALID_PARAMETER 
  3712.     109            ERROR_BROKEN_PIPE 
  3713.     234            ERROR_MORE_DATA 
  3714.  
  3715.     For a full list of error codes, see Errors. 
  3716.  
  3717.  
  3718. ΓòÉΓòÉΓòÉ <hidden> DosListIO - Parameters ΓòÉΓòÉΓòÉ
  3719.  
  3720.  ulCmdMode (ULONG) - input 
  3721.     Command mode 
  3722.  
  3723.     The mode in which operations should be performed. Valid modes are: 
  3724.  
  3725.     LISTIO_ORDERED 
  3726.                    Operations are performed synchronously in the order 
  3727.                    specified. 
  3728.     LISTIO_UNORDERED 
  3729.                    Operations are performed independently without an implied 
  3730.                    ordering.  (This mode is only available in the Raw File 
  3731.                    System.) 
  3732.  
  3733.  ulNumEntries (ULONG) - input 
  3734.     Number of LISTIO entries to process 
  3735.  
  3736.     The number of seek/read or seek/write operations in the list.  Each 
  3737.     operation is represented by a LISTIO array entry. 
  3738.  
  3739.  pListIO (PLISTIO) - in/out 
  3740.     Pointer to array of LISTIO structures 
  3741.  
  3742.     Pointer to an array of ulNumEntries LISTIO data structures which contain 
  3743.     the information necessary to perform the I/O operations. 
  3744.  
  3745.  ulrc (APIRET) - returns 
  3746.     Return Code. 
  3747.  
  3748.     DosListIO returns one of the following values: 
  3749.  
  3750.     0              NO_ERROR 
  3751.     5              ERROR_ACCESS_DENIED 
  3752.     6              ERROR_INVALID_HANDLE 
  3753.     19             ERROR_WRITE_PROTECT 
  3754.     26             ERROR_NOT_DOS_DISK 
  3755.     29             ERROR_WRITE_FAULT 
  3756.     33             ERROR_LOCK_VIOLATION 
  3757.     87             ERROR_INVALID_PARAMETER 
  3758.     109            ERROR_BROKEN_PIPE 
  3759.     234            ERROR_MORE_DATA 
  3760.  
  3761.     For a full list of error codes, see Errors. 
  3762.  
  3763.  
  3764. ΓòÉΓòÉΓòÉ <hidden> DosListIO - Remarks ΓòÉΓòÉΓòÉ
  3765.  
  3766. DosListIO applies the same restrictions for each seek/read and seek/write 
  3767. operations as would be applied if the requests were issued separately with 
  3768. DosSetFilePtr, DosRead, and DosWrite. 
  3769.  
  3770. The actual number of bytes read or written, along with the operation return 
  3771. code are returned in the LISTIO structure upon completion of the request, 
  3772. therefore care must be taken that the memory containing the LISTIO control 
  3773. blocks is not deallocated or manipulated by another thread before the DosListIO 
  3774. request returns. 
  3775.  
  3776. There are two valid modes for the list of I/O operations to be processed. 
  3777.  
  3778.  ORDERED   This mode guarantees that the operations are performed in the order 
  3779.            specified.  DosFileIO will return with an error code corresponding 
  3780.            to the first failed request and will not attempt to process the 
  3781.            remaining requests.  This provides a synchronous sequence of atomic 
  3782.            I/O requests.  This is the only mode that is compatible with file 
  3783.            systems other than the Raw File System. 
  3784.  
  3785.  UNORDERED This mode does not guarantee the order that the operations are 
  3786.            performed or the order that the operations complete.  DosFileIO will 
  3787.            return with an error code if any request fails.  Additionally, each 
  3788.            request in the list will be issued, even those following a failed 
  3789.            operation.  This mode is valid for the Raw File System only. 
  3790.  
  3791.  
  3792. ΓòÉΓòÉΓòÉ <hidden> DosListIO - Related Functions ΓòÉΓòÉΓòÉ
  3793.  
  3794. Related Functions 
  3795.  
  3796.      DosOpen 
  3797.      DosSetFilePtr 
  3798.      DosRead 
  3799.      DosWrite 
  3800.      DosClose 
  3801.  
  3802.  
  3803. ΓòÉΓòÉΓòÉ <hidden> DosListIO - Example Code ΓòÉΓòÉΓòÉ
  3804.  
  3805. This example reads from a physical disk using the Raw File System and 
  3806. DosListIO. 
  3807.  
  3808. #define  INCL_ERRORS
  3809. #define  INCL_DOS
  3810. #define  INCL_NOPMAPI
  3811. #include <os2.h>
  3812. #include <stdio.h>
  3813. #include <stdlib.h>
  3814. #include <string.h>
  3815. #include <bsedev.h>
  3816. #include "listio.h"
  3817.  
  3818. #define   EightK   8*1024
  3819. #define   FourK   4*1024
  3820. #define   LISTIO_NUM 1000
  3821. #define   PAGE_RAND_MAX 100
  3822.  
  3823. CHAR  Buf[EightK];
  3824. LISTIO ListIO[LISTIO_NUM];
  3825. ULONG seed = 1;
  3826. ULONG page_rand(void);
  3827.  
  3828. int main (VOID)
  3829.  
  3830. {
  3831.    CHAR  *BufAligned;
  3832.    ULONG  rc;
  3833.    ULONG  Loop = LISTIO_NUM,
  3834.           i, j;
  3835.    ULONG  Action, Actual;
  3836.    HFILE  hFile;
  3837.  
  3838.    /* Make sure buffer is page aligned */
  3839.  
  3840.    BufAligned = (UCHAR *)(((LONG)Buf + FourK) & 0xFFFFF000);
  3841.  
  3842.    /* Open a raw file system disk */
  3843.  
  3844.    rc = DosOpen((PSZ)"\\\\.\\Physical_Disk2",
  3845.                 &hFile,
  3846.                 &Action,
  3847.                 0L,
  3848.                 FILE_NORMAL,
  3849.                 OPEN_ACTION_OPEN_IF_EXISTS,
  3850.                 OPEN_SHARE_DENYNONE | OPEN_ACCESS_READWRITE,
  3851.                 0L);
  3852.  
  3853.    if (rc != NO_ERROR) {
  3854.       printf("ERROR:DosOpen rc = %d\n", rc);
  3855.       return(1);
  3856.    } /* if */
  3857.    /*************************************/
  3858.    /* Perform Random READ using DosRead */
  3859.    /*************************************/
  3860.  
  3861.    for(i = 0; i < Loop ; i++) { /* Loop for Random Read */
  3862.       rc = DosSetFilePtr(hFile,  /* file's handle */
  3863.                          page_rand()*FourK, /* offset */
  3864.                          FILE_BEGIN, /* from beginning of file */
  3865.                          &Actual);
  3866.  
  3867.       if (rc != NO_ERROR) {
  3868.          printf("ERROR:DosSetFilePtr rc = %d\n", rc);
  3869.          return(1);
  3870.       } /* if */
  3871.  
  3872.       rc = DosRead( hFile,  /* file's handle */
  3873.                     BufAligned,  /* buffer pointer */
  3874.                     FourK,   /* size to read */
  3875.                     &Actual);
  3876.  
  3877.       if (rc != NO_ERROR) {
  3878.          printf("ERROR:DosRead rc = %d\n", rc);
  3879.          return(1);
  3880.       } /* if */
  3881.  
  3882.    } /* for i */
  3883.    /****************************************/
  3884.    /* Perform Random Read using DosListIO  */
  3885.    /****************************************/
  3886.  
  3887.    for (i = 0; i < Loop; i++) {
  3888.       ListIO[i].hFile = hFile;
  3889.       ListIO[i].CmdFlag = LISTIO_READ | FILE_BEGIN;
  3890.       ListIO[i].Offset = page_rand()*FourK;
  3891.       ListIO[i].pBuffer = BufAligned;
  3892.       ListIO[i].NumBytes = FourK;
  3893.    } /* for i */
  3894.  
  3895.    rc = DosListIO( LISTIO_UNORDERED, /* unordered mode */
  3896.                    Loop,    /* number of reads */
  3897.                    ListIO);   /* array of control blocks */
  3898.  
  3899.    if (rc != NO_ERROR) {
  3900.       printf("ERROR:DosListIO rc = %d\n", rc);
  3901.  
  3902.       for (i = 0; i < Loop; i++) {
  3903.          if ((ListIO[i].Actual != FourK) ||
  3904.              (ListIO[i].RetCode != NO_ERROR)) {
  3905.             printf("ERROR:DosListIO i = %d, Actual = %d, RetCode = %d\n",
  3906.      I, ListIO[i].Actual, ListIO[i].RetCode);
  3907.          } /* if */
  3908.       } /* for i */
  3909.       return(1);
  3910.    } /* if */
  3911.    /* Close file */
  3912.  
  3913.    rc = DosClose(hFile);
  3914.  
  3915.    if (rc != NO_ERROR) {
  3916.       printf("ERROR:DosClose rc = %d\n", rc);
  3917.       return(1);
  3918.    }
  3919.  
  3920.    return(NO_ERROR);
  3921.  
  3922. }
  3923.  
  3924. /********************************************************/
  3925. /*                                                      */
  3926. /* FUNCTION: page_rand                               */
  3927. /*                                                      */
  3928. /* DESCRIPTION: Generate random number in range         */
  3929. /*              [0,PAGE_RAND_MAX-1]           */
  3930. /*                                                      */
  3931. /********************************************************/
  3932.  
  3933. ULONG page_rand()
  3934.  
  3935. {
  3936.    seed = seed * 1103515245 + 12345;
  3937.    return(((ULONG)(seed/(2*PAGE_RAND_MAX)) % PAGE_RAND_MAX));
  3938.  
  3939. }
  3940.  
  3941.  
  3942. ΓòÉΓòÉΓòÉ <hidden> DosListIO - Topics ΓòÉΓòÉΓòÉ
  3943.  
  3944. Select an item: 
  3945.  
  3946. Syntax
  3947. Parameters
  3948. Returns
  3949. Remarks
  3950. Example Code
  3951. Related Functions
  3952.  
  3953.  
  3954. ΓòÉΓòÉΓòÉ 5.5. DosOpen ΓòÉΓòÉΓòÉ
  3955.  
  3956.  
  3957. ΓòÉΓòÉΓòÉ <hidden> DosOpen - Syntax ΓòÉΓòÉΓòÉ
  3958.  
  3959. Opens a new file, an existing file or device, or a replacement for an existing 
  3960. file. An open file can have extended attributes. 
  3961.  
  3962.  
  3963. #define INCL_DOSFILEMGR
  3964. #include <os2.h>
  3965.  
  3966. PSZ       pszFileName;  /*  Address of the ASCIIZ path name of the file or device to be opened. */
  3967. PHFILE    pHf;          /*  Address of the handle for the file or device. */
  3968. PULONG    pulAction;    /*  Address of the variable that receives the value that specifies the action taken by the DosOpen function. */
  3969. ULONG     cbFile;       /*  New logical size of the file (end of data, EOD), in bytes. */
  3970. ULONG     ulAttribute;  /*  File attribute information. */
  3971. ULONG     fsOpenFlags;  /*  The action to be taken depending on whether the file exists or does not exist. */
  3972. ULONG     fsOpenMode;   /*  The mode of the open function. Possible values are shown in the following list: */
  3973. PEAOP2    peaop2;       /*  Extended attributes. */
  3974. APIRET    ulrc;         /*  Return Code. */
  3975.  
  3976. ulrc = DosOpen(pszFileName, pHf, pulAction,
  3977.          cbFile, ulAttribute, fsOpenFlags,
  3978.          fsOpenMode, peaop2);
  3979.  
  3980.  
  3981. ΓòÉΓòÉΓòÉ <hidden> DosOpen Parameter - pszFileName ΓòÉΓòÉΓòÉ
  3982.  
  3983.  pszFileName (PSZ) - input 
  3984.     Address of the ASCIIZ path name of the file or device to be opened. 
  3985.  
  3986.     In the Raw File System, this is the universal naming convention (UNC) name 
  3987.     for either a logical partition or physical disk. 
  3988.  
  3989.     Logical partitions are identified using a UNC name in the form of: \\.\X:, 
  3990.     where X is replaced with the letter corresponding to the drive. 
  3991.  
  3992.     Physical disks are identified with a UNC name in the form of: 
  3993.     \\.\Physical_Disk#, where # is replaced with the physical disk number as 
  3994.     reported by the FDISK utility. 
  3995.  
  3996.  
  3997. ΓòÉΓòÉΓòÉ <hidden> DosOpen Parameter - pHf ΓòÉΓòÉΓòÉ
  3998.  
  3999.  pHf (PHFILE) - output 
  4000.     Address of the handle for the file or device. 
  4001.  
  4002.  
  4003. ΓòÉΓòÉΓòÉ <hidden> DosOpen Parameter - pulAction ΓòÉΓòÉΓòÉ
  4004.  
  4005.  pulAction (PULONG) - output 
  4006.     Address of the variable that receives the value that specifies the action 
  4007.     taken by the DosOpen function. 
  4008.  
  4009.     If DosOpen fails, this value has no meaning. Otherwise, it is one of the 
  4010.     following values: 
  4011.  
  4012.     1        FILE_EXISTED 
  4013.              File already existed.  This is always returned on the successful 
  4014.              open of a device. 
  4015.  
  4016.     2        FILE_CREATED 
  4017.              File was created. 
  4018.  
  4019.     3        FILE_TRUNCATED 
  4020.              File existed and was changed to a given size (file was replaced). 
  4021.  
  4022.  
  4023. ΓòÉΓòÉΓòÉ <hidden> DosOpen Parameter - cbFile ΓòÉΓòÉΓòÉ
  4024.  
  4025.  cbFile (ULONG) - input 
  4026.     New logical size of the file (end of data, EOD), in bytes. 
  4027.  
  4028.     This parameter is significant only when creating a new file or replacing an 
  4029.     existing one. Otherwise, it is ignored. It is an error to create or replace 
  4030.     a file with a nonzero length if the fsOpenMode Access-Mode flag is set to 
  4031.     read-only. 
  4032.  
  4033.  
  4034. ΓòÉΓòÉΓòÉ <hidden> DosOpen Parameter - ulAttribute ΓòÉΓòÉΓòÉ
  4035.  
  4036.  ulAttribute (ULONG) - input 
  4037.     File attribute information. 
  4038.  
  4039.     This parameter is significant only when manipulating a file, it is ignored 
  4040.     on raw file system devices. 
  4041.  
  4042.     Possible values are shown in the following list.: 
  4043.  
  4044.     Bit            Description 
  4045.  
  4046.     31-6           Reserved, must be 0. 
  4047.  
  4048.     5              FILE_ARCHIVED (0x00000020) 
  4049.                    File has been archived. 
  4050.  
  4051.     4              FILE_DIRECTORY (0x00000010) 
  4052.                    File is a subdirectory. 
  4053.  
  4054.     3              Reserved, must be 0. 
  4055.  
  4056.     2              FILE_SYSTEM (0x00000004) 
  4057.                    File is a system file. 
  4058.  
  4059.     1              FILE_HIDDEN (0x00000002) 
  4060.                    File is hidden and does not appear in a directory listing. 
  4061.  
  4062.     0              FILE_READONLY (0x00000001) 
  4063.                    File can be read from, but not written to. 
  4064.  
  4065.     0              FILE_NORMAL (0x00000000) 
  4066.                    File can be read from or written to. 
  4067.  
  4068.     File attributes apply only if the file is created. 
  4069.  
  4070.     These bits may be set individually or in combination. For example, an 
  4071.     attribute value of 0x00000021 (bits 5 and 0 set to 1) indicates a read-only 
  4072.     file that has been archived. 
  4073.  
  4074.  
  4075. ΓòÉΓòÉΓòÉ <hidden> DosOpen Parameter - fsOpenFlags ΓòÉΓòÉΓòÉ
  4076.  
  4077.  fsOpenFlags (ULONG) - input 
  4078.     The action to be taken depending on whether the file exists or does not 
  4079.     exist. 
  4080.  
  4081.     This parameter is not used in the raw file system. 
  4082.  
  4083.     Possible values are shown in the following list: 
  4084.  
  4085.     Bits           Description 
  4086.  
  4087.     31-8           Reserved, must be 0. 
  4088.  
  4089.     7-4            The following flags apply if the file does not exist: 
  4090.  
  4091.                    0000       OPEN_ACTION_FAIL_IF_NEW 
  4092.                               Open an existing file; fail if the file does not 
  4093.                               exist. 
  4094.  
  4095.                    0001       OPEN_ACTION_CREATE_IF_NEW 
  4096.                               Create the file if the file does not exist. 
  4097.  
  4098.     3-0            The following flags apply if the file already exists: 
  4099.  
  4100.                    0000       OPEN_ACTION_FAIL_IF_EXISTS 
  4101.                               Open the file; fail if the file already exists. 
  4102.  
  4103.                    0001       OPEN_ACTION_OPEN_IF_EXISTS 
  4104.                               Open the file if it already exists. 
  4105.  
  4106.                    0010       OPEN_ACTION_REPLACE_IF_EXISTS 
  4107.                               Replace the file if it already exists. 
  4108.  
  4109.  
  4110. ΓòÉΓòÉΓòÉ <hidden> DosOpen Parameter - fsOpenMode ΓòÉΓòÉΓòÉ
  4111.  
  4112.  fsOpenMode (ULONG) - input 
  4113.     The mode of the open function. Possible values are shown in the following 
  4114.     list: 
  4115.  
  4116.     Bit            Description 
  4117.  
  4118.     31-16          Reserved, must be zero. 
  4119.  
  4120.     15             OPEN_FLAGS_DASD (0x00008000) 
  4121.                    Direct Open flag: 
  4122.  
  4123.                    0        pszFileName represents a file to be opened 
  4124.                             normally. 
  4125.  
  4126.                    1        pszFileName is "drive:" (such as C: or A:), and 
  4127.                             represents a mounted disk or diskette volume to be 
  4128.                             opened for direct access. 
  4129.  
  4130.     14             OPEN_FLAGS_WRITE_THROUGH (0x00004000) 
  4131.                    Write-Through flag: 
  4132.  
  4133.                    0        Writes to the file may go through the file-system 
  4134.                             driver's cache. The file-system driver writes the 
  4135.                             sectors when the cache is full or the file is 
  4136.                             closed. 
  4137.  
  4138.                    1        Writes to the file may go through the file-system 
  4139.                             driver's cache, but the sectors are written (the 
  4140.                             actual file I/O operation is completed) before a 
  4141.                             synchronous write call returns. This state of the 
  4142.                             file defines it as a synchronous file. For 
  4143.                             synchronous files, this bit must be set, because 
  4144.                             the data must be written to the medium for 
  4145.                             synchronous write operations. This bit flag is not 
  4146.                    inherited by child processes. 
  4147.  
  4148.     13             OPEN_FLAGS_FAIL_ON_ERROR (0x00002000) 
  4149.                    Fail-Errors flag. Media I/O errors are handled as follows: 
  4150.  
  4151.                    0        Reported through the system critical-error handler. 
  4152.                    1        Reported directly to the caller by way of a return 
  4153.                             code. 
  4154.  
  4155.                    Media I/O errors generated through Category 08h Logical Disk 
  4156.                    Control IOCtl Commands always get reported directly to the 
  4157.                    caller by way of return code. The Fail-Errors function 
  4158.                    applies only to non-IOCtl handle-based file I/O calls. 
  4159.  
  4160.                    This flag bit is not inherited by child processes. 
  4161.  
  4162.     12             OPEN_FLAGS_NO_CACHE (0x00001000) 
  4163.                    No-Cache/Cache flag: 
  4164.  
  4165.                    0        The file-system driver should place data from I/O 
  4166.                             operations into its cache. 
  4167.  
  4168.                    1        I/O operations to the file need not be done through 
  4169.                             the file-system driver's cache. 
  4170.  
  4171.                    The setting of this bit determines whether file-system 
  4172.                    drivers should place data into the cache. Like the 
  4173.                    write-through bit, this is a per-handle bit, and is not 
  4174.                    inherited by child processes. 
  4175.  
  4176.     11             Reserved; must be 0. 
  4177.  
  4178.     10-8           The locality of reference flags contain information about 
  4179.                    how the application is to get access to the file. The values 
  4180.                    are as follows: 
  4181.  
  4182.                    000       OPEN_FLAGS_NO_LOCALITY (0x00000000) 
  4183.                              No locality known. 
  4184.  
  4185.                    001       OPEN_FLAGS_SEQUENTIAL (0x00000100) 
  4186.                              Mainly sequential access. 
  4187.  
  4188.                    010       OPEN_FLAGS_RANDOM (0x00000200) 
  4189.                              Mainly random access. 
  4190.  
  4191.                    011       OPEN_FLAGS_RANDOMSEQUENTIAL (0x00000300) 
  4192.                              Random with some locality. 
  4193.  
  4194.     7              OPEN_FLAGS_NOINHERIT (0x00000080) 
  4195.                    Inheritance flag: 
  4196.  
  4197.                    0        File handle is inherited by a process created from 
  4198.                             a call to DosExecPgm. 
  4199.  
  4200.                    1        File handle is private to the current process. 
  4201.  
  4202.                    This bit is not inherited by child processes. 
  4203.  
  4204.     6-4            Sharing Mode flags. This field defines any restrictions to 
  4205.                    file access placed by the caller on other processes. The 
  4206.                    values are as follows: 
  4207.  
  4208.                    001       OPEN_SHARE_DENYREADWRITE (0x00000010) 
  4209.                              Deny read/write access. 
  4210.  
  4211.                    010       OPEN_SHARE_DENYWRITE (0x00000020) 
  4212.                              Deny write access. 
  4213.  
  4214.                    011       OPEN_SHARE_DENYREAD (0x00000030) 
  4215.                              Deny read access. 
  4216.  
  4217.                    100       OPEN_SHARE_DENYNONE (0x00000040) 
  4218.                              Deny neither read nor write access (deny none). 
  4219.  
  4220.                    Any other value is invalid. 
  4221.  
  4222.     3              Reserved; must be 0. 
  4223.  
  4224.     2-0            Access-Mode flags. This field defines the file access 
  4225.                    required by the caller. The values are as follows: 
  4226.  
  4227.                    000       OPEN_ACCESS_READONLY (0x00000000) 
  4228.                              Read-only access 
  4229.  
  4230.                    001       OPEN_ACCESS_WRITEONLY (0x00000001) 
  4231.                              Write-only access 
  4232.  
  4233.                    010       OPEN_ACCESS_READWRITE (0x00000002) 
  4234.                              Read/write access. 
  4235.  
  4236.                    Any other value is invalid, as are any other combinations. 
  4237.  
  4238.     File Sharing 
  4239.  
  4240.     File sharing requires the cooperation of sharing processes. This 
  4241.     cooperation is communicated through sharing and access modes. Any sharing 
  4242.     restrictions placed on a file opened by a process are removed when the 
  4243.     process closes the file with a DosClose request. 
  4244.  
  4245.     Sharing Mode 
  4246.              Specifies the type of file access that other processes may have. 
  4247.              For example, if other processes can continue to read the file 
  4248.              while your process is operating on it, specify Deny Write. The 
  4249.              sharing mode prevents other processes from writing to the file but 
  4250.              still allows them to read it. 
  4251.  
  4252.     Access Mode 
  4253.              Specifies the type of file access (access mode) needed by your 
  4254.              process. For example, if your process requires read/write access, 
  4255.              and another process has already opened the file with a sharing 
  4256.              mode of Deny None, your DosOpen request succeeds. However, if the 
  4257.              file is open with a sharing mode of Deny Write, the process is 
  4258.              denied access. 
  4259.  
  4260.              If the file is inherited by a child process, all sharing and 
  4261.              access restrictions also are inherited. 
  4262.  
  4263.              If an open file handle is duplicated by a call to DosDupHandle, 
  4264.              all sharing and access restrictions also are duplicated. 
  4265.  
  4266.     Raw File System 
  4267.  
  4268.     When a device is opened in the raw file system, the only valid access mode 
  4269.     is OPEN_ACCESS_READWRITE.  The valid sharing modes are: 
  4270.  
  4271.          Mode      Function 
  4272.  
  4273.     OPEN_SHARE_DENYNONE 
  4274.                    Allows other processes to perform read and write operations 
  4275.                    to the device. 
  4276.  
  4277.     OPEN_SHARE_DENYREADWRITE 
  4278.                    Locks device and prohibits access to device by other 
  4279.                    processes or file systems. 
  4280.  
  4281.     All other flags are either invalid or not implemented in this release of 
  4282.     OS/2. 
  4283.  
  4284.  
  4285. ΓòÉΓòÉΓòÉ <hidden> DosOpen Parameter - peaop2 ΓòÉΓòÉΓòÉ
  4286.  
  4287.  peaop2 (PEAOP2) - in/out 
  4288.     Extended attributes. 
  4289.  
  4290.     This parameter is only used to specify extended attributes (EAs) when 
  4291.     creating a new file, replacing an existing file, or truncating an existing 
  4292.     file.  It is ignored when used on a device.  When opening existing files, 
  4293.     it should be set to null. 
  4294.  
  4295.     Input        The address of the extended-attribute buffer, which contains 
  4296.                  an EAOP2 structure. fpFEA2List points to a data area where the 
  4297.                  relevant FEA2 list is to be found. fpGEA2List and oError are 
  4298.                  ignored. 
  4299.  
  4300.     Output       fpGEA2List and fpFEA2List are unchanged. The area that 
  4301.                  fpFEA2List points to is unchanged. If an error occurred during 
  4302.                  the set, oError is the offset of the FEA2 entry where the 
  4303.                  error occurred. The return code from DosOpen is the error code 
  4304.                  for that error condition. If no error occurred, oError is 
  4305.                  undefined. 
  4306.  
  4307.                  If peaop2 is zero, then no extended attributes are defined for 
  4308.                  the file. 
  4309.  
  4310.                  If extended attributes are not to be defined or modified, the 
  4311.                  pointer peaop2 must be set to zero. 
  4312.  
  4313.  
  4314. ΓòÉΓòÉΓòÉ <hidden> DosOpen Return Value - ulrc ΓòÉΓòÉΓòÉ
  4315.  
  4316.  ulrc (APIRET) - returns 
  4317.     Return Code. 
  4318.  
  4319.     DosOpen returns one of the following values: 
  4320.  
  4321.     0              NO_ERROR 
  4322.     2              ERROR_FILE_NOT_FOUND 
  4323.     3              ERROR_PATH_NOT_FOUND 
  4324.     4              ERROR_TOO_MANY_OPEN_FILES 
  4325.     5              ERROR_ACCESS_DENIED 
  4326.     12             ERROR_INVALID_ACCESS 
  4327.     26             ERROR_NOT_DOS_DISK 
  4328.     32             ERROR_SHARING_VIOLATION 
  4329.     36             ERROR_SHARING_BUFFER_EXCEEDED 
  4330.     82             ERROR_CANNOT_MAKE 
  4331.     87             ERROR_INVALID_PARAMETER 
  4332.     99             ERROR_DEVICE_IN_USE 
  4333.     108            ERROR_DRIVE_LOCKED 
  4334.     110            ERROR_OPEN_FAILED 
  4335.     112            ERROR_DISK_FULL 
  4336.     206            ERROR_FILENAME_EXCED_RANGE 
  4337.     231            ERROR_PIPE_BUSY 
  4338.  
  4339.     For a full list of error codes, see Errors. 
  4340.  
  4341.  
  4342. ΓòÉΓòÉΓòÉ <hidden> DosOpen - Parameters ΓòÉΓòÉΓòÉ
  4343.  
  4344.  pszFileName (PSZ) - input 
  4345.     Address of the ASCIIZ path name of the file or device to be opened. 
  4346.  
  4347.     In the Raw File System, this is the universal naming convention (UNC) name 
  4348.     for either a logical partition or physical disk. 
  4349.  
  4350.     Logical partitions are identified using a UNC name in the form of: \\.\X:, 
  4351.     where X is replaced with the letter corresponding to the drive. 
  4352.  
  4353.     Physical disks are identified with a UNC name in the form of: 
  4354.     \\.\Physical_Disk#, where # is replaced with the physical disk number as 
  4355.     reported by the FDISK utility. 
  4356.  
  4357.  pHf (PHFILE) - output 
  4358.     Address of the handle for the file or device. 
  4359.  
  4360.  pulAction (PULONG) - output 
  4361.     Address of the variable that receives the value that specifies the action 
  4362.     taken by the DosOpen function. 
  4363.  
  4364.     If DosOpen fails, this value has no meaning. Otherwise, it is one of the 
  4365.     following values: 
  4366.  
  4367.     1        FILE_EXISTED 
  4368.              File already existed.  This is always returned on the successful 
  4369.              open of a device. 
  4370.  
  4371.     2        FILE_CREATED 
  4372.              File was created. 
  4373.  
  4374.     3        FILE_TRUNCATED 
  4375.              File existed and was changed to a given size (file was replaced). 
  4376.  
  4377.  cbFile (ULONG) - input 
  4378.     New logical size of the file (end of data, EOD), in bytes. 
  4379.  
  4380.     This parameter is significant only when creating a new file or replacing an 
  4381.     existing one. Otherwise, it is ignored. It is an error to create or replace 
  4382.     a file with a nonzero length if the fsOpenMode Access-Mode flag is set to 
  4383.     read-only. 
  4384.  
  4385.  ulAttribute (ULONG) - input 
  4386.     File attribute information. 
  4387.  
  4388.     This parameter is significant only when manipulating a file, it is ignored 
  4389.     on raw file system devices. 
  4390.  
  4391.     Possible values are shown in the following list.: 
  4392.  
  4393.     Bit            Description 
  4394.  
  4395.     31-6           Reserved, must be 0. 
  4396.  
  4397.     5              FILE_ARCHIVED (0x00000020) 
  4398.                    File has been archived. 
  4399.  
  4400.     4              FILE_DIRECTORY (0x00000010) 
  4401.                    File is a subdirectory. 
  4402.  
  4403.     3              Reserved, must be 0. 
  4404.  
  4405.     2              FILE_SYSTEM (0x00000004) 
  4406.                    File is a system file. 
  4407.  
  4408.     1              FILE_HIDDEN (0x00000002) 
  4409.                    File is hidden and does not appear in a directory listing. 
  4410.  
  4411.     0              FILE_READONLY (0x00000001) 
  4412.                    File can be read from, but not written to. 
  4413.  
  4414.     0              FILE_NORMAL (0x00000000) 
  4415.                    File can be read from or written to. 
  4416.  
  4417.     File attributes apply only if the file is created. 
  4418.  
  4419.     These bits may be set individually or in combination. For example, an 
  4420.     attribute value of 0x00000021 (bits 5 and 0 set to 1) indicates a read-only 
  4421.     file that has been archived. 
  4422.  
  4423.  fsOpenFlags (ULONG) - input 
  4424.     The action to be taken depending on whether the file exists or does not 
  4425.     exist. 
  4426.  
  4427.     This parameter is not used in the raw file system. 
  4428.  
  4429.     Possible values are shown in the following list: 
  4430.  
  4431.     Bits           Description 
  4432.  
  4433.     31-8           Reserved, must be 0. 
  4434.  
  4435.     7-4            The following flags apply if the file does not exist: 
  4436.  
  4437.                    0000       OPEN_ACTION_FAIL_IF_NEW 
  4438.                               Open an existing file; fail if the file does not 
  4439.                               exist. 
  4440.  
  4441.                    0001       OPEN_ACTION_CREATE_IF_NEW 
  4442.                               Create the file if the file does not exist. 
  4443.  
  4444.     3-0            The following flags apply if the file already exists: 
  4445.  
  4446.                    0000       OPEN_ACTION_FAIL_IF_EXISTS 
  4447.                               Open the file; fail if the file already exists. 
  4448.  
  4449.                    0001       OPEN_ACTION_OPEN_IF_EXISTS 
  4450.                               Open the file if it already exists. 
  4451.  
  4452.                    0010       OPEN_ACTION_REPLACE_IF_EXISTS 
  4453.                               Replace the file if it already exists. 
  4454.  
  4455.  fsOpenMode (ULONG) - input 
  4456.     The mode of the open function. Possible values are shown in the following 
  4457.     list: 
  4458.  
  4459.     Bit            Description 
  4460.  
  4461.     31-16          Reserved, must be zero. 
  4462.  
  4463.     15             OPEN_FLAGS_DASD (0x00008000) 
  4464.                    Direct Open flag: 
  4465.  
  4466.                    0        pszFileName represents a file to be opened 
  4467.                             normally. 
  4468.  
  4469.                    1        pszFileName is "drive:" (such as C: or A:), and 
  4470.                             represents a mounted disk or diskette volume to be 
  4471.                             opened for direct access. 
  4472.  
  4473.     14             OPEN_FLAGS_WRITE_THROUGH (0x00004000) 
  4474.                    Write-Through flag: 
  4475.  
  4476.                    0        Writes to the file may go through the file-system 
  4477.                             driver's cache. The file-system driver writes the 
  4478.                             sectors when the cache is full or the file is 
  4479.                             closed. 
  4480.  
  4481.                    1        Writes to the file may go through the file-system 
  4482.                             driver's cache, but the sectors are written (the 
  4483.                             actual file I/O operation is completed) before a 
  4484.                             synchronous write call returns. This state of the 
  4485.                             file defines it as a synchronous file. For 
  4486.                             synchronous files, this bit must be set, because 
  4487.                             the data must be written to the medium for 
  4488.                             synchronous write operations. This bit flag is not 
  4489.                    inherited by child processes. 
  4490.  
  4491.     13             OPEN_FLAGS_FAIL_ON_ERROR (0x00002000) 
  4492.                    Fail-Errors flag. Media I/O errors are handled as follows: 
  4493.  
  4494.                    0        Reported through the system critical-error handler. 
  4495.                    1        Reported directly to the caller by way of a return 
  4496.                             code. 
  4497.  
  4498.                    Media I/O errors generated through Category 08h Logical Disk 
  4499.                    Control IOCtl Commands always get reported directly to the 
  4500.                    caller by way of return code. The Fail-Errors function 
  4501.                    applies only to non-IOCtl handle-based file I/O calls. 
  4502.  
  4503.                    This flag bit is not inherited by child processes. 
  4504.  
  4505.     12             OPEN_FLAGS_NO_CACHE (0x00001000) 
  4506.                    No-Cache/Cache flag: 
  4507.  
  4508.                    0        The file-system driver should place data from I/O 
  4509.                             operations into its cache. 
  4510.  
  4511.                    1        I/O operations to the file need not be done through 
  4512.                             the file-system driver's cache. 
  4513.  
  4514.                    The setting of this bit determines whether file-system 
  4515.                    drivers should place data into the cache. Like the 
  4516.                    write-through bit, this is a per-handle bit, and is not 
  4517.                    inherited by child processes. 
  4518.  
  4519.     11             Reserved; must be 0. 
  4520.  
  4521.     10-8           The locality of reference flags contain information about 
  4522.                    how the application is to get access to the file. The values 
  4523.                    are as follows: 
  4524.  
  4525.                    000       OPEN_FLAGS_NO_LOCALITY (0x00000000) 
  4526.                              No locality known. 
  4527.  
  4528.                    001       OPEN_FLAGS_SEQUENTIAL (0x00000100) 
  4529.                              Mainly sequential access. 
  4530.  
  4531.                    010       OPEN_FLAGS_RANDOM (0x00000200) 
  4532.                              Mainly random access. 
  4533.  
  4534.                    011       OPEN_FLAGS_RANDOMSEQUENTIAL (0x00000300) 
  4535.                              Random with some locality. 
  4536.  
  4537.     7              OPEN_FLAGS_NOINHERIT (0x00000080) 
  4538.                    Inheritance flag: 
  4539.  
  4540.                    0        File handle is inherited by a process created from 
  4541.                             a call to DosExecPgm. 
  4542.  
  4543.                    1        File handle is private to the current process. 
  4544.  
  4545.                    This bit is not inherited by child processes. 
  4546.  
  4547.     6-4            Sharing Mode flags. This field defines any restrictions to 
  4548.                    file access placed by the caller on other processes. The 
  4549.                    values are as follows: 
  4550.  
  4551.                    001       OPEN_SHARE_DENYREADWRITE (0x00000010) 
  4552.                              Deny read/write access. 
  4553.  
  4554.                    010       OPEN_SHARE_DENYWRITE (0x00000020) 
  4555.                              Deny write access. 
  4556.  
  4557.                    011       OPEN_SHARE_DENYREAD (0x00000030) 
  4558.                              Deny read access. 
  4559.  
  4560.                    100       OPEN_SHARE_DENYNONE (0x00000040) 
  4561.                              Deny neither read nor write access (deny none). 
  4562.  
  4563.                    Any other value is invalid. 
  4564.  
  4565.     3              Reserved; must be 0. 
  4566.  
  4567.     2-0            Access-Mode flags. This field defines the file access 
  4568.                    required by the caller. The values are as follows: 
  4569.  
  4570.                    000       OPEN_ACCESS_READONLY (0x00000000) 
  4571.                              Read-only access 
  4572.  
  4573.                    001       OPEN_ACCESS_WRITEONLY (0x00000001) 
  4574.                              Write-only access 
  4575.  
  4576.                    010       OPEN_ACCESS_READWRITE (0x00000002) 
  4577.                              Read/write access. 
  4578.  
  4579.                    Any other value is invalid, as are any other combinations. 
  4580.  
  4581.     File Sharing 
  4582.  
  4583.     File sharing requires the cooperation of sharing processes. This 
  4584.     cooperation is communicated through sharing and access modes. Any sharing 
  4585.     restrictions placed on a file opened by a process are removed when the 
  4586.     process closes the file with a DosClose request. 
  4587.  
  4588.     Sharing Mode 
  4589.              Specifies the type of file access that other processes may have. 
  4590.              For example, if other processes can continue to read the file 
  4591.              while your process is operating on it, specify Deny Write. The 
  4592.              sharing mode prevents other processes from writing to the file but 
  4593.              still allows them to read it. 
  4594.  
  4595.     Access Mode 
  4596.              Specifies the type of file access (access mode) needed by your 
  4597.              process. For example, if your process requires read/write access, 
  4598.              and another process has already opened the file with a sharing 
  4599.              mode of Deny None, your DosOpen request succeeds. However, if the 
  4600.              file is open with a sharing mode of Deny Write, the process is 
  4601.              denied access. 
  4602.  
  4603.              If the file is inherited by a child process, all sharing and 
  4604.              access restrictions also are inherited. 
  4605.  
  4606.              If an open file handle is duplicated by a call to DosDupHandle, 
  4607.              all sharing and access restrictions also are duplicated. 
  4608.  
  4609.     Raw File System 
  4610.  
  4611.     When a device is opened in the raw file system, the only valid access mode 
  4612.     is OPEN_ACCESS_READWRITE.  The valid sharing modes are: 
  4613.  
  4614.          Mode      Function 
  4615.  
  4616.     OPEN_SHARE_DENYNONE 
  4617.                    Allows other processes to perform read and write operations 
  4618.                    to the device. 
  4619.  
  4620.     OPEN_SHARE_DENYREADWRITE 
  4621.                    Locks device and prohibits access to device by other 
  4622.                    processes or file systems. 
  4623.  
  4624.     All other flags are either invalid or not implemented in this release of 
  4625.     OS/2. 
  4626.  
  4627.  peaop2 (PEAOP2) - in/out 
  4628.     Extended attributes. 
  4629.  
  4630.     This parameter is only used to specify extended attributes (EAs) when 
  4631.     creating a new file, replacing an existing file, or truncating an existing 
  4632.     file.  It is ignored when used on a device.  When opening existing files, 
  4633.     it should be set to null. 
  4634.  
  4635.     Input        The address of the extended-attribute buffer, which contains 
  4636.                  an EAOP2 structure. fpFEA2List points to a data area where the 
  4637.                  relevant FEA2 list is to be found. fpGEA2List and oError are 
  4638.                  ignored. 
  4639.  
  4640.     Output       fpGEA2List and fpFEA2List are unchanged. The area that 
  4641.                  fpFEA2List points to is unchanged. If an error occurred during 
  4642.                  the set, oError is the offset of the FEA2 entry where the 
  4643.                  error occurred. The return code from DosOpen is the error code 
  4644.                  for that error condition. If no error occurred, oError is 
  4645.                  undefined. 
  4646.  
  4647.                  If peaop2 is zero, then no extended attributes are defined for 
  4648.                  the file. 
  4649.  
  4650.                  If extended attributes are not to be defined or modified, the 
  4651.                  pointer peaop2 must be set to zero. 
  4652.  
  4653.  ulrc (APIRET) - returns 
  4654.     Return Code. 
  4655.  
  4656.     DosOpen returns one of the following values: 
  4657.  
  4658.     0              NO_ERROR 
  4659.     2              ERROR_FILE_NOT_FOUND 
  4660.     3              ERROR_PATH_NOT_FOUND 
  4661.     4              ERROR_TOO_MANY_OPEN_FILES 
  4662.     5              ERROR_ACCESS_DENIED 
  4663.     12             ERROR_INVALID_ACCESS 
  4664.     26             ERROR_NOT_DOS_DISK 
  4665.     32             ERROR_SHARING_VIOLATION 
  4666.     36             ERROR_SHARING_BUFFER_EXCEEDED 
  4667.     82             ERROR_CANNOT_MAKE 
  4668.     87             ERROR_INVALID_PARAMETER 
  4669.     99             ERROR_DEVICE_IN_USE 
  4670.     108            ERROR_DRIVE_LOCKED 
  4671.     110            ERROR_OPEN_FAILED 
  4672.     112            ERROR_DISK_FULL 
  4673.     206            ERROR_FILENAME_EXCED_RANGE 
  4674.     231            ERROR_PIPE_BUSY 
  4675.  
  4676.     For a full list of error codes, see Errors. 
  4677.  
  4678.  
  4679. ΓòÉΓòÉΓòÉ <hidden> DosOpen - Remarks ΓòÉΓòÉΓòÉ
  4680.  
  4681. A successful DosOpen request returns a handle for accessing the file or device. 
  4682. The read/write pointer is set at the first byte of the file. The position of 
  4683. the pointer can be changed with DosSetFilePtr or by read and write operations 
  4684. on the file or device. 
  4685.  
  4686. A file's date and time can be queried with DosQueryFileInfo. They are set with 
  4687. DosSetFileInfo. 
  4688.  
  4689. The read-only attribute of a file can be set with the ATTRIB command. 
  4690.  
  4691. ulAttribute cannot be set to Volume Label. To set volume-label information, 
  4692. issue DosSetFSInfo with a logical drive number. Volume labels cannot be opened. 
  4693.  
  4694. cbFile affects the size of the file only when the file is new or a is 
  4695. replacement. If an existing file is opened, cbFile is ignored. To change the 
  4696. size of the existing file, issue DosSetFileSize. 
  4697.  
  4698. The value in cbFile is a recommended size. If the full size cannot be 
  4699. allocated, the open request may still succeed. The file system makes a 
  4700. reasonable attempt to allocate the new size in an area that is as nearly 
  4701. contiguous as possible on the medium. When the file size is extended, the 
  4702. values of the new bytes are undefined. 
  4703.  
  4704. The Direct Open bit provides direct access to an entire disk or diskette 
  4705. volume.  It is not used with the raw file system. This mode of opening the 
  4706. volume that is currently on the drive returns a handle to the calling function; 
  4707. the handle represents the logical volume as a single file.  The calling 
  4708. function specifies this handle with a DosDevIOCtl Category 8, DSK_LOCKDRIVE 
  4709. request to prevent other processes from accessing the logical volume. When you 
  4710. are finished using the logical volume, issue a DosDevIOCtl Category 8, 
  4711. DSK_UNLOCKDRIVE request to allow other processes to access the logical volume. 
  4712.  
  4713. The file-handle state bits can be set by DosOpen and DosSetFHState. An 
  4714. application can query the file-handle state bits, as well as the rest of the 
  4715. Open Mode field, by issuing DosQueryFHState. 
  4716.  
  4717. You can use an EAOP2 structure to set extended attributes in peaop2 when 
  4718. creating a file, replacing an existing file, or truncating an existing file. No 
  4719. extended attributes are set when an existing file is just opened. 
  4720.  
  4721. A replacement operation is logically equivalent to atomically deleting and 
  4722. re-creating the file. This means that any extended attributes associated with 
  4723. the file also are deleted before the file is re-created. 
  4724.  
  4725. When using the raw file system to access logical partitions and disk locking is 
  4726. required, use the following logic: 
  4727.  
  4728.    1. Lock the disk by passing the drive handle to DosDevIOCtl Category 8, 
  4729.       DSK_LOCKDRIVE. 
  4730.  
  4731.    2. Perform designed I/O operations to the disk. 
  4732.  
  4733.    3. Unlock the disk using DosDevIOCtl Category 8, DSK_UNLOCKDRIVE. 
  4734.  
  4735.  When using the raw file system to access a physical disk and disk locking is 
  4736.  required, the OPEN_SHARE_DENYREADWRITE flag should be used. The disk will be 
  4737.  automatically unlocked when a DosClose is done. 
  4738.  
  4739.  
  4740. ΓòÉΓòÉΓòÉ <hidden> DosOpen - Related Functions ΓòÉΓòÉΓòÉ
  4741.  
  4742. Related Functions 
  4743.  
  4744.      DosClose 
  4745.      DosDevIOCtl 
  4746.      DosDupHandle 
  4747.      DosQueryHType 
  4748.      DosSetFileInfo 
  4749.      DosSetFilePtr 
  4750.      DosSetFileSize 
  4751.      DosSetMaxFH 
  4752.      DosSetRelMaxFH 
  4753.  
  4754.  
  4755. ΓòÉΓòÉΓòÉ <hidden> DosOpen - Example Code ΓòÉΓòÉΓòÉ
  4756.  
  4757. This example reads to a physical disk using the raw file system and DosListIO. 
  4758.  
  4759. #define  INCL_ERRORS
  4760. #define  INCL_DOS
  4761. #define  INCL_NOPMAPI
  4762. #include <os2.h>
  4763. #include <stdio.h>
  4764. #include <stdlib.h>
  4765. #include <string.h>
  4766. #include <bsedev.h>
  4767. #include "listio.h"
  4768.  
  4769. #define   EightK   8*1024
  4770. #define   FourK   4*1024
  4771. #define   LISTIO_NUM 1000
  4772. #define   PAGE_RAND_MAX 100
  4773.  
  4774. CHAR  Buf[EightK];
  4775. LISTIO ListIO[LISTIO_NUM];
  4776. ULONG seed = 1;
  4777. ULONG page_rand(void);
  4778.  
  4779. int main (VOID)
  4780.  
  4781. {
  4782.    CHAR  *BufAligned;
  4783.    ULONG  rc;
  4784.    ULONG  Loop = LISTIO_NUM,
  4785.           i, j;
  4786.    ULONG  Action, Actual;
  4787.    HFILE  hFile;
  4788.  
  4789.    /* Make sure buffer is page aligned */
  4790.  
  4791.    BufAligned = (UCHAR *)(((LONG)Buf + FourK) & 0xFFFFF000);
  4792.  
  4793.    /* Open a raw file system disk */
  4794.  
  4795.    rc = DosOpen((PSZ)"\\\\.\\Physical_Disk2",
  4796.                 &hFile,
  4797.                 &Action,
  4798.                 0L,
  4799.                 FILE_NORMAL,
  4800.                 OPEN_ACTION_OPEN_IF_EXISTS,
  4801.                 OPEN_SHARE_DENYNONE | OPEN_ACCESS_READWRITE,
  4802.                 0L);
  4803.  
  4804.    if (rc != NO_ERROR) {
  4805.       printf("DosOpen error:  rc = %u\n", rc);
  4806.       return(1);
  4807.    } /* if */
  4808.    /*************************************/
  4809.    /* Perform Random READ using DosRead */
  4810.    /*************************************/
  4811.  
  4812.    for(i = 0; i < Loop ; i++) { /* Loop for Random Read */
  4813.       rc = DosSetFilePtr(hFile,  /* file's handle */
  4814.                          page_rand()*FourK, /* offset */
  4815.                          FILE_BEGIN, /* from beginning of file */
  4816.                          &Actual);
  4817.  
  4818.       if (rc != NO_ERROR) {
  4819.          printf("DosSetFilePtr error:  rc = %u\n", rc);
  4820.          return(1);
  4821.       } /* if */
  4822.  
  4823.       rc = DosRead( hFile,  /* file's handle */
  4824.                     BufAligned,  /* buffer pointer */
  4825.                     FourK,   /* size to read */
  4826.                     &Actual);
  4827.  
  4828.       if (rc != NO_ERROR) {
  4829.          printf("DosRead error:  rc = %u\n", rc);
  4830.          return(1);
  4831.       } /* if */
  4832.  
  4833.    } /* for i */
  4834.    /****************************************/
  4835.    /* Perform Random Read using DosListIO  */
  4836.    /****************************************/
  4837.  
  4838.    for (i = 0; i < Loop; i++) {
  4839.       ListIO[i].hFile = hFile;
  4840.       ListIO[i].CmdFlag = LISTIO_READ | FILE_BEGIN;
  4841.       ListIO[i].Offset = page_rand()*FourK;
  4842.       ListIO[i].pBuffer = BufAligned;
  4843.       ListIO[i].NumBytes = FourK;
  4844.    } /* for i */
  4845.  
  4846.    rc = DosListIO( LISTIO_UNORDERED, /* unordered mode */
  4847.                    Loop,    /* number of reads */
  4848.                    ListIO);   /* array of control blocks */
  4849.  
  4850.    if (rc != NO_ERROR) {
  4851.       printf("DosListIO error:  rc = %u\n", rc);
  4852.  
  4853.       for (i = 0; i < Loop; i++) {
  4854.          if ((ListIO[i].Actual != FourK) ||
  4855.              (ListIO[i].RetCode != NO_ERROR)) {
  4856.             printf("DosListIO error:  i = %d, Actual = %d, RetCode = %u\n",
  4857.      I, ListIO[i].Actual, ListIO[i].RetCode);
  4858.          } /* if */
  4859.       } /* for i */
  4860.       return(1);
  4861.    } /* if */
  4862.    /* Close file */
  4863.  
  4864.    rc = DosClose(hFile);
  4865.  
  4866.    if (rc != NO_ERROR) {
  4867.       printf("DosClose error:  rc = %u\n", rc);
  4868.       return(1);
  4869.    }
  4870.  
  4871.    return(NO_ERROR);
  4872.  
  4873. }
  4874.  
  4875. /********************************************************/
  4876. /*                                                      */
  4877. /* FUNCTION: page_rand                               */
  4878. /*                                                      */
  4879. /* DESCRIPTION: Generate random number in range         */
  4880. /*              [0,PAGE_RAND_MAX-1]           */
  4881. /*                                                      */
  4882. /********************************************************/
  4883.  
  4884. ULONG page_rand()
  4885.  
  4886. {
  4887.    seed = seed * 1103515245 + 12345;
  4888.    return(((ULONG)(seed/(2*PAGE_RAND_MAX)) % PAGE_RAND_MAX));
  4889.  
  4890. }
  4891.  
  4892.  
  4893. ΓòÉΓòÉΓòÉ <hidden> DosOpen - Topics ΓòÉΓòÉΓòÉ
  4894.  
  4895. Select an item: 
  4896.  
  4897. Syntax
  4898. Parameters
  4899. Returns
  4900. Remarks
  4901. Example Code
  4902. Related Functions
  4903.  
  4904.  
  4905. ΓòÉΓòÉΓòÉ 5.6. DosPhysicalDisk ΓòÉΓòÉΓòÉ
  4906.  
  4907.  
  4908. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk - Syntax ΓòÉΓòÉΓòÉ
  4909.  
  4910. Obtains information about partitionable disks. 
  4911.  
  4912.  
  4913. #define INCL_DOSPROCESS
  4914. #include <os2.h>
  4915.  
  4916. ULONG     function;  /*  The type of information to obtain about the partitionable disks. */
  4917. PVOID     pBuf;      /*  The address of the buffer where the returned information is placed. */
  4918. ULONG     cbBuf;     /*  The length, in bytes, of the data buffer. */
  4919. PVOID     pParams;   /*  The address of the buffer used for input parameters. */
  4920. ULONG     cbParams;  /*  The length, in bytes, of the parameter buffer. */
  4921. APIRET    ulrc;      /*  Return Code. */
  4922.  
  4923. ulrc = DosPhysicalDisk(function, pBuf, cbBuf,
  4924.          pParams, cbParams);
  4925.  
  4926.  
  4927. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk Parameter - function ΓòÉΓòÉΓòÉ
  4928.  
  4929.  function (ULONG) - input 
  4930.     The type of information to obtain about the partitionable disks. 
  4931.  
  4932.     Possible values are shown in the following list: 
  4933.  
  4934.     1        INFO_COUNT_PARTITIONABLE_DISKS 
  4935.              Obtain the total number of partitionable disks. 
  4936.  
  4937.     2        INFO_GETIOCTLHANDLE 
  4938.              Obtain a handle to use with Category 09h Physical Disk Control 
  4939.              IOCtl Commands. 
  4940.  
  4941.     3        INFO_FREEIOCTLHANDLE 
  4942.              Release a handle for a partitionable disk. 
  4943.  
  4944.  
  4945. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk Parameter - pBuf ΓòÉΓòÉΓòÉ
  4946.  
  4947.  pBuf (PVOID) - input 
  4948.     The address of the buffer where the returned information is placed. 
  4949.  
  4950.     The output data for each function is shown in the following list (all 
  4951.     lengths are in bytes): 
  4952.  
  4953.         ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  4954.         ΓöéFunction  ΓöéDataLen   ΓöéReturned Information                    Γöé
  4955.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4956.         Γöé 1        Γöé 2        ΓöéTotal number of partitionable disks in  Γöé
  4957.         Γöé          Γöé          Γöéthe system (1-based).                   Γöé
  4958.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4959.         Γöé 2        Γöé 2        ΓöéHandle for the specified partitionable  Γöé
  4960.         Γöé          Γöé          Γöédisk for the Category 09h Physical Disk Γöé
  4961.         Γöé          Γöé          ΓöéControl IOCtl Commands.                 Γöé
  4962.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4963.         Γöé 3        Γöé 0        ΓöéNone - pointer must be zero.            Γöé
  4964.         ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  4965.  
  4966.  
  4967. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk Parameter - cbBuf ΓòÉΓòÉΓòÉ
  4968.  
  4969.  cbBuf (ULONG) - input 
  4970.     The length, in bytes, of the data buffer. 
  4971.  
  4972.  
  4973. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk Parameter - pParams ΓòÉΓòÉΓòÉ
  4974.  
  4975.  pParams (PVOID) - input 
  4976.     The address of the buffer used for input parameters. 
  4977.  
  4978.     The input parameters required for each function are as follows (all lengths 
  4979.     are in bytes): 
  4980.  
  4981.         ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  4982.         ΓöéFunction  ΓöéParmLen      ΓöéInput Parameters                     Γöé
  4983.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4984.         Γöé 1        Γöé 0           ΓöéNone - must be set to zero.          Γöé
  4985.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4986.         Γöé 2        Γöéstring lengthΓöéASCIIZ string that specifies the     Γöé
  4987.         Γöé          Γöé             Γöépartitionable disk.                  Γöé
  4988.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4989.         Γöé 3        Γöé 2           ΓöéHandle obtained from Function 2.     Γöé
  4990.         ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  4991.  
  4992.     The ASCIIZ string used to specify the partitionable disk must be of the 
  4993.     following format: 
  4994.  
  4995.  
  4996.         number : <null byte>
  4997.  
  4998.     Where: 
  4999.  
  5000.     number            specifies the partitionable disk number (1-based) in 
  5001.                       ASCII. 
  5002.     colon ( : )       must be present. 
  5003.     <null byte>       is the byte of zero for the ASCIIZ string. 
  5004.  
  5005.  
  5006. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk Parameter - cbParams ΓòÉΓòÉΓòÉ
  5007.  
  5008.  cbParams (ULONG) - input 
  5009.     The length, in bytes, of the parameter buffer. 
  5010.  
  5011.  
  5012. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk Return Value - ulrc ΓòÉΓòÉΓòÉ
  5013.  
  5014.  ulrc (APIRET) - returns 
  5015.     Return Code. 
  5016.  
  5017.     DosPhysicalDisk returns one of the following values: 
  5018.  
  5019.     0              NO_ERROR 
  5020.     1              ERROR_INVALID_FUNCTION 
  5021.     87             ERROR_INVALID_PARAMETER 
  5022.  
  5023.     For a full list of error codes, see Errors. 
  5024.  
  5025.  
  5026. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk - Parameters ΓòÉΓòÉΓòÉ
  5027.  
  5028.  function (ULONG) - input 
  5029.     The type of information to obtain about the partitionable disks. 
  5030.  
  5031.     Possible values are shown in the following list: 
  5032.  
  5033.     1        INFO_COUNT_PARTITIONABLE_DISKS 
  5034.              Obtain the total number of partitionable disks. 
  5035.  
  5036.     2        INFO_GETIOCTLHANDLE 
  5037.              Obtain a handle to use with Category 09h Physical Disk Control 
  5038.              IOCtl Commands. 
  5039.  
  5040.     3        INFO_FREEIOCTLHANDLE 
  5041.              Release a handle for a partitionable disk. 
  5042.  
  5043.  pBuf (PVOID) - input 
  5044.     The address of the buffer where the returned information is placed. 
  5045.  
  5046.     The output data for each function is shown in the following list (all 
  5047.     lengths are in bytes): 
  5048.  
  5049.         ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  5050.         ΓöéFunction  ΓöéDataLen   ΓöéReturned Information                    Γöé
  5051.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5052.         Γöé 1        Γöé 2        ΓöéTotal number of partitionable disks in  Γöé
  5053.         Γöé          Γöé          Γöéthe system (1-based).                   Γöé
  5054.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5055.         Γöé 2        Γöé 2        ΓöéHandle for the specified partitionable  Γöé
  5056.         Γöé          Γöé          Γöédisk for the Category 09h Physical Disk Γöé
  5057.         Γöé          Γöé          ΓöéControl IOCtl Commands.                 Γöé
  5058.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5059.         Γöé 3        Γöé 0        ΓöéNone - pointer must be zero.            Γöé
  5060.         ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5061.  
  5062.  cbBuf (ULONG) - input 
  5063.     The length, in bytes, of the data buffer. 
  5064.  
  5065.  pParams (PVOID) - input 
  5066.     The address of the buffer used for input parameters. 
  5067.  
  5068.     The input parameters required for each function are as follows (all lengths 
  5069.     are in bytes): 
  5070.  
  5071.         ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  5072.         ΓöéFunction  ΓöéParmLen      ΓöéInput Parameters                     Γöé
  5073.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5074.         Γöé 1        Γöé 0           ΓöéNone - must be set to zero.          Γöé
  5075.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5076.         Γöé 2        Γöéstring lengthΓöéASCIIZ string that specifies the     Γöé
  5077.         Γöé          Γöé             Γöépartitionable disk.                  Γöé
  5078.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  5079.         Γöé 3        Γöé 2           ΓöéHandle obtained from Function 2.     Γöé
  5080.         ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  5081.  
  5082.     The ASCIIZ string used to specify the partitionable disk must be of the 
  5083.     following format: 
  5084.  
  5085.  
  5086.         number : <null byte>
  5087.  
  5088.     Where: 
  5089.  
  5090.     number            specifies the partitionable disk number (1-based) in 
  5091.                       ASCII. 
  5092.     colon ( : )       must be present. 
  5093.     <null byte>       is the byte of zero for the ASCIIZ string. 
  5094.  
  5095.  cbParams (ULONG) - input 
  5096.     The length, in bytes, of the parameter buffer. 
  5097.  
  5098.  ulrc (APIRET) - returns 
  5099.     Return Code. 
  5100.  
  5101.     DosPhysicalDisk returns one of the following values: 
  5102.  
  5103.     0              NO_ERROR 
  5104.     1              ERROR_INVALID_FUNCTION 
  5105.     87             ERROR_INVALID_PARAMETER 
  5106.  
  5107.     For a full list of error codes, see Errors. 
  5108.  
  5109.  
  5110. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk - Remarks ΓòÉΓòÉΓòÉ
  5111.  
  5112. DosPhysicalDisk obtains information about partitionable disks. The handle 
  5113. returned for the specified partitionable disk can only be used with the 
  5114. DosDevIOCtl function for the Category 09h Physical Disk Control IOCtl Commands. 
  5115. Use of the handle for a physical partitionable disk is not permitted for 
  5116. handle-based file system functions, such as DosRead or DosClose. 
  5117.  
  5118.  
  5119. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk - Related Functions ΓòÉΓòÉΓòÉ
  5120.  
  5121. Related Functions 
  5122.  
  5123.      DosBeep 
  5124.      DosDevConfig 
  5125.      DosDevIOCtl 
  5126.  
  5127.  
  5128. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk - Example Code ΓòÉΓòÉΓòÉ
  5129.  
  5130. This example obtains the total number of partitionable disks in the system. A 
  5131. partitionable disk is a physical disk drive that can be formatted into 
  5132. partitions. 
  5133.  
  5134.  #define INCL_DOSDEVICES   /* Device values    */
  5135.  #define INCL_DOSERRORS    /* DOS error values */
  5136.  #include <os2.h>
  5137.  #include <stdio.h>
  5138.  
  5139. int main (VOID) {
  5140.  
  5141.  USHORT  usNumDrives  = 0;                  /* Data return buffer        */
  5142.  ULONG   ulDataLen    = sizeof(USHORT);     /* Data return buffer length */
  5143.  APIRET  rc           = NO_ERROR;           /* Return code               */
  5144.  
  5145.  /* Request a count of the number of partitionable disks in the system */
  5146.  
  5147.     rc = DosPhysicalDisk(INFO_COUNT_PARTITIONABLE_DISKS,
  5148.                          &usNumDrives,
  5149.                          ulDataLen,
  5150.                          NULL,         /* No parameter for this function */
  5151.                          0L);
  5152.  
  5153.     if (rc != NO_ERROR) {
  5154.        printf("DosPhysicalDisk error: return code = %u\n", rc);
  5155.        return 1;
  5156.     } else {
  5157.        printf("DosPhysicalDisk:  %u partitionable disk(s)\n",usNumDrives);
  5158.     }
  5159.  
  5160.    return NO_ERROR;
  5161. }
  5162.  
  5163.  
  5164. ΓòÉΓòÉΓòÉ <hidden> DosPhysicalDisk - Topics ΓòÉΓòÉΓòÉ
  5165.  
  5166. Select an item: 
  5167.  
  5168. Syntax
  5169. Parameters
  5170. Returns
  5171. Remarks
  5172. Example Code
  5173. Related Functions
  5174.  
  5175.  
  5176. ΓòÉΓòÉΓòÉ 5.7. DosRead ΓòÉΓòÉΓòÉ
  5177.  
  5178.  
  5179. ΓòÉΓòÉΓòÉ <hidden> DosRead - Syntax ΓòÉΓòÉΓòÉ
  5180.  
  5181. Reads the specified number of bytes from a file, pipe, or device to a buffer 
  5182. location. 
  5183.  
  5184.  
  5185. #define INCL_DOSFILEMGR
  5186. #include <os2.h>
  5187.  
  5188. HFILE     hFile;      /*  File handle obtained from DosOpen. */
  5189. PVOID     pBuffer;    /*  Address of the buffer to receive the bytes read. */
  5190. ULONG     cbRead;     /*  The length, in bytes, of pBuffer. */
  5191. PULONG    pcbActual;  /*  Address of the variable to receive the number of bytes actually read. */
  5192. APIRET    ulrc;       /*  Return Code. */
  5193.  
  5194. ulrc = DosRead(hFile, pBuffer, cbRead, pcbActual);
  5195.  
  5196.  
  5197. ΓòÉΓòÉΓòÉ <hidden> DosRead Parameter - hFile ΓòÉΓòÉΓòÉ
  5198.  
  5199.  hFile (HFILE) - input 
  5200.     File handle obtained from DosOpen. 
  5201.  
  5202.  
  5203. ΓòÉΓòÉΓòÉ <hidden> DosRead Parameter - pBuffer ΓòÉΓòÉΓòÉ
  5204.  
  5205.  pBuffer (PVOID) - output 
  5206.     Address of the buffer to receive the bytes read. 
  5207.  
  5208.  
  5209. ΓòÉΓòÉΓòÉ <hidden> DosRead Parameter - cbRead ΓòÉΓòÉΓòÉ
  5210.  
  5211.  cbRead (ULONG) - input 
  5212.     The length, in bytes, of pBuffer. 
  5213.  
  5214.     This is the number of bytes to be read.  A value of zero is treated as a 
  5215.     null operation as is not considered an error. 
  5216.  
  5217.     In the raw file system, this must be a multiple of the sector size (512). 
  5218.  
  5219.  
  5220. ΓòÉΓòÉΓòÉ <hidden> DosRead Parameter - pcbActual ΓòÉΓòÉΓòÉ
  5221.  
  5222.  pcbActual (PULONG) - output 
  5223.     Address of the variable to receive the number of bytes actually read. 
  5224.  
  5225.  
  5226. ΓòÉΓòÉΓòÉ <hidden> DosRead Return Value - ulrc ΓòÉΓòÉΓòÉ
  5227.  
  5228.  ulrc (APIRET) - returns 
  5229.     Return Code. 
  5230.  
  5231.     DosRead returns one of the following values: 
  5232.  
  5233.     0              NO_ERROR 
  5234.     1              ERROR_INVALID_FUNCTION 
  5235.     5              ERROR_ACCESS_DENIED 
  5236.     6              ERROR_INVALID_HANDLE 
  5237.     26             ERROR_NOT_DOS_DISK 
  5238.     33             ERROR_LOCK_VIOLATION 
  5239.     87             ERROR_INVALID_PARAMETER 
  5240.     232            ERROR_NO_DATA 
  5241.     234            ERROR_MORE_DATA 
  5242.  
  5243.     For a full list of error codes, see Errors. 
  5244.  
  5245.  
  5246. ΓòÉΓòÉΓòÉ <hidden> DosRead - Parameters ΓòÉΓòÉΓòÉ
  5247.  
  5248.  hFile (HFILE) - input 
  5249.     File handle obtained from DosOpen. 
  5250.  
  5251.  pBuffer (PVOID) - output 
  5252.     Address of the buffer to receive the bytes read. 
  5253.  
  5254.  cbRead (ULONG) - input 
  5255.     The length, in bytes, of pBuffer. 
  5256.  
  5257.     This is the number of bytes to be read.  A value of zero is treated as a 
  5258.     null operation as is not considered an error. 
  5259.  
  5260.     In the raw file system, this must be a multiple of the sector size (512). 
  5261.  
  5262.  pcbActual (PULONG) - output 
  5263.     Address of the variable to receive the number of bytes actually read. 
  5264.  
  5265.  ulrc (APIRET) - returns 
  5266.     Return Code. 
  5267.  
  5268.     DosRead returns one of the following values: 
  5269.  
  5270.     0              NO_ERROR 
  5271.     1              ERROR_INVALID_FUNCTION 
  5272.     5              ERROR_ACCESS_DENIED 
  5273.     6              ERROR_INVALID_HANDLE 
  5274.     26             ERROR_NOT_DOS_DISK 
  5275.     33             ERROR_LOCK_VIOLATION 
  5276.     87             ERROR_INVALID_PARAMETER 
  5277.     232            ERROR_NO_DATA 
  5278.     234            ERROR_MORE_DATA 
  5279.  
  5280.     For a full list of error codes, see Errors. 
  5281.  
  5282.  
  5283. ΓòÉΓòÉΓòÉ <hidden> DosRead - Remarks ΓòÉΓòÉΓòÉ
  5284.  
  5285. Note:  When writing message pipes the application is limited to 64K messages. 
  5286.        As well, these messages cannot span 64k boundaries due to the current 
  5287.        design of the thunk layer in read or write routines. If the message is 
  5288.        not written in an aligned manner, the subsequent read will not be able 
  5289.        to handle the messages properly. If a 64k or less message is written to 
  5290.        a pipe from an aligned buffer, the read will handle this properly. 
  5291.  
  5292.  The requested number of bytes might not be read. If the value returned in 
  5293.  pcbActual is zero, the process tried to read from the end of the file. 
  5294.  
  5295.  The file pointer is moved to the desired position by reading data, writing 
  5296.  data, or issuing DosSetFilePtr. 
  5297.  
  5298.  If you issue DosOpen with the Direct Open flag set to 1 in the fsOpenFlags 
  5299.  parameter, you have direct access to an entire disk or diskette volume, 
  5300.  independent of the file system. You must lock the logical volume before 
  5301.  accessing it, and you must unlock the logical volume when you are finished 
  5302.  accessing it. Issue DosDevIOCtl for Category 8, DSK_LOCKDRIVE to lock the 
  5303.  logical volume, and for Category 8, DSK_UNLOCKDRIVE to unlock the logical 
  5304.  volume. While the logical volume is locked, no other process can access it. 
  5305.  
  5306.  Raw File System Considerations 
  5307.  
  5308.  Using the Raw File System on logical partitions requires you to lock and 
  5309.  unlock the volume using the DosDevIOCtl Category 8, DSK_LOCKDRIVE and 
  5310.  DSK_UNLOCKDRIVE.  Reads and writes will not complete successfully until the 
  5311.  logical drive is locked. 
  5312.  
  5313.  The Raw File System requires that the number of bytes being read is a multiple 
  5314.  of the sector size (512). 
  5315.  
  5316.  Named Pipe Considerations 
  5317.  
  5318.  A named pipe is read as one of the following: 
  5319.  
  5320.      A byte pipe in byte-read mode 
  5321.      A message pipe in message-read mode 
  5322.      A message pipe in byte-read mode. 
  5323.  
  5324.  A byte pipe must be in byte-read mode to be read; an error is returned if it 
  5325.  is in message-read mode. All currently available data, up to the size 
  5326.  requested, is returned. 
  5327.  
  5328.  A message pipe can be read in either message-read mode or byte-read mode. When 
  5329.  the message pipe is in message-read mode, a read operation that is larger than 
  5330.  the next available message returns only that message. pcbActual is set to 
  5331.  indicate the size of the message returned. 
  5332.  
  5333.  A read operation that is smaller than the next available message returns with 
  5334.  the number of bytes requested and an ERROR_MORE_DATA return code. When the 
  5335.  reading of a message is resumed after ERROR_MORE_DATA is returned, a read 
  5336.  operation always blocks until the next piece (or the rest) of the message can 
  5337.  be transferred. DosPeekNPipe can be issued to determine how many bytes are 
  5338.  left in the message. 
  5339.  
  5340.  A message pipe in byte-read mode is read as if it were a byte stream, and 
  5341.  DosRead skips over message headers. This is like reading a byte pipe in 
  5342.  byte-read mode. 
  5343.  
  5344.  When blocking mode is set for a named pipe, a read operation blocks until data 
  5345.  is available. In this case, the read operation never returns with pcbActual 
  5346.  equal to zero, except when the pipe is closed. When the mode is set to 
  5347.  message-read, messages are always read in their entirety, except when the 
  5348.  message is bigger than the size of the read operation. 
  5349.  
  5350.  pcbActual can equal zero in nonblocking mode, but only when no data is 
  5351.  available at the time of the read operation. 
  5352.  
  5353.  If you attempt a read of a named pipe when the other end of the pipe is closed 
  5354.  while the read is pending, DosRead returns: 
  5355.  
  5356.      pcbActual equal to 0 
  5357.      ulrc equal to either 0 or ERROR_NO_DATA 
  5358.  
  5359.  Unnamed Pipe Considerations 
  5360.  
  5361.  Threads writing to and reading from the same unnamed pipe are not 
  5362.  synchronized. It is possible for the pipe reader to obtain partial contents of 
  5363.  a write request if the pipe becomes full during the write request. 
  5364.  
  5365.  
  5366. ΓòÉΓòÉΓòÉ <hidden> DosRead - Related Functions ΓòÉΓòÉΓòÉ
  5367.  
  5368. Related Functions 
  5369.  
  5370.      DosOpen 
  5371.      DosSetFilePtr 
  5372.      DosWrite 
  5373.  
  5374.  
  5375. ΓòÉΓòÉΓòÉ <hidden> DosRead - Example Code ΓòÉΓòÉΓòÉ
  5376.  
  5377. This example reads to a physical disk using the raw file system and DosListIO. 
  5378.  
  5379. #define  INCL_ERRORS
  5380. #define  INCL_DOS
  5381. #define  INCL_NOPMAPI
  5382. #include <os2.h>
  5383. #include <stdio.h>
  5384. #include <stdlib.h>
  5385. #include <string.h>
  5386. #include <bsedev.h>
  5387. #include "listio.h"
  5388.  
  5389. #define   EightK   8*1024
  5390. #define   FourK   4*1024
  5391. #define   LISTIO_NUM 1000
  5392. #define   PAGE_RAND_MAX 100
  5393.  
  5394. CHAR  Buf[EightK];
  5395. LISTIO ListIO[LISTIO_NUM];
  5396. ULONG seed = 1;
  5397. ULONG page_rand(void);
  5398.  
  5399. int main (VOID)
  5400.  
  5401. {
  5402.    CHAR  *BufAligned;
  5403.    ULONG  rc;
  5404.    ULONG  Loop = LISTIO_NUM,
  5405.           i, j;
  5406.    ULONG  Action, Actual;
  5407.    HFILE  hFile;
  5408.  
  5409.    /* Make sure buffer is page aligned */
  5410.  
  5411.    BufAligned = (UCHAR *)(((LONG)Buf + FourK) & 0xFFFFF000);
  5412.  
  5413.    /* Open a raw file system disk */
  5414.  
  5415.    rc = DosOpen((PSZ)"\\\\.\\Physical_Disk2",
  5416.                 &hFile,
  5417.                 &Action,
  5418.                 0L,
  5419.                 FILE_NORMAL,
  5420.                 OPEN_ACTION_OPEN_IF_EXISTS,
  5421.                 OPEN_SHARE_DENYNONE | OPEN_ACCESS_READWRITE,
  5422.                 0L);
  5423.  
  5424.    if (rc != NO_ERROR) {
  5425.       printf("ERROR:DosOpen rc = %d\n", rc);
  5426.       return(1);
  5427.    } /* if */
  5428.    /*************************************/
  5429.    /* Perform Random READ using DosRead */
  5430.    /*************************************/
  5431.  
  5432.    for(i = 0; i < Loop ; i++) { /* Loop for Random Read */
  5433.       rc = DosSetFilePtr(hFile,  /* file's handle */
  5434.                          page_rand()*FourK, /* offset */
  5435.                          FILE_BEGIN, /* from beginning of file */
  5436.                          &Actual);
  5437.  
  5438.       if (rc != NO_ERROR) {
  5439.          printf("ERROR:DosSetFilePtr rc = %d\n", rc);
  5440.          return(1);
  5441.       } /* if */
  5442.  
  5443.       rc = DosRead( hFile,  /* file's handle */
  5444.                     BufAligned,  /* buffer pointer */
  5445.                     FourK,   /* size to read */
  5446.                     &Actual);
  5447.  
  5448.       if (rc != NO_ERROR) {
  5449.          printf("ERROR:DosRead rc = %d\n", rc);
  5450.          return(1);
  5451.       } /* if */
  5452.  
  5453.    } /* for i */
  5454.    /****************************************/
  5455.    /* Perform Random Read using DosListIO  */
  5456.    /****************************************/
  5457.  
  5458.    for (i = 0; i < Loop; i++) {
  5459.       ListIO[i].hFile = hFile;
  5460.       ListIO[i].CmdFlag = LISTIO_READ | FILE_BEGIN;
  5461.       ListIO[i].Offset = page_rand()*FourK;
  5462.       ListIO[i].pBuffer = BufAligned;
  5463.       ListIO[i].NumBytes = FourK;
  5464.    } /* for i */
  5465.  
  5466.    rc = DosListIO( LISTIO_UNORDERED, /* unordered mode */
  5467.                    Loop,    /* number of reads */
  5468.                    ListIO);   /* array of control blocks */
  5469.  
  5470.    if (rc != NO_ERROR) {
  5471.       printf("ERROR:DosListIO rc = %d\n", rc);
  5472.  
  5473.       for (i = 0; i < Loop; i++) {
  5474.          if ((ListIO[i].Actual != FourK) ||
  5475.              (ListIO[i].RetCode != NO_ERROR)) {
  5476.             printf("ERROR:DosListIO i = %d, Actual = %d, RetCode = %d\n",
  5477.      I, ListIO[i].Actual, ListIO[i].RetCode);
  5478.          } /* if */
  5479.       } /* for i */
  5480.       return(1);
  5481.    } /* if */
  5482.    /* Close file */
  5483.  
  5484.    rc = DosClose(hFile);
  5485.  
  5486.    if (rc != NO_ERROR) {
  5487.       printf("ERROR:DosClose rc = %d\n", rc);
  5488.       return(1);
  5489.    }
  5490.  
  5491.    return(NO_ERROR);
  5492.  
  5493. }
  5494.  
  5495. /********************************************************/
  5496. /*                                                      */
  5497. /* FUNCTION: page_rand                               */
  5498. /*                                                      */
  5499. /* DESCRIPTION: Generate random number in range         */
  5500. /*              [0,PAGE_RAND_MAX-1]           */
  5501. /*                                                      */
  5502. /********************************************************/
  5503.  
  5504. ULONG page_rand()
  5505.  
  5506. {
  5507.    seed = seed * 1103515245 + 12345;
  5508.    return(((ULONG)(seed/(2*PAGE_RAND_MAX)) % PAGE_RAND_MAX));
  5509.  
  5510. }
  5511.  
  5512.  
  5513. ΓòÉΓòÉΓòÉ <hidden> DosRead - Topics ΓòÉΓòÉΓòÉ
  5514.  
  5515. Select an item: 
  5516.  
  5517. Syntax
  5518. Parameters
  5519. Returns
  5520. Remarks
  5521. Example Code
  5522. Related Functions
  5523.  
  5524.  
  5525. ΓòÉΓòÉΓòÉ 5.8. DosSetFilePtr ΓòÉΓòÉΓòÉ
  5526.  
  5527.  
  5528. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr - Syntax ΓòÉΓòÉΓòÉ
  5529.  
  5530. Moves the read/write pointer according to the type of move specified. 
  5531.  
  5532.  
  5533. #define INCL_DOSFILEMGR
  5534. #include <os2.h>
  5535.  
  5536. HFILE     hFile;     /*  The handle returned by a previous DosOpen function. */
  5537. LONG      ib;        /*  The signed distance (offset) to move, in bytes. */
  5538. ULONG     method;    /*  The method of moving. */
  5539. PULONG    ibActual;  /*  Address of the new pointer location. */
  5540. APIRET    ulrc;      /*  Return Code. */
  5541.  
  5542. ulrc = DosSetFilePtr(hFile, ib, method, ibActual);
  5543.  
  5544.  
  5545. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr Parameter - hFile ΓòÉΓòÉΓòÉ
  5546.  
  5547.  hFile (HFILE) - input 
  5548.     The handle returned by a previous DosOpen function. 
  5549.  
  5550.  
  5551. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr Parameter - ib ΓòÉΓòÉΓòÉ
  5552.  
  5553.  ib (LONG) - input 
  5554.     The signed distance (offset) to move, in bytes. 
  5555.  
  5556.     In the Raw File System, this offset must be a multiple of the sector size, 
  5557.     which is 512. 
  5558.  
  5559.  
  5560. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr Parameter - method ΓòÉΓòÉΓòÉ
  5561.  
  5562.  method (ULONG) - input 
  5563.     The method of moving. 
  5564.  
  5565.     Specifies a location in the file from where the ib to move the read/write 
  5566.     pointer starts. The values and their meanings are described in the 
  5567.     following list: 
  5568.  
  5569.     0        FILE_BEGIN 
  5570.              Move the pointer from the beginning of the file. 
  5571.  
  5572.     1        FILE_CURRENT 
  5573.              Move the pointer from the current location of the read/write 
  5574.              pointer. 
  5575.  
  5576.     2        FILE_END 
  5577.              Move the pointer from the end of the file. Use this method to 
  5578.              determine a file's size. 
  5579.  
  5580.     2        FILE_SECTOR 
  5581.              Indicates that the value specified for ib is in sectors rather 
  5582.              than bytes.  This permits access to disks up to 1 TB (terabyte) in 
  5583.              size. This flag must be ORed with either FILE_BEGIN, FILE_CURRENT, 
  5584.              or FILE_END and is only valid when using the raw file system. 
  5585.  
  5586.  
  5587. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr Parameter - ibActual ΓòÉΓòÉΓòÉ
  5588.  
  5589.  ibActual (PULONG) - output 
  5590.     Address of the new pointer location. 
  5591.  
  5592.  
  5593. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr Return Value - ulrc ΓòÉΓòÉΓòÉ
  5594.  
  5595.  ulrc (APIRET) - returns 
  5596.     Return Code. 
  5597.  
  5598.     DosSetFilePtr returns one of the following values: 
  5599.  
  5600.     0              NO_ERROR 
  5601.     1              ERROR_INVALID_FUNCTION 
  5602.     6              ERROR_INVALID_HANDLE 
  5603.     25             ERROR_SEEK 
  5604.     130            ERROR_DIRECT_ACCESS_HANDLE 
  5605.     131            ERROR_NEGATIVE_SEEK 
  5606.     132            ERROR_SEEK_ON_DEVICE 
  5607.  
  5608.     For a full list of error codes, see Errors. 
  5609.  
  5610.  
  5611. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr - Parameters ΓòÉΓòÉΓòÉ
  5612.  
  5613.  hFile (HFILE) - input 
  5614.     The handle returned by a previous DosOpen function. 
  5615.  
  5616.  ib (LONG) - input 
  5617.     The signed distance (offset) to move, in bytes. 
  5618.  
  5619.     In the Raw File System, this offset must be a multiple of the sector size, 
  5620.     which is 512. 
  5621.  
  5622.  method (ULONG) - input 
  5623.     The method of moving. 
  5624.  
  5625.     Specifies a location in the file from where the ib to move the read/write 
  5626.     pointer starts. The values and their meanings are described in the 
  5627.     following list: 
  5628.  
  5629.     0        FILE_BEGIN 
  5630.              Move the pointer from the beginning of the file. 
  5631.  
  5632.     1        FILE_CURRENT 
  5633.              Move the pointer from the current location of the read/write 
  5634.              pointer. 
  5635.  
  5636.     2        FILE_END 
  5637.              Move the pointer from the end of the file. Use this method to 
  5638.              determine a file's size. 
  5639.  
  5640.     2        FILE_SECTOR 
  5641.              Indicates that the value specified for ib is in sectors rather 
  5642.              than bytes.  This permits access to disks up to 1 TB (terabyte) in 
  5643.              size. This flag must be ORed with either FILE_BEGIN, FILE_CURRENT, 
  5644.              or FILE_END and is only valid when using the raw file system. 
  5645.  
  5646.  ibActual (PULONG) - output 
  5647.     Address of the new pointer location. 
  5648.  
  5649.  ulrc (APIRET) - returns 
  5650.     Return Code. 
  5651.  
  5652.     DosSetFilePtr returns one of the following values: 
  5653.  
  5654.     0              NO_ERROR 
  5655.     1              ERROR_INVALID_FUNCTION 
  5656.     6              ERROR_INVALID_HANDLE 
  5657.     25             ERROR_SEEK 
  5658.     130            ERROR_DIRECT_ACCESS_HANDLE 
  5659.     131            ERROR_NEGATIVE_SEEK 
  5660.     132            ERROR_SEEK_ON_DEVICE 
  5661.  
  5662.     For a full list of error codes, see Errors. 
  5663.  
  5664.  
  5665. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr - Remarks ΓòÉΓòÉΓòÉ
  5666.  
  5667. The read/write pointer in a file is a signed 32-bit number. A negative value 
  5668. for ib moves the pointer backward in the file; a positive value moves it 
  5669. forward. DosSetFilePtr cannot be used to move to a negative position in the 
  5670. file. 
  5671.  
  5672. The signed 32-bit value of the read/write pointer limits raw file system access 
  5673. to the first 2GB of a disk unless the FILE_SECTOR option is specified. 
  5674. FILE_SECTOR indicates that the 32-bit value is in sectors rather than bytes, 
  5675. which allows access to up to 1TB. 
  5676.  
  5677. DosSetFilePtr cannot be used for a character device or pipe. 
  5678.  
  5679.  
  5680. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr - Related Functions ΓòÉΓòÉΓòÉ
  5681.  
  5682. Related Functions 
  5683.  
  5684.      DosOpen 
  5685.      DosRead 
  5686.      DosSetFileSize 
  5687.      DosWrite 
  5688.  
  5689.  
  5690. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr - Example Code ΓòÉΓòÉΓòÉ
  5691.  
  5692. This example reads to a physical disk using the raw file system and DosListIO. 
  5693.  
  5694. #define  INCL_ERRORS
  5695. #define  INCL_DOS
  5696. #define  INCL_NOPMAPI
  5697. #include <os2.h>
  5698. #include <stdio.h>
  5699. #include <stdlib.h>
  5700. #include <string.h>
  5701. #include <bsedev.h>
  5702. #include "listio.h"
  5703.  
  5704. #define   EightK   8*1024
  5705. #define   FourK   4*1024
  5706. #define   LISTIO_NUM 1000
  5707. #define   PAGE_RAND_MAX 100
  5708.  
  5709. CHAR  Buf[EightK];
  5710. LISTIO ListIO[LISTIO_NUM];
  5711. ULONG seed = 1;
  5712. ULONG page_rand(void);
  5713.  
  5714. int main (VOID)
  5715.  
  5716. {
  5717.    CHAR  *BufAligned;
  5718.    ULONG  rc;
  5719.    ULONG  Loop = LISTIO_NUM,
  5720.           i, j;
  5721.    ULONG  Action, Actual;
  5722.    HFILE  hFile;
  5723.  
  5724.    /* Make sure buffer is page aligned */
  5725.  
  5726.    BufAligned = (UCHAR *)(((LONG)Buf + FourK) & 0xFFFFF000);
  5727.  
  5728.    /* Open a raw file system disk */
  5729.  
  5730.    rc = DosOpen((PSZ)"\\\\.\\Physical_Disk2",
  5731.                 &hFile,
  5732.                 &Action,
  5733.                 0L,
  5734.                 FILE_NORMAL,
  5735.                 OPEN_ACTION_OPEN_IF_EXISTS,
  5736.                 OPEN_SHARE_DENYNONE | OPEN_ACCESS_READWRITE,
  5737.                 0L);
  5738.  
  5739.    if (rc != NO_ERROR) {
  5740.       printf("ERROR:DosOpen rc = %d\n", rc);
  5741.       return(1);
  5742.    } /* if */
  5743.    /*************************************/
  5744.    /* Perform Random READ using DosRead */
  5745.    /*************************************/
  5746.  
  5747.    for(i = 0; i < Loop ; i++) { /* Loop for Random Read */
  5748.       rc = DosSetFilePtr(hFile,  /* file's handle */
  5749.                          page_rand()*FourK, /* offset */
  5750.                          FILE_BEGIN, /* from beginning of file */
  5751.                          &Actual);
  5752.  
  5753.       if (rc != NO_ERROR) {
  5754.          printf("ERROR:DosSetFilePtr rc = %d\n", rc);
  5755.          return(1);
  5756.       } /* if */
  5757.  
  5758.       rc = DosRead( hFile,  /* file's handle */
  5759.                     BufAligned,  /* buffer pointer */
  5760.                     FourK,   /* size to read */
  5761.                     &Actual);
  5762.  
  5763.       if (rc != NO_ERROR) {
  5764.          printf("ERROR:DosRead rc = %d\n", rc);
  5765.          return(1);
  5766.       } /* if */
  5767.  
  5768.    } /* for i */
  5769.    /****************************************/
  5770.    /* Perform Random Read using DosListIO  */
  5771.    /****************************************/
  5772.  
  5773.    for (i = 0; i < Loop; i++) {
  5774.       ListIO[i].hFile = hFile;
  5775.       ListIO[i].CmdFlag = LISTIO_READ | FILE_BEGIN;
  5776.       ListIO[i].Offset = page_rand()*FourK;
  5777.       ListIO[i].pBuffer = BufAligned;
  5778.       ListIO[i].NumBytes = FourK;
  5779.    } /* for i */
  5780.  
  5781.    rc = DosListIO( LISTIO_UNORDERED, /* unordered mode */
  5782.                    Loop,    /* number of reads */
  5783.                    ListIO);   /* array of control blocks */
  5784.  
  5785.    if (rc != NO_ERROR) {
  5786.       printf("ERROR:DosListIO rc = %d\n", rc);
  5787.  
  5788.       for (i = 0; i < Loop; i++) {
  5789.          if ((ListIO[i].Actual != FourK) ||
  5790.              (ListIO[i].RetCode != NO_ERROR)) {
  5791.             printf("ERROR:DosListIO i = %d, Actual = %d, RetCode = %d\n",
  5792.      I, ListIO[i].Actual, ListIO[i].RetCode);
  5793.          } /* if */
  5794.       } /* for i */
  5795.       return(1);
  5796.    } /* if */
  5797.    /* Close file */
  5798.  
  5799.    rc = DosClose(hFile);
  5800.  
  5801.    if (rc != NO_ERROR) {
  5802.       printf("ERROR:DosClose rc = %d\n", rc);
  5803.       return(1);
  5804.    }
  5805.  
  5806.    return(NO_ERROR);
  5807.  
  5808. }
  5809.  
  5810. /********************************************************/
  5811. /*                                                      */
  5812. /* FUNCTION: page_rand                               */
  5813. /*                                                      */
  5814. /* DESCRIPTION: Generate random number in range         */
  5815. /*              [0,PAGE_RAND_MAX-1]           */
  5816. /*                                                      */
  5817. /********************************************************/
  5818.  
  5819. ULONG page_rand()
  5820.  
  5821. {
  5822.    seed = seed * 1103515245 + 12345;
  5823.    return(((ULONG)(seed/(2*PAGE_RAND_MAX)) % PAGE_RAND_MAX));
  5824.  
  5825. }
  5826.  
  5827.  
  5828. ΓòÉΓòÉΓòÉ <hidden> DosSetFilePtr - Topics ΓòÉΓòÉΓòÉ
  5829.  
  5830. Select an item: 
  5831.  
  5832. Syntax
  5833. Parameters
  5834. Returns
  5835. Remarks
  5836. Example Code
  5837. Related Functions
  5838.  
  5839.  
  5840. ΓòÉΓòÉΓòÉ 5.9. DosWrite ΓòÉΓòÉΓòÉ
  5841.  
  5842.  
  5843. ΓòÉΓòÉΓòÉ <hidden> DosWrite - Syntax ΓòÉΓòÉΓòÉ
  5844.  
  5845. Writes a specified number of bytes from a buffer to the specified file. 
  5846.  
  5847.  
  5848. #define INCL_DOSFILEMGR
  5849. #include <os2.h>
  5850.  
  5851. HFILE     hFile;      /*  File handle from DosOpen. */
  5852. PVOID     pBuffer;    /*  Address of the buffer that contains the data to write. */
  5853. ULONG     cbWrite;    /*  Number of bytes to write. */
  5854. PULONG    pcbActual;  /*  Address of the variable to receive the number of bytes actually written. */
  5855. APIRET    ulrc;       /*  Return Code. */
  5856.  
  5857. ulrc = DosWrite(hFile, pBuffer, cbWrite, pcbActual);
  5858.  
  5859.  
  5860. ΓòÉΓòÉΓòÉ <hidden> DosWrite Parameter - hFile ΓòÉΓòÉΓòÉ
  5861.  
  5862.  hFile (HFILE) - input 
  5863.     File handle from DosOpen. 
  5864.  
  5865.  
  5866. ΓòÉΓòÉΓòÉ <hidden> DosWrite Parameter - pBuffer ΓòÉΓòÉΓòÉ
  5867.  
  5868.  pBuffer (PVOID) - input 
  5869.     Address of the buffer that contains the data to write. 
  5870.  
  5871.  
  5872. ΓòÉΓòÉΓòÉ <hidden> DosWrite Parameter - cbWrite ΓòÉΓòÉΓòÉ
  5873.  
  5874.  cbWrite (ULONG) - input 
  5875.     Number of bytes to write. 
  5876.  
  5877.     If data is being written using the Raw File System, the number of bytes 
  5878.     specified must be a multiple of the sector size (512). 
  5879.  
  5880.  
  5881. ΓòÉΓòÉΓòÉ <hidden> DosWrite Parameter - pcbActual ΓòÉΓòÉΓòÉ
  5882.  
  5883.  pcbActual (PULONG) - output 
  5884.     Address of the variable to receive the number of bytes actually written. 
  5885.  
  5886.  
  5887. ΓòÉΓòÉΓòÉ <hidden> DosWrite Return Value - ulrc ΓòÉΓòÉΓòÉ
  5888.  
  5889.  ulrc (APIRET) - returns 
  5890.     Return Code. 
  5891.  
  5892.     DosWrite returns one of the following values: 
  5893.  
  5894.     0              NO_ERROR 
  5895.     5              ERROR_ACCESS_DENIED 
  5896.     6              ERROR_INVALID_HANDLE 
  5897.     19             ERROR_WRITE_PROTECT 
  5898.     26             ERROR_NOT_DOS_DISK 
  5899.     29             ERROR_WRITE_FAULT 
  5900.     33             ERROR_LOCK_VIOLATION 
  5901.     109            ERROR_BROKEN_PIPE 
  5902.     112            ERROR_DISK_FULL 
  5903.     157            ERROR_DISCARDED 
  5904.  
  5905.     For a full list of error codes, see Errors. 
  5906.  
  5907.  
  5908. ΓòÉΓòÉΓòÉ <hidden> DosWrite - Parameters ΓòÉΓòÉΓòÉ
  5909.  
  5910.  hFile (HFILE) - input 
  5911.     File handle from DosOpen. 
  5912.  
  5913.  pBuffer (PVOID) - input 
  5914.     Address of the buffer that contains the data to write. 
  5915.  
  5916.  cbWrite (ULONG) - input 
  5917.     Number of bytes to write. 
  5918.  
  5919.     If data is being written using the Raw File System, the number of bytes 
  5920.     specified must be a multiple of the sector size (512). 
  5921.  
  5922.  pcbActual (PULONG) - output 
  5923.     Address of the variable to receive the number of bytes actually written. 
  5924.  
  5925.  ulrc (APIRET) - returns 
  5926.     Return Code. 
  5927.  
  5928.     DosWrite returns one of the following values: 
  5929.  
  5930.     0              NO_ERROR 
  5931.     5              ERROR_ACCESS_DENIED 
  5932.     6              ERROR_INVALID_HANDLE 
  5933.     19             ERROR_WRITE_PROTECT 
  5934.     26             ERROR_NOT_DOS_DISK 
  5935.     29             ERROR_WRITE_FAULT 
  5936.     33             ERROR_LOCK_VIOLATION 
  5937.     109            ERROR_BROKEN_PIPE 
  5938.     112            ERROR_DISK_FULL 
  5939.     157            ERROR_DISCARDED 
  5940.  
  5941.     For a full list of error codes, see Errors. 
  5942.  
  5943.  
  5944. ΓòÉΓòÉΓòÉ <hidden> DosWrite - Remarks ΓòÉΓòÉΓòÉ
  5945.  
  5946. Note:  When writing message pipes the application is limited to 64K messages. 
  5947.        As well, these messages cannot span 64k boundaries due to the current 
  5948.        design of the thunk layer in read or write routines. If the message is 
  5949.        not written in an aligned manner, the subsequent read will not be able 
  5950.        to handle the messages properly. If a 64k or less message is written to 
  5951.        a pipe from an aligned buffer, the read will handle this properly. 
  5952.  
  5953.  DosWrite begins to write at the current file-pointer position. The file 
  5954.  pointer is automatically moved by read and write operations. It can be moved 
  5955.  to a desired position by issuing DosSetFilePtr. 
  5956.  
  5957.  If the specified file has been opened using the write-through flag, DosWrite 
  5958.  writes the data to the disk before returning. Upon return to the caller, 
  5959.  pcbActual contains the number of bytes actually written. 
  5960.  
  5961.  If there is not enough space on the disk or diskette to write all of the bytes 
  5962.  specified by cbWrite then DosWrite does not write any bytes. Upon return to 
  5963.  the caller, pcbActual contains zero. 
  5964.  
  5965.  A value of zero for cbWrite is not considered an error. No data transfer 
  5966.  occurs, and there is no effect on the file or the file pointer. 
  5967.  
  5968.  If the file is read-only, the write operation to the file is not performed. 
  5969.  
  5970.  If you issue DosOpen with the Direct Open flag set to 1 in the fsOpenMode 
  5971.  parameter, you have direct access to an entire disk or diskette volume, 
  5972.  independent of the file system. You must lock the logical volume before 
  5973.  accessing it, and you must unlock the logical volume when you are finished 
  5974.  accessing it. Issue DosDevIOCtl for Category 8, DSK_LOCKDRIVE to lock the 
  5975.  logical volume, and for Category 8, DSK_UNLOCKDRIVE to unlock the logical 
  5976.  volume. While the logical volume is locked, no other process can access it. 
  5977.  
  5978.  Raw File System Considerations 
  5979.  
  5980.  Using the raw file system on logical partitions requires you to lock and 
  5981.  unlock the volume using DosDevIOCtl Category 8, DSK_LOCKDRIVE and 
  5982.  DSK_UNLOCKDRIVE.  Unless the logical drive is locked, write requests will 
  5983.  fail. 
  5984.  
  5985.  The raw file system requires that the number of bytes written be a multiple of 
  5986.  the sector size (512). 
  5987.  
  5988.  Named-Pipe Considerations 
  5989.  
  5990.  DosWrite also is used to write bytes or messages to a named pipe. 
  5991.  
  5992.  Each write operation to a message pipe writes a message whose size is the 
  5993.  length of the write operation. DosWrite automatically encodes message lengths 
  5994.  in the pipe, so applications need not encode this information in the buffer 
  5995.  being written. 
  5996.  
  5997.  Write operations in blocking mode always write all requested bytes before 
  5998.  returning. 
  5999.  
  6000.  In nonblocking mode, DosWrite returns either with all bytes written or none 
  6001.  written. DosWrite returns with no bytes written when it would have to divide 
  6002.  the message into blocks in order to complete the request. This can occur when 
  6003.  there is not enough space left in the pipe, or when the pipe is currently 
  6004.  being written to by another client. If this occurs, DosWrite returns 
  6005.  immediately with a value of zero for pcbActual, indicating that no bytes were 
  6006.  written. 
  6007.  
  6008.  For a byte pipe, if the number of bytes to be written exceeds the space 
  6009.  available in the pipe, DosWrite writes as many bytes as it can, and returns 
  6010.  with the number of bytes actually written in pcbActual. 
  6011.  
  6012.  An attempt to write to a pipe whose other end has been closed returns 
  6013.  ERROR_BROKEN_PIPE or, if the other end was closed without reading all pending 
  6014.  data, ERROR_DISCARDED. 
  6015.  
  6016.  Clients of named pipes created with the NP_ACCESS_OUTBOUND access mode cannot 
  6017.  use the DosWrite function. If the named pipe's client uses the DosWrite 
  6018.  function, the function returns error code ERROR_ACCESS_DENIED. 
  6019.  
  6020.  
  6021. ΓòÉΓòÉΓòÉ <hidden> DosWrite - Related Functions ΓòÉΓòÉΓòÉ
  6022.  
  6023. Related Functions 
  6024.  
  6025.      DosOpen 
  6026.      DosRead 
  6027.      DosSetFilePtr 
  6028.  
  6029.  
  6030. ΓòÉΓòÉΓòÉ <hidden> DosWrite - Example Code ΓòÉΓòÉΓòÉ
  6031.  
  6032. This example reads to a physical disk using the raw file system and DosListIO. 
  6033.  
  6034. #define  INCL_ERRORS
  6035. #define  INCL_DOS
  6036. #define  INCL_NOPMAPI
  6037. #include <os2.h>
  6038. #include <stdio.h>
  6039. #include <stdlib.h>
  6040. #include <string.h>
  6041. #include <bsedev.h>
  6042. #include "listio.h"
  6043.  
  6044. #define   EightK   8*1024
  6045. #define   FourK   4*1024
  6046. #define   LISTIO_NUM 1000
  6047. #define   PAGE_RAND_MAX 100
  6048.  
  6049. CHAR  Buf[EightK];
  6050. LISTIO ListIO[LISTIO_NUM];
  6051. ULONG seed = 1;
  6052. ULONG page_rand(void);
  6053.  
  6054. int main (VOID)
  6055.  
  6056. {
  6057.    CHAR  *BufAligned;
  6058.    ULONG  rc;
  6059.    ULONG  Loop = LISTIO_NUM,
  6060.           i, j;
  6061.    ULONG  Action, Actual;
  6062.    HFILE  hFile;
  6063.  
  6064.    /* Make sure buffer is page aligned */
  6065.  
  6066.    BufAligned = (UCHAR *)(((LONG)Buf + FourK) & 0xFFFFF000);
  6067.  
  6068.    /* Open a raw file system disk */
  6069.  
  6070.    rc = DosOpen((PSZ)"\\\\.\\Physical_Disk2",
  6071.                 &hFile,
  6072.                 &Action,
  6073.                 0L,
  6074.                 FILE_NORMAL,
  6075.                 OPEN_ACTION_OPEN_IF_EXISTS,
  6076.                 OPEN_SHARE_DENYNONE | OPEN_ACCESS_READWRITE,
  6077.                 0L);
  6078.  
  6079.    if (rc != NO_ERROR) {
  6080.       printf("ERROR:DosOpen rc = %d\n", rc);
  6081.       return(1);
  6082.    } /* if */
  6083.    /*************************************/
  6084.    /* Perform Random READ using DosRead */
  6085.    /*************************************/
  6086.  
  6087.    for(i = 0; i < Loop ; i++) { /* Loop for Random Read */
  6088.       rc = DosSetFilePtr(hFile,  /* file's handle */
  6089.                          page_rand()*FourK, /* offset */
  6090.                          FILE_BEGIN, /* from beginning of file */
  6091.                          &Actual);
  6092.  
  6093.       if (rc != NO_ERROR) {
  6094.          printf("ERROR:DosSetFilePtr rc = %d\n", rc);
  6095.          return(1);
  6096.       } /* if */
  6097.  
  6098.       rc = DosRead( hFile,  /* file's handle */
  6099.                     BufAligned,  /* buffer pointer */
  6100.                     FourK,   /* size to read */
  6101.                     &Actual);
  6102.  
  6103.       if (rc != NO_ERROR) {
  6104.          printf("ERROR:DosRead rc = %d\n", rc);
  6105.          return(1);
  6106.       } /* if */
  6107.  
  6108.    } /* for i */
  6109.    /****************************************/
  6110.    /* Perform Random Read using DosListIO  */
  6111.    /****************************************/
  6112.  
  6113.    for (i = 0; i < Loop; i++) {
  6114.       ListIO[i].hFile = hFile;
  6115.       ListIO[i].CmdFlag = LISTIO_READ | FILE_BEGIN;
  6116.       ListIO[i].Offset = page_rand()*FourK;
  6117.       ListIO[i].pBuffer = BufAligned;
  6118.       ListIO[i].NumBytes = FourK;
  6119.    } /* for i */
  6120.  
  6121.    rc = DosListIO( LISTIO_UNORDERED, /* unordered mode */
  6122.                    Loop,    /* number of reads */
  6123.                    ListIO);   /* array of control blocks */
  6124.  
  6125.    if (rc != NO_ERROR) {
  6126.       printf("ERROR:DosListIO rc = %d\n", rc);
  6127.  
  6128.       for (i = 0; i < Loop; i++) {
  6129.          if ((ListIO[i].Actual != FourK) ||
  6130.              (ListIO[i].RetCode != NO_ERROR)) {
  6131.             printf("ERROR:DosListIO i = %d, Actual = %d, RetCode = %d\n",
  6132.      I, ListIO[i].Actual, ListIO[i].RetCode);
  6133.          } /* if */
  6134.       } /* for i */
  6135.       return(1);
  6136.    } /* if */
  6137.    /* Close file */
  6138.  
  6139.    rc = DosClose(hFile);
  6140.  
  6141.    if (rc != NO_ERROR) {
  6142.       printf("ERROR:DosClose rc = %d\n", rc);
  6143.       return(1);
  6144.    }
  6145.  
  6146.    return(NO_ERROR);
  6147.  
  6148. }
  6149.  
  6150. /********************************************************/
  6151. /*                                                      */
  6152. /* FUNCTION: page_rand                               */
  6153. /*                                                      */
  6154. /* DESCRIPTION: Generate random number in range         */
  6155. /*              [0,PAGE_RAND_MAX-1]           */
  6156. /*                                                      */
  6157. /********************************************************/
  6158.  
  6159. ULONG page_rand()
  6160.  
  6161. {
  6162.    seed = seed * 1103515245 + 12345;
  6163.    return(((ULONG)(seed/(2*PAGE_RAND_MAX)) % PAGE_RAND_MAX));
  6164.  
  6165. }
  6166.  
  6167.  
  6168. ΓòÉΓòÉΓòÉ <hidden> DosWrite - Topics ΓòÉΓòÉΓòÉ
  6169.  
  6170. Select an item: 
  6171.  
  6172. Syntax
  6173. Parameters
  6174. Returns
  6175. Remarks
  6176. Example Code
  6177. Related Functions
  6178.  
  6179.  
  6180. ΓòÉΓòÉΓòÉ 6. Processor Management and Performance Functions ΓòÉΓòÉΓòÉ
  6181.  
  6182. OS/2 Warp Server for SMP provides a set of functions which allow application 
  6183. developers an efficient and uniform way to access system performance 
  6184. information and to monitor and change processor status. 
  6185.  
  6186. Some of these functions have a dependency on Intel Pentium or Pentium-Pro 
  6187. support.  If a function cannot be provided because OS/2 is not running on an 
  6188. processor with the required features, a return code will indicate an attempt to 
  6189. use an unsupported function. 
  6190.  
  6191. The functions available for obtaining processor information are provided on the 
  6192. following screens. 
  6193.  
  6194.  
  6195. ΓòÉΓòÉΓòÉ 6.1. DosGetProcessorStatus ΓòÉΓòÉΓòÉ
  6196.  
  6197.  
  6198. ΓòÉΓòÉΓòÉ <hidden> DosGetProcessorStatus - Syntax ΓòÉΓòÉΓòÉ
  6199.  
  6200. Get the status for a specific processor. 
  6201.  
  6202.  
  6203. #define INCL_DOSSPINLOCK
  6204. #include <os2.h>
  6205.  
  6206. ULONG     ProcNum;  /*  Processor number. */
  6207. PULONG    pStatus;  /*  Pointer to the status returned for the specified processor. */
  6208. APIRET    ulrc;     /*  Return Code. */
  6209.  
  6210. ulrc = DosGetProcessorStatus(ProcNum, pStatus);
  6211.  
  6212.  
  6213. ΓòÉΓòÉΓòÉ <hidden> DosGetProcessorStatus Parameter - ProcNum ΓòÉΓòÉΓòÉ
  6214.  
  6215.  ProcNum (ULONG) - input 
  6216.     Processor number. 
  6217.  
  6218.  
  6219. ΓòÉΓòÉΓòÉ <hidden> DosGetProcessorStatus Parameter - pStatus ΓòÉΓòÉΓòÉ
  6220.  
  6221.  pStatus (PULONG) - output 
  6222.     Pointer to the status returned for the specified processor. 
  6223.  
  6224.     Pointer to the status returned for the specified processor.  Valid values 
  6225.     are: 
  6226.  
  6227.     0 
  6228.                    Processor offline. 
  6229.  
  6230.     1 
  6231.                    Processor online. 
  6232.  
  6233.  
  6234. ΓòÉΓòÉΓòÉ <hidden> DosGetProcessorStatus Return Value - ulrc ΓòÉΓòÉΓòÉ
  6235.  
  6236.  ulrc (APIRET) - returns 
  6237.     Return Code. 
  6238.  
  6239.     DosGetProcessorStatus returns one of the following values: 
  6240.  
  6241.     0              NO_ERROR 
  6242.     87             ERROR_INVALID_PARAMETER 
  6243.  
  6244.     For a full list of error codes, see Errors. 
  6245.  
  6246.  
  6247. ΓòÉΓòÉΓòÉ <hidden> DosGetProcessorStatus - Parameters ΓòÉΓòÉΓòÉ
  6248.  
  6249.  ProcNum (ULONG) - input 
  6250.     Processor number. 
  6251.  
  6252.  pStatus (PULONG) - output 
  6253.     Pointer to the status returned for the specified processor. 
  6254.  
  6255.     Pointer to the status returned for the specified processor.  Valid values 
  6256.     are: 
  6257.  
  6258.     0 
  6259.                    Processor offline. 
  6260.  
  6261.     1 
  6262.                    Processor online. 
  6263.  
  6264.  ulrc (APIRET) - returns 
  6265.     Return Code. 
  6266.  
  6267.     DosGetProcessorStatus returns one of the following values: 
  6268.  
  6269.     0              NO_ERROR 
  6270.     87             ERROR_INVALID_PARAMETER 
  6271.  
  6272.     For a full list of error codes, see Errors. 
  6273.  
  6274.  
  6275. ΓòÉΓòÉΓòÉ <hidden> DosGetProcessorStatus - Remarks ΓòÉΓòÉΓòÉ
  6276.  
  6277. DosGetProcessorStatus returns the status for the processor specified. 
  6278.  
  6279. Processors are numbered from 1 to n. 
  6280.  
  6281.  
  6282. ΓòÉΓòÉΓòÉ <hidden> DosGetProcessorStatus - Related Functions ΓòÉΓòÉΓòÉ
  6283.  
  6284. Related Functions 
  6285.  
  6286.      DosPerfSysCall 
  6287.      DosSetProcessorStatus 
  6288.  
  6289.  
  6290. ΓòÉΓòÉΓòÉ <hidden> DosGetProcessorStatus - Example Code ΓòÉΓòÉΓòÉ
  6291.  
  6292. The following code example shows the use of DosGetProcessorStatus: 
  6293.  
  6294. #define INCL_BASE
  6295. #define INCL_DOSSPINLOCK
  6296. #define INCL_DOSERRORS
  6297. #include <os2.h>
  6298. #include <stdio.h>
  6299. #include <string.h>
  6300.  
  6301. int main(VOID)
  6302. {
  6303.     ULONG       ulProcNum   = 0L;         /* Processor number   */
  6304.     ULONG       ulStatus    = 0L;         /* Processor status   */
  6305.     APIRET      rc          = NO_ERROR;   /* Return code        */
  6306.  
  6307.     /* Determine status of processor 0 */
  6308.  
  6309.     ulProcNum = 1L;  /* Processors are numbered from 1 to n     */
  6310.  
  6311.     rc = DosGetProcessorStatus(ulProcNum, &ulStatus);
  6312.  
  6313.     if (rc != NO_ERROR) {
  6314.         printf("DosGetProcessorStatus failed:    rc = %u\n", rc);
  6315.         return 1;
  6316.     } else  {
  6317.         printf("Processor %u is %s.\n", ulProcNum,
  6318.                 (ulStatus ? "OFFLINE" : "ONLINE"));
  6319.     }  /* endif */
  6320.  
  6321.     return NO_ERROR;
  6322.  
  6323. }
  6324.  
  6325.  
  6326. ΓòÉΓòÉΓòÉ <hidden> DosGetProcessorStatus - Topics ΓòÉΓòÉΓòÉ
  6327.  
  6328. Select an item: 
  6329.  
  6330. Syntax
  6331. Parameters
  6332. Returns
  6333. Remarks
  6334. Example Code
  6335. Related Functions
  6336.  
  6337.  
  6338. ΓòÉΓòÉΓòÉ 6.2. DosPerfSysCall ΓòÉΓòÉΓòÉ
  6339.  
  6340.  
  6341. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall - Syntax ΓòÉΓòÉΓòÉ
  6342.  
  6343. Retrieve system performance information and perform software tracing. 
  6344.  
  6345.  
  6346. #define INCL_BASE
  6347. #include <os2.h>
  6348.  
  6349. ULONG     ulCommand;  /*  Command */
  6350. ULONG     ulParm1;    /*  Command specific parameter 1 */
  6351. ULONG     ulParm2;    /*  Command specific parameter 2 */
  6352. ULONG     ulParm3;    /*  Command specific parameter 3 */
  6353. APIRET    ulrc;       /*  Return Code. */
  6354.  
  6355. ulrc = DosPerfSysCall(ulCommand, ulParm1,
  6356.          ulParm2, ulParm3);
  6357.  
  6358.  
  6359. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall Parameter - ulCommand ΓòÉΓòÉΓòÉ
  6360.  
  6361.  ulCommand (ULONG) - input 
  6362.     Command 
  6363.  
  6364.     DosPerfSysCall accepts the following commands: 
  6365.  
  6366.     CMD_KI_RDCNT (0x63) 
  6367.                    Read CPU utilization information in both uniprocessor and 
  6368.                    symmetric multi-processor (SMP) environments by taking a 
  6369.                    snapshot of the time stamp counters.  To determine CPU 
  6370.                    utilization, the application must compute the difference 
  6371.                    between two time stamp snapshots using 64-bit arithmetic. 
  6372.                    See the example code for details. 
  6373.  
  6374.     CMD_SOFTTRACE_LOG (0x14) 
  6375.                    Record software trace information. 
  6376.  
  6377.  
  6378. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall Parameter - ulParm1 ΓòÉΓòÉΓòÉ
  6379.  
  6380.  ulParm1 (ULONG) - in/out 
  6381.     Command specific parameter 1 
  6382.  
  6383.     Parameter usage depends on the command specified: 
  6384.  
  6385.     CMD_KI_RDCNT 
  6386.                    Pointer to an array of CPUUTIL structures, with one entry 
  6387.                    for each processor.  On a 4-way SMP machine, the array 
  6388.                    definition would be: 
  6389.  
  6390.                                         CPUUTIL CPUUtil[4];   /* For processor IDs 0, 1, 2, and 3 */
  6391.  
  6392.                    since processor numbers and arrays are both 0-based. ulParm1 
  6393.                    would be set to the address of CPUUtil[0]. 
  6394.  
  6395.                    ulParm2 and ulParm3 are not used and should be set to zero. 
  6396.  
  6397.     CMD_SOFTTRACE_LOG 
  6398.                    Major code for the trace entry in the range of 0 to 255. 
  6399.                    Major codes 184 (0x00b8) and 185 (0x00b9) have been reserved 
  6400.                    for customer use.  Major code 1 is reserved for exclusive 
  6401.                    use by IBM. 
  6402.  
  6403.  
  6404. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall Parameter - ulParm2 ΓòÉΓòÉΓòÉ
  6405.  
  6406.  ulParm2 (ULONG) - in/out 
  6407.     Command specific parameter 2 
  6408.  
  6409.     Parameter usage depends on the command specified: 
  6410.  
  6411.     CMD_KI_RDCNT 
  6412.                                   0 (reserved) 
  6413.  
  6414.     CMD_SOFTTRACE_LOG 
  6415.                                   Minor code for the trace entry in the range 
  6416.                                   of 0 to 255. 
  6417.  
  6418.  
  6419. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall Parameter - ulParm3 ΓòÉΓòÉΓòÉ
  6420.  
  6421.  ulParm3 (ULONG) - in/out 
  6422.     Command specific parameter 3 
  6423.  
  6424.     Parameter usage depends on the command specified: 
  6425.  
  6426.     CMD_KI_RDCNT 
  6427.                                   0 (reserved) 
  6428.  
  6429.     CMD_SOFTTRACE_LOG 
  6430.                                   Pointer to a HOOKDATA data structure. 
  6431.  
  6432.  
  6433. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall Return Value - ulrc ΓòÉΓòÉΓòÉ
  6434.  
  6435.  ulrc (APIRET) - returns 
  6436.     Return Code. 
  6437.  
  6438.     DosPerfSysCall returns one of the following values: 
  6439.  
  6440.     0              NO_ERROR 
  6441.     1              ERROR_INVALID_FUNCTION 
  6442.  
  6443.     For a full list of error codes, see Errors. 
  6444.  
  6445.  
  6446. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall - Parameters ΓòÉΓòÉΓòÉ
  6447.  
  6448.  ulCommand (ULONG) - input 
  6449.     Command 
  6450.  
  6451.     DosPerfSysCall accepts the following commands: 
  6452.  
  6453.     CMD_KI_RDCNT (0x63) 
  6454.                    Read CPU utilization information in both uniprocessor and 
  6455.                    symmetric multi-processor (SMP) environments by taking a 
  6456.                    snapshot of the time stamp counters.  To determine CPU 
  6457.                    utilization, the application must compute the difference 
  6458.                    between two time stamp snapshots using 64-bit arithmetic. 
  6459.                    See the example code for details. 
  6460.  
  6461.     CMD_SOFTTRACE_LOG (0x14) 
  6462.                    Record software trace information. 
  6463.  
  6464.  ulParm1 (ULONG) - in/out 
  6465.     Command specific parameter 1 
  6466.  
  6467.     Parameter usage depends on the command specified: 
  6468.  
  6469.     CMD_KI_RDCNT 
  6470.                    Pointer to an array of CPUUTIL structures, with one entry 
  6471.                    for each processor.  On a 4-way SMP machine, the array 
  6472.                    definition would be: 
  6473.  
  6474.                                         CPUUTIL CPUUtil[4];   /* For processor IDs 0, 1, 2, and 3 */
  6475.  
  6476.                    since processor numbers and arrays are both 0-based. ulParm1 
  6477.                    would be set to the address of CPUUtil[0]. 
  6478.  
  6479.                    ulParm2 and ulParm3 are not used and should be set to zero. 
  6480.  
  6481.     CMD_SOFTTRACE_LOG 
  6482.                    Major code for the trace entry in the range of 0 to 255. 
  6483.                    Major codes 184 (0x00b8) and 185 (0x00b9) have been reserved 
  6484.                    for customer use.  Major code 1 is reserved for exclusive 
  6485.                    use by IBM. 
  6486.  
  6487.  ulParm2 (ULONG) - in/out 
  6488.     Command specific parameter 2 
  6489.  
  6490.     Parameter usage depends on the command specified: 
  6491.  
  6492.     CMD_KI_RDCNT 
  6493.                                   0 (reserved) 
  6494.  
  6495.     CMD_SOFTTRACE_LOG 
  6496.                                   Minor code for the trace entry in the range 
  6497.                                   of 0 to 255. 
  6498.  
  6499.  ulParm3 (ULONG) - in/out 
  6500.     Command specific parameter 3 
  6501.  
  6502.     Parameter usage depends on the command specified: 
  6503.  
  6504.     CMD_KI_RDCNT 
  6505.                                   0 (reserved) 
  6506.  
  6507.     CMD_SOFTTRACE_LOG 
  6508.                                   Pointer to a HOOKDATA data structure. 
  6509.  
  6510.  ulrc (APIRET) - returns 
  6511.     Return Code. 
  6512.  
  6513.     DosPerfSysCall returns one of the following values: 
  6514.  
  6515.     0              NO_ERROR 
  6516.     1              ERROR_INVALID_FUNCTION 
  6517.  
  6518.     For a full list of error codes, see Errors. 
  6519.  
  6520.  
  6521. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall - Remarks ΓòÉΓòÉΓòÉ
  6522.  
  6523. DosPerfSysCall is a general purpose performance function.  This function 
  6524. accepts four parameters.  The first parameter is the command requested. The 
  6525. other three parameters are command specific.  DosPerfSysCall is intended to be 
  6526. extended by IBM in the future for other performance related functions. 
  6527.  
  6528. Some functions of DosPerfSysCall may have a dependency on Intel Pentium or 
  6529. Pentium-Pro support.  If a function cannot be provided because OS/2 is not 
  6530. running on an processor with the required features, a return code will indicate 
  6531. an attempt to use an unsupported function. 
  6532.  
  6533. The perfutil.h file referenced in the example code may or may not be shipped as 
  6534. part of the Toolkit.  In the event that it is not, its contents are: 
  6535.  
  6536. #ifdef __cplusplus
  6537.   extern "C" {
  6538. #endif
  6539.  
  6540. #ifndef  PERFCALL_INCLUDED
  6541. #define  PERFCALL_INCLUDED
  6542.  
  6543. /*
  6544.    DosPerfSysCall Function Prototype
  6545. */
  6546.  
  6547. /* The  ordinal for DosPerfSysCall (in BSEORD.H) */
  6548. /* is defined as ORD_DOS32PERFSYSCALL         */
  6549.  
  6550. APIRET APIENTRY DosPerfSysCall(ULONG ulCommand, ULONG ulParm1, ULONG ulParm2, ULONG ulParm3);
  6551.  
  6552. /***
  6553.  *
  6554.  * Software Tracing
  6555.  * ----------------
  6556.  *
  6557.  **/
  6558.  
  6559. #define   CMD_SOFTTRACE_LOG (0x14)
  6560.  
  6561.  typedef struct _HookData {
  6562.     ULONG ulLength;
  6563.     PBYTE pData;
  6564.  } HOOKDATA;
  6565.  typedef HOOKDATA * PHOOKDATA;
  6566.  
  6567.  
  6568. /***
  6569.  *
  6570.  * CPU Utilization
  6571.  * ---------------
  6572.  *
  6573.  **/
  6574.  
  6575. #define   CMD_KI_RDCNT    (0x63)
  6576.  
  6577.  typedef struct _CPUUTIL {
  6578.    ULONG ulTimeLow;     /* Low 32 bits of time stamp      */
  6579.    ULONG ulTimeHigh;    /* High 32 bits of time stamp     */
  6580.    ULONG ulIdleLow;     /* Low 32 bits of idle time       */
  6581.    ULONG ulIdleHigh;    /* High 32 bits of idle time      */
  6582.    ULONG ulBusyLow;     /* Low 32 bits of busy time       */
  6583.    ULONG ulBusyHigh;    /* High 32 bits of busy time      */
  6584.    ULONG ulIntrLow;     /* Low 32 bits of interrupt time  */
  6585.    ULONG ulIntrHigh;    /* High 32 bits of interrupt time */
  6586.   } CPUUTIL;
  6587.  
  6588.  typedef CPUUTIL *PCPUUTIL;
  6589.  
  6590. #ifdef __cplusplus
  6591.   }
  6592. #endif
  6593.  
  6594. It may also be necessary to define the ordinal for this function: 
  6595.  
  6596. #define ORD_DOS32PERFSYSCALL            976
  6597.  
  6598.  
  6599. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall - Related Functions ΓòÉΓòÉΓòÉ
  6600.  
  6601. Related Functions 
  6602.  
  6603.      DosGetProcessorStatus 
  6604.      DosSetProcessorStatus 
  6605.  
  6606.  
  6607. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall - Example Code ΓòÉΓòÉΓòÉ
  6608.  
  6609. This example uses DosPerfSysCall to obtain CPU Utilization information on a 
  6610. uniprocessor. 
  6611.  
  6612. #define INCL_BASE
  6613.  
  6614. #include <os2.h>
  6615. #include <stdio.h>
  6616. #include <stdlib.h>
  6617. #include <string.h>
  6618. #include <perfutil.h>
  6619.  
  6620. /*
  6621.    Convert 8-byte (low, high) time value to double
  6622. */
  6623. #define LL2F(high, low) (4294967296.0*(high)+(low))
  6624.  
  6625.  
  6626. /* This is a 1 processor example */
  6627.  
  6628. void main (int argc, char *argv[])
  6629. {
  6630.     APIRET      rc;
  6631.     int         i, iter, sleep_sec;
  6632.     double      ts_val, ts_val_prev;
  6633.     double      idle_val, idle_val_prev;
  6634.     double      busy_val, busy_val_prev;
  6635.     double      intr_val, intr_val_prev;
  6636.     CPUUTIL     CPUUtil;
  6637.  
  6638.     if ((argc < 2) || (*argv[1] < '1') || (*argv[1] > '9')) {
  6639.         fprintf(stderr, "usage: %s [1-9]\n", argv[0]);
  6640.         exit(0);
  6641.     }
  6642.     sleep_sec = *argv[1] - '0';
  6643.  
  6644.     iter = 0;
  6645.     do {
  6646.         rc = DosPerfSysCall(CMD_KI_RDCNT,(ULONG) &CPUUtil,0,0);
  6647.         if (rc) {
  6648.             fprintf(stderr, "CMD_KI_RDCNT failed rc = %d\n",rc);
  6649.             exit(1);
  6650.         }
  6651.         ts_val = LL2F(CPUUtil.ulTimeHigh, CPUUtil.ulTimeLow);
  6652.         idle_val = LL2F(CPUUtil.ulIdleHigh, CPUUtil.ulIdleLow);
  6653.         busy_val = LL2F(CPUUtil.ulBusyHigh, CPUUtil.ulBusyLow);
  6654.         intr_val = LL2F(CPUUtil.ulIntrHigh, CPUUtil.ulIntrLow);
  6655.  
  6656.         if (iter > 0) {
  6657.             double  ts_delta = ts_val - ts_val_prev;
  6658.             printf("idle: %4.2f%%  busy: %4.2f%%  intr: %4.2f%%\n",
  6659.                    (idle_val - idle_val_prev)/ts_delta*100.0,
  6660.                    (busy_val - busy_val_prev)/ts_delta*100.0,
  6661.                    (intr_val - intr_val_prev)/ts_delta*100.0);
  6662.         }
  6663.  
  6664.         ts_val_prev = ts_val;
  6665.         idle_val_prev = idle_val;
  6666.         busy_val_prev = busy_val;
  6667.         intr_val_prev = intr_val;
  6668.  
  6669.         iter++;
  6670.         DosSleep(1000*sleep_sec);
  6671.  
  6672.     } while (1);
  6673. }
  6674.  
  6675. This example performs software tracing from a program in ring 3. 
  6676.  
  6677.  
  6678. #define INCL_BASE
  6679.  
  6680. #include <os2.h>
  6681. #include <stdio.h>
  6682. #include <stdlib.h>
  6683. #include <string.h>
  6684. #include <perfutil.h>
  6685.  
  6686. int main ( int argc, char *argv[] )
  6687. {
  6688.     APIRET    rc;
  6689.     BYTE      HookBuffer[256];
  6690.     HOOKDATA  HookData = {0,HookBuffer};
  6691.     ULONG     ulMajor, ulMinor;
  6692.  
  6693.     /* Log 3 ULONG values (1, 2, and 3) and a string.   */
  6694.  
  6695.     *((PULONG)&HookBuffer[0]) = 1;
  6696.     *((PULONG)&HookBuffer[4]) = 2;
  6697.     *((PULONG)&HookBuffer[8]) = 3;
  6698.     strcpy((PSZ)&HookBuffer[12], "Test of 3 ULONG values and a string.")
  6699.     HookData.ulLength = 12 + strlen((PSZ)&HookBuffer[12]) + 1;
  6700.  
  6701.     ulMajor = 0x00b8;        /* Hook major code  */
  6702.     ulMinor = 0x0001;        /* Hook minor code  */
  6703.  
  6704.     rc = DosPerfSysCall( CMD_SOFTTRACE_LOG,
  6705.                          ulMajor, ulMinor,
  6706.                          (ULONG) &HookData);
  6707.     if (rc != NO_ERROR) {
  6708.        fprintf(stderr, "CMD_SOFTTRACE_LOG failed:  rc = %u\n", rc);
  6709.        return 1;
  6710.        }
  6711.  
  6712.     return NO_ERROR;
  6713. }
  6714.  
  6715.  
  6716. ΓòÉΓòÉΓòÉ <hidden> DosPerfSysCall - Topics ΓòÉΓòÉΓòÉ
  6717.  
  6718. Select an item: 
  6719.  
  6720. Syntax
  6721. Parameters
  6722. Returns
  6723. Remarks
  6724. Example Code
  6725. Related Functions
  6726.  
  6727.  
  6728. ΓòÉΓòÉΓòÉ 6.3. DosQuerySysInfo ΓòÉΓòÉΓòÉ
  6729.  
  6730.  
  6731. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Syntax ΓòÉΓòÉΓòÉ
  6732.  
  6733. Returns values of static system variables. 
  6734.  
  6735.  
  6736. #define INCL_DOSMISC
  6737. #include <os2.h>
  6738.  
  6739. ULONG     iStart;  /*  Ordinal of the first system variable to return. */
  6740. ULONG     iLast;   /*  Ordinal of the last system variable to return. */
  6741. PVOID     pBuf;    /*  Address of the data buffer where the system returns the variable values. */
  6742. ULONG     cbBuf;   /*  Length, in bytes, of the data buffer. */
  6743. APIRET    ulrc;    /*  Return Code. */
  6744.  
  6745. ulrc = DosQuerySysInfo(iStart, iLast, pBuf,
  6746.          cbBuf);
  6747.  
  6748.  
  6749. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo Parameter - iStart ΓòÉΓòÉΓòÉ
  6750.  
  6751.  iStart (ULONG) - input 
  6752.     Ordinal of the first system variable to return. 
  6753.  
  6754.  
  6755. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo Parameter - iLast ΓòÉΓòÉΓòÉ
  6756.  
  6757.  iLast (ULONG) - input 
  6758.     Ordinal of the last system variable to return. 
  6759.  
  6760.  
  6761. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo Parameter - pBuf ΓòÉΓòÉΓòÉ
  6762.  
  6763.  pBuf (PVOID) - output 
  6764.     Address of the data buffer where the system returns the variable values. 
  6765.  
  6766.  
  6767. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo Parameter - cbBuf ΓòÉΓòÉΓòÉ
  6768.  
  6769.  cbBuf (ULONG) - input 
  6770.     Length, in bytes, of the data buffer. 
  6771.  
  6772.  
  6773. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo Return Value - ulrc ΓòÉΓòÉΓòÉ
  6774.  
  6775.  ulrc (APIRET) - returns 
  6776.     Return Code. 
  6777.  
  6778.     DosQuerySysInfo returns one of the following values: 
  6779.  
  6780.     0              NO_ERROR 
  6781.     87             ERROR_INVALID_PARAMETER 
  6782.     111            ERROR_BUFFER_OVERFLOW 
  6783.  
  6784.     For a full list of error codes, see Errors. 
  6785.  
  6786.  
  6787. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Parameters ΓòÉΓòÉΓòÉ
  6788.  
  6789.  iStart (ULONG) - input 
  6790.     Ordinal of the first system variable to return. 
  6791.  
  6792.  iLast (ULONG) - input 
  6793.     Ordinal of the last system variable to return. 
  6794.  
  6795.  pBuf (PVOID) - output 
  6796.     Address of the data buffer where the system returns the variable values. 
  6797.  
  6798.  cbBuf (ULONG) - input 
  6799.     Length, in bytes, of the data buffer. 
  6800.  
  6801.  ulrc (APIRET) - returns 
  6802.     Return Code. 
  6803.  
  6804.     DosQuerySysInfo returns one of the following values: 
  6805.  
  6806.     0              NO_ERROR 
  6807.     87             ERROR_INVALID_PARAMETER 
  6808.     111            ERROR_BUFFER_OVERFLOW 
  6809.  
  6810.     For a full list of error codes, see Errors. 
  6811.  
  6812.  
  6813. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Remarks ΓòÉΓòÉΓòÉ
  6814.  
  6815. DosQuerySysInfo returns a single system variable or a range of system variables 
  6816. to a user-allocated buffer. To request a single system variable, set iStart 
  6817. equal to iLast. To request a range of system variables, set iStart less than 
  6818. iLast. 
  6819.  
  6820. Each system variable is a ULONG value. The following list gives the ordinal 
  6821. index, name, and description of the system variables. 
  6822.  
  6823.  1   QSV_MAX_PATH_LENGTH 
  6824.      Maximum length, in bytes, of a path name. 
  6825.  
  6826.  2   QSV_MAX_TEXT_SESSIONS 
  6827.      Maximum number of text sessions. 
  6828.  
  6829.  3   QSV_MAX_PM_SESSIONS 
  6830.      Maximum number of PM sessions. 
  6831.  
  6832.  4   QSV_MAX_VDM_SESSIONS 
  6833.      Maximum number of DOS sessions. 
  6834.  
  6835.  5   QSV_BOOT_DRIVE 
  6836.      Drive from which the system was started (1 means drive A, 2 means drive B, 
  6837.      and so on). 
  6838.  
  6839.  6   QSV_DYN_PRI_VARIATION 
  6840.      Dynamic priority variation flag (0 means absolute priority, 1 means 
  6841.      dynamic priority). 
  6842.  
  6843.  7   QSV_MAX_WAIT 
  6844.      Maximum wait in seconds. 
  6845.  
  6846.  8   QSV_MIN_SLICE 
  6847.      Minimum time slice in milliseconds. 
  6848.  
  6849.  9   QSV_MAX_SLICE 
  6850.      Maximum time slice in milliseconds. 
  6851.  
  6852.  10  QSV_PAGE_SIZE 
  6853.      Memory page size in bytes. This value is 4096 for the 80386 processor. 
  6854.  
  6855.  11  QSV_VERSION_MAJOR 
  6856.      Major version number (see note below). 
  6857.  
  6858.  12  QSV_VERSION_MINOR 
  6859.      Minor version number (see note below). 
  6860.  
  6861.  13  QSV_VERSION_REVISION 
  6862.      Revision number (see note below). 
  6863.  
  6864.  14  QSV_MS_COUNT 
  6865.      Value of a 32-bit, free-running millisecond counter. This value is zero 
  6866.      when the system is started. 
  6867.  
  6868.  15  QSV_TIME_LOW 
  6869.      Low-order 32 bits of the time in seconds since January 1, 1970 at 0:00:00. 
  6870.  
  6871.  16  QSV_TIME_HIGH 
  6872.      High-order 32 bits of the time in seconds since January 1, 1970 at 
  6873.      0:00:00. 
  6874.  
  6875.  17  QSV_TOTPHYSMEM 
  6876.      Total number of bytes of physical memory in the system. 
  6877.  
  6878.  18  QSV_TOTRESMEM 
  6879.      Total number of bytes of resident memory in the system. 
  6880.  
  6881.  19  QSV_TOTAVAILMEM 
  6882.      Maximum number of bytes of memory that can be allocated by all processes 
  6883.      in the system. This number is advisory and is not guaranteed, since system 
  6884.      conditions change constantly. 
  6885.  
  6886.  20  QSV_MAXPRMEM 
  6887.      Maximum number of bytes of memory that this process can allocate in its 
  6888.      private arena. This number is advisory and is not guaranteed, since system 
  6889.      conditions change constantly. 
  6890.  
  6891.  21  QSV_MAXSHMEM 
  6892.      Maximum number of bytes of memory that a process can allocate in the 
  6893.      shared arena. This number is advisory and is not guaranteed, since system 
  6894.      conditions change constantly. 
  6895.  
  6896.  22  QSV_TIMER_INTERVAL 
  6897.      Timer interval in tenths of a millisecond. 
  6898.  
  6899.  23  QSV_MAX_COMP_LENGTH 
  6900.      Maximum length, in bytes, of one component in a path name. 
  6901.  
  6902.  24  QSV_FOREGROUND_FS_SESSION 
  6903.      Session ID of the current foreground full-screen session. Note that this 
  6904.      only applies to full-screen sessions. The Presentation Manager session 
  6905.      (which displays Vio-windowed, PM, and windowed DOS Sessions) is 
  6906.      full-screen session ID 1. 
  6907.  
  6908.  25  QSV_FOREGROUND_PROCESS 
  6909.      Process ID of the current foreground process. 
  6910.  
  6911.  26  QSV_NUMPROCESSORS 
  6912.      Number of processors in the machine. 
  6913.  
  6914.  27  QSV_MAXHPRMEM 
  6915.      Maximum amount of free space in the high private arena for this process. 
  6916.      This number does not indicate the largest single memory object that can be 
  6917.      allocated, since the arena is probably fragmented. 
  6918.  
  6919.  28  QSV_MAXHSHMEM 
  6920.      Maximum amount of free space in the high shared arena for this process. 
  6921.      This number does not indicate the largest single memory object that can be 
  6922.      allocated, since the arena is probably fragmented. 
  6923.  
  6924.  29  QSV_MAXPROCESSES 
  6925.      Maximum number of concurrent processes supported. 
  6926.  
  6927.  30  QSV_VIRTUALADDRESSLIMIT 
  6928.      Size of the user's address space in MB. 
  6929.  
  6930.  Note:  Major, minor and revision numbers for versions of OS/2 operating system 
  6931.  are described below: 
  6932.  
  6933.   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  6934.   Γöé          ΓöéMajor     ΓöéMinor     ΓöéRevision  Γöé
  6935.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  6936.   ΓöéOS/2 2.0  Γöé20        Γöé00        Γöé0         Γöé
  6937.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  6938.   ΓöéOS/2 2.1  Γöé20        Γöé10        Γöé0         Γöé
  6939.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  6940.   ΓöéOS/2 2.11 Γöé20        Γöé11        Γöé0         Γöé
  6941.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  6942.   ΓöéOS/2 3.0  Γöé20        Γöé30        Γöé0         Γöé
  6943.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  6944.   ΓöéOS/2 4.0  Γöé20        Γöé40        Γöé0         Γöé
  6945.   ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  6946.  
  6947.  An application can specify file objects managed by an installable file system 
  6948.  that supports long file names.  Because some installable file systems support 
  6949.  longer names than others, the application should issue DosQuerySysInfo upon 
  6950.  initialization. 
  6951.  
  6952.  DosQuerySysInfo returns the maximum path length (QSV_MAX_PATH_LENGTH) 
  6953.  supported by the installed file system. The path length includes the drive 
  6954.  specifier (d:), the leading backslash ( \ ), and the trailing null character. 
  6955.  The value returned by DosQuerySysInfo can be used to allocate buffers for path 
  6956.  names returned by other functions. 
  6957.  
  6958.  Since memory usage in the system changes constantly, the values returned by 
  6959.  QSV_MAXHPRMEM and QSV_MAXHSMMEM should only be used as an indication of 
  6960.  current memory usage. 
  6961.  
  6962.  
  6963. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Related Functions ΓòÉΓòÉΓòÉ
  6964.  
  6965. Related Functions 
  6966.  
  6967.      DosOpen 
  6968.      DosSetFSInfo 
  6969.  
  6970.  
  6971. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Example Code ΓòÉΓòÉΓòÉ
  6972.  
  6973. This example queries and displays the maximum length for a path name and the 
  6974. total amount of physical memory in bytes. 
  6975.  
  6976. #define INCL_DOSMISC       /* DOS Miscellaneous values */
  6977. #define INCL_DOSERRORS     /* DOS Error values         */
  6978. #include <os2.h>
  6979. #include <stdio.h>
  6980.  
  6981. int main(VOID)  {
  6982.  
  6983.   ULONG   aulSysInfo[QSV_MAX] = {0};       /* System Information Data Buffer */
  6984.   APIRET  rc                  = NO_ERROR;  /* Return code                    */
  6985.  
  6986.   rc = DosQuerySysInfo(1L,                 /* Request all available system   */
  6987.                        QSV_MAX,            /* information                    */
  6988.                        (PVOID)aulSysInfo,
  6989.                        sizeof(ULONG)*QSV_MAX);
  6990.  
  6991.   if (rc != NO_ERROR) {
  6992.      printf("DosQuerySysInfo error: return code = %u\n", rc);
  6993.      return 1;
  6994.   } else {
  6995.      printf("Maximum length for a path name is %u characters.\n",
  6996.              aulSysInfo[QSV_MAX_PATH_LENGTH-1]);  /* Max length of path name */
  6997.  
  6998.      printf("Total physical memory is %u bytes.\n",
  6999.              aulSysInfo[QSV_TOTPHYSMEM-1]);       /* Total physical memory   */
  7000.   } /* endif */
  7001.  
  7002.    return NO_ERROR;
  7003. }
  7004.  
  7005.  
  7006. ΓòÉΓòÉΓòÉ <hidden> DosQuerySysInfo - Topics ΓòÉΓòÉΓòÉ
  7007.  
  7008. Select an item: 
  7009.  
  7010. Syntax
  7011. Parameters
  7012. Returns
  7013. Remarks
  7014. Example Code
  7015. Related Functions
  7016.  
  7017.  
  7018. ΓòÉΓòÉΓòÉ 6.4. DosSetProcessorStatus ΓòÉΓòÉΓòÉ
  7019.  
  7020.  
  7021. ΓòÉΓòÉΓòÉ <hidden> DosSetProcessorStatus - Syntax ΓòÉΓòÉΓòÉ
  7022.  
  7023. Set the status for a specific processor. 
  7024.  
  7025.  
  7026. #define INCL_DOSSPINLOCK
  7027. #include <os2.h>
  7028.  
  7029. ULONG     ProcNum;  /*  Processor number. */
  7030. PULONG    pStatus;  /*  Pointer to the status for the specified processor. */
  7031. APIRET    ulrc;     /*  Return Code. */
  7032.  
  7033. ulrc = DosSetProcessorStatus(ProcNum, pStatus);
  7034.  
  7035.  
  7036. ΓòÉΓòÉΓòÉ <hidden> DosSetProcessorStatus Parameter - ProcNum ΓòÉΓòÉΓòÉ
  7037.  
  7038.  ProcNum (ULONG) - input 
  7039.     Processor number. 
  7040.  
  7041.  
  7042. ΓòÉΓòÉΓòÉ <hidden> DosSetProcessorStatus Parameter - pStatus ΓòÉΓòÉΓòÉ
  7043.  
  7044.  pStatus (PULONG) - input 
  7045.     Pointer to the status for the specified processor. 
  7046.  
  7047.     Pointer to the status to be set for the specified processor. The valid 
  7048.     values are: 
  7049.  
  7050.     0 
  7051.                    Take processor offline. 
  7052.  
  7053.     1 
  7054.                    Bring processor online. 
  7055.  
  7056.  
  7057. ΓòÉΓòÉΓòÉ <hidden> DosSetProcessorStatus Return Value - ulrc ΓòÉΓòÉΓòÉ
  7058.  
  7059.  ulrc (APIRET) - returns 
  7060.     Return Code. 
  7061.  
  7062.     DosSetProcessorStatus returns one of the following values: 
  7063.  
  7064.     0              NO_ERROR 
  7065.     87             ERROR_INVALID_PARAMETER 
  7066.  
  7067.     For a full list of error codes, see Errors. 
  7068.  
  7069.  
  7070. ΓòÉΓòÉΓòÉ <hidden> DosSetProcessorStatus - Parameters ΓòÉΓòÉΓòÉ
  7071.  
  7072.  ProcNum (ULONG) - input 
  7073.     Processor number. 
  7074.  
  7075.  pStatus (PULONG) - input 
  7076.     Pointer to the status for the specified processor. 
  7077.  
  7078.     Pointer to the status to be set for the specified processor. The valid 
  7079.     values are: 
  7080.  
  7081.     0 
  7082.                    Take processor offline. 
  7083.  
  7084.     1 
  7085.                    Bring processor online. 
  7086.  
  7087.  ulrc (APIRET) - returns 
  7088.     Return Code. 
  7089.  
  7090.     DosSetProcessorStatus returns one of the following values: 
  7091.  
  7092.     0              NO_ERROR 
  7093.     87             ERROR_INVALID_PARAMETER 
  7094.  
  7095.     For a full list of error codes, see Errors. 
  7096.  
  7097.  
  7098. ΓòÉΓòÉΓòÉ <hidden> DosSetProcessorStatus - Remarks ΓòÉΓòÉΓòÉ
  7099.  
  7100. DosSetProcessorStatus sets the status for the processor specified. 
  7101.  
  7102. Processors are numbered from 1 to n. 
  7103.  
  7104.  
  7105. ΓòÉΓòÉΓòÉ <hidden> DosSetProcessorStatus - Related Functions ΓòÉΓòÉΓòÉ
  7106.  
  7107. Related Functions 
  7108.  
  7109.      DosGetProcessorStatus 
  7110.      DosPerfSysCall 
  7111.  
  7112.  
  7113. ΓòÉΓòÉΓòÉ <hidden> DosSetProcessorStatus - Example Code ΓòÉΓòÉΓòÉ
  7114.  
  7115. The following code example shows the use of DosSetProcessorStatus: 
  7116.  
  7117. #define INCL_BASE
  7118. #define INCL_DOSSPINLOCK
  7119. #define INCL_DOSERRORS
  7120. #include <os2.h>
  7121. #include <stdio.h>
  7122. #include <string.h>
  7123.  
  7124. int main(VOID)
  7125. {
  7126.     ULONG       ulProcNum   = 0L;         /* Processor number   */
  7127.     ULONG       ulStatus    = 0L;         /* Processor status   */
  7128.     APIRET      rc          = NO_ERROR;   /* Return code        */
  7129.  
  7130.     /* Take processor 1 offline */
  7131.  
  7132.     ulProcNum = 2L;           /* Processors are numbered 1 to n */
  7133.     ulStatus  = 0L;
  7134.  
  7135.     rc = DosSetProcessorStatus(ulProcNum, &ulStatus);
  7136.  
  7137.     if (rc != NO_ERROR) {
  7138.         printf("DosSetProcessorStatus failed:    rc = %u\n", rc);
  7139.         return 1;
  7140.     } else  {
  7141.         printf("Processor %u offline.\n", ulProcNum);
  7142.     }  /* endif */
  7143.  
  7144.     return NO_ERROR;
  7145.  
  7146. }
  7147.  
  7148.  
  7149. ΓòÉΓòÉΓòÉ <hidden> DosSetProcessorStatus - Topics ΓòÉΓòÉΓòÉ
  7150.  
  7151. Select an item: 
  7152.  
  7153. Syntax
  7154. Parameters
  7155. Returns
  7156. Remarks
  7157. Example Code
  7158. Related Functions
  7159.  
  7160.  
  7161. ΓòÉΓòÉΓòÉ 7. Application Considerations ΓòÉΓòÉΓòÉ
  7162.  
  7163. The following sections discuss application considerations of OS/2 Warp Server 
  7164. for SMP. 
  7165.  
  7166.  
  7167. ΓòÉΓòÉΓòÉ 7.1. Application Compatibility Requirements ΓòÉΓòÉΓòÉ
  7168.  
  7169. These compatibility requirements apply only to multithreaded applications, and 
  7170. therefore do not apply to DOS and WINOS2 applications.  However, you are 
  7171. strongly encouraged to write 32-bit multithreaded applications for better 
  7172. performance and portability on OS/2 Warp Server for SMP. 
  7173.  
  7174.      An application or associated subsystem must not use the INC instruction 
  7175.       as a semaphore without prepending a LOCK prefix. On a uniprocessor (UP) 
  7176.       system this instruction can be used as high performance semaphore without 
  7177.       calling any other operating system service if the semaphore is free and 
  7178.       when the semaphore is clear and there are no waiters for the semaphore. 
  7179.       Because the INC instruction can not be interrupted once started and 
  7180.       because the results would be stored in the flags register which are per 
  7181.       thread then it could be used safely as semaphore. 
  7182.  
  7183.       In an OS/2 Warp Server for SMP environment this technique will not work 
  7184.       because it is possible that two or more threads could be executing the 
  7185.       same INC instruction receiving the same results in each 
  7186.       processor's/thread's flag register thinking that they each have the 
  7187.       semaphore. 
  7188.  
  7189.      Similarly a 486 or greater instruction such as the CMPXCHG has the same 
  7190.       problem above if a LOCK prefix is not prepended before the instruction. 
  7191.  
  7192.      An application or associated subsystem which relies on priorities to 
  7193.       guarantee execution of its threads within a process will not work in OS/2 
  7194.       Warp Server for SMP. For example an application may have a time-critical 
  7195.       and an idle thread and may assume that while the time-critical thread is 
  7196.       executing that the idle thread will not get any execution time unless the 
  7197.       time-critical thread explicitly yields the CPU.  In an OS/2 Warp Server 
  7198.       for SMP environment it is possible that both the time-critical and idle 
  7199.       threads are executing simultaneously on different processors. 
  7200.  
  7201.  The above compatibility requirements apply only to multithreaded applications, 
  7202.  and therefore do not apply to DOS and WINOS2 applications.  However, you are 
  7203.  strongly encouraged to write 32-bit multithreaded applications for better 
  7204.  performance and portability on OS/2 Warp Server for SMP. 
  7205.  
  7206.  Given that there is the possibility of some set of applications which may use 
  7207.  one of these techniques, OS/2 Warp Server for SMP provides a mechanism whereby 
  7208.  these multithreaded applications can execute in UP mode.  Only one thread of 
  7209.  that process would be allowed to execute at any given time. That thread could 
  7210.  execute on any one of the processors. A utility is used to mark the EXE file 
  7211.  as uniprocessor only. OS/2 forces the process to run in the uniprocessor mode 
  7212.  when the loader detects that the EXE file has been marked as uniprocessor 
  7213.  only.  See View and Set Program Type For Executable File (MARKEXE). 
  7214.  
  7215.  
  7216. ΓòÉΓòÉΓòÉ 8. Device Drivers In OS/2 Warp Server for SMP ΓòÉΓòÉΓòÉ
  7217.  
  7218. Existing device drivers run on OS/2 Warp Server for SMP without modification 
  7219. provided that they use the device helper (DevHlp) routines to access the 
  7220. interrupt controller.  Device drivers which access the interrupt controller 
  7221. directly, or which mask and unmask interrupts directly through the controller, 
  7222. will need to be changed. 
  7223.  
  7224.  
  7225. ΓòÉΓòÉΓòÉ 9. New Device Helper (DevHlp) Routines ΓòÉΓòÉΓòÉ
  7226.  
  7227. This chapter provides information on the new physical and virtual Device Helper 
  7228. (DevHlp) routines in OS/2 Warp Server for SMP. 
  7229.  
  7230. The OS/2 kernel provides the following new DevHlps: 
  7231.  
  7232. DevHlp_PerfSysTrace           EQU     69     ; 45 Record data in STRACE buffer.
  7233. DevHlp_SetIRQMask             EQU    119     ; 77 Set/Unset an IRQ mask
  7234. DevHlp_GetIRQMask             EQU    120     ; 78 Get an IRQ mask
  7235.  
  7236.  
  7237. ΓòÉΓòÉΓòÉ 9.1. DevHlp_PerfSysTrace ΓòÉΓòÉΓòÉ
  7238.  
  7239.  Description 
  7240.       Record data to STRACE buffer. 
  7241.  
  7242.       This function writes software trace information to the STRACE buffer. 
  7243.  
  7244.  Parameters 
  7245.       Major code 
  7246.       Data length in bytes 
  7247.       Minor code 
  7248.       Data to be traced 
  7249.  
  7250.  Exit 
  7251.       Return code. 
  7252.  
  7253.  Assembly language 
  7254.  
  7255.              ;       dh_PerfSysTrace - Record data to STRACE buffer.
  7256.              ;
  7257.              ;       This routine records data in the STRACE buffer.
  7258.              ;
  7259.              ;       ENTRY:  AX          = major code (0-255)
  7260.              ;               BX          = data length, in bytes (0-255)
  7261.              ;               CX          = minor code (0-255)
  7262.              ;               DS:SI = pointer to data
  7263.              ;
  7264.              ;       EXIT-NORMAL:   AX = 0  SOFTWARE TRACE DATA AREA MODIFIED
  7265.              ;
  7266.              ;       EXIT-ERROR:    AX = ERROR CODE
  7267.              ;
  7268.              ;  Uses C calling convention.  See DevHlp_SysTrace for example.
  7269.              ;
  7270.              ;
  7271.  
  7272.                MOV     AX,MajorCode                 ; major code for trace hook
  7273.                MOV     BX,TraceSize                 ; size of data
  7274.                MOV     CX,MinorCode                 ; minor code
  7275.                LDS     SI,TraceData                 ;
  7276.                MOV     DL,DevHlp_PerfSysTrace
  7277.                CALL    DevHlp
  7278.  
  7279.  
  7280. ΓòÉΓòÉΓòÉ 9.2. DevHlp_SetIRQMask ΓòÉΓòÉΓòÉ
  7281.  
  7282.  Description 
  7283.       Enable/disable interrupt. 
  7284.  
  7285.       This function enables and/or disables interrupts for a specific IRQ. 
  7286.  
  7287.  Parameters 
  7288.       Specified IRQ level. 
  7289.       Enable/disable flag. 
  7290.  
  7291.  Exit 
  7292.       Return code. 
  7293.  
  7294.  Assembly language 
  7295.  
  7296.              ;       dh_SetIRQMask - Masks/Unmasks a specified IRQ masks
  7297.              ;
  7298.              ;       This function enables/disables interrupts for a specific IRQ.
  7299.              ;
  7300.              ;       ENTRY   AL = IRQ to be enabled/disabled
  7301.              ;               AH =  0  enable IRQ (disable mask)
  7302.              ;                     1  disable IRQ (enable mask)
  7303.              ;
  7304.              ;       EXIT-SUCCESS
  7305.              ;           none
  7306.              ;
  7307.              ;       EXIT-FAILURE
  7308.              ;           NONE
  7309.              ;
  7310.  
  7311.                MOV     AL,IRQ to enable/disabled
  7312.                MOV     AH,mask operation (0=enabled,1=disabled)
  7313.                MOV     DL,DevHlp_SetIRQMask
  7314.                CALL    DevHlp
  7315.                JC      Error
  7316.  
  7317.  
  7318. ΓòÉΓòÉΓòÉ 9.3. DevHlp_GetIRQMask ΓòÉΓòÉΓòÉ
  7319.  
  7320.  Description 
  7321.       Retrieve the mask state of an IRQ level. 
  7322.  
  7323.       This function reads the current IRQ mask state for the specified IRQ. 
  7324.  
  7325.  Parameters 
  7326.       Specified IRQ level. 
  7327.  
  7328.  Exit 
  7329.       EAX=0, mask disabled (IRQ enabled). 
  7330.       EAX=1, mask enabled  (IRQ disabled) 
  7331.  
  7332.  Assembly language 
  7333.  
  7334.              ;       dh_GetIRQMask - Retrieve a specified IRQ mask state
  7335.              ;
  7336.              ;       This function reads the current IRQ mask state for the specified IRQ.
  7337.              ;
  7338.              ;       ENTRY   AL = IRQ
  7339.              ;
  7340.              ;       EXIT-SUCCESS
  7341.              ;           EAX - 0 = mask disabled (IRQ enabled)
  7342.              ;               - 1 = mask enabled (IRQ disabled)
  7343.              ;
  7344.              ;       EXIT-FAILURE
  7345.              ;           NONE
  7346.              ;
  7347.  
  7348.                MOV     AL,IRQ whose mask state is to be retrieved
  7349.                MOV     DL,DevHlp_GetIRQMask
  7350.                CALL    DevHlp
  7351.                JC      Error
  7352.  
  7353.  
  7354. ΓòÉΓòÉΓòÉ 9.4. Virtual Device Driver Helps ΓòÉΓòÉΓòÉ
  7355.  
  7356. The OS/2 kernel provides a new VDH service for VDDs to communicate with PSDs. 
  7357.  
  7358.  
  7359. ΓòÉΓòÉΓòÉ 9.4.1. VDHPortIO ΓòÉΓòÉΓòÉ
  7360.  
  7361.  Description 
  7362.       Perform I/O to a specified port. 
  7363.  
  7364.       This function is used to perform input/output operations to a specified 
  7365.       local port. 
  7366.  
  7367.  Parameters 
  7368.       Pointer to a PORT_IO structure. 
  7369.  
  7370.  Exit 
  7371.       Return code. 
  7372.  
  7373.  Structures 
  7374.  
  7375.             typedef struct port_io_s
  7376.             {
  7377.                ulong_t port;   (Input)
  7378.                ulong_t data;   (Input/Output)
  7379.                ulong_t flags;  (Input)
  7380.             } PORT_IO;
  7381.  
  7382.       port         indicates which port to read to, or write from. 
  7383.  
  7384.       data         contains the data read from a read request, or the data to 
  7385.                    write if a write request. 
  7386.  
  7387.       flags        indicate what operation to perform. 
  7388.  
  7389.                    IO_READ_BYTE             Read a byte from the port 
  7390.                    IO_READ_WORD             Read a word from the port 
  7391.                    IO_READ_DWORD            Read a dword from the port 
  7392.                    IO_WRITE_BYTE            Write a byte to the port 
  7393.                    IO_WRITE_WORD            Write a word to the port 
  7394.                    IO_WRITE_DWORD           Write a dword to the port 
  7395.  
  7396.  Notes 
  7397.       None. 
  7398.  
  7399.  
  7400. ΓòÉΓòÉΓòÉ 10. Kernel Debugger ΓòÉΓòÉΓòÉ
  7401.  
  7402. The Kernel Debugger is essentially a replacement OS/2 Kernel module that 
  7403. contains a built-in debugger component.  The kernel debugger can be used to 
  7404. halt system execution, inspect and alter memory and registers, and display 
  7405. system control blocks.  The kernel debugger is described in detail in The OS/2 
  7406. Debugging Handbook - Volume II, IBM publication number SG24-4641. 
  7407.  
  7408. The kernel debugger architecture is such that only one thread can be in the 
  7409. debugger at any given time.  The kernel debugger in OS/2 Warp Server for SMP 
  7410. serializes its access using a spinlock. 
  7411.  
  7412. When entered, the debugger informs the user of the state of all the processors, 
  7413. even though the other processors are still executing code. This is accomplished 
  7414. by sending a spin command via an interprocessor interrupt, or IPI, to all the 
  7415. other processors.  When a processor receives the spin command, it saves its 
  7416. current state information, acknowledges receiving the command, and then spins. 
  7417. This allows the debugger to switch to a slot which is currently executing on 
  7418. another processor and determine what it is doing. 
  7419.  
  7420.  
  7421. ΓòÉΓòÉΓòÉ 10.1. New and Changed Commands ΓòÉΓòÉΓòÉ
  7422.  
  7423. All kernel debugger commands work as before, but a few have been modified to 
  7424. display or use multiprocessor-specific information. New commands have also been 
  7425. added. 
  7426.  
  7427. The new and changed commands are: 
  7428.  
  7429.  .DP (processor status) 
  7430.            The .DP  command has been added to dump out a processor control 
  7431.            block verbosely, that is, to display a processor's status.  The 
  7432.            command takes as an argument: 
  7433.  
  7434.            * 
  7435.                           Displays status based on the real current slot 
  7436.            # 
  7437.                           Displays status based on the currently selected slot 
  7438.            0-based processor number 
  7439.                           Displays status for a specific processor.  .DP 3 
  7440.                           would display the status of processor 3. 
  7441.            blank 
  7442.                           Displays the status of all processors. 
  7443.  
  7444.  .DL (display processor spinlocks) 
  7445.            The .DL command has been added to display the spinlocks owned by a 
  7446.            particular processor.  Valid arguments are: 
  7447.  
  7448.            * 
  7449.                           Displays spinlocks based on the real current slot 
  7450.            # 
  7451.                           Displays spinlocks based on the currently selected 
  7452.                           slot 
  7453.            0-based processor number 
  7454.                           Displays spinlocks for a specific processor. .DL 1 
  7455.                           would display the spinlocks held on processor 1. 
  7456.            Address of a spinlock 
  7457.                           Displays a specific spinlock. 
  7458.            blank 
  7459.                           Displays all spinlocks. 
  7460.  
  7461.  .DS 
  7462.            Dumps the Inter-Processor Interrupt (IPI) statistics for each 
  7463.            processor, including the IPI type and IPI delivery method. 
  7464.  
  7465.  .DSH 
  7466.            Dumps the IPI history, which is the last 256 IPIs generated in the 
  7467.            system.  The source, destination, and type of the IPI are displayed 
  7468.            as well as the IPI delivery method and the address and symbol name 
  7469.            where the IPI was generated. 
  7470.  
  7471.  .PQ 
  7472.            Dumps the scheduler's priority queues based on the debugger's slot 
  7473.            number. 
  7474.  
  7475.  .R and R (register commands) 
  7476.            The register commands have been enhanced to indicate which processor 
  7477.            the currently selected slot is running on.  This information is 
  7478.            displayed at the end of the third register line in the form p=xxyy 
  7479.            where xx is the 1-based processor number, and yy are the flags.  A 
  7480.            processor number of 00 means that the currently selected slot is not 
  7481.            running on any processor, or is blocked.  The flags are: 
  7482.  
  7483.            s        processor is currently spinning. 
  7484.            r        processor is attempting to grab the ring 0 suspend lock. 
  7485.  
  7486.  .SS (change current slot) 
  7487.            The .SS command has been modified to reference the proper PSA 
  7488.            (processor save area) when displaying a variable on a different 
  7489.            processor.  value of that variable on that particular processor). 
  7490.  
  7491.  .S 
  7492.            The .S  command is now identical to the .SS command.  The PLMA is 
  7493.            displayed properly for each processor. 
  7494.  
  7495.  
  7496. ΓòÉΓòÉΓòÉ 10.2. KDB Communications Protocol ΓòÉΓòÉΓòÉ
  7497.  
  7498. Generally the kernel debugger communicates over a serial communications link 
  7499. with a terminal emulator program running on another machine.  This allows a 
  7500. user to debug a problem by issuing kernel debugger commands in the emulator 
  7501. program and seeing the results displayed on the debug console. 
  7502.  
  7503. To automate the debugging process, or to provide a high-level language 
  7504. debugging environment, this interaction with the kernel debugger could instead 
  7505. be handled by a program running on the other machine.  This debug engine would 
  7506. interact with the user, convert the user's debugging request to a series of 
  7507. kernel debugger commands, issue them, and then present the response from the 
  7508. kernel debugger back to the user in a user-friendly format. 
  7509.  
  7510. Communications between the debug engine and the kernel debugger can proceed in 
  7511. one of two modes: 
  7512.  
  7513.  raw (dumb TTY) mode 
  7514.            ASCII characters are sent to the kernel debugger one at a time. The 
  7515.            kernel debugger echoes each character.  A carriage return (^M or 
  7516.            0x0d) ends a line.  The kernel debugger returns data to the debug 
  7517.            engine one ASCII character at a time. 
  7518.  
  7519.  packet mode 
  7520.            Packets are sent to the kernel debugger.  A packet consists of a 
  7521.            fixed sized header followed by zero or more bytes of data.  The 
  7522.            kernel debugger returns data to the debug engine in packets. 
  7523.  
  7524.  
  7525. ΓòÉΓòÉΓòÉ 10.2.1. Raw Mode ΓòÉΓòÉΓòÉ
  7526.  
  7527. Any kernel debugger command may be sent in raw mode.  Debug engines that 
  7528. communicate in packet mode may wish to use raw mode to issue a .B command to 
  7529. set the communication rate for the serial connection. 
  7530.  
  7531. To enter raw mode from packet mode, or to get the kernel debugger's attention 
  7532. while the system is running and enter raw mode, the debug engine should send a 
  7533. break character (^C or 0x03) and wait for the kernel debugger to issue a 
  7534. prompt. 
  7535.  
  7536.  
  7537. ΓòÉΓòÉΓòÉ 10.2.2. Packet Mode ΓòÉΓòÉΓòÉ
  7538.  
  7539. To enter packet mode from raw mode, or to get the kernel debugger's attention 
  7540. while the system is running and enter packet mode, the debug engine should send 
  7541. the KDP break character (0x1f).  If the system was running, the kernel debugger 
  7542. will respond with an event packet containing a CVK_RET_ASYNC event.  If the 
  7543. system was quiesced, the kernel debugger will not respond at all. 
  7544.  
  7545.  
  7546. ΓòÉΓòÉΓòÉ 10.2.2.1. Packet Format ΓòÉΓòÉΓòÉ
  7547.  
  7548. The format of a packet is as follows: 
  7549.  
  7550.     ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ...ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7551.     Γöé 0x1d Γöé 10-byte packet header Γöé packet body (optional) Γöé 0x1e Γöé
  7552.     ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ...ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7553.  
  7554. The packet header and the packet body, if present, are bitstuffed. The data is 
  7555. treated as a stream of bits and is broken into seven-bit chunks.  Each chunk is 
  7556. put into the seven low-order bits of a byte and the high order bit of the byte 
  7557. is set.  The bitstuffed data is padded at the end with zero bits to the next 
  7558. byte boundary.  For example, the header 00009540 0000ac57 when bitstuffed 
  7559. becomes 808092d4 808081ac abc0. 
  7560.  
  7561.  
  7562. ΓòÉΓòÉΓòÉ 10.2.2.2. Packet Header Format ΓòÉΓòÉΓòÉ
  7563.  
  7564. The header, prior to bitstuffing, contains a 4-byte logical ID field, a 2-byte 
  7565. length field, and a 2-byte checksum.  The checksum of n bytes of data is 
  7566. computed as follows: 
  7567.  
  7568.    unsigned char  data[ ];
  7569.    unsigned short checksum = 0xa1e8;
  7570.    for (i = 0; i < n; i++)
  7571.    {
  7572.      checksum += data[i];
  7573.      checksum  = (checksum << 3) + (checksum >> 13);
  7574.    }
  7575.  
  7576.  
  7577. ΓòÉΓòÉΓòÉ 10.2.2.3. Packet Data Format ΓòÉΓòÉΓòÉ
  7578.  
  7579. All multibyte items are presumed to appear in little-endian order. Thus, the 
  7580. checksum computed for the header 00009540 0000 is 0x57ac; when stored in the 
  7581. header the low order byte (0xac) appears first. 
  7582.  
  7583. The header length field contains the number of bytes of data in the packet body 
  7584. before the packet body is bitstuffed.  If the header length field is zero, 
  7585. there is no packet body.  If a packet body is present, it includes a 2-byte 
  7586. checksum that is not accounted for in the header length field.  For example, if 
  7587. the header length field is 0x12, there are actually 20 bytes in the 
  7588. unbitstuffed packet body. 
  7589.  
  7590. The logical ID field takes one of the following forms (sequence numbers are one 
  7591. byte long): 
  7592.  
  7593. CVK_HDR_DATA - 0x8000                          |
  7594.                0x4000 if "flast" flag is set   |
  7595.               ((index number & 0x3f) << 8) |
  7596.                sequence number
  7597.  
  7598. CVK_HDR_ACK - (0x4000 | ((index number & 0x3f) << 8) | sequence number) << 16
  7599.  
  7600. CVK_HDR_NACK- (0xc000 | ((index number & 0x3f) << 8) | sequence number) << 16
  7601.  
  7602.  
  7603. ΓòÉΓòÉΓòÉ 10.2.2.4. Maximum Packet Size ΓòÉΓòÉΓòÉ
  7604.  
  7605. The maximum packet size for a bitstuffed packet is defined by 
  7606. CVK_PACKET_MAXSIZE as 623.  This is derived by: 
  7607.  
  7608.    Start byte      1
  7609.    Header         10
  7610.    Data          611
  7611.    End Byte        1
  7612.  
  7613.  
  7614. ΓòÉΓòÉΓòÉ 10.2.3. General Considerations ΓòÉΓòÉΓòÉ
  7615.  
  7616. The debug engine initiates all transactions with the kernel debugger, normally 
  7617. by sending a command while the kernel debugger is waiting to receive one.  In 
  7618. this case, the kernel debugger expects to receive a CVK_HDR_DATA packet and 
  7619. will discard any CVK_HDR_ACK or CVK_HDR_NACK packets it receives.  (The kernel 
  7620. debugger also discards a packet if its header cannot be unbitstuffed or has a 
  7621. bad checksum.  The kernel issues a CVK_HDR_NACK packet containing the sequence 
  7622. number and index number from the original CVK_HDR_DATA packet if the packet's 
  7623. body cannot be unbitstuffed or has a bad checksum.) 
  7624.  
  7625. Once the kernel receives a valid CVK_HDR_DATA packet, it extracts the sequence 
  7626. number and index number and uses them to construct a CVK_HDR_ACK packet, which 
  7627. it returns to the debug engine.  (The flast flag in the CVK_HDR_DATA packet is 
  7628. ignored.)  The kernel debugger then performs the action requested by the 
  7629. command and returns the result. 
  7630.  
  7631. In general, the result is returned in a single CVK_HDR_DATA packet whose 
  7632. sequence number matches the sequence number contained in the debug engine's 
  7633. original command packet, whose index number is zero, and whose flast flag is 
  7634. FALSE.  After the result is transmitted, the kernel debugger waits for a 
  7635. response from the debug engine.  The kernel is expecting either a CVK_HDR_ACK 
  7636. packet whose sequence number and index number match those sent in the result 
  7637. _or_ a CVK_HDR_DATA packet (containing the next command).  If the kernel 
  7638. debugger receives any other response, it resends the CVK_HDR_DATA packet 
  7639. containing the result. 
  7640.  
  7641. If the debug engine sends a KDP break character while the victim machine is 
  7642. running, either to initiate a transaction or to regain control after the victim 
  7643. machine has resumed execution, the kernel debugger responds with a CVK_HDR_DATA 
  7644. packet whose sequence number matches the sequence number from the CVK_HDR_DATA 
  7645. packet that caused the system to resume.  There is no such packet when the 
  7646. kernel debugger responds to the first KDP break sent by the debug engine. The 
  7647. sequence number in that case contains garbage. 
  7648.  
  7649. The kernel debugger does not generate replies for some commands, such as 
  7650. reboot, and the replies to commands that cause the victim machine to resume 
  7651. execution, such as resume or step, are not sent until an event such as a 
  7652. breakpoint, module load, or break signal from the debug engine, has caused the 
  7653. victim machine to quiesce. 
  7654.  
  7655. The kernel debugger responds somewhat differently to the CVK_CMD_RAW command, 
  7656. which is used to issue arbitrary kernel debugger commands while in packet mode. 
  7657. Each line in the response is returned in a separate CVK_HDR_DATA packet whose 
  7658. sequence number matches the sequence number in the CVK_CMD_RAW command's 
  7659. header.  The index number in the first reply packet is 0; the index number 
  7660. increases by 1 in each successive reply packet (and wraps from 63 to 0).  The 
  7661. debug engine should return a CVK_HDR_ACK packet with the appropriate sqeuence 
  7662. number and index number after each reply packet is received. 
  7663.  
  7664. The kernel debugger does not manipulate or increment sequence numbers and uses 
  7665. them only to generate ACKs and NACKs and to match ACKs with replies.  A debug 
  7666. engine could use the same sequence number for every request, but this is not 
  7667. recommended. 
  7668.  
  7669.  
  7670. ΓòÉΓòÉΓòÉ 10.2.4. Kernel Debugger Packet Responses ΓòÉΓòÉΓòÉ
  7671.  
  7672. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7673. ΓöéEvent                         ΓöéCode      ΓöéDescription                   Γöé
  7674. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7675. ΓöéCVK_RET_SUC                   Γöé0x0000    ΓöéSuccess                       Γöé
  7676. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7677. ΓöéCVK_BAD_COMMAND               Γöé0x0002    ΓöéUnrecognized command          Γöé
  7678. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7679. ΓöéCVK_RET_PAGEIN                Γöé0xffef    ΓöéDiscarded page reloaded       Γöé
  7680. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7681. ΓöéCVK_RET_TEND                  Γöé0xfff0    ΓöéTask died                     Γöé
  7682. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7683. ΓöéCVK_RET_TNEW                  Γöé0xfff1    ΓöéTask created                  Γöé
  7684. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7685. ΓöéCVK_RET_ASYNC                 Γöé0xfff5    ΓöéAsynchronous halt (break)     Γöé
  7686. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7687. ΓöéCVK_RET_LIB                   Γöé0xfff8    ΓöéModule loaded                 Γöé
  7688. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7689. ΓöéCVK_RET_GPF                   Γöé0xfff9    ΓöéGeneral protection fault      Γöé
  7690. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7691. ΓöéCVK_RET_KIL                   Γöé0xfffa    ΓöéModule unloaded               Γöé
  7692. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7693. ΓöéCVK_RET_NMI                   Γöé0xfffb    ΓöéNon-maskable interrupt        Γöé
  7694. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7695. ΓöéCVK_RET_BPT                   Γöé0xfffc    ΓöéSoftware breakpoint (INT3)    Γöé
  7696. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7697. ΓöéCVK_RET_TBT                   Γöé0xfffd    ΓöéSingle step                   Γöé
  7698. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7699. ΓöéCVK_RET_ERR                   Γöé0xffff    ΓöéFailure                       Γöé
  7700. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7701.  
  7702.  
  7703. ΓòÉΓòÉΓòÉ 10.2.5. Events Reported by the Kernel Debugger ΓòÉΓòÉΓòÉ
  7704.  
  7705. The following is a summary of the data reported when the kernel debugger sends 
  7706. an event in packet mode: 
  7707.  
  7708.  
  7709. ΓòÉΓòÉΓòÉ 10.2.5.1. CVK_RET_GPF Events ΓòÉΓòÉΓòÉ
  7710.  
  7711. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7712. ΓöéEvent                         ΓöéCode      ΓöéDescription                   Γöé
  7713. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7714. ΓöéKDP_T_DIVIDE                  Γöé  0       ΓöéDivide by zero exception      Γöé
  7715. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7716. ΓöéKDP_T_INTO                    Γöé  4       ΓöéOverflow Interrupt (INTO      Γöé
  7717. Γöé                              Γöé          Γöéinstruction)                  Γöé
  7718. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7719. ΓöéKDP_T_BOUND                   Γöé  5       ΓöéBounds check (BOUND           Γöé
  7720. Γöé                              Γöé          Γöéinstruction)                  Γöé
  7721. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7722. ΓöéKDP_T_INVALID_OPCODE          Γöé  6       ΓöéInvalid operation             Γöé
  7723. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7724. ΓöéKDP_T_EXTENSION               Γöé  7       ΓöéCoprocessor not available     Γöé
  7725. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7726. ΓöéKDP_T_DOUBLE_EXCEPTION        Γöé  8       ΓöéDouble exception              Γöé
  7727. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7728. ΓöéKDP_T_EXTENSION_SEG_OVERRUN   Γöé  9       ΓöéCoprocessor segment overrun   Γöé
  7729. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7730. ΓöéKDP_T_INVALID_TSS             Γöé 10       ΓöéInvalid TSS                   Γöé
  7731. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7732. ΓöéKDP_T_SEG_NOT_PRESENT         Γöé 11       ΓöéSegment not present           Γöé
  7733. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7734. ΓöéKDP_T_STACK_SEG               Γöé 12       ΓöéStack exception               Γöé
  7735. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7736. ΓöéKDP_T_GP_FAULT                Γöé 13       ΓöéGeneral protection fault      Γöé
  7737. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7738. ΓöéKDP_T_PAGE_FAULT              Γöé 14       ΓöéPage fault                    Γöé
  7739. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7740.  
  7741. Fields returned in cvkcmd_s are as follows: 
  7742.  
  7743.  Cmd       CVK_RET_GPF 
  7744.  
  7745.  Value     Event code from the table above. 
  7746.  
  7747.  OffV      Linear address in CS:(E)IP at time of event. 
  7748.  
  7749.  SegV      Slot number of thread. 
  7750.  
  7751.  MTE       MTE entry of executable running in process. 
  7752.  
  7753.  PID       PID of process that generated the event. 
  7754.  
  7755.  TID       TID of thread that generated the event. 
  7756.  
  7757.  DBit      Flags from CS selector. 
  7758.  
  7759.  Reg       Registers at time of event. 
  7760.  
  7761.  MemCache  Not used. 
  7762.  
  7763.  
  7764. ΓòÉΓòÉΓòÉ 10.2.5.2. CVK_RET_TBT Event ΓòÉΓòÉΓòÉ
  7765.  
  7766. A CVK_RET_TBT event is generated when a single step occurs or when a debug 
  7767. trap, such as an event triggered by one of the hardware debug registers, 
  7768. occurs. 
  7769.  
  7770. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7771. ΓöéEvent                         ΓöéCode      ΓöéDescription                   Γöé
  7772. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7773. ΓöéKDP_T_SSTEP                   Γöé  1       ΓöéSingle step or debug trap     Γöé
  7774. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7775.  
  7776. Fields returned in cvkcmd_s are as follows: 
  7777.  
  7778.  Cmd       CVK_RET_TBT 
  7779.  
  7780.  Value     Not used. 
  7781.  
  7782.  OffV      Linear address in CS:(E)IP at time of event. 
  7783.  
  7784.  SegV      Slot number of thread. 
  7785.  
  7786.  MTE       MTE entry of executable running in process. 
  7787.  
  7788.  PID       PID of process that generated the event. 
  7789.  
  7790.  TID       TID of thread that generated the event. 
  7791.  
  7792.  DBit      Flags from CS selector. 
  7793.  
  7794.  Reg       Registers at time of event. 
  7795.  
  7796.  MemCache  Not used. 
  7797.  
  7798.  
  7799. ΓòÉΓòÉΓòÉ 10.2.5.3. CVK_RET_BPT Event ΓòÉΓòÉΓòÉ
  7800.  
  7801. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7802. ΓöéEvent                         ΓöéCode      ΓöéDescription                   Γöé
  7803. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7804. ΓöéKDP_T_BREAKPOINT              Γöé  3       ΓöéSoftware breakpoint           Γöé
  7805. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7806.  
  7807. Fields returned in cvkcmd_s are as follows: 
  7808.  
  7809.  Cmd       CVK_RET_BPT 
  7810.  
  7811.  Value     Not used. 
  7812.  
  7813.  OffV      Linear address in CS:(E)IP at time of event. 
  7814.  
  7815.  SegV      Slot number of thread. 
  7816.  
  7817.  MTE       MTE entry of executable running in process. 
  7818.  
  7819.  PID       PID of process that generated the event. 
  7820.  
  7821.  TID       TID of thread that generated the event. 
  7822.  
  7823.  DBit      Flags from CS selector. 
  7824.  
  7825.  Reg       Registers at time of event. 
  7826.  
  7827.  MemCache  Not used. 
  7828.  
  7829.  
  7830. ΓòÉΓòÉΓòÉ 10.2.5.4. CVK_RET_NMI Event ΓòÉΓòÉΓòÉ
  7831.  
  7832. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7833. ΓöéEvent                         ΓöéCode      ΓöéDescription                   Γöé
  7834. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7835. ΓöéKDP_T_NMI                     Γöé  2       ΓöéNon-maskable interrupt        Γöé
  7836. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7837.  
  7838. Fields returned in cvkcmd_s are as follows: 
  7839.  
  7840.  Cmd       CVK_RET_NMI 
  7841.  
  7842.  Value     Not used. 
  7843.  
  7844.  OffV      Linear address in CS:(E)IP at time of event. 
  7845.  
  7846.  SegV      Slot number of thread. 
  7847.  
  7848.  MTE       MTE entry of executable running in process. 
  7849.  
  7850.  PID       PID of process that generated the event. 
  7851.  
  7852.  TID       TID of thread that generated the event. 
  7853.  
  7854.  DBit      Flags from CS selector. 
  7855.  
  7856.  Reg       Registers at time of event. 
  7857.  
  7858.  MemCache  Not used. 
  7859.  
  7860.  
  7861. ΓòÉΓòÉΓòÉ 10.2.5.5. CVK_RET_SUC Event ΓòÉΓòÉΓòÉ
  7862.  
  7863. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7864. ΓöéEvent                         ΓöéCode      ΓöéDescription                   Γöé
  7865. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7866. ΓöéKDP_T_SUCCESS                 Γöé100       ΓöéWhen last CVK_CMD_RAW responseΓöé
  7867. Γöé                              Γöé          Γöéis sent.                      Γöé
  7868. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7869.  
  7870.  Cmd       CVK_RET_SUC 
  7871.  
  7872.  
  7873. ΓòÉΓòÉΓòÉ 10.2.5.6. CVK_RET_ASYNC Event ΓòÉΓòÉΓòÉ
  7874.  
  7875. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7876. ΓöéEvent                         ΓöéCode      ΓöéDescription                   Γöé
  7877. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7878. ΓöéKDP_T_ASYNC_TRAP              Γöé101       ΓöéKDP break received.           Γöé
  7879. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7880.  
  7881. Fields returned in cvkcmd_s are as follows: 
  7882.  
  7883.  Cmd       CVK_RET_ASYNC 
  7884.  
  7885.  Value     Not used. 
  7886.  
  7887.  OffV      Linear address in CS:(E)IP at time of event. 
  7888.  
  7889.  SegV      Slot number of thread. 
  7890.  
  7891.  MTE       MTE entry of executable running in process. 
  7892.  
  7893.  PID       PID of process that generated the event. 
  7894.  
  7895.  TID       TID of thread that generated the event. 
  7896.  
  7897.  DBit      Flags from CS selector. 
  7898.  
  7899.  Reg       Registers at time of event. 
  7900.  
  7901.  MemCache  Not used. 
  7902.  
  7903.  
  7904. ΓòÉΓòÉΓòÉ 10.2.5.7. CVK_RET_LIB and CVK_RET_KIL Events ΓòÉΓòÉΓòÉ
  7905.  
  7906. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7907. ΓöéEvent                         ΓöéCode      ΓöéDescription                   Γöé
  7908. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7909. ΓöéKDP_T_LINK                    Γöé102       ΓöéModule loaded                 Γöé
  7910. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7911. ΓöéKDP_T_UNLINK                  Γöé103       ΓöéModule unloaded               Γöé
  7912. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7913.  
  7914. Fields returned in cvkcmd_s are as follows: 
  7915.  
  7916.  Cmd       CVK_RET_LIB or CVK_RET_KIL 
  7917.  
  7918.  Value     MTE handle of module in question. 
  7919.  
  7920.  OffV      Not used. 
  7921.  
  7922.  SegV      Slot number of thread. 
  7923.  
  7924.  MTE       MTE entry of executable running in process. 
  7925.  
  7926.  PID       PID of process that generated the event. 
  7927.  
  7928.  TID       TID of thread that generated the event. 
  7929.  
  7930.  DBit      Not used. 
  7931.  
  7932.  UCHAR NAME[ ] Null-terminated full pathname of module in question (immediately 
  7933.            follows DBit and overlays Reg and MemCache) 
  7934.  
  7935.  
  7936. ΓòÉΓòÉΓòÉ 10.2.5.8. CVK_RET_TNEW and CVK_RET_TEND Events ΓòÉΓòÉΓòÉ
  7937.  
  7938. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7939. ΓöéEvent                         ΓöéCode      ΓöéDescription                   Γöé
  7940. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7941. ΓöéKDP_T_TASK_CREATE             Γöé104       ΓöéTask create                   Γöé
  7942. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7943. ΓöéKDP_T_TASK_END                Γöé105       ΓöéTask died                     Γöé
  7944. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7945.  
  7946. Fields returned in cvkcmd_s are as follows: 
  7947.  
  7948.  Cmd       CVK_RET_TNEW or CVK_RET_TEND 
  7949.  
  7950.  Value     Not used. 
  7951.  
  7952.  OffV      Not used. 
  7953.  
  7954.  SegV      Not used. 
  7955.  
  7956.  MTE       Not used. 
  7957.  
  7958.  PID       PID of process that was created or died. 
  7959.  
  7960.  TID       1  (Primary TID in process) 
  7961.  
  7962.  DBit      Not used. 
  7963.  
  7964.  Reg       Not used. 
  7965.  
  7966.  MemCache  Not used. 
  7967.  
  7968.  
  7969. ΓòÉΓòÉΓòÉ 10.2.5.9. CVK_RET_PAGEIN Events ΓòÉΓòÉΓòÉ
  7970.  
  7971. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  7972. ΓöéEvent                         ΓöéCode      ΓöéDescription                   Γöé
  7973. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  7974. ΓöéKDP_T_PAGEIN                  Γöé106       ΓöéDiscarded page reloaded       Γöé
  7975. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  7976.  
  7977. Fields returned in cvkcmd_s are as follows: 
  7978.  
  7979.  Cmd       CVK_RET_PAGEIN 
  7980.  
  7981.  Value     Not used. 
  7982.  
  7983.  OffV      Address of the page in question. 
  7984.  
  7985.  SegV      Not used. 
  7986.  
  7987.  MTE       MTE handle of the module that contains the page in question. 
  7988.  
  7989.  PID       Not used. 
  7990.  
  7991.  TID       Not used. 
  7992.  
  7993.  DBit      Not used. 
  7994.  
  7995.  Reg       Not used. 
  7996.  
  7997.  MemCache  Not used. 
  7998.  
  7999.  
  8000. ΓòÉΓòÉΓòÉ 10.2.6. Kernel Debugger Packet Commands ΓòÉΓòÉΓòÉ
  8001.  
  8002. The following table lists the kernel debugger packet commands: 
  8003.  
  8004. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  8005. ΓöéCommand             ΓöéCode    ΓöéDescription                   ΓöéCVK_    ΓöéCVK_    Γöé
  8006. Γöé                    Γöé        Γöé                              ΓöéCMDSIZE_ΓöéRETSIZE_Γöé
  8007. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8008. ΓöéCVK_CMD_RMEM        Γöé 1      ΓöéRead memory                   Γöé18      Γöé20      Γöé
  8009. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8010. ΓöéCVK_CMD_RREG        Γöé 3      ΓöéRead registers                Γöé18      Γöé24 +    Γöé
  8011. Γöé                    Γöé        Γöé                              Γöé        Γöésizeof( Γöé
  8012. Γöé                    Γöé        Γöé                              Γöé        ΓöéRegSa_  Γöé
  8013. Γöé                    Γöé        Γöé                              Γöé        Γöéstruc)  Γöé
  8014. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8015. ΓöéCVK_CMD_WMEM        Γöé 4      ΓöéWrite memory                  Γöé20      Γöé6       Γöé
  8016. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8017. ΓöéCVK_CMD_WREG        Γöé 6      ΓöéWrite registers               Γöé20 +    Γöé2       Γöé
  8018. Γöé                    Γöé        Γöé                              Γöésizeof( Γöé        Γöé
  8019. Γöé                    Γöé        Γöé                              ΓöéRegSa_  Γöé        Γöé
  8020. Γöé                    Γöé        Γöé                              Γöéstruc)  Γöé        Γöé
  8021. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8022. ΓöéCVK_CMD_RUN         Γöé 7      ΓöéResume execution              Γöé6       Γöé0       Γöé
  8023. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8024. ΓöéCVK_CMD_KILL        Γöé 8      ΓöéReboot victim machine         Γöé2       Γöé0       Γöé
  8025. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8026. ΓöéCVK_CMD_STEP        Γöé 9      ΓöéSingle step                   Γöé2       Γöé0       Γöé
  8027. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8028. ΓöéCVK_CMD_NUMTOBASE   Γöé13      ΓöéGet object/segment informationΓöé14      Γöé14      Γöé
  8029. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8030. ΓöéCVK_CMD_LIBNAME     Γöé16      ΓöéGet module information        Γöé6       Γöé6       Γöé
  8031. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8032. ΓöéCVK_CMD_RAW         Γöé20      ΓöéPerform kernel debugger       Γöé6       Γöé        Γöé
  8033. Γöé                    Γöé        Γöécommand                       Γöé        Γöé        Γöé
  8034. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8035. ΓöéCVK_CMD_DBIT        Γöé22      ΓöéGet selector information      Γöé20      Γöé        Γöé
  8036. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8037. ΓöéCVK_CMD_RSTEP       Γöé23      ΓöéRange step                    Γöé10      Γöé0       Γöé
  8038. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8039. ΓöéCVK_CMD_SCANMTE     Γöé24      ΓöéScan module table             Γöé2       Γöé6       Γöé
  8040. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8041. ΓöéCVK_CMD_SCANTCB     Γöé25      ΓöéScan thread control blocks    Γöé6       Γöé10      Γöé
  8042. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8043. ΓöéCVK_CMD_SEL2LIN     Γöé26      ΓöéConvert selector:offset to    Γöé18      Γöé6       Γöé
  8044. Γöé                    Γöé        Γöélinear address.               Γöé        Γöé        Γöé
  8045. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8046. ΓöéCVK_CMD_LIN2SEL     Γöé27      ΓöéConvert linear address to     Γöé18      Γöé12      Γöé
  8047. Γöé                    Γöé        Γöéselector:offset.              Γöé        Γöé        Γöé
  8048. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8049. ΓöéCVK_CMD_OBJCOUNT    Γöé28      ΓöéGet number of objects/segmentsΓöé6       Γöé6       Γöé
  8050. Γöé                    Γöé        Γöéin module                     Γöé        Γöé        Γöé
  8051. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8052. ΓöéCVK_CMD_SCANOBJ     Γöé29      ΓöéScan object/segment table     Γöé14      Γöé10      Γöé
  8053. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8054. ΓöéCVK_CMD_SELINFO     Γöé30      ΓöéGet selector information      Γöé18      Γöé20      Γöé
  8055. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8056. ΓöéCVK_CMD_RNPX        Γöé31      ΓöéRead NPX state                Γöé18      Γöé128     Γöé
  8057. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8058. ΓöéCVK_CMD_WNPX        Γöé32      ΓöéWrite NPX state               Γöé128     Γöé60      Γöé
  8059. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8060. ΓöéCVK_CMD_ENA         Γöé33      ΓöéEnable optional features      Γöé6       Γöé2       Γöé
  8061. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8062. ΓöéCVK_CMD_DIS         Γöé34      ΓöéDisable optional features     Γöé6       Γöé2       Γöé
  8063. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8064. ΓöéCVK_CMD_PIREG       Γöé35      ΓöéRegister for PAGEIN           Γöé14      Γöé2       Γöé
  8065. Γöé                    Γöé        Γöénotification                  Γöé        Γöé        Γöé
  8066. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8067. ΓöéCVK_CMD_PIDRG       Γöé36      ΓöéDeregister for PAGEIN         Γöé14      Γöé2       Γöé
  8068. Γöé                    Γöé        Γöénotification                  Γöé        Γöé        Γöé
  8069. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  8070. ΓöéCVK_CMD_SCANPCB     Γöé37      ΓöéScan processor control blocks Γöé6       Γöé10      Γöé
  8071. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  8072.  
  8073. Each command is described below, along with the input parameters and the output 
  8074. values.  Parameters are usually passed in a cvkcmd_s  If a given field in the 
  8075. cvkcmd_s structure is not listed, its value is not used. 
  8076.  
  8077. There are constants called CVK_CMDSIZE_xxx and CVK_RETSIZE_xxx which provide 
  8078. the size of the command and the size of the response from each command, where 
  8079. xxx is substituted with the last part of the command name.  For CVK_CMD_PIDRG, 
  8080. the constants would be called CVK_CMDSIZE_PIDRG and CVK_RETSIZE_PIDRG.  The 
  8081. values for these constants are provided in the last two rows of the table 
  8082. above. 
  8083.  
  8084.  
  8085. ΓòÉΓòÉΓòÉ 10.2.6.1. Read Memory (CVK_CMD_RMEM) ΓòÉΓòÉΓòÉ
  8086.  
  8087. Parameters: 
  8088.  
  8089.  Cmd       CVK_CMD_RMEM 
  8090.  
  8091.  Value     Number of bytes to read.  (<= CVK_MEMCACHE_SIZE) 
  8092.  
  8093.  OffV      Offset of data to read. 
  8094.  
  8095.  SegV      Selector or segment index for data to read.  0 if OffV is a linear 
  8096.            address, otherwise setting of PE in CR0 and VM in EFLAGS of 
  8097.            interrupted thread determine whether SegV is selector or selector 
  8098.            index. 
  8099.  
  8100.  TID       Slot of thread in whose context address is to be used.  0 is used 
  8101.            for regions in globally shared areas. 
  8102.  
  8103.  Returns: 
  8104.  
  8105.  Value     Number of bytes actually read. 
  8106.  
  8107.  MemCache[Value] Data read. 
  8108.  
  8109.  
  8110. ΓòÉΓòÉΓòÉ 10.2.6.2. Read Registers (CVK_CMD_RREG) ΓòÉΓòÉΓòÉ
  8111.  
  8112. Parameters: 
  8113.  
  8114.  Cmd       CVK_CMD_RREG 
  8115.  
  8116.  TID       Slot of thread in whose registers are desired. 
  8117.  
  8118.  Returns: 
  8119.  
  8120.  Reg       Registers for thread. 
  8121.  
  8122.  ULONG PC (immediately following Reg) Linear address corresponding to CS:(E)IP. 
  8123.  
  8124.  
  8125. ΓòÉΓòÉΓòÉ 10.2.6.3. Write Memory (CVK_CMD_WMEM) ΓòÉΓòÉΓòÉ
  8126.  
  8127. Parameters: 
  8128.  
  8129.  Cmd       CVK_CMD_WMEM 
  8130.  
  8131.  Value     Number of bytes to write.  (<= CVK_MEMCACHE_SIZE) 
  8132.  
  8133.  OffV      Offset of data to write. 
  8134.  
  8135.  SegV      Selector or segment index for data to write.  0 if OffV is a linear 
  8136.            address, otherwise setting of PE in CR0 and VM in EFLAGS of 
  8137.            interrupted thread determine whether SegV is selector or selector 
  8138.            index. 
  8139.  
  8140.  TID       Slot of thread in whose context address is to be used.  0 is used 
  8141.            for regions in globally shared areas. 
  8142.  
  8143.  MemCache[Value] Data to write. 
  8144.  
  8145.  Returns: 
  8146.  
  8147.  Value     Number of bytes actually written. 
  8148.  
  8149.  
  8150. ΓòÉΓòÉΓòÉ 10.2.6.4. Write Registers (CVK_CMD_WREG) ΓòÉΓòÉΓòÉ
  8151.  
  8152. Parameters: 
  8153.  
  8154.  Cmd       CVK_CMD_WREG 
  8155.  
  8156.  TID       Slot of thread in whose registers are to be changed. 
  8157.  
  8158.  Reg       Registers for thread.  Only the following registers are affected: 
  8159.            EAX, EBX, ECX, EDX, EDI, ESI, EBP, ESP, EIP, CS, DS, ES, FS, GS, SS, 
  8160.            and EFLAGS. 
  8161.  
  8162.  Returns: 
  8163.  
  8164.  Cmd       Return code 
  8165.  
  8166.  
  8167. ΓòÉΓòÉΓòÉ 10.2.6.5. Resume Execution (CVK_CMD_RUN) ΓòÉΓòÉΓòÉ
  8168.  
  8169. Parameters: 
  8170.  
  8171.  Cmd       CVK_CMD_RUN 
  8172.  
  8173.  Value     Indicates action kernel debugger should take after resuming 
  8174.            execution. 
  8175.  
  8176.            -CVK_CMD_RUN 
  8177.                                Kernel debugger is not to expect further 
  8178.                                commands or generate further events.  All 
  8179.                                optional features enabled with the CVK_CMD_ENA 
  8180.                                command are disabled.  In other words, this 
  8181.                                command detaches the debug engine from the 
  8182.                                kernel debugger. 
  8183.  
  8184.            Anything else 
  8185.                                Kernel debugger sends notification when an event 
  8186.                                occurs. 
  8187.  
  8188.  Returns: 
  8189.  
  8190.  None.  See description above in Value for action taken by system under debug. 
  8191.  
  8192.  
  8193. ΓòÉΓòÉΓòÉ 10.2.6.6. Reboot Victim (CVK_CMD_KILL) ΓòÉΓòÉΓòÉ
  8194.  
  8195. Parameters: 
  8196.  
  8197. None. 
  8198.  
  8199. Returns: 
  8200.  
  8201. None. 
  8202.  
  8203.  
  8204. ΓòÉΓòÉΓòÉ 10.2.6.7. Single Step (CVK_CMD_STEP) ΓòÉΓòÉΓòÉ
  8205.  
  8206. Parameters: 
  8207.  
  8208. None. 
  8209.  
  8210. Returns: 
  8211.  
  8212. None.  System under debug sends event notification when an event occurs. 
  8213.  
  8214.  
  8215. ΓòÉΓòÉΓòÉ 10.2.6.8. Get Object/Segment Information (CVK_CMD_NUMTOBASE) ΓòÉΓòÉΓòÉ
  8216.  
  8217. Parameters: 
  8218.  
  8219.  Cmd       CVK_CMD_NUMTOBASE 
  8220.  
  8221.  Value     Object/segment index for segment about which information is desired. 
  8222.  
  8223.  MTE       MTE handle for module about which information is desired. 
  8224.  
  8225.  Returns: 
  8226.  
  8227.  Value     Flags from object/segment table entry for segment. (ote_flags or 
  8228.            ste_flags) 
  8229.  
  8230.  OffV      Base address for object.  (0 for segments.) 
  8231.  
  8232.  SegV      Selector for object/segment. 
  8233.  
  8234.  
  8235. ΓòÉΓòÉΓòÉ 10.2.6.9. Get Module Information (CVK_CMD_LIBNAME) ΓòÉΓòÉΓòÉ
  8236.  
  8237. Parameters: 
  8238.  
  8239.  Cmd       CVK_CMD_LIBNAME 
  8240.  
  8241.  Value     MTE handle for module about which information is desired. 
  8242.  
  8243.  Returns: 
  8244.  
  8245.  Value     Length of full pathname of module, including trailing null 
  8246.            character.  Returns 0 if SMTE or name is not resident. 
  8247.  
  8248.  UCHAR NAME[Value] Null-terminated full pathname of module (immediately follows 
  8249.            Value) 
  8250.  
  8251.  
  8252. ΓòÉΓòÉΓòÉ 10.2.6.10. Perform Kernel Debugger Command (CVK_CMD_RAW) ΓòÉΓòÉΓòÉ
  8253.  
  8254. Parameters: 
  8255.  
  8256.  Cmd       CVK_CMD_RAW 
  8257.  
  8258.  OffV      Null-terminated text of command to perform (overlays OffV) 
  8259.  
  8260.  Returns: 
  8261.  
  8262.  Cmd       Indicates whether this is the last response. 
  8263.  
  8264.            CVK_CMD_RAW    More response packets coming. 
  8265.            CVK_RET_SUC    Last response packet. 
  8266.  
  8267.  Value     Length of command response. 
  8268.  
  8269.  OffV      Null-terminated response to command (overlays OffV) 
  8270.  
  8271.  Note:  This command may return multiple responses.  The last event packet 
  8272.         response will have Cmd set to CVK_RET_SUC instead of CVK_CMD_RAW. 
  8273.  
  8274.  
  8275. ΓòÉΓòÉΓòÉ 10.2.6.11. Get Selector Information (CVK_CMD_DBIT) ΓòÉΓòÉΓòÉ
  8276.  
  8277. Parameters: 
  8278.  
  8279.  Cmd       CVK_CMD_DBIT 
  8280.  
  8281.  SegV      Selector for which information is desired. 
  8282.  
  8283.  Returns: 
  8284.  
  8285.  DBit      Flags from selector's descriptor. 
  8286.  
  8287.  
  8288. ΓòÉΓòÉΓòÉ 10.2.6.12. Range Step (CVK_CMD_RSTEP) ΓòÉΓòÉΓòÉ
  8289.  
  8290. Parameters: 
  8291.  
  8292.  Cmd       CVK_CMD_RSTEP 
  8293.  
  8294.  OffV      Offset at which to stop. 
  8295.  
  8296.  Returns: 
  8297.  
  8298.  None.  System under debug steps until CS selector changes or until (E)IP 
  8299.  becomes >= OffV value, then issues a single step event. 
  8300.  
  8301.  
  8302. ΓòÉΓòÉΓòÉ 10.2.6.13. Scan Module Table (CVK_CMD_SCANMTE) ΓòÉΓòÉΓòÉ
  8303.  
  8304. Parameters: 
  8305.  
  8306.  Cmd       CVK_CMD_SCANMTE 
  8307.  
  8308.  Returns: 
  8309.  
  8310.  Cmd       CVK_RET_LIB if information was returned, otherwise returns 
  8311.            CVK_RET_SUC if end of module table reached. 
  8312.  
  8313.  Value     MTE handle of module if Cmd = CVK_RET_LIB. 
  8314.  
  8315.  UCHAR NAME[Value] Null-terminated full pathname of module (immediately follows 
  8316.            Value) 
  8317.  
  8318.            Not present if SMTE or name is not paged in.  Packet length is 
  8319.            CVK_RETSIZE_SCANMTE in this case. 
  8320.  
  8321.            The module table scan ignores resource modules, which contain only 
  8322.            resource objects and segments, and forwarder modules, which contain 
  8323.            no objects or segments. 
  8324.  
  8325.  
  8326. ΓòÉΓòÉΓòÉ 10.2.6.14. Scan Thread Control Blocks (CVK_CMD_SCANTCB) ΓòÉΓòÉΓòÉ
  8327.  
  8328. Parameters: 
  8329.  
  8330.  Cmd       CVK_CMD_SCANTCB 
  8331.  
  8332.  Value     Slot number of thread control block to start with.  Specify 0 to 
  8333.            start at first occupied slot.  Specify -1 to start at currently 
  8334.            scheduled slot. 
  8335.  
  8336.  Returns: 
  8337.  
  8338.  Value     Slot number of next occupied thread control block.  0 if no more 
  8339.            TCBs. 
  8340.  
  8341.  OffV      Number of information blocks returned in current response. 
  8342.  
  8343.   struct {
  8344.     USHORT slot;   /* Slot index for thread */
  8345.     USHORT PID;    /* PID that contains thread */
  8346.     USHORT TID;    /* Thread ordinal */
  8347.     USHORT MTE;    /* MTE handle for module running in process
  8348.                       that contains thread */
  8349.     USHORT flags;  /* Flags for thread
  8350.                       Bit 0 (low-order bit)  If ON, indicates
  8351.                            thread was running when system stopped.
  8352.                       Bits 1-15 are unused  */
  8353.     }  TIBInfo
  8354.            Information returned immediately following OffV. 
  8355.  
  8356.  
  8357. ΓòÉΓòÉΓòÉ 10.2.6.15. Convert Selector:Offset to Linear Address (CVK_CMD_SEL2LIN) ΓòÉΓòÉΓòÉ
  8358.  
  8359. Parameters: 
  8360.  
  8361.  Cmd       CVK_CMD_SEL2LIN 
  8362.  
  8363.  OffV      Offset 
  8364.  
  8365.  SegV      Selector 
  8366.  
  8367.  TID       Thread that linear address should be in context of. 
  8368.  
  8369.  Returns: 
  8370.  
  8371.  Value     Linear address 
  8372.  
  8373.  
  8374. ΓòÉΓòÉΓòÉ 10.2.6.16. Convert Linear Address to Selector:Offset (CVK_CMD_LIN2SEL) ΓòÉΓòÉΓòÉ
  8375.  
  8376. Parameters: 
  8377.  
  8378.  Cmd       CVK_CMD_LIN2SEL 
  8379.  
  8380.  Value     Linear address 
  8381.  
  8382.  TID       Slot of thread that desired linear address is to be in context of. 
  8383.            (Currently ignored.  Linear address must be in global region and 
  8384.            mapped by interrupted thread's CS, DS, ES, or SS.) 
  8385.  
  8386.  Returns: 
  8387.  
  8388.  OffV      Offset 
  8389.  
  8390.  SegV      Selector 
  8391.  
  8392.  
  8393. ΓòÉΓòÉΓòÉ 10.2.6.17. Get Number of Objects/Segments in Module (CVK_CMD_OBJCOUNT) ΓòÉΓòÉΓòÉ
  8394.  
  8395. Parameters: 
  8396.  
  8397.  Cmd       CVK_CMD_OBJCOUNT 
  8398.  
  8399.  Value     MTE handle for module about which information is desired. 
  8400.  
  8401.  Returns: 
  8402.  
  8403.  Value     Number of objects/segments in module.  0 returned if the module is a 
  8404.            forwarder module, which contains no objects or segments, or a 
  8405.            resource module, which contains only resource objects and segments. 
  8406.  
  8407.  
  8408. ΓòÉΓòÉΓòÉ 10.2.6.18. Scan Object/Segment Table (CVK_CMD_SCANOBJ) ΓòÉΓòÉΓòÉ
  8409.  
  8410. Parameters: 
  8411.  
  8412.  Cmd       CVK_CMD_SCANOBJ 
  8413.  
  8414.  Value     Object/segment table tindex of entry to start with.  Specify 0 to 
  8415.            start at the beginning. 
  8416.  
  8417.  MTE       MTE handle for module about which information is desired. 
  8418.  
  8419.  Returns: 
  8420.  
  8421.  Value     Object/segment table index of next entry.  0 is returned if no more 
  8422.            entries. 
  8423.  
  8424.  OffV      Number of information blocks returned in current response. 
  8425.  
  8426.     struct {
  8427.        ULONG  base;   /* Base address of object/segment */
  8428.        ULONG  size;   /* Size in bytes of object/segment in memory */
  8429.        ULONG  flags;  /* Flags for object/segment:
  8430.                          bit 0 (low-order bit)
  8431.                             ON  - 16-bit segment
  8432.                             OFF - 32-bit segment
  8433.                          bit 1
  8434.                             ON  - data
  8435.                             OFF - code
  8436.                          bits 2-31 are unused */
  8437.     } ObjInfo;
  8438.            Information block returned immediately follows OffV 
  8439.  
  8440.  
  8441. ΓòÉΓòÉΓòÉ 10.2.6.19. Get Selector Information (CVK_CMD_SELINFO) ΓòÉΓòÉΓòÉ
  8442.  
  8443. Parameters: 
  8444.  
  8445.  Cmd       CVK_CMD_SELINFO 
  8446.  
  8447.  SegV      Selector 
  8448.  
  8449.  TID       Slot of thread desired selector is to be in context of. 
  8450.  
  8451.  Returns: 
  8452.  
  8453.  Value     Limit of segment in bytes. 
  8454.  
  8455.  OffV      Base address of segment. 
  8456.  
  8457.  DBit      Flags from descriptor. 
  8458.  
  8459.  
  8460. ΓòÉΓòÉΓòÉ 10.2.6.20. Read NPX Information (CVK_CMD_RNPX) ΓòÉΓòÉΓòÉ
  8461.  
  8462. Parameters: 
  8463.  
  8464.  Cmd       CVK_CMD_RNPX 
  8465.  
  8466.  TID       Slot of thread whose NPX state is desired. 
  8467.  
  8468.  Returns: 
  8469.  
  8470.  Cmd       Return code. 
  8471.  
  8472.            0              NPX state read and returned 
  8473.            1              NPX is being emulated. 
  8474.            2              Invalid slot. 
  8475.            3              Thread has no NPX state. 
  8476.            4              State swapped out. 
  8477.  
  8478.  Reg       Image of NPX state as saved by FSAVE instruction. 
  8479.  
  8480.  
  8481. ΓòÉΓòÉΓòÉ 10.2.6.21. Write NPX Information (CVK_CMD_WNPX) ΓòÉΓòÉΓòÉ
  8482.  
  8483. Parameters: 
  8484.  
  8485.  Cmd       CVK_CMD_WNPX 
  8486.  
  8487.  TID       Slot of thread whose NPX state is to be set. 
  8488.  
  8489.  Reg       Image of NPX state (restored by FRESTOR instruction) 
  8490.  
  8491.  Returns: 
  8492.  
  8493.  Cmd       Return code. 
  8494.  
  8495.            0              NPX state written successfully. 
  8496.            1              NPX is being emulated. 
  8497.            2              Invalid slot. 
  8498.            3              Thread has no NPX state. 
  8499.            4              State swapped out. 
  8500.  
  8501.  
  8502. ΓòÉΓòÉΓòÉ 10.2.6.22. Enable Optional Features (CVK_CMD_ENA) ΓòÉΓòÉΓòÉ
  8503.  
  8504. Parameters: 
  8505.  
  8506.  Cmd       CVK_CMD_ENA 
  8507.  
  8508.  Value     Index of feature to enable. 
  8509.  
  8510.            0              CVK_RET_TNEW and CVK_RET_TEND notifications. 
  8511.  
  8512.  Returns: 
  8513.  
  8514.  Cmd       Return code. 
  8515.  
  8516.  Note:  All optional features are disabled when a CVK_CMD_RUN command is issued 
  8517.         with a Value of -CVK_CMD_RUN. 
  8518.  
  8519.  
  8520. ΓòÉΓòÉΓòÉ 10.2.6.23. Disable Optional Features (CVK_CMD_DIS) ΓòÉΓòÉΓòÉ
  8521.  
  8522. Parameters: 
  8523.  
  8524.  Cmd       CVK_CMD_DIS 
  8525.  
  8526.  Value     Index of feature to disable. 
  8527.  
  8528.            0              CVK_RET_TNEW and CVK_RET_TEND notifications. 
  8529.  
  8530.  Returns: 
  8531.  
  8532.  Cmd       Return code. 
  8533.  
  8534.  Note:  All optional features are disabled when a CVK_CMD_RUN command is issued 
  8535.         with a Value of -CVK_CMD_RUN. 
  8536.  
  8537.  
  8538. ΓòÉΓòÉΓòÉ 10.2.6.24. Register for PAGEIN Notification (CVK_CMD_PIREG) ΓòÉΓòÉΓòÉ
  8539.  
  8540. Parameters: 
  8541.  
  8542.  Cmd       CVK_CMD_PIREG 
  8543.  
  8544.  OffV      Address of page. 
  8545.  
  8546.  MTE       MTE handle of module that contains page. 
  8547.  
  8548.  Returns: 
  8549.  
  8550.  Cmd       Return code. 
  8551.  
  8552.  
  8553. ΓòÉΓòÉΓòÉ 10.2.6.25. Deregister for PAGEIN Notification (CVK_CMD_PIDRG) ΓòÉΓòÉΓòÉ
  8554.  
  8555. Parameters: 
  8556.  
  8557.  Cmd       CVK_CMD_PIDRG 
  8558.  
  8559.  OffV      Address of page. 
  8560.  
  8561.  MTE       MTE handle of module that contains page. 
  8562.  
  8563.  Returns: 
  8564.  
  8565.  Cmd       Return code. 
  8566.  
  8567.  
  8568. ΓòÉΓòÉΓòÉ 10.2.6.26. Scan Processor Control Blocks (CVK_CMD_SCANPCB) ΓòÉΓòÉΓòÉ
  8569.  
  8570. Parameters: 
  8571.  
  8572.  Cmd       CVK_CMD_SCANPCB 
  8573.  
  8574.  Value     Processor number to start with.  Specify 0 for processor 1. 
  8575.  
  8576.  Returns: 
  8577.  
  8578.  Value     Processor number of next processor control block.  0 if no more 
  8579.            PCBs. 
  8580.  
  8581.  OffV      Number of information blocks returned in current response. 
  8582.  
  8583.   struct {
  8584.     ULONG  pNum;   /* Processor Number         */
  8585.     USHORT slot;   /* Slot index of thread running on processor.
  8586.                       (0 means processor idle) */
  8587.     USHORT flags;  /* Flags (currently unused) */
  8588.     }  PCBInfo[OffV]
  8589.            Information returned immediately following OffV. 
  8590.  
  8591.  
  8592. ΓòÉΓòÉΓòÉ 11. The ICAT Debugger ΓòÉΓòÉΓòÉ
  8593.  
  8594. The IBM Interactive Code Analysis Tool (ICAT) Debugger is used for debugging 
  8595. OS/2 device drivers, kernel code, Installable File Systems (IFS), and 
  8596. applications that are running on an OS/2 Warp Server for SMP remote machine. 
  8597. The debugger helps you detect and diagnose errors in code written in C, C++, 
  8598. and assembler languages at the source level. 
  8599.  
  8600.  
  8601. ΓòÉΓòÉΓòÉ 11.1. What is the ICAT Debugger ΓòÉΓòÉΓòÉ
  8602.  
  8603. The ICAT Debugger (hereafter referred to in this chapter as the debugger) is a 
  8604. source-level debugger which uses OS/2 Warp 3.0, OS/2 Warp Connect, or OS/2 Warp 
  8605. Version 4 to assist in detecting and diagnosing errors in an OS/2 Warp Server 
  8606. for SMP system. It provides a graphical user interface and debugs PM and non-PM 
  8607. (single- or multi-threaded) applications as well as device drivers and other 
  8608. system-level binaries. 
  8609.  
  8610. This debugger has been designed to debug remotely an OS/2 Warp Server for SMP 
  8611. system. The Kernel Debugger (KDB) runs on a victim OS/2 Warp Server for SMP 
  8612. machine and replies to debug service requests that are sent from the debugger 
  8613. while running on an Intel-based OS/2 Warp 3.0, OS/2 Warp Connect, or OS/2 Warp 
  8614. Version 4 machine. The supported communication mode between machines is serial. 
  8615.  
  8616. Supported debug file formats include HLL (which is IBM VisualAge C++ (VACPP)) 
  8617. and CodeView (CV). 
  8618.  
  8619.  
  8620. ΓòÉΓòÉΓòÉ 11.2. Before You Begin ΓòÉΓòÉΓòÉ
  8621.  
  8622. This section lists the hardware and software requirements, considerations you 
  8623. need to be aware of, compiling and linking options, environment variables, 
  8624. limitations, helpful tips, and a demo to help get you started. 
  8625.  
  8626.  
  8627. ΓòÉΓòÉΓòÉ 11.2.1. Hardware Requirements ΓòÉΓòÉΓòÉ
  8628.  
  8629. The debugger must be run on an Intel-based system capable of running OS/2 Warp 
  8630. 3.0, OS/2 Warp Connect, or OS/2 Warp Version 4. Slightly less than 11 megabytes 
  8631. of disk space is required to install the debugger.  We recommend that you run 
  8632. with at least a 486SX processor for performance reasons. 
  8633.  
  8634.  
  8635. ΓòÉΓòÉΓòÉ 11.2.2. Software Requirements ΓòÉΓòÉΓòÉ
  8636.  
  8637. There are software requirements for both the victim machine where the programs 
  8638. are debugged and run and the host machine where the debugger runs. 
  8639.  
  8640. To set up the victim OS/2 machine: 
  8641.  
  8642.    1. Obtain or build an OS2KRNLD that has the debugger packet-handling code. 
  8643.       This code is now part of the regular KDB builds. 
  8644.    2. OS2KRNL is in the root directory of the victim system's boot drive but is 
  8645.       hidden.  Use the following command to make it visible: 
  8646.  
  8647.                attrib -r -s -h os2krnl
  8648.  
  8649.       Use the following commands to back up the file and replace it with its 
  8650.       debug equivalent: 
  8651.  
  8652.                copy os2krnl  os2krnl.bak
  8653.                copy os2krnld os2krnl
  8654.  
  8655.  To set up the host OS/2 machine: 
  8656.  
  8657.    1. Unzip the ICATMERL.ZIP file into the directory where you want to run the 
  8658.       debugger.  This file contains the debugger, the victim sample binaries, 
  8659.       and the original source files. 
  8660.    2. Set the environment variables.  Refer to Setting Environment Variables 
  8661.       for more information. 
  8662.  
  8663.  
  8664. ΓòÉΓòÉΓòÉ 11.2.3. Compiling and Linking Your Program ΓòÉΓòÉΓòÉ
  8665.  
  8666. Before using the debugger, you need to compile and link your program. 
  8667.  
  8668. For VACPP programs, use the following options: 
  8669.  
  8670.  /Ti+        Compiles your program to produce an object file that includes line 
  8671.              number information and a symbol table in addition to the source 
  8672.              code. 
  8673.  
  8674.  /O-         Compiles your program with optimization off. This is the default. 
  8675.  
  8676.  /Oi-        Compiles your program with inlining off.  This is the default. 
  8677.  
  8678.  /DEbug      Links your program to produce an executable file that includes 
  8679.              line number information and a symbol table in addition to the 
  8680.              executable code. 
  8681.  
  8682.              Note:  When you specify the /Ti+ option with the /DEbug option, 
  8683.              icc passes this option to the linker automatically, so you only 
  8684.              need to use it if you link separately from the compile. 
  8685.  
  8686.  For more information about compiling and linking your program, refer to IBM 
  8687.  C++ Tools Programming Guide. 
  8688.  
  8689.  For Microsoft CL, CL386, MASM, and MASM386 programs, use the following 
  8690.  options: 
  8691.  
  8692.  /Zi         Compiles your program to produce an object file that includes line 
  8693.              number information and a symbol table, in addition to the source 
  8694.              code. 
  8695.  
  8696.  /Od         Compiles your program with optimization off. 
  8697.  
  8698.  /CO         Links your program to produce an executable file that includes 
  8699.              line number information and a symbol table in addition to the 
  8700.              executable code. 
  8701.  
  8702.  For Watcom wpp386 programs, use the following options: 
  8703.  
  8704.  -d2         Compiles your program with full debugging information. 
  8705.  
  8706.  -hc         Compiles your program emitting CodeView debug format (currently, 
  8707.              the debugger only supports Watcom's CodeView debug format). 
  8708.  
  8709.  -od         Compiles your program with optimization off. 
  8710.  
  8711.  For the Watcom linker, wlink, use this option: 
  8712.  
  8713.  d codeview  Links your program with CodeView debug format. 
  8714.  
  8715.  The debugger supports a separate debug file (from your created application) 
  8716.  for the Watcom compiler.  For the Watcom linker, wlink, use this option to 
  8717.  create a separate debug file if desired: 
  8718.  
  8719.  op symf 
  8720.  
  8721.  This will create a .sym file.  Be careful not to confuse this file with a KDB 
  8722.  .sym file.  The debugger looks for debug information first in the application 
  8723.  file.  If it doesn't find it, it looks for the debug information in a .dbg 
  8724.  file and then in a .sym file as a last resort.  Most users rename the separate 
  8725.  Watcom .sym file to a .dbg file. 
  8726.  
  8727.  
  8728. ΓòÉΓòÉΓòÉ 11.2.4. Setting Environment Variables ΓòÉΓòÉΓòÉ
  8729.  
  8730. The debugger uses environment variables to manage debugging sessions and remote 
  8731. communications. To set the environmental variables, you will need to edit the 
  8732. SETICAT.CMD file. The environment variables should be set in the OS/2 session 
  8733. where the debugger is to be run.  The environment variables are as follows: 
  8734.  
  8735.  CAT_MACHINE 
  8736.            Specifies which host com port the debugger uses to communicate with 
  8737.            KDB and the baud rate for communications.  This variable has the 
  8738.            following form: 
  8739.  
  8740.                          COMx:nnnn
  8741.            where x identifies the port (for example, 1 for COM1) and nnnn 
  8742.            specifies the baud rate.  The following rates are supported: 
  8743.  
  8744.                9600 (the default) 
  8745.                19200 
  8746.                38400 
  8747.                57600 
  8748.                115200 
  8749.  
  8750.            For speeds above 19200, you need buffered UARTs on both the host and 
  8751.            victim machines.  For speeds above 57600, you need customized serial 
  8752.            drivers such as SIO.SYS or the COM.SYS that ships with Warp Version 
  8753.            4 (which can also be used with earlier versions of Warp). 
  8754.  
  8755.            For example, type the following at the command prompt: 
  8756.  
  8757.                          set CAT_MACHINE=COM2:57600
  8758.  
  8759.            Note:  Ensure that your communication port is enabled if you use a 
  8760.            ThinkPad. 
  8761.  
  8762.  CAT_SETUP_RATE 
  8763.            When the debugger first attempts to communicate with KDB, it does so 
  8764.            at the baud rate specified by this environment variable or at 9600 
  8765.            baud if this variable is not defined.  If the communication 
  8766.            succeeds, the debugger changes the baud rate to the rate specified 
  8767.            by the CAT_MACHINE environment variable and proceeds.  Otherwise, 
  8768.            the debugger tries to  initiate contact at the rate specified by the 
  8769.            CAT_MACHINE environment variable.  If neither attempt succeeds, the 
  8770.            debugger issues an error message. 
  8771.  
  8772.            In most cases, you do not need to set CAT_SETUP_RATE.  It is 
  8773.            primarily useful if you have been communicating with the victim 
  8774.            system directly (for example, using ZOC or T) and have left the 
  8775.            serial line running at a rate other than 9600 baud that does not 
  8776.            match the rate specified by the CAT_MACHINE environment variable. 
  8777.  
  8778.            Additionally, if this environment variable is set, the debugger will 
  8779.            reset KDB to this rate when the debugger is closed. 
  8780.  
  8781.            For example, type the following at the command prompt: 
  8782.  
  8783.                          set CAT_SETUP_RATE=9600
  8784.  
  8785.  CAT_HOST_BIN_PATH 
  8786.            Tells the debugger where to find your debug binaries (the .SYS and 
  8787.            .EXE files with debug information) on your host system. 
  8788.  
  8789.            For example, type the following at the command prompt: 
  8790.  
  8791.                          set CAT_HOST_BIN_PATH=I:\SDE\SAMDETW
  8792.  
  8793.  CAT_COMMUNICATION_TYPE 
  8794.            Allows asynchronous communications. Currently, this must be set to 
  8795.            ASYNC_SIGBRK in subsequent releases it is planned to support other 
  8796.            forms of communication. 
  8797.  
  8798.            For example, type the following at the command prompt: 
  8799.  
  8800.                          set CAT_COMMUNICATION_TYPE=ASYNC_SIGBRK
  8801.  
  8802.  CAT_HOST_SOURCE_PATH 
  8803.            Tells the debugger where to find the source files that were used to 
  8804.            build your debug binaries. See Finding Source Files for more 
  8805.            details. 
  8806.  
  8807.            For example, type the following at the command prompt: 
  8808.  
  8809.                          set CAT_HOST_SOURCE_PATH=I:\SDE\SAMDETW;E:\icat\testcases\src
  8810.  
  8811.  CAT_PATH_RECURSE 
  8812.            Causes a recursive search of the subdirectories below the 
  8813.            subdirectories listed in CAT_HOST_BIN_PATH and CAT_HOST_SOURCE_PATH. 
  8814.            For example, with the CAT_HOST_SOURCE_PATH=i\sde\samdetw variable, 
  8815.            the debugger will search the samdetw subdirectory and all 
  8816.            subdirectories below samdetw as well as their subdirectories.  The 
  8817.            default is NULL, which means the debugger will not perform a 
  8818.            recursive search. When the variable is set to any non-null value, 
  8819.            the recursive search is performed. 
  8820.  
  8821.            For example, type the following at the command prompt: 
  8822.  
  8823.            set CAT_PATH_RECURSE=ON 
  8824.  
  8825.  CAT_MODULE_LIST 
  8826.            By default, the debugger obtains information about every executable 
  8827.            module (DLL, EXE, device driver, and so on) running on the victim 
  8828.            system.  As a result, it can take several minutes to attach to the 
  8829.            victim system.  If the CAT_MODULE_LIST environment variable is 
  8830.            defined, the debugger only obtains information about a module if its 
  8831.            name appears in the environment variable string.  (The debugger 
  8832.            always obtains information about the kernel itself.)  This can 
  8833.            dramatically reduce the amount of time it takes for the debugger to 
  8834.            come up. 
  8835.  
  8836.            For example, type the following at the command prompt: 
  8837.  
  8838.                           set CAT_MODULE_LIST=SAMPLEDD.SYS SAMPLE.EXE
  8839.  
  8840.            The debugger will only obtain information on the kernel and the two 
  8841.            modules listed in CAT_MODULE_LIST.  (If a program named LE.EXE were 
  8842.            running, the debugger would also obtain information on it since 
  8843.            LE.EXE is a substring of SAMPLE.EXE.) 
  8844.  
  8845.  CAT_RESUME 
  8846.            During debugger initialization, the debugger stops the victim system 
  8847.            in order to establish the desired baud rate.  The debugger then 
  8848.            continues its initialization and eventually allows the user to 
  8849.            attach to the victim system.  By default, the debugger does not 
  8850.            allow the victim system to resume execution during this interval. 
  8851.            This behavior is necessary to debug a system that has already 
  8852.            reached a failure or that contains a hardcoded INT3 instruction (as 
  8853.            device drivers often do). 
  8854.  
  8855.            There could be situations where you want to initialize the debugger, 
  8856.            but somehow time your attach to the victim system using the Attach 
  8857.            push button.  In this case, define CAT_RESUME, and then the debugger 
  8858.            will resume the victim system waiting for your attach command to 
  8859.            stop it again. 
  8860.  
  8861.            For example, type the following at the command prompt: 
  8862.  
  8863.                          set CAT_RESUME=ON
  8864.  
  8865.  CAT_DIAL and CAT_MODEM_INIT 
  8866.            The host and victim machines can be connected directly (with a null 
  8867.            modem serial cable) or by way of modem.  If either of these 
  8868.            variables is defined, the debugger sets up the COM port specified by 
  8869.            the CAT_MACHINE environment variable so that the debugger can talk 
  8870.            to a modem. The debugger then issues the modem attention string 
  8871.            (+++) followed by the string specified by the CAT_MODEM_INIT 
  8872.            variable (if any) to initialize the modem.  The debugger then issues 
  8873.            the string specified by the CAT_DIAL variable (if any) and waits 500 
  8874.            seconds for the remote modem to answer. 
  8875.  
  8876.            The CAT_MODEM_INIT environment variable should be based on the 
  8877.            string your terminal emulator uses to initialize the modem. This 
  8878.            string presumably doesn't change very often.  Once you have 
  8879.            determined the correct AT commands, you can keep the CAT_MODEM_INIT 
  8880.            environment variable constant and change CAT_DIAL when you need to 
  8881.            place calls to different numbers. 
  8882.  
  8883.            For example, type the following at the command prompt: 
  8884.  
  8885.                          set CAT_MODEM_INIT=ATZ
  8886.                          set CAT_DIAL=ATDT4840
  8887.  
  8888.  CAT_OVERRIDE 
  8889.            Specifies a path that the debugger searches first to find the source 
  8890.            files that were used to build your debug binaries.  See "Finding 
  8891.            Source Files" below for a complete description of the process. 
  8892.  
  8893.            For example, type the following at the command prompt: 
  8894.  
  8895.                          set CAT_OVERRIDE=e:\temp\updates
  8896.  
  8897.  CATTAB 
  8898.            Specifies the number of spaces between tab stops when source code 
  8899.            containing tabs is displayed in a debugger window. 
  8900.  
  8901.            For example, type the following at the command prompt: 
  8902.  
  8903.                          set CATTAB=5
  8904.  
  8905.            The debugger will convert each tab in the source to 5 spaces when 
  8906.            the source is displayed. 
  8907.  
  8908.  CATTABGRID 
  8909.            Specifies the column positions for the tab stops when source code 
  8910.            containing tabs is displayed in a debugger window. 
  8911.  
  8912.            For example, typing the following command at the command prompt sets 
  8913.            tab stops at the 6th position: 
  8914.  
  8915.                          set CATTABGRID=6
  8916.  
  8917.  DEBUG_NUMBEROFELEMENTS 
  8918.            DEBUG_NUMBEROFELEMENTS is an environment variable that is set to an 
  8919.            integer, n. This integer represents the default number of elements 
  8920.            displayed for a variable or structure that has a substantial number 
  8921.            of elements. The last element displayed for such a structure is 
  8922.            labeled "more elements." Clicking on this entry will display the 
  8923.            next n elements of the variable or structure. 
  8924.  
  8925.            For example, type the following at the command prompt: 
  8926.  
  8927.                          set DEBUG_NUMBEROFELEMENTS=100
  8928.  
  8929.            The next 100 elements are displayed. 
  8930.  
  8931.  
  8932. ΓòÉΓòÉΓòÉ 11.2.5. Finding Source Files ΓòÉΓòÉΓòÉ
  8933.  
  8934. The search path tells the debugger where to find the source file used in the 
  8935. source windows. The debugger searches for the source files in the following 
  8936. order: 
  8937.  
  8938.    1. The path defined by the CAT_OVERRIDE environment variable, if specified. 
  8939.  
  8940.    2. The directory where the object file was compiled. 
  8941.  
  8942.    3. The path defined by the CAT_HOST_BIN_PATH environment variable, if 
  8943.       specified. 
  8944.  
  8945.    4. The directory where the executable file is located. 
  8946.  
  8947.    5. The path defined by the CAT_HOST_SOURCE_PATH environment variable, if 
  8948.       specified. 
  8949.  
  8950.    6. The current directory. 
  8951.  
  8952.    7. The path defined in the INCLUDE environment variable. 
  8953.  
  8954.    8. The directory of the last source file found in this debug session. 
  8955.  
  8956.  Note:  The CAT_PATH_RECURSE environment variable, if specified, will cause the 
  8957.  debugger to search recursively all subdirectories of the CAT_HOST_BIN_PATH and 
  8958.  CAT_HOST_SOURCE_PATH environment variables. 
  8959.  
  8960.  
  8961. ΓòÉΓòÉΓòÉ 11.2.6. Limitations ΓòÉΓòÉΓòÉ
  8962.  
  8963. The debugger has the following restriction: 
  8964.  
  8965.      You can not launch an application with the debugger.  You can only attach 
  8966.       to the OS/2 Warp Server for SMP system. 
  8967.  
  8968.  The victim system communicates over COM2 if COM2 exists and over COM1 
  8969.  otherwise.  The COM port the victim system uses must not be usurped by an 
  8970.  application.  For example, if the victim system is using COM2 and you issue 
  8971.  the following command: 
  8972.  
  8973.      mode com2
  8974.  
  8975.  you may disrupt communications.  The device driver and executables associated 
  8976.  with the IBM LAN Management Utilities (for example, LMUIPL.SYS) can also 
  8977.  prevent the victim system from communicating. 
  8978.  
  8979.  Similarly, the COM port the host system uses must be dedicated to the 
  8980.  debugger.  If the debugger fails to attach, make sure you're not running a 
  8981.  terminal emulator (for example, T or ZOC) in the background that has the COM 
  8982.  port tied up. 
  8983.  
  8984.  Currently, there are limitations with C++ support for the Watcom compiler. 
  8985.  The debugger does not support mangled names from the Watcom compiler.  This 
  8986.  can show up when the debugger can not find certain functions (external 
  8987.  functions and overloaded member functions) or sets function breakpoints. 
  8988.  
  8989.  
  8990. ΓòÉΓòÉΓòÉ 11.2.7. Helpful Tips and Hints ΓòÉΓòÉΓòÉ
  8991.  
  8992. The following are tips and hints that may be helpful: 
  8993.  
  8994.      You must have OS/2 WARP 3.0, OS/2 Warp Connect, or OS/2 Warp Server for 
  8995.       SMP on your host machine. 
  8996.  
  8997.      If CAT_HOST_BIN_PATH points to a remote-mounted drive, the drive must be 
  8998.       mounted in binary mode. 
  8999.  
  9000.      Put any environment variables that you want set in a command file. For 
  9001.       example, you could put them in the SETICAT.CMD file or create your own 
  9002.       command file. 
  9003.  
  9004.      The DBGSTRIP utility can be used to strip debug information from binaries 
  9005.       placed on the victim machine but should not be used on binaries placed in 
  9006.       CAT_HOST_BIN_PATH (if you want to do source-level debugging). 
  9007.  
  9008.      Using C and C++, you can write your program code with stylistic features 
  9009.       that are not supported by the debugger. For example, multiple statements 
  9010.       on the same line are difficult to debug. None of the individual 
  9011.       statements can be accessed separately when you set breakpoints or when 
  9012.       you use step commands. 
  9013.  
  9014.  ICAT allows you to manipulate any thread running on the victim machine. 
  9015.  Because certain portions of the address space are not shared by all threads, 
  9016.  you must be sure that you are in the proper context when you set breakpoints, 
  9017.  display storage, etc.  The title of a thread-specific window includes the 
  9018.  thread's identifier as shown in the Debug Session Control window (see Using 
  9019.  the Debug Session Control Window). To ensure you are in the context of the 
  9020.  proper thread, select the thread from the Debug Session Control window's 
  9021.  Threads pane. 
  9022.  
  9023.  For example, suppose you attach to the victim system and wish to set a 
  9024.  breakpoint.  If the breakpoint is in a shared region (for example, in a device 
  9025.  driver, a DLL, or the kernel), it does not matter which context you are in 
  9026.  when you set the breakpoint.  But if the breakpoint is not in a shared region 
  9027.  such as in an EXE file, you must ensure that you are in the context of a 
  9028.  thread that belongs to the process that owns the region before you set the 
  9029.  breakpoint.  Because the debugger does not necessarily have information about 
  9030.  every EXE file in the system, a window may show source for a module even 
  9031.  though the thread listed in the title of the window is not part of the process 
  9032.  that is running the EXE file. If you set the breakpoint without first 
  9033.  verifying you are in the proper context, you will actually set a breakpoint in 
  9034.  a different module entirely. 
  9035.  
  9036.  
  9037. ΓòÉΓòÉΓòÉ 11.2.8. When Things Go Wrong ΓòÉΓòÉΓòÉ
  9038.  
  9039. Here are some things to check when the debugger is not doing what you think it 
  9040. should: 
  9041.  
  9042.      If the debugger can't attach to the victim system: 
  9043.  
  9044.         -  Ensure your serial cable is a "null modem" cable (one that connects 
  9045.            the transmit data pin of one machine to the receive data pin of the 
  9046.            other). 
  9047.  
  9048.         -  Ensure that your serial cable is securely attached to both the host 
  9049.            and victim machines. 
  9050.  
  9051.         -  Ensure that you have the serial cable connected to the correct COMx 
  9052.            port that KDB will use on the victim machine and to the COMx port 
  9053.            that you specified with the CAT_MACHINE environment variable on the 
  9054.            host machine. 
  9055.  
  9056.         -  Ensure that KDB is installed on the victim machine, and if 
  9057.            necessary, check this by using a terminal emulator from the host 
  9058.            machine before running the debugger.  If the terminal emulator is 
  9059.            successful, don't forget to shut it down before invoking the 
  9060.            debugger. 
  9061.  
  9062.         -  Ensure that your CAT_HOST_BIN_PATH is set correctly. 
  9063.  
  9064.         -  Ensure that your CAT_COMMUNICATION_TYPE environment variable is set 
  9065.            to ASYNC_SIGBRK. 
  9066.  
  9067.         -  Ensure that you have buffered UARTs on both host and victim machines 
  9068.            if you want to run at baud rates > 19200. 
  9069.  
  9070.         -  Ensure that your communication port is enabled if you use a 
  9071.            ThinkPad. 
  9072.  
  9073.      If the debugger only displays the disassembly listing of your program and 
  9074.       not the source listing: 
  9075.  
  9076.         -  Ensure that the program was compiled with the proper flags to enable 
  9077.            source-level debugging.  See Compiling and Linking Your Program. 
  9078.  
  9079.         -  Ensure that the executable in the CAT_HOST_BIN_PATH was not 
  9080.            processed by the DBGSTRIP utility.  DBGSTRIP makes the executable 
  9081.            smaller by removing the debug information. 
  9082.  
  9083.         -  Ensure that your CAT_HOST_SOURCE_PATH is set to reference your 
  9084.            source files. 
  9085.  
  9086.         -  Ensure that the modules you want to debug are specified by the 
  9087.            CAT_MODULE_LIST environment variable. 
  9088.  
  9089.  
  9090. ΓòÉΓòÉΓòÉ 11.2.9. Using the Demo ΓòÉΓòÉΓòÉ
  9091.  
  9092. This demo shows a very simple set of DevIOCtl calls being made from a sample 
  9093. application to a device driver.  It explains some of the actions you could take 
  9094. to debug this scenario at the source level. 
  9095.  
  9096. To run the demo, follow these steps: 
  9097.  
  9098.    1. Copy SAMPLEDD.SYS to the root directory of the C drive on your victim 
  9099.       system. 
  9100.    2. On the victim system, edit CONFIG.SYS so that it contains the following 
  9101.       line: 
  9102.  
  9103.                DEVICE=C:\SAMPLEDD.SYS
  9104.  
  9105.       This loads the sample device driver when you reboot the victim system. 
  9106.    3. Copy SAMPLE.EXE to your victim system. 
  9107.    4. Reboot your victim machine so that the SAMPLEDD.SYS binary and the debug 
  9108.       OS2KRNL and OS2LDR binaries are instantiated. 
  9109.  
  9110.       You can perform a quick check to see if the victim machine is OK by 
  9111.       running your normal terminal emulator (T, ZOC, and so on).  This will 
  9112.       show if KDB is communicating at 9600 baud. 
  9113.    5. Shut down the terminal emulator before you run the debugger. 
  9114.    6. Run the SETICAT.CMD file to set the environment variables on your host 
  9115.       system. 
  9116.    7. Type icatgam.  The Initialization window displays. 
  9117.    8. From the Initialization window, select the Attach push button. 
  9118.    9. In the Debug Session Control, make sure you see SAMPLEDD.SYS. Click on 
  9119.       the plus sign (+) next to it and notice that one part is displayed. Click 
  9120.       on that plus sign (+) and notice eight entries are now displayed. 
  9121.   10. Click on STRATEGY. The STRATEGY routine of the sampledd device driver 
  9122.       should display in a source window. 
  9123.  
  9124.       Note:  This is MASM source, so you will see assembler directives, but it 
  9125.       is source.  We support both CodeView (CL and CL386) and HLL (IBM VACPP) 
  9126.       debug formats for C. 
  9127.   11. Set a breakpoint on line 209 inside the STRATEGY routine by 
  9128.       double-clicking on the line number.  Run the debugger by selecting the 
  9129.       Run button. 
  9130.   12. On the victim machine, type sample. SAMPLE.EXE will emit a DevIOCtl to 
  9131.       open the SAMPLEDD device driver. 
  9132.   13. When the debugger notifies you that the breakpoint has been encountered, 
  9133.       open the Registers window and then open the Storage window. Edit one of 
  9134.       the addresses in this storage window by double-clicking on the address 
  9135.       and change the address value to that of the PC register, which is located 
  9136.       at the top of the list of status flags registers in the Registers window. 
  9137.       You will see memory that corresponds to the code space. 
  9138.   14. From the Source window, select Passthru from the Monitors menu. 
  9139.   15. In the Passthru window, type dg cs in the Command entry field and select 
  9140.       the Send push button or press the Enter key. This sends the command to 
  9141.       KDB and the output is displayed in the response area.  Notice that it 
  9142.       provides information about SAMPLEDD's code descriptor.  You can emit most 
  9143.       KDB commands from the Passthru window.  Commands that cause the victim 
  9144.       machine to resume execution (for example, g and t) should be avoided. 
  9145.  
  9146.       Note:  If you change the state of the victim machine with KDB commands in 
  9147.       the Passthru window, you must select the Resync push button to allow the 
  9148.       debugger to reflect the changes. 
  9149.   16. Set another breakpoint on line 275 inside the Open subroutine. Run the 
  9150.       debugger until the breakpoint is encountered. 
  9151.   17. Select the step into choice or button to do a step into on the Ccall 
  9152.       macro to SubrWFrame. You are in the SubrWFrame subroutine. Click on the 
  9153.       Call Stack icon. 
  9154.   18. From the Call Stack window, select the Display style choice from the 
  9155.       Options menu. 
  9156.   19. From the Display style window, enable the Return Address choice, which is 
  9157.       located under the Select items group heading.  Select the OK push button. 
  9158.   20. Select the step over choice or button and notice the change in the Call 
  9159.       Stack window. 
  9160.   21. Look at the Debug Session Control window and find SAMPLE.EXE.  Click on 
  9161.       the plus sign (+) and notice that one part is displayed. Click on that 
  9162.       plus sign (+) and you will see MAIN. 
  9163.   22. Click on MAIN and set a breakpoint at line 44.  Run the debugger by 
  9164.       selecting the Run button.  The breakpoint will be encountered in the 
  9165.       STRATEGY routine again. 
  9166.   23. Run one more time and the breakpoint will be encountered in SAMPLE.EXE in 
  9167.       MAIN. 
  9168.  
  9169.  After you have completed these steps, close the debugger.  At this point, you 
  9170.  can use your terminal emulator to communicate with KDB.  If you did not use 
  9171.  the CAT_SETUP_RATE environment variable, KDB will be set at the baud rate you 
  9172.  used to communicate with the debugger. 
  9173.  
  9174.  
  9175. ΓòÉΓòÉΓòÉ 11.3. Getting Started ΓòÉΓòÉΓòÉ
  9176.  
  9177. This section describes how to start a debugging session from the OS/2 command 
  9178. prompt, attach to a process you want to debug, and how to end a debugging 
  9179. session. 
  9180.  
  9181.  
  9182. ΓòÉΓòÉΓòÉ 11.3.1. Starting the Debugger from OS/2 ΓòÉΓòÉΓòÉ
  9183.  
  9184. To start the debugger from the OS/2 command prompt, enter the command icatgam. 
  9185.  
  9186. For example, type the following: 
  9187.  
  9188.    icatgam /x
  9189. where /x represents a debugger parameter. 
  9190.  
  9191. The debugger parameters are: 
  9192.  
  9193.  /p+  Use program profile information. 
  9194.  
  9195.  /p-  Do not use any program profile information. 
  9196.  
  9197.  If you type icatgam and press Enter, the Initialization Window displays. See 
  9198.  Using the Initialization Window for more information. 
  9199.  
  9200.  
  9201. ΓòÉΓòÉΓòÉ 11.3.2. Using the Initialization Window ΓòÉΓòÉΓòÉ
  9202.  
  9203. Use the Initialization window to attach to the OS2KRNL. 
  9204.  
  9205. To use this window: 
  9206.  
  9207.      Select the Use program profile check box if you want to restore the 
  9208.       windows and breakpoints when debugging a program more than once. 
  9209.      Select the Attach push button to attach to the OS2KRNL. 
  9210.      Select the Settings push button to display the Debugger Properties 
  9211.       window, which allows you to select how threads and source files initially 
  9212.       display and set environment variables.  See Debugger properties... for 
  9213.       more information. 
  9214.  
  9215.  
  9216. ΓòÉΓòÉΓòÉ 11.3.3. Ending the Debugging Session ΓòÉΓòÉΓòÉ
  9217.  
  9218. To end the debugging session, select Close debugger from the File menu in a 
  9219. debugger window. The Close Debugger window displays. Select one of the 
  9220. following choices: 
  9221.  
  9222.      Select Yes to end your debugging session. 
  9223.      Select No to return to the previous screen without exiting the debugger. 
  9224.  
  9225.  You can also end the debugging session by pressing F3 in any of the debugger 
  9226.  windows. 
  9227.  
  9228.  
  9229. ΓòÉΓòÉΓòÉ 11.4. Frequently Used Features of the Debugger ΓòÉΓòÉΓòÉ
  9230.  
  9231. This section introduces the tool buttons, ways to execute your program, and 
  9232. describes how to set breakpoints. 
  9233.  
  9234.      Refer to Using the Tool Buttons for a list of the tool buttons items. 
  9235.      Refer to Executing a Program for information on step commands. 
  9236.      Refer to Setting Breakpoints for information on breakpoints. 
  9237.  
  9238.  
  9239. ΓòÉΓòÉΓòÉ 11.4.1. Using the Tool Buttons ΓòÉΓòÉΓòÉ
  9240.  
  9241. A tool bar has been provided for easier access to frequently used features. 
  9242. Not all buttons are displayed in the windows.  To display buttons in a window, 
  9243. enable the Tool buttons choice that is listed under the Options menu. The 
  9244. following is a list of features that are provided: 
  9245.  
  9246.                      Step over executes the current line in the program.  If 
  9247.                      the current line is a call, execution is halted when the 
  9248.                      call is completed. 
  9249.  
  9250.                      Step into executes the current line in the program.  If 
  9251.                      the current line is a call, execution is halted at the 
  9252.                      first statement in the called function. 
  9253.  
  9254.                      Step debug executes the current line in the program. The 
  9255.                      debugger steps over any function for which debugging 
  9256.                      information is not available (for example, library and 
  9257.                      system routines) and steps into any function for which 
  9258.                      debugging information is available. 
  9259.  
  9260.                      Step return automatically executes the lines of code up to 
  9261.                      and including the return statement of the current 
  9262.                      function. 
  9263.  
  9264.                      Run allows you to start and stop the program. 
  9265.  
  9266.                      When the debugger is running, the Run button is disabled 
  9267.                      and the Halt button is enabled. You can click on the Halt 
  9268.                      button to halt the program execution.  You can also 
  9269.                      interrupt the program you are debugging by selecting the 
  9270.                      Halt choice from the Run menu. 
  9271.  
  9272.                      View changes the current source window to one of the other 
  9273.                      source windows. For example, you can change from the 
  9274.                      Disassembly window to the Mixed window. 
  9275.  
  9276.                      Monitor Expression displays the Monitor Expression window, 
  9277.                      which allows you to type in the name of the expression you 
  9278.                      want to monitor. 
  9279.  
  9280.                      Call Stack displays the Call Stack window, which allows 
  9281.                      you to view all of the active functions for a particular 
  9282.                      thread including the system calls. The functions are 
  9283.                      displayed in the order that they were called. 
  9284.  
  9285.                      Registers displays the Registers window, which allows you 
  9286.                      to view all the processor and coprocessor registers for a 
  9287.                      particular thread. 
  9288.  
  9289.                      Storage displays the Storage window, which shows the 
  9290.                      storage contents and the address of the storage. 
  9291.  
  9292.                      Breakpoints displays the Breakpoints List window, which 
  9293.                      allows you to view all the breakpoints that have been set. 
  9294.  
  9295.                      Passthru displays the Passthru window, which allows you to 
  9296.                      send commands and receive responses from KDB directly. 
  9297.  
  9298.                      Debug Session Control displays the Debug Session Control 
  9299.                      window. 
  9300.  
  9301.                      Growth direction allows you to change the direction that 
  9302.                      items are displayed on the stack. 
  9303.  
  9304.                      Delete allows you to delete the highlighted item. 
  9305.  
  9306.                      Delete all allows you to delete all the items in the 
  9307.                      window. 
  9308.  
  9309.                      32-float displays the storage contents as a 32-bit 
  9310.                      floating point. 
  9311.  
  9312.                      64-float displays the storage contents as a 64-bit 
  9313.                      floating point. 
  9314.  
  9315.                      32-bit unsigned displays the storage contents as a 32-bit 
  9316.                      unsigned integer. 
  9317.  
  9318.                      32-bit signed displays the storage contents as a 32-bit 
  9319.                      signed integer. 
  9320.  
  9321.                      ASCII displays the storage contents in ASCII. 
  9322.  
  9323.                      Hex and ASCII displays the storage contents in Hex and 
  9324.                      ASCII. 
  9325.  
  9326.                      Change representation allows you the change the data 
  9327.                      representation. 
  9328.  
  9329.      Refer to Executing a Program for information on step commands. 
  9330.      Refer to Setting Breakpoints for information on breakpoints. 
  9331.  
  9332.  
  9333. ΓòÉΓòÉΓòÉ 11.4.2. Executing a Program ΓòÉΓòÉΓòÉ
  9334.  
  9335. You can execute your program by using step commands or the Run command. 
  9336.  
  9337.  Step commands   Step commands control the execution of the program. 
  9338.  
  9339.                  The step commands are located in the tool bar of the source 
  9340.                  windows and under the Run menu of the source windows. 
  9341.  
  9342.  Run command     The Run command runs the program until a breakpoint is 
  9343.                  encountered, the program is halted, or the program ends. 
  9344.  
  9345.                  You can start the RUN command from the Run button in the tool 
  9346.                  bar or the Run menu of the source windows. 
  9347.  
  9348.  When you execute your program, a clock icon displays to indicate that the 
  9349.  program is running and might require input to continue to the next breakpoint 
  9350.  or termination of the program. 
  9351.  
  9352.      Refer to Setting Breakpoints for information on breakpoints. 
  9353.  
  9354.  
  9355. ΓòÉΓòÉΓòÉ 11.4.3. Setting Breakpoints ΓòÉΓòÉΓòÉ
  9356.  
  9357. You can control how your program executes by setting breakpoints.  A breakpoint 
  9358. stops the execution of your program at a specific location or when a specific 
  9359. event occurs. 
  9360.  
  9361. To set breakpoints, select the Breakpoints menu from the Debug Session Control 
  9362. window or from any of the source windows and select the appropriate choice for 
  9363. the type of breakpoint you want to set. You can also set a simple line 
  9364. breakpoint by double-clicking in the prefix area of an executable statement in 
  9365. any of the source windows.  The prefix area is the area to the left of the 
  9366. source code where line numbers or addresses are displayed. The prefix area 
  9367. turns red indicating that the breakpoint has been set. You can also use the 
  9368. arrow keys to move the cursor to the prefix area and then use the space bar to 
  9369. toggle the breakpoints. This allows you to set or delete a breakpoint. 
  9370.  
  9371. Refer to Breakpoints Menu Choices for more information on breakpoints. 
  9372.  
  9373.  
  9374. ΓòÉΓòÉΓòÉ 11.5. Introducing the Main Debugging Windows ΓòÉΓòÉΓòÉ
  9375.  
  9376. This section introduces the Debug Session Control window and the three source 
  9377. windows which offer different views of your source code. It describes the menu 
  9378. items and choices that are located in each of these windows. 
  9379.  
  9380.      Refer to Using the Debug Session Control Window for information on the 
  9381.       Debug Session Control window. 
  9382.      Refer to Using the Source Windows for information on the source windows. 
  9383.  
  9384.  
  9385. ΓòÉΓòÉΓòÉ 11.5.1. Using the Debug Session Control Window ΓòÉΓòÉΓòÉ
  9386.  
  9387. The Debug Session Control window is the control window of the debugger and 
  9388. displays during the entire debugging session. This window is divided into two 
  9389. panes. One pane shows the threads for the program you are debugging and the 
  9390. corresponding process IDs, process names, kernel thread IDs, and processor 
  9391. number (when applicable). The other pane shows the components for the program 
  9392. that you are debugging. 
  9393.  
  9394.      For a description of the choices that are available from the File menu, 
  9395.       refer to File Menu Choices. 
  9396.      For a description of the choices that are available from the Breakpoints 
  9397.       menu, refer to Breakpoints Menu Choices. 
  9398.      For a description of the choices that are available from the Monitors 
  9399.       menu, refer to Monitors Menu Choices. 
  9400.      For a description of the choices that are available from the Run menu, 
  9401.       refer to Run Menu Choices. 
  9402.      For a description of the choices that are available from the Options 
  9403.       menu, refer to Options Menu Choices 
  9404.      For a description of the choices that are available from the Windows 
  9405.       menu, refer to Windows Menu Choices. 
  9406.      For a description of the choices that are available from the Help menu, 
  9407.       refer to Help Menu Choices. 
  9408.  
  9409.  The Threads pane contains the threads and the state of the threads started by 
  9410.  your program. These values can be used in conjunction with the KDB .p command 
  9411.  to match an ICAT thread to a corresponding KDB slot. 
  9412.  
  9413.  To display the state of a thread, select the plus icon to the left of the 
  9414.  thread. 
  9415.  
  9416.  The Thread Popup Menu contains choices to take you to different debugger 
  9417.  windows. The popup menu is shown when you place the mouse pointer on a 
  9418.  highlighted thread name and click mouse button 2. 
  9419.  
  9420.  The following are the popup choices: 
  9421.  
  9422.  Execution point     Opens a source window containing the next line to be run. 
  9423.  
  9424.  Registers           Displays the Registers window. 
  9425.  
  9426.  Call stack          Displays the Call Stack window. 
  9427.  
  9428.  Local variables     Displays the Local Variables window. 
  9429.  
  9430.  The Components pane shows the path name of the executable files that are 
  9431.  associated with the OS2KRNL. 
  9432.  
  9433.  To display a list of object files contained within an executable file, select 
  9434.  the plus icon to the left of the executable file name. To open a source window 
  9435.  of an object file, double-click on the object file name. 
  9436.  
  9437.  To display a list of functions for a specific object file, select the plus 
  9438.  icon to the left of the object file name. To open a source window of a 
  9439.  specific function, double-click on the function name. 
  9440.  
  9441.  You can display any object or function in a source window by double-clicking 
  9442.  on the name in the Components pane or by highlighting the component name and 
  9443.  selecting the View popup choice. 
  9444.  
  9445.  To specify which components are shown in the Components list, select Options 
  9446.  -> Window Settings -> Display style.  The Display Style window displays. 
  9447.  Disable the Show all components choice if you want only components compiled 
  9448.  and linked with debugging data to be listed. If the choice is enabled, all 
  9449.  components are listed. 
  9450.  
  9451.  The Object or Function Popup Menu contains choices that allow you to display 
  9452.  the object or function in a source window or set a function breakpoint. The 
  9453.  popup menu is shown when you place the mouse pointer on a object or function 
  9454.  name and click mouse button 2. 
  9455.  
  9456.  The choices in the popup menu are: 
  9457.  
  9458.  View                       Shows the object or function in a source window. 
  9459.  
  9460.  Set function breakpoint    Sets a function breakpoint to stop the execution of 
  9461.                             your program after calling a specific function in 
  9462.                             the current selected thread. 
  9463.  
  9464.  Set breakpoint (every)     Sets a breakpoint to stop the execution of your 
  9465.                             program on a function in all the threads. 
  9466.  
  9467.  
  9468. ΓòÉΓòÉΓòÉ 11.5.1.1. File Menu Choices ΓòÉΓòÉΓòÉ
  9469.  
  9470. Select choices from the File menu of the Debug Session Control window to open a 
  9471. new source file, locate a particular function, open a source window that 
  9472. contains the next line to be executed, start a new debugging session, or end a 
  9473. debugging session. 
  9474.  
  9475. For a description of the File menu, refer to the following: 
  9476.  
  9477.      Open new source... 
  9478.      Find function... 
  9479.      Where is execution point 
  9480.      Initialization... 
  9481.      Close debugger. 
  9482.  
  9483.  
  9484. ΓòÉΓòÉΓòÉ 11.5.1.1.1. Open new source... ΓòÉΓòÉΓòÉ
  9485.  
  9486. Displays the Open New Source window, which allows you to open a new source 
  9487. file.  If you have multiple source files in your program, only one source file 
  9488. is initially displayed.  Use the Open New Source window to open additional 
  9489. source files. 
  9490.  
  9491. To use the Open New Source window: 
  9492.  
  9493.      Type the name of the object file you want to open the source for in the 
  9494.       Source entry field. For example, to look for the source used to compile 
  9495.       A123.OBJ, type the following: 
  9496.  
  9497.                A123
  9498.  
  9499.       If you are unsure of the file name, select the File list... push button 
  9500.       to view a list of the files that you can select. 
  9501.      Type the name of the executable file in the Executable entry field.  The 
  9502.       source files for the executable file display in the Source entry field. 
  9503.      Enable the All Executables check box if you want to search all the 
  9504.       executable files. Disable the All Executables check box to search for a 
  9505.       particular executable file. 
  9506.      Enable the Debugging Information Only check box if you want to search 
  9507.       only the source files that contain debugging information. 
  9508.      Select the OK push button. 
  9509.  
  9510.  
  9511. ΓòÉΓòÉΓòÉ 11.5.1.1.2. Find function... ΓòÉΓòÉΓòÉ
  9512.  
  9513. Displays the Find Function window, which allows you to open a source window to 
  9514. a particular function. 
  9515.  
  9516. To use the Find Function window: 
  9517.  
  9518.      Type the name of the function you want to search for in the Function 
  9519.       entry field. 
  9520.  
  9521.       If the function that you specify is not found, the following message 
  9522.       displays: 
  9523.  
  9524.                NO MATCHING FUNCTION FOUND
  9525.  
  9526.       This means it may be a static function or the function you specified does 
  9527.       not exist. 
  9528.  
  9529.       The debugger searches each object file for global functions that match 
  9530.       the function name specified. If an object file contains the global 
  9531.       function that was specified, then it will also search that file for any 
  9532.       static function with the same name. 
  9533.      Enable the Debugging information only check box if you want to search 
  9534.       only the object files that contain debugging information. 
  9535.      Enable the Case sensitive check box if you want to search for the string 
  9536.       exactly as typed.  Disable this check box if you want to search for both 
  9537.       uppercase and lowercase characters. 
  9538.      Select the OK push button. 
  9539.  
  9540.  
  9541. ΓòÉΓòÉΓòÉ 11.5.1.1.3. Where is execution point ΓòÉΓòÉΓòÉ
  9542.  
  9543. Opens a source window containing the next line to be executed. 
  9544.  
  9545.  
  9546. ΓòÉΓòÉΓòÉ 11.5.1.1.4. Save thread list in file ΓòÉΓòÉΓòÉ
  9547.  
  9548. Saves the contents of the Threads pane into a file.  The default file name is 
  9549. threads.out.  To change the default file name, select Options -> Window 
  9550. settings -> Display style... from the Debug Session Control window. 
  9551.  
  9552.  
  9553. ΓòÉΓòÉΓòÉ 11.5.1.1.5. Save component list in file ΓòÉΓòÉΓòÉ
  9554.  
  9555. Saves the contents of the Components pane into a file.  The default file name 
  9556. is comps.out.  To change the default file name, select Options -> Window 
  9557. settings -> Display style... from the Debug Session Control window. 
  9558.  
  9559.  
  9560. ΓòÉΓòÉΓòÉ 11.5.1.1.6. Initialization... ΓòÉΓòÉΓòÉ
  9561.  
  9562. Displays the Initialization window, which allows you to start a debugging 
  9563. session by attaching to the OS2KRNL. Refer to Using the Initialization Window 
  9564. for more information. 
  9565.  
  9566.  
  9567. ΓòÉΓòÉΓòÉ 11.5.1.1.7. Close debugger ΓòÉΓòÉΓòÉ
  9568.  
  9569. Ends the debugging session. When you select the Close debugger choice, the 
  9570. Close Debugger message box prompts you to confirm that you want to end the 
  9571. debugging session. 
  9572.  
  9573.  
  9574. ΓòÉΓòÉΓòÉ 11.5.1.2. Breakpoints Menu Choices ΓòÉΓòÉΓòÉ
  9575.  
  9576. Select choices from the Breakpoints menu to set breakpoints and to stop the 
  9577. execution of your program at any point. You can set as many breakpoints as you 
  9578. want. 
  9579.  
  9580. Breakpoints can be set from the Debug Session Control window or from the source 
  9581. windows. When you set a breakpoint in one source window, it is reflected in the 
  9582. other source windows. 
  9583.  
  9584. For a description of the Breakpoints menu, refer to the following: 
  9585.  
  9586.      Set line... 
  9587.      Set function... 
  9588.      Set address... 
  9589.      Set watchpoint... 
  9590.      Set load occurrence... 
  9591.      List 
  9592.      Delete All. 
  9593.  
  9594.  
  9595. ΓòÉΓòÉΓòÉ 11.5.1.2.1. Set line... ΓòÉΓòÉΓòÉ
  9596.  
  9597. Displays the Line Breakpoint window, which allows you to set a line breakpoint 
  9598. to stop the execution of your program at a specific line number. 
  9599.  
  9600. The Line Breakpoint window is divided into two group headings: Required 
  9601. Parameters and Optional Parameters. 
  9602.  
  9603. The Required Parameters group heading contains the following: 
  9604.  
  9605.      Executable Entry Field 
  9606.  
  9607.       To select a component from the Executable list: 
  9608.         1. Type the executable name in the entry field or open the Executable 
  9609.            list by selecting the list button. This displays a drop-down 
  9610.            combination box. 
  9611.         2. Highlight the executable where you want to set the breakpoint 
  9612.      Source Entry Field 
  9613.  
  9614.       To select a component from the Source list: 
  9615.         1. Type the source name in the entry field or open the Source list by 
  9616.            selecting the list button. This displays a drop-down combination 
  9617.            box. 
  9618.         2. Highlight the source where you want to set the breakpoint. 
  9619.      Include File Entry Field 
  9620.  
  9621.       If the source you selected has include files with executable statements, 
  9622.       then the File list displays all the file names that contain executable 
  9623.       lines. 
  9624.         1. Type the name of the file in the entry field or open the File list 
  9625.            by selecting the list button. This displays a drop-down combination 
  9626.            box. 
  9627.         2. Highlight the file where you want to set the breakpoint. 
  9628.      Line Entry Field 
  9629.  
  9630.       To set a line breakpoint, type the line number in the Line entry field. 
  9631.       The breakpoint is set on the line number. 
  9632.  
  9633.  The Optional Parameters group heading contains the following: 
  9634.  
  9635.      Thread Entry Field 
  9636.  
  9637.       To select a thread ID from the Thread list: 
  9638.         1. Open the Thread list by selecting the list button. This displays a 
  9639.            drop-down combination box. 
  9640.         2. Highlight the thread where you want to set the breakpoint. 
  9641.  
  9642.       Select Every, the default, to set a breakpoint in all of the active 
  9643.       threads in your program. The Every choice is thread independent. Select 
  9644.       one of the individual threads to set a breakpoint in one thread only. 
  9645.       Threads are added to the Thread list as new threads are activated. 
  9646.      From Entry Field 
  9647.  
  9648.       This field is used for location breakpoints, address breakpoints and load 
  9649.       occurrence breakpoints. Type in a number to start activating the 
  9650.       breakpoint the nth time the location is encountered. 
  9651.      To Entry Field 
  9652.  
  9653.       This field is used for location breakpoints, address breakpoints and load 
  9654.       occurrence breakpoints. Type in a number to stop activating the 
  9655.       breakpoint after the nth time the location is encountered. 
  9656.      Every Entry Field 
  9657.  
  9658.       This field is used for location breakpoints, address breakpoints and load 
  9659.       occurrence breakpoints. Type in a number to indicate how often the 
  9660.       breakpoint should be activated within the From and To range. 
  9661.      Expression Entry Field 
  9662.  
  9663.       If you are setting an address, function, or line breakpoint, you can also 
  9664.       type in an expression.  The execution of the program stops only if this 
  9665.       condition tests true. For example, you could type the following: 
  9666.  
  9667.                (i==1) || (j==k) && (k!=5)
  9668.  
  9669.       Note:  Variables in a conditional expression associated with a function 
  9670.       breakpoint are limited to any static or global variables that are known 
  9671.       to the called function when the function is called. Local variables and 
  9672.       automatic variables will not evaluate correctly. 
  9673.  
  9674.       The maximum length of the condition is 256 characters. 
  9675.      Defer breakpoint Check Box 
  9676.  
  9677.       Enable the Defer breakpoint check box if you want to set a breakpoint in 
  9678.       a module that is not currently loaded. 
  9679.  
  9680.       If you set a deferred line breakpoint and the line is located in a 
  9681.       template, the debugger sets the line breakpoint in all of the templates 
  9682.       when the module is loaded. 
  9683.  
  9684.       When a module is loaded and a deferred breakpoint has been set in the 
  9685.       module, the state of the breakpoint changes from deferred to active. When 
  9686.       a module is freed, any breakpoints that were set in the module change 
  9687.       from the active state to deferred state. 
  9688.  
  9689.       If you enter an invalid source, file or line number, the debugger will be 
  9690.       unable to activate the breakpoint when the module is loaded. Therefore, 
  9691.       the invalid breakpoint will remain in the deferred state even after the 
  9692.       module is loaded. 
  9693.  
  9694.  
  9695. ΓòÉΓòÉΓòÉ 11.5.1.2.2. Set function... ΓòÉΓòÉΓòÉ
  9696.  
  9697. Displays the Function Breakpoint window, which allows you to set a function 
  9698. breakpoint to stop the execution of your program when the first instruction of 
  9699. the function is encountered where the breakpoint has been set. 
  9700.  
  9701. The entry fields in this window are the same as in the Line Breakpoint window 
  9702. except for the following: 
  9703.  
  9704.      Function Entry Field 
  9705.  
  9706.       Type the name of the function where you want to set the breakpoint or 
  9707.       select a function from the Function list.  To select a function, do the 
  9708.       following: 
  9709.         1. Open the Function list by selecting the list button. This displays a 
  9710.            drop-down combination box. 
  9711.         2. Highlight the function where you want to set the breakpoint. 
  9712.  
  9713.       If a function is overloaded, then a window displays with a list of all 
  9714.       the overloaded function names. Select the appropriate function from the 
  9715.       list. 
  9716.      Debugging information only Check Box 
  9717.  
  9718.       Enable this check box if you want to search only the object files that 
  9719.       contain debugging information. 
  9720.      Case sensitive Check Box 
  9721.  
  9722.       Enable this check box if you want to search for the string exactly as 
  9723.       typed.  Disable this check box if you want to search for both uppercase 
  9724.       and lowercase characters. 
  9725.  
  9726.  For a description of the types of data you can enter in the entry fields under 
  9727.  the Optional Parameters group heading, refer to Set line.... 
  9728.  
  9729.  
  9730. ΓòÉΓòÉΓòÉ 11.5.1.2.3. Set address... ΓòÉΓòÉΓòÉ
  9731.  
  9732. Displays the Address Breakpoint window, which allows you to set an address 
  9733. breakpoint to stop the execution of your program at a specific address. 
  9734.  
  9735. The entry fields in this window are the same as in the Line Breakpoint window 
  9736. except for the following: 
  9737.  
  9738.      Address or Expression Entry Field 
  9739.  
  9740.       Type the name of the address or expression in the Address or Expression 
  9741.       entry field. 
  9742.  
  9743.       For example, to set an address breakpoint for the address 0x000A1FCC, you 
  9744.       would type one of the following in the Address entry field: 
  9745.  
  9746.                0x000A1FCC or A1FCC
  9747.  
  9748.       The 0x is optional. 
  9749.  
  9750.  For a description of the types of data you can enter in the entry fields under 
  9751.  the Optional Parameters group heading, refer to Set line.... 
  9752.  
  9753.  
  9754. ΓòÉΓòÉΓòÉ 11.5.1.2.4. Set watchpoint... ΓòÉΓòÉΓòÉ
  9755.  
  9756. Displays the Watchpoint window, which allows you to set a watchpoint to stop 
  9757. the execution of your program when contents of memory at a given address are 
  9758. referenced, when an instruction is fetched from a particular address, or when 
  9759. an I/O port at a particular address is referenced. 
  9760.  
  9761. Use the Watchpoint window to set a watchpoint. 
  9762.  
  9763.      Address (or Expression) or Port # Entry Field 
  9764.  
  9765.       Type a hexadecimal address or port or an expression that can be evaluated 
  9766.       to a hexadecimal address. 
  9767.  
  9768.       Note:  If you type ABC in the Address (or Expression) or Port # entry 
  9769.       field, and there is a variable named ABC, the value of the variable is 
  9770.       used instead of the hex value ABC. Also, you can type &a in the Address 
  9771.       (or Expression) or Port # entry field to set the watchpoint on the 
  9772.       address of a variable a. 
  9773.  
  9774.       For example, type the following in the Address (or Expression) or Port # 
  9775.       entry field to set a watchpoint for the address A1FCC. 
  9776.  
  9777.                A1FCC
  9778.  
  9779.       Type the following in the Address (or Expression) or Port # entry field 
  9780.       to set a watchpoint for the expression &variable. 
  9781.  
  9782.                &variable
  9783.  
  9784.      Bytes to Monitor Radio Buttons 
  9785.  
  9786.       The debugger will monitor 1, 2, or 4 bytes for the type of watchpoint 
  9787.       operation that you select.  This choice is made for you on the 
  9788.       Instruction fetch and I/O Port types. 
  9789.      Watchpoint Radio Buttons 
  9790.  
  9791.       The debugger supports four types of watchpoints. They are as follows: 
  9792.       I/O Port                 Causes a break when the port address is read 
  9793.                                from or written to. 
  9794.  
  9795.       Write                    Causes a break when the address is written to. 
  9796.  
  9797.       Read or write            Causes a break when the address is read from or 
  9798.                                written to. 
  9799.  
  9800.       Instruction fetch        Causes a break when the instruction at that 
  9801.                                address is fetched. 
  9802.  
  9803.  Warning: If you set a watchpoint that is on the call stack, you should remove 
  9804.  the watchpoint before leaving the routine associated with the watchpoint. 
  9805.  Otherwise, when you return from the routine, the routine's stack frame will be 
  9806.  removed from the stack leaving the watchpoint intact.  Any other routine that 
  9807.  gets loaded on the stack will then contain the watchpoint. You can set up to 
  9808.  four watchpoints. 
  9809.  
  9810.  For a description of the types of data you can enter in the entry fields under 
  9811.  the Optional Parameters group heading, refer to Set line.... 
  9812.  
  9813.  
  9814. ΓòÉΓòÉΓòÉ 11.5.1.2.5. Set load occurrence... ΓòÉΓòÉΓòÉ
  9815.  
  9816. Displays the Load Occurrence Breakpoint window, which allows you to set a load 
  9817. occurrence breakpoint to stop the execution of your program when a specific 
  9818. module is loaded. 
  9819.  
  9820. To use the Load Occurrence Breakpoint window, type the name of the module in 
  9821. the Module Name entry field. Execution stops when the module is loaded. 
  9822.  
  9823.      Module Name Entry Field 
  9824.  
  9825.  To set a load occurrence breakpoint when MY.DLL is loaded, you would type one 
  9826.  of the following in the Module Name entry field: 
  9827.  
  9828.      MY or MY.DLL
  9829.  
  9830.  Note:  If the CAT_MODULE_LIST environment variable has been defined, and the 
  9831.  module's name is not contained in the CAT_MODULE_LIST, the module will not be 
  9832.  reported. If the module can not be found in the module search path, the module 
  9833.  name will not be accepted. See Debugger properties... for information on 
  9834.  identifying modules. 
  9835.  
  9836.  For a description of the types of data you can enter in the entry fields under 
  9837.  the Optional Parameters group heading, refer to Set line.... 
  9838.  
  9839.  
  9840. ΓòÉΓòÉΓòÉ 11.5.1.2.6. List ΓòÉΓòÉΓòÉ
  9841.  
  9842. Displays the Breakpoints List window, which lists all the breakpoints that have 
  9843. been set.  It also shows the state of each breakpoint. 
  9844.  
  9845. Use the Breakpoints List window to display a list of the breakpoints that have 
  9846. been set. The following information is also provided for each breakpoint. 
  9847.  
  9848.      The enablement state 
  9849.      The type of breakpoint 
  9850.      The position of the breakpoint 
  9851.      The conditions under which the breakpoint is activated. 
  9852.  
  9853.  For more information on the Breakpoints List window, refer to Using the 
  9854.  Breakpoints List Window. 
  9855.  
  9856.  
  9857. ΓòÉΓòÉΓòÉ 11.5.1.2.7. Delete All ΓòÉΓòÉΓòÉ
  9858.  
  9859. Deletes all the breakpoints that have been set. 
  9860.  
  9861.  
  9862. ΓòÉΓòÉΓòÉ 11.5.1.3. Monitors Menu Choices ΓòÉΓòÉΓòÉ
  9863.  
  9864. Select choices from the Monitors menu of the Debug Session Control window to 
  9865. open other debugging windows such as monitors, call stack, registers, and 
  9866. storage. 
  9867.  
  9868. The choices listed under the Monitors menu are also accessible from the tool 
  9869. bar of the source windows. 
  9870.  
  9871.  Call stack          Displays the Call Stack window, which allows you to 
  9872.                      monitor the call stack for a particular thread. This 
  9873.                      window is described in Using the Call Stack Window. 
  9874.  
  9875.  Registers           Displays the Registers window, which allows you to monitor 
  9876.                      registers and flags for a particular component or thread. 
  9877.                      This window is described in Using the Registers Window. 
  9878.  
  9879.  Storage             Displays the Storage window, which allows you to monitor 
  9880.                      the storage in your program. This window is described in 
  9881.                      Using the Storage Window. 
  9882.  
  9883.  Local variables     Displays the Local Variables window, which allows you to 
  9884.                      display the local variables for the program's current 
  9885.                      function. This window is described in Using the Local 
  9886.                      Variables Window. 
  9887.  
  9888.  Passthru            Allows you to send commands to KDB and displays the 
  9889.                      formatted KDB response. 
  9890.  
  9891.  
  9892. ΓòÉΓòÉΓòÉ 11.5.1.4. Run Menu Choices ΓòÉΓòÉΓòÉ
  9893.  
  9894. Select choices from the Run menu to execute your program or stop execution. 
  9895.  
  9896. For a description of the Run menu, refer to the following: 
  9897.  
  9898.      Run 
  9899.      Halt 
  9900.      Hide Debugger on Run. 
  9901.  
  9902.  
  9903. ΓòÉΓòÉΓòÉ 11.5.1.4.1. Run ΓòÉΓòÉΓòÉ
  9904.  
  9905. Executes the program from the current line until a breakpoint is encountered or 
  9906. the program ends. 
  9907.  
  9908.  
  9909. ΓòÉΓòÉΓòÉ 11.5.1.4.2. Halt ΓòÉΓòÉΓòÉ
  9910.  
  9911. Interrupts the program you are debugging. 
  9912.  
  9913.  
  9914. ΓòÉΓòÉΓòÉ 11.5.1.4.3. Hide Debugger on Run ΓòÉΓòÉΓòÉ
  9915.  
  9916. Minimizes the debugger windows while your application is running. 
  9917.  
  9918.  
  9919. ΓòÉΓòÉΓòÉ 11.5.1.5. Options Menu Choices ΓòÉΓòÉΓòÉ
  9920.  
  9921. Select choices from the Options menu to control how the debugger windows 
  9922. display. 
  9923.  
  9924. For a description of the Options menu, refer to the following: 
  9925.  
  9926.      Window settings-> 
  9927.      Debugger settings->. 
  9928.  
  9929.  
  9930. ΓòÉΓòÉΓòÉ 11.5.1.5.1. Window settings-> ΓòÉΓòÉΓòÉ
  9931.  
  9932. Use the Window settings cascading choices to modify the characteristics of the 
  9933. Debug Session Control window. 
  9934.  
  9935.  Fonts 
  9936.            Displays the Fonts window, which allows you to select the font you 
  9937.            want to use for the text displayed in the Debug Session Control 
  9938.            window. 
  9939.  
  9940.  Display style... 
  9941.            Displays the Display Style window, which allows you to select the 
  9942.            settings you want to use. 
  9943.  
  9944.  Restore defaults 
  9945.            Resets all of the window settings to their original settings. 
  9946.  
  9947.  Tool buttons 
  9948.            Enables or disables tool buttons. 
  9949.  
  9950.  Hover help 
  9951.            Enables or disables the hover help. 
  9952.  
  9953.  Infoarea 
  9954.            Enables or disables the information area.               . 
  9955.  
  9956.  
  9957. ΓòÉΓòÉΓòÉ 11.5.1.5.2. Debugger settings-> ΓòÉΓòÉΓòÉ
  9958.  
  9959. Use the Debugger settings cascading choice to set various debugger options that 
  9960. control how the debugger windows display. These settings affect the behavior of 
  9961. the debugger and remain in effect for the duration of the debugging session. 
  9962.  
  9963.  
  9964. ΓòÉΓòÉΓòÉ 11.5.1.5.3. Debugger properties... ΓòÉΓòÉΓòÉ
  9965.  
  9966. Displays the Debugger Properties window, which allows you to select how the 
  9967. threads and source files initially display. This window contains the following 
  9968. three tabs: 
  9969.  
  9970.      Source 
  9971.      Remote 
  9972.      Modules. 
  9973.  
  9974.  The Remote page displays by default if you open the window using the 
  9975.  Initialization window.  If not, the Source page displays. 
  9976.  
  9977.  When you select the Remote tab, the following page displays: 
  9978.  
  9979.  Use this window to do the following tasks: 
  9980.  
  9981.      Set the communication baud rate for the debugger. 
  9982.      Set the communication port. 
  9983.      Set the communication baud rate for KDB on initialization and after 
  9984.       exiting. 
  9985.      Set the path where the debugger finds source. 
  9986.      Set the path where the debugger finds the debug binary modules. 
  9987.      View the communication mode (ASYNC_SIGBRK is all that is currently 
  9988.       available). 
  9989.      Set modem communication information, if used. 
  9990.      Set a string to initialize KDB. 
  9991.      Set the option for recursive subdirectory searching of the source and 
  9992.       binary paths. 
  9993.  This window's values are dithered and cannot be changed after communication 
  9994.  has been established with the victim machine. 
  9995.  
  9996.  ICAT Baud Rate Group Heading 
  9997.  
  9998.  This group of radio buttons allows you to select communication baud rates from 
  9999.  9600 to 115200.  Ensure that your machine can handle rates greater than 19200 
  10000.  if you choose them.  You must have buffered UARTs on both machines in this 
  10001.  case. If you choose a rate of 115200, your host machine must have a COM.SYS 
  10002.  different than the default supplied with OS/2. 
  10003.  
  10004.  KDB Baud Rate Group Heading 
  10005.  
  10006.  This group of radio buttons allows you to select the initial (setup) 
  10007.  communication rate that the debugger uses to communicate with KDB.  If any 
  10008.  rate other than default is selected, that same rate will be used to reset the 
  10009.  victim machine's communication port when the debugger is exited. 
  10010.  
  10011.  Communications Port Spin Button 
  10012.  
  10013.  This spin button allows you to select the communication port number for the 
  10014.  debugger on the host machine. 
  10015.  
  10016.  Environment Variables Group Heading 
  10017.  
  10018.  These entry fields correspond respectively to the following environment 
  10019.  variables: 
  10020.  
  10021.      CAT_HOST_SOURCE_PATH 
  10022.      CAT_HOST_BIN_PATH 
  10023.      CAT_COMMUNICATION_TYPE 
  10024.      CAT_DIAL 
  10025.      CAT_MODEM_INIT 
  10026.      CAT_KDB_INIT 
  10027.  
  10028.  By adjusting these fields, you can alter your communication and serial paths 
  10029.  dynamically before communication is established with the victim machine. See 
  10030.  Setting Environment Variables for detailed information on environment 
  10031.  variables. 
  10032.  
  10033.  Path Recursion Check Box 
  10034.  
  10035.  This check box, when selected, forces the debugger to search all source and 
  10036.  binary path subdirectories recursively. 
  10037.  
  10038.  When you select the Source tab, the following page displays: 
  10039.  
  10040.  Use this window to determine: 
  10041.  
  10042.      when a source window first displays during a debugging session. 
  10043.      how to process a source window from which execution has just left.  The 
  10044.       window can remain displayed, be turned into an icon, or be discarded. 
  10045.  
  10046.  Old source disposition Group Heading 
  10047.  
  10048.  In the course of debugging, these selections allow you to control the behavior 
  10049.  of source windows from which execution has just left. The Old Source 
  10050.  Disposition radio buttons control the behavior of source windows within a 
  10051.  thread. 
  10052.  
  10053.  The dispositions that the views can take are: 
  10054.  
  10055.  Keep        Leaves open the source windows that contain the components and 
  10056.              threads that you select with Display at stop. 
  10057.  
  10058.  Minimize    Changes into icons the views that contain the components and 
  10059.              threads that you select with Display at stop. 
  10060.  
  10061.  Discard     Disposes of the views that contain the components and threads that 
  10062.              you select with Display at stop. 
  10063.  
  10064.  Settings Group Heading 
  10065.  
  10066.  You can choose to display more than one source window for a particular source 
  10067.  file.  Enable the Multiple views check box if you want to have multiple source 
  10068.  windows open at the same time. 
  10069.  
  10070.  Mouse button 2 behavior Group Heading 
  10071.  
  10072.  Select the radio button that represents the action that you want mouse button 
  10073.  2 to perform. 
  10074.  
  10075.  When you select the Modules tab, the following page displays: 
  10076.  
  10077.  Use this window to add a module name to or delete a module name from the 
  10078.  CAT_MODULE_LIST environment variable.  See Setting Environment Variables for 
  10079.  detailed information on this environment variable. 
  10080.  
  10081.  Modules List Box 
  10082.  
  10083.  This contains a list of modules which the debugger obtains information about 
  10084.  if or when they are loaded. If a module is loaded and it is not in the list, 
  10085.  the debugger ignores the module. 
  10086.  
  10087.  New Module Entry Field 
  10088.  
  10089.  Type the name of the module that you want to add or delete. Select the 
  10090.  appropriate push button to perform this task. 
  10091.  
  10092.  
  10093. ΓòÉΓòÉΓòÉ 11.5.1.5.4. Monitor properties... ΓòÉΓòÉΓòÉ
  10094.  
  10095. Displays the Monitor Properties window, which allows you to select the settings 
  10096. for monitoring variables or expressions. 
  10097.  
  10098. Use the Monitor Properties window to set the following: 
  10099.  
  10100.      The window into which the variable or expression being monitored is 
  10101.       placed. 
  10102.      For popup expression windows, how long the monitor windows display. 
  10103.  
  10104.  Monitor Location Group Heading 
  10105.  
  10106.  Choose one of the following radio buttons to select the monitor window that 
  10107.  opens when you select a variable or expression to monitor. The selections you 
  10108.  can make, and the corresponding windows, are: 
  10109.  
  10110.  Popup 
  10111.            Display the variable or expression in a popup expression window. 
  10112.  
  10113.  Private monitor 
  10114.            Display the variable or expression in the Private Monitor window. 
  10115.  
  10116.  Program monitor 
  10117.            Display the variable or expression in the Program Monitor window. 
  10118.  
  10119.  Storage monitor 
  10120.            Display the variable or expression in the Storage window. 
  10121.  
  10122.  Save File Entry Field 
  10123.  
  10124.  Use this field to identify the file where all monitor windows will write their 
  10125.  contents  when the Save to file choice is selected. 
  10126.  
  10127.  Number of elements to show entry field 
  10128.  
  10129.  Use this field to identify the maximum number of structure or class elements 
  10130.  that will be displayed at one time for a given variable in the monitors. 
  10131.  
  10132.  Enable bubble variables check box 
  10133.  
  10134.  Select this option if you want a bubble value for the contents of a variable 
  10135.  to appear as you place the mouse or the variable in the Source, Disassembly, 
  10136.  and Mixed view windows. 
  10137.  
  10138.  Popup Duration Group Heading 
  10139.  
  10140.  If you select Popup from the Monitor Location group heading, select one of the 
  10141.  following radio buttons to specify how long the popup expression window 
  10142.  displays: 
  10143.  
  10144.  Step/run        The monitor window closes when the next step command or Run is 
  10145.                  executed. 
  10146.  
  10147.  New source      The monitor window closes when execution stops in a new source 
  10148.                  file. 
  10149.  
  10150.  Permanent       This monitor window is associated with a specific source 
  10151.                  window and closes when the associated source window closes. 
  10152.  
  10153.  
  10154. ΓòÉΓòÉΓòÉ 11.5.1.5.5. Default data representation-> ΓòÉΓòÉΓòÉ
  10155.  
  10156. Use the Default data representation cascading choices to change the 
  10157. representation for a data type in a specific language. 
  10158.  
  10159. Select a language to change the default representation of the selected data 
  10160. type. For example, you can change the default representation for an integer in 
  10161. the C language from decimal to hexadecimal. Select the System choice to change 
  10162. the default representation of the math coprocessor registers. This choice is 
  10163. language independent. 
  10164.  
  10165.  
  10166. ΓòÉΓòÉΓòÉ 11.5.1.5.6. Program profiles-> ΓòÉΓòÉΓòÉ
  10167.  
  10168. Use the Program profiles cascading choices to enable program profiles, delete 
  10169. program profiles, or change the location where the program profiles are stored, 
  10170.  
  10171. Program profiles are used to restore the debugger windows and breakpoints when 
  10172. debugging a program more than once. They are stored separately for each program 
  10173. debugged. The file extension for the files that contain this information is 
  10174. @DR. 
  10175.  
  10176.  Select information 
  10177.            Select what information you want saved in the program profiles. 
  10178.  
  10179.  Delete program profiles 
  10180.            Delete program profiles for a program that you have debugged. 
  10181.  
  10182.  Change location 
  10183.            Change the location of the file that holds the program profiles. 
  10184.            This also moves any existing profiles to the new directory. 
  10185.  
  10186.  
  10187. ΓòÉΓòÉΓòÉ 11.5.1.5.7. Save debugger window positions ΓòÉΓòÉΓòÉ
  10188.  
  10189. When you select this choice, the window positions and sizes are saved for each 
  10190. type of debugger window currently open. 
  10191.  
  10192.  
  10193. ΓòÉΓòÉΓòÉ 11.5.1.5.8. Global font change ΓòÉΓòÉΓòÉ
  10194.  
  10195. Select the Global font change choice to change the font in all the debugger 
  10196. windows. 
  10197.  
  10198. When you select Global font change, the Font Selection window displays. 
  10199.  
  10200.  
  10201. ΓòÉΓòÉΓòÉ 11.5.1.5.9. Enable window cascading ΓòÉΓòÉΓòÉ
  10202.  
  10203. Select the Enable window cascading choice to have the debugging windows overlap 
  10204. each other. 
  10205.  
  10206. When you enable this choice, successive windows that are opened overlap each 
  10207. other on the screen.  However, they are cascaded so that you can see the 
  10208. underlying windows.  When this choice is disabled, successive windows cover 
  10209. previously displayed windows so that you do not see the underlying windows. 
  10210.  
  10211.  
  10212. ΓòÉΓòÉΓòÉ 11.5.1.5.10. Display tool buttons ΓòÉΓòÉΓòÉ
  10213.  
  10214. Select the Display tool buttons choice if you want tool buttons to be shown in 
  10215. all the debugger windows. 
  10216.  
  10217.  
  10218. ΓòÉΓòÉΓòÉ 11.5.1.5.11. Display hover help ΓòÉΓòÉΓòÉ
  10219.  
  10220. Select the Display hover help choice if you want hover help to be shown in all 
  10221. the debugger windows. 
  10222.  
  10223.  
  10224. ΓòÉΓòÉΓòÉ 11.5.1.5.12. Display infoarea ΓòÉΓòÉΓòÉ
  10225.  
  10226. Select the Display infoarea choice if you want the information area to be shown 
  10227. in all the debugger windows. 
  10228.  
  10229.  
  10230. ΓòÉΓòÉΓòÉ 11.5.1.5.13. Display tool buttons on title bar ΓòÉΓòÉΓòÉ
  10231.  
  10232. Select the Display tool buttons on title bar choice if you want the tool 
  10233. buttons to be shown on the title bar of each window. 
  10234.  
  10235.  
  10236. ΓòÉΓòÉΓòÉ 11.5.1.6. Windows Menu Choices ΓòÉΓòÉΓòÉ
  10237.  
  10238. Select the Windows menu from the Debug Session Control window to view a list of 
  10239. all the open debugger windows. By selecting a window from the Windows menu, it 
  10240. is brought into focus and made the active window. Also, if the window is 
  10241. minimized, it is restored. 
  10242.  
  10243.  
  10244. ΓòÉΓòÉΓòÉ 11.5.1.7. Help Menu Choices ΓòÉΓòÉΓòÉ
  10245.  
  10246. Select choices from the Help menu of the Debug Session Control window to 
  10247. display the various types of help information. 
  10248.  
  10249.  Help index             Displays an alphabetical index of all available 
  10250.                         debugger help topics. 
  10251.  
  10252.  General help           Displays help information for the active window. 
  10253.  
  10254.  Using help             Describes how to use the help facility. 
  10255.  
  10256.  Product information    Displays product information. 
  10257.  
  10258.  
  10259. ΓòÉΓòÉΓòÉ 11.5.2. Using the Source Windows ΓòÉΓòÉΓòÉ
  10260.  
  10261. A source window allows you to view the program you are debugging.  You can look 
  10262. at your source in one of the following windows: 
  10263.  
  10264.      Source 
  10265.      Disassembly 
  10266.      Mixed 
  10267.  
  10268.  A source window is thread specific.  Executable lines initially display in 
  10269.  blue, and non-executable lines initially display in black. Lines with 
  10270.  breakpoints have a red prefix, and lines with disabled breakpoints have a 
  10271.  green prefix. 
  10272.  
  10273.  The Source window displays the source code for the current function of the 
  10274.  program being debugged. If source is available, the Source window displays 
  10275.  with the Debug Session Control window when the debugging session starts. 
  10276.  Otherwise, the Disassembly window displays. 
  10277.  
  10278.  The Disassembly window displays the assembler instructions for your program 
  10279.  without symbolic information. 
  10280.  
  10281.  The Mixed window displays your program as follows: 
  10282.  
  10283.      Each line of source code is prefixed by its line number as in the Source 
  10284.       window. 
  10285.      Each disassembled line is prefixed by an address as in the Disassembly 
  10286.       window. 
  10287.      Source comment lines also display. 
  10288.      The lines of source code are treated as comments within the lines of 
  10289.       disassembly code. You can only set breakpoints or run your program on 
  10290.       lines of disassembly code. 
  10291.  
  10292.  Note:  The Mixed window cannot be opened if the source code is not available. 
  10293.  
  10294.      Refer to File Menu Choices for a description of the File menu items in 
  10295.       the Source window. 
  10296.      Refer to View Menu Choices for a description of the View menu items in 
  10297.       the Source window. 
  10298.  
  10299.  
  10300. ΓòÉΓòÉΓòÉ 11.5.2.1. File Menu Choices ΓòÉΓòÉΓòÉ
  10301.  
  10302. The choices in the File menu are a subset of those listed under the File menu 
  10303. of the Debug Session Control window. Refer to File Menu Choices for a 
  10304. description of the choices. 
  10305.  
  10306.  
  10307. ΓòÉΓòÉΓòÉ 11.5.2.2. View Menu Choices ΓòÉΓòÉΓòÉ
  10308.  
  10309. Select choices from the View menu to locate strings of text, scroll to a 
  10310. particular line, view include files, change the text file, or select a 
  10311. different view of your program. 
  10312.  
  10313. For a description of the View menu, refer to the following: 
  10314.  
  10315.      Find Window 
  10316.      Find next 
  10317.      Scroll to line number... 
  10318.      Select include file 
  10319.      Change text file 
  10320.      Source 
  10321.      Disassembly 
  10322.      Mixed. 
  10323.  
  10324.  
  10325. ΓòÉΓòÉΓòÉ 11.5.2.2.1. Find Window ΓòÉΓòÉΓòÉ
  10326.  
  10327. Displays the Find window which allows you to search for a text string. 
  10328.  
  10329. To use the Find window to search for a text string: 
  10330.  
  10331.    1. Type the text string you want to search for in the Text entry field. 
  10332.    2. Enable the Case sensitive check box if you want to search for the string 
  10333.       exactly as typed. Disable this check box to search for uppercase and 
  10334.       lowercase characters. 
  10335.    3. Select the OK push button. 
  10336.  
  10337.  The search string can have alphabetic and numeric characters, a maximum of 256 
  10338.  characters, and uppercase and lowercase characters. 
  10339.  
  10340.  
  10341. ΓòÉΓòÉΓòÉ 11.5.2.2.2. Find next ΓòÉΓòÉΓòÉ
  10342.  
  10343. Allows you to search for the next occurrence of the text string that you typed 
  10344. in the Find window. 
  10345.  
  10346.  
  10347. ΓòÉΓòÉΓòÉ 11.5.2.2.3. Scroll to line number... ΓòÉΓòÉΓòÉ
  10348.  
  10349. Displays the Scroll to Line Number window, which allows you to go to a 
  10350. particular line in your program or set a line breakpoint. 
  10351.  
  10352. To use the Scroll to Line Number window to scroll to a specific line: 
  10353.  
  10354.    1. Type the line number you want to scroll to in the Line entry field. 
  10355.    2. Select the OK push button to scroll to that line. 
  10356.  
  10357.  Note:  If the Source window is active, just type a number and the Scroll to 
  10358.  Line Number window automatically displays. 
  10359.  
  10360.  To use the Scroll to Line Number window to set a breakpoint: 
  10361.  
  10362.    1. Type the line number you want to set the breakpoint on in the Line entry 
  10363.       field. 
  10364.    2. Select the Breakpoint push button to set the breakpoint on the specified 
  10365.       line number. 
  10366.  
  10367.  
  10368. ΓòÉΓòÉΓòÉ 11.5.2.2.4. Select include file ΓòÉΓòÉΓòÉ
  10369.  
  10370. Displays the Select Include window that allows you to view the files that are 
  10371. included in your program. 
  10372.  
  10373. To use the Select Include window: 
  10374.  
  10375.    1. Select the include file.  The include file name is highlighted. 
  10376.    2. Select the OK push button.  The selected include file view displays. 
  10377.  
  10378.  
  10379. ΓòÉΓòÉΓòÉ 11.5.2.2.5. Change text file ΓòÉΓòÉΓòÉ
  10380.  
  10381. Displays the Change Text File window, which allows you to specify a file name 
  10382. to be used as the source in the current view. This is useful if the debugger 
  10383. found the incorrect source file for your program so that you can specify the 
  10384. use of a different source file from a different directory. 
  10385.  
  10386. Use the Change Text File window to replace the path name or file name of the 
  10387. program you are debugging with a new path name or file name. 
  10388.  
  10389. To replace the file name: 
  10390.  
  10391.    1. Type the new path name and file name in the File entry field. 
  10392.    2. Select the appropriate push button. 
  10393.  
  10394.  
  10395. ΓòÉΓòÉΓòÉ 11.5.2.2.6. Source ΓòÉΓòÉΓòÉ
  10396.  
  10397. Displays the Source window, which displays the source code for the current 
  10398. function of the program being debugged. 
  10399.  
  10400. Refer to Using the Source Windows for more information. 
  10401.  
  10402.  
  10403. ΓòÉΓòÉΓòÉ 11.5.2.2.7. Disassembly ΓòÉΓòÉΓòÉ
  10404.  
  10405. Displays the Disassembly window, which displays the assembler instructions for 
  10406. your program without symbolic information. 
  10407.  
  10408. Refer to Using the Source Windows for more information. 
  10409.  
  10410.  
  10411. ΓòÉΓòÉΓòÉ 11.5.2.2.8. Mixed ΓòÉΓòÉΓòÉ
  10412.  
  10413. Displays the Mixed window, which is a combination of the Source and Disassembly 
  10414. windows. 
  10415.  
  10416. Refer to Using the Source Windows for more information. 
  10417.  
  10418.  
  10419. ΓòÉΓòÉΓòÉ 11.5.2.3. Breakpoints Menu Choices ΓòÉΓòÉΓòÉ
  10420.  
  10421. The choices listed under the Breakpoints menu are the same as those listed for 
  10422. the Debug Session Control window with the addition of the Toggle at current 
  10423. line choice. 
  10424.  
  10425. The Toggle at current line choice sets a breakpoint on the current line or 
  10426. deletes an existing breakpoint from the current line. 
  10427.  
  10428. For a description of the other menu choices, refer to Breakpoints Menu Choices. 
  10429.  
  10430.  
  10431. ΓòÉΓòÉΓòÉ 11.5.2.4. Monitors Menu Choices ΓòÉΓòÉΓòÉ
  10432.  
  10433. Select choices from the Monitors menu of the source windows to monitor 
  10434. expressions or variables and view the other debugger windows such as call 
  10435. stack, registers, and so on. 
  10436.  
  10437. The next four choices listed under the Monitors menu are also accessible from 
  10438. the tool bar in the Debug Session Control Window. 
  10439.  
  10440.  
  10441. ΓòÉΓòÉΓòÉ 11.5.2.4.1. Monitor expression... ΓòÉΓòÉΓòÉ
  10442.  
  10443. Displays the Monitor Expression window, which allows you to monitor expressions 
  10444. or variables and add them to various monitor windows. 
  10445.  
  10446. Use the Monitor Expression window to type the name of the expression you want 
  10447. to monitor. This window lists the following contextual information: 
  10448.  
  10449.      The component you are in. 
  10450.      The active line of the source code, which is highlighted. 
  10451.      The view of the module that is active. 
  10452.      The thread you are in. 
  10453.  
  10454.  To specify an expression to be monitored: 
  10455.  
  10456.    1. Type the name of the variable or expression you want to monitor in the 
  10457.       Expression entry field. 
  10458.    2. Select the appropriate radio button for the location from where you want 
  10459.       to monitor your expression. 
  10460.  
  10461.       Note:  The expression displays as specified in the Monitor Properties 
  10462.       window. To change the default location, select Monitor properties from 
  10463.       the Debugger settings choice from the Options menu in the source windows 
  10464.       or the Debug Session Control window. 
  10465.  
  10466.  
  10467. ΓòÉΓòÉΓòÉ 11.5.2.4.2. Call stack ΓòÉΓòÉΓòÉ
  10468.  
  10469. Displays the Call Stack window, which allows you to monitor the call stack for 
  10470. a particular thread. This window is described in Using the Call Stack Window. 
  10471.  
  10472.  
  10473. ΓòÉΓòÉΓòÉ 11.5.2.4.3. Registers ΓòÉΓòÉΓòÉ
  10474.  
  10475. Displays the Registers window, which allows you to monitor registers and flags 
  10476. for a particular component or thread. This window is described in Using the 
  10477. Registers Window. 
  10478.  
  10479.  
  10480. ΓòÉΓòÉΓòÉ 11.5.2.4.4. Storage ΓòÉΓòÉΓòÉ
  10481.  
  10482. Displays the Storage window, which allows you to monitor the storage in your 
  10483. program. This window is described in Using the Storage Window. 
  10484.  
  10485.  
  10486. ΓòÉΓòÉΓòÉ 11.5.2.4.5. Local variables ΓòÉΓòÉΓòÉ
  10487.  
  10488. Displays the Local Variables window, which allows you to display the local 
  10489. variables for the program's current function. This window is described in Using 
  10490. the Local Variables Window. 
  10491.  
  10492.  
  10493. ΓòÉΓòÉΓòÉ 11.5.2.4.6. Passthru ΓòÉΓòÉΓòÉ
  10494.  
  10495. Displays the Passthru window, which allows you to send commands to KDB and 
  10496. displays the formatted KDB response. This window is described in Using the 
  10497. Passthru Window. 
  10498.  
  10499.  
  10500. ΓòÉΓòÉΓòÉ 11.5.2.5. Run Menu Choices ΓòÉΓòÉΓòÉ
  10501.  
  10502. Select choices from the Run menu to perform step commands, run your program or 
  10503. hide debugger windows. 
  10504.  
  10505. For a description of the Run menu, refer to the following: 
  10506.  
  10507.      Step over 
  10508.      Step into 
  10509.      Step debug 
  10510.      Step return 
  10511.      Run 
  10512.      Halt 
  10513.      Run to location 
  10514.      Jump to location 
  10515.      Hide Debugger on Run. 
  10516.  
  10517.  
  10518. ΓòÉΓòÉΓòÉ 11.5.2.5.1. Step over ΓòÉΓòÉΓòÉ
  10519.  
  10520. Executes the current, highlighted line in the program.  If the line includes a 
  10521. function call, the debugger does not regain control until the function has 
  10522. returned. 
  10523.  
  10524.  
  10525. ΓòÉΓòÉΓòÉ 11.5.2.5.2. Step into ΓòÉΓòÉΓòÉ
  10526.  
  10527. Executes the current, highlighted line in the program. If the line includes a 
  10528. function call, the debugger regains control before the first statement in the 
  10529. function has been performed. 
  10530.  
  10531.  
  10532. ΓòÉΓòÉΓòÉ 11.5.2.5.3. Step debug ΓòÉΓòÉΓòÉ
  10533.  
  10534. Executes the current, highlighted line in the program. The debugger steps over 
  10535. any function for which debugging information is not available (for example, 
  10536. library and system routines) and steps into any function for which debugging 
  10537. information is available. 
  10538.  
  10539.  
  10540. ΓòÉΓòÉΓòÉ 11.5.2.5.4. Step return ΓòÉΓòÉΓòÉ
  10541.  
  10542. Automatically executes the lines of code up to, and including, the return 
  10543. statement of the current function. 
  10544.  
  10545.  
  10546. ΓòÉΓòÉΓòÉ 11.5.2.5.5. Run ΓòÉΓòÉΓòÉ
  10547.  
  10548. Runs the program. Control returns to the debugger when the program ends or 
  10549. execution stops at an enabled breakpoint. 
  10550.  
  10551.  
  10552. ΓòÉΓòÉΓòÉ 11.5.2.5.6. Halt ΓòÉΓòÉΓòÉ
  10553.  
  10554. Interrupts the program you are debugging. 
  10555.  
  10556.  
  10557. ΓòÉΓòÉΓòÉ 11.5.2.5.7. Run to location ΓòÉΓòÉΓòÉ
  10558.  
  10559. Executes your program from the current line up to the line that is highlighted 
  10560. or black in the prefix area. 
  10561.  
  10562. To use the Run to location choice: 
  10563.  
  10564.    1. Single-click in the prefix area of the line you want to become the 
  10565.       current line. The prefix area turns black. 
  10566.    2. Select the Run to location choice. The program runs up to the line that 
  10567.       you marked. 
  10568.  
  10569.  The Run to location choice stops only on executable lines. If a highlighted 
  10570.  line is not executable, the run is not performed. 
  10571.  
  10572.  
  10573. ΓòÉΓòÉΓòÉ 11.5.2.5.8. Jump to location ΓòÉΓòÉΓòÉ
  10574.  
  10575. Select the Jump to location choice to change the current line in your program 
  10576. without executing the lines between the present current line and the new 
  10577. current line. 
  10578.  
  10579. To use the Jump to location choice: 
  10580.  
  10581.    1. Single-click in the prefix area of the line you want to become the 
  10582.       current line. The prefix area turns gray. 
  10583.    2. Select the Jump to location choice. The current line is changed, and the 
  10584.       lines between are not executed. 
  10585.  
  10586.  The Jump to location choice stops only on executable lines. If a highlighted 
  10587.  line is not executable, the jump is not performed. 
  10588.  
  10589.  Warning: Jumping out of the current function may corrupt the call stack and 
  10590.  cause unpredictable results. 
  10591.  
  10592.  
  10593. ΓòÉΓòÉΓòÉ 11.5.2.5.9. Hide Debugger on Run ΓòÉΓòÉΓòÉ
  10594.  
  10595. For a description of this choice, refer to Hide Debugger on Run. 
  10596.  
  10597.  
  10598. ΓòÉΓòÉΓòÉ 11.5.2.6. Options Menu Choices ΓòÉΓòÉΓòÉ
  10599.  
  10600. Select choices from the Options menu to control how the debugger windows 
  10601. display. 
  10602.  
  10603. For a description of the Options menu, refer to the following: 
  10604.  
  10605.      Window settings-> 
  10606.      Debugger settings->. 
  10607.  
  10608.  
  10609. ΓòÉΓòÉΓòÉ 11.5.2.6.1. Window settings-> ΓòÉΓòÉΓòÉ
  10610.  
  10611. Use the Window settings cascading choices to modify the characteristics of the 
  10612. source windows. 
  10613.  
  10614.  Colors...              Displays the Source Window Controls window, which 
  10615.                         allows you to change the color in the windows. 
  10616.  
  10617.  Fonts...               Displays the Font window, which allows you to change 
  10618.                         the font in the windows. 
  10619.  
  10620.  Restore defaults       Resets all of the window settings to their original 
  10621.                         settings. 
  10622.  
  10623.  Notebook               Displays the source windows in a notebook format. 
  10624.  
  10625.  Tool buttons           Enables or disables tool buttons. 
  10626.  
  10627.  Hover help             Enables or disables hover help. 
  10628.  
  10629.  Infoarea               Enables or disables the information area. 
  10630.  
  10631.  
  10632. ΓòÉΓòÉΓòÉ 11.5.2.6.2. Debugger settings-> ΓòÉΓòÉΓòÉ
  10633.  
  10634. Use the Debugger settings cascaded choices to set various debugger options that 
  10635. control how the debugger windows display. These settings affect the behavior of 
  10636. the debugger and remain in effect for the duration of the debugging session. 
  10637.  
  10638. Refer to Debugger settings-> for a description of the choices. 
  10639.  
  10640.  
  10641. ΓòÉΓòÉΓòÉ 11.5.2.7. Windows Menu Choices ΓòÉΓòÉΓòÉ
  10642.  
  10643. Select the Windows menu of the source windows to view a list of all the open 
  10644. debugger windows. By selecting a window from the Windows menu, it is brought 
  10645. into focus and made the active window. Also, if the window is minimized, it is 
  10646. restored. 
  10647.  
  10648.  
  10649. ΓòÉΓòÉΓòÉ 11.5.2.8. Help Menu Choices ΓòÉΓòÉΓòÉ
  10650.  
  10651. Select choices from the Help menu of the source windows to display the various 
  10652. types of help information. 
  10653.  
  10654. Refer to Help Menu Choices for a description of the help choices. 
  10655.  
  10656.  
  10657. ΓòÉΓòÉΓòÉ 11.6. Introducing the Other Debugging Windows ΓòÉΓòÉΓòÉ
  10658.  
  10659. This section introduces the basic debugging windows.  These are the windows 
  10660. that are normally located in the Monitors menu of the Debug Session Control and 
  10661. the source windows. The windows include call stack, registers, storage, local 
  10662. variables, and passthru. 
  10663.  
  10664.      Using the Call Stack Window 
  10665.      Using the Registers Window 
  10666.      Using the Storage Window 
  10667.      Using the Monitor Windows 
  10668.      Using the Breakpoints List Window 
  10669.  
  10670.  
  10671. ΓòÉΓòÉΓòÉ 11.6.1. Using the Call Stack Window ΓòÉΓòÉΓòÉ
  10672.  
  10673. The Call Stack window lists all of the active functions for a particular thread 
  10674. including system calls. 
  10675.  
  10676. Each Call Stack window displays call stack information for one thread only. 
  10677. When the state of the program changes, such as when you execute the program or 
  10678. you update displayed data, the Call Stack window changes to reflect the current 
  10679. state. You can double-click on any call stack entry to display the source code 
  10680. for that entry. The line that calls the next stack entry is highlighted. The 
  10681. remaining stack size shows the bytes left in the stack for the thread. 
  10682.  
  10683. Note:  The stack may not display correctly if the code does not follow standard 
  10684. calling conventions or if you step into optimized code. 
  10685.  
  10686. To display the Call Stack window, select Call Stack from the Monitors menu or 
  10687. select the Call Stack button from the tool bar. 
  10688.  
  10689.      For a description of the choices that are available from the File menu, 
  10690.       refer to File Menu Choice. 
  10691.      For a description of the choices that are available from the Options 
  10692.       menu, refer to Options Menu Choices. 
  10693.      For a description of the choices that are available from the Windows 
  10694.       menu, refer to Windows Menu Choices. 
  10695.      For a description of the choices that are available from the Help menu, 
  10696.       refer to Help Menu Choices. 
  10697.  
  10698.  
  10699. ΓòÉΓòÉΓòÉ 11.6.1.1. File Menu Choice ΓòÉΓòÉΓòÉ
  10700.  
  10701. Use the choice from the File menu to end the debugging session. 
  10702.  
  10703. The Close debugger choice allows you to end the current debugging session. 
  10704. When you select Close debugger, the Close Debugger message box prompts you to 
  10705. confirm that you want to end the debugging session. 
  10706.  
  10707.  
  10708. ΓòÉΓòÉΓòÉ 11.6.1.2. Options Menu Choices ΓòÉΓòÉΓòÉ
  10709.  
  10710. Use choices from the Options menu to select the font you want for the Call 
  10711. Stack window and control how the items on the call stack display. 
  10712.  
  10713.  
  10714. ΓòÉΓòÉΓòÉ 11.6.1.2.1. Fonts... ΓòÉΓòÉΓòÉ
  10715.  
  10716. Displays the Font window, which allows you to select the type of font you want 
  10717. to use for the Call Stack window. 
  10718.  
  10719.  
  10720. ΓòÉΓòÉΓòÉ 11.6.1.2.2. Display style... ΓòÉΓòÉΓòÉ
  10721.  
  10722. Displays the Display Style window, which allows you to select the type of 
  10723. information you want displayed in the call stack and choose how the items are 
  10724. to be displayed. 
  10725.  
  10726. To use the Display Style window: 
  10727.  
  10728.      Select one or more of the items under Select Items to display for each 
  10729.       call stack entry. Each item causes a new column to be added to the Call 
  10730.       Stack window. 
  10731.  
  10732.       The following items are available: 
  10733.       Entry No                      Represents the position of the call stack 
  10734.                                     item in the list. Entry level 1 is the 
  10735.                                     first function started. 
  10736.  
  10737.       Function                      Lists program name or the address of the 
  10738.                                     function call that created the new call 
  10739.                                     stack entry. 
  10740.  
  10741.       Source                        Lists the component name that contains the 
  10742.                                     function. The name displayed corresponds 
  10743.                                     with a name listed in the Components list 
  10744.                                     box in the Debug Session Control window. 
  10745.  
  10746.       Ring                          Tells the ring level (0, 2, or 3) at which 
  10747.                                     this frame is established. 
  10748.  
  10749.       Return Address                Indicates where execution will return in 
  10750.                                     that function. 
  10751.  
  10752.       Recursion                     Lists the recursion level.  0 is the first 
  10753.                                     invocation. 
  10754.  
  10755.       Frame Address                 Indicates the start of the call stack frame 
  10756.                                     for that function. 
  10757.  
  10758.       Variable Base                 Indicates the end of the call stack frame 
  10759.                                     for that function. 
  10760.  
  10761.       Size                          Indicates the size of the call stack frame 
  10762.                                     for that function. 
  10763.      Select one of the following Growth Direction radio buttons to determine 
  10764.       how new items are displayed on the call stack. 
  10765.       Up             Displays new items at the top of the Call Stack window. 
  10766.  
  10767.       Down           Displays new items at the bottom of the Call Stack window. 
  10768.  
  10769.       Enable the Unwind rings check box to have the debugger unwind the call 
  10770.       stack across ring (privilege) transitions.  This allows you to view the 
  10771.       call sequence from user applications into the kernel. 
  10772.  
  10773.  
  10774. ΓòÉΓòÉΓòÉ 11.6.1.2.3. Restore defaults ΓòÉΓòÉΓòÉ
  10775.  
  10776. Select the Restore defaults choice to reset all of the window settings to their 
  10777. original settings. 
  10778.  
  10779.  
  10780. ΓòÉΓòÉΓòÉ 11.6.1.2.4. Tool buttons ΓòÉΓòÉΓòÉ
  10781.  
  10782. Select the Tool buttons choice to enable or disable tool buttons. 
  10783.  
  10784. If enabled, the tool buttons are displayed in the window.  If disabled, the 
  10785. tool buttons are not displayed. 
  10786.  
  10787.  
  10788. ΓòÉΓòÉΓòÉ 11.6.1.2.5. Hover help ΓòÉΓòÉΓòÉ
  10789.  
  10790. Select the Hover help choice if you want hover help to be shown. 
  10791.  
  10792.  
  10793. ΓòÉΓòÉΓòÉ 11.6.1.2.6. Infoarea ΓòÉΓòÉΓòÉ
  10794.  
  10795. Select the Infoarea choice if you want the information area to be shown in the 
  10796. window. 
  10797.  
  10798.  
  10799. ΓòÉΓòÉΓòÉ 11.6.1.3. Windows Menu Choices ΓòÉΓòÉΓòÉ
  10800.  
  10801. Select the Windows menu of the Call Stack window to view a list of all the open 
  10802. debugger windows. By selecting a window from the Windows menu, it is brought 
  10803. into focus and made the active window. Also, if the window is minimized, it is 
  10804. restored. 
  10805.  
  10806.  
  10807. ΓòÉΓòÉΓòÉ 11.6.1.4. Help Menu Choices ΓòÉΓòÉΓòÉ
  10808.  
  10809. Select choices from the Help menu of the Call Stack window to display the 
  10810. various types of help information. 
  10811.  
  10812. Refer to Help Menu Choices for a description of the help choices. 
  10813.  
  10814.  
  10815. ΓòÉΓòÉΓòÉ 11.6.2. Using the Registers Window ΓòÉΓòÉΓòÉ
  10816.  
  10817. The Registers window lists all the processor registers for a particular thread. 
  10818. The contents of all of the registers except floating-point registers are 
  10819. displayed in hexadecimal.  To update a register, double-click on the register 
  10820. and a multiple-line entry field displays. Type over the contents and press 
  10821. Enter. 
  10822.  
  10823. In the Registers window, floating-point registers display as floating-point 
  10824. decimal numbers.  They can be updated with a floating-point decimal number or 
  10825. with a hexadecimal string that represents a floating-point number. 
  10826.  
  10827. To display the processor registers and flags, select Registers from the 
  10828. Monitors menu or select the Registers button from the tool bar. 
  10829.  
  10830.      For a description of the choices that are available from the File menu, 
  10831.       refer to File Menu Choices. 
  10832.      For a description of the choices that are available from the Options 
  10833.       menu, refer to Options Menu Choice. 
  10834.      For a description of the choices that are available from the Windows 
  10835.       menu, refer to Windows Menu Choices. 
  10836.      For a description of the choices that are available from the Help menu, 
  10837.       refer to Help Menu Choices. 
  10838.  
  10839.  
  10840. ΓòÉΓòÉΓòÉ 11.6.2.1. File Menu Choices ΓòÉΓòÉΓòÉ
  10841.  
  10842. Use the choice from the File menu to end the debugging session. 
  10843.  
  10844. The Close debugger choice allows you to end the current debugging session. 
  10845. When you select Close debugger, the Close Debugger message box prompts you to 
  10846. confirm that you want to end the debugging session. 
  10847.  
  10848.  
  10849. ΓòÉΓòÉΓòÉ 11.6.2.2. Options Menu Choice ΓòÉΓòÉΓòÉ
  10850.  
  10851. Use the choices from the Options menu to select the font you want for the 
  10852. Registers window, select the items you want shown in the window, restore the 
  10853. defaults, and enable or disable the tool buttons. 
  10854.  
  10855.  
  10856. ΓòÉΓòÉΓòÉ 11.6.2.2.1. Fonts... ΓòÉΓòÉΓòÉ
  10857.  
  10858. When you select Fonts..., the Font window displays. From this window, select 
  10859. the font you want shown in the Registers window. 
  10860.  
  10861.  
  10862. ΓòÉΓòÉΓòÉ 11.6.2.2.2. Display style... ΓòÉΓòÉΓòÉ
  10863.  
  10864. When you select the Display style... choice, the Display Style window is 
  10865. displayed, which allows you to select the type of information you want 
  10866. displayed in the Registers window. 
  10867.  
  10868. Groups Group Heading 
  10869.  
  10870. This specifies the five types of registers that the debugger displays. General 
  10871. registers are as follows: 
  10872.  
  10873.      EIP 
  10874.      EAX 
  10875.      EBX 
  10876.      ECX 
  10877.      EDX 
  10878.      EBP 
  10879.      ESP 
  10880.      ESI 
  10881.      EDI 
  10882.  
  10883.  Status Flags registers include the PC and the EFLAGS registers. Segment 
  10884.  registers are as follows: 
  10885.  
  10886.      CS 
  10887.      DS 
  10888.      ES 
  10889.      FS 
  10890.      GS 
  10891.      SS 
  10892.  
  10893.  The PC register is the linear address of the current instruction. The FP stack 
  10894.  registers are those defined by the math coprocessor.  The Debug registers 
  10895.  include miscellaneous processor registers such as CR0 and DR0. 
  10896.  
  10897.  Orientation Heading 
  10898.  
  10899.  The registers groups are separated with either vertical or horizontal split 
  10900.  bars.  Select the radio button which represents how you want the groups 
  10901.  separated. 
  10902.  
  10903.  Enable the Column titles check box if you want the registers group to have a 
  10904.  title.  For example, General. 
  10905.  
  10906.  Enable the Save split bars check box if you want to save the adjustment of the 
  10907.  split bars for the next time you open the Registers window. 
  10908.  
  10909.  
  10910. ΓòÉΓòÉΓòÉ 11.6.2.2.3. Restore defaults ΓòÉΓòÉΓòÉ
  10911.  
  10912. Select the Restore defaults choice to reset all of the window settings to their 
  10913. original settings. 
  10914.  
  10915.  
  10916. ΓòÉΓòÉΓòÉ 11.6.2.2.4. Tool buttons ΓòÉΓòÉΓòÉ
  10917.  
  10918. Select the Tool buttons choice to enable or disable tool buttons. 
  10919.  
  10920. If enabled, the tool buttons are displayed in the window.  If disabled, the 
  10921. tool buttons are not displayed. 
  10922.  
  10923.  
  10924. ΓòÉΓòÉΓòÉ 11.6.2.2.5. Hover help ΓòÉΓòÉΓòÉ
  10925.  
  10926. Select the Hover help choice to enable or disable hover help. 
  10927.  
  10928. If enabled, hover help is displayed in the window.  If disabled, hover help is 
  10929. not displayed. 
  10930.  
  10931.  
  10932. ΓòÉΓòÉΓòÉ 11.6.2.2.6. Infoarea ΓòÉΓòÉΓòÉ
  10933.  
  10934. Select the Infoarea choice to enable or disable the information area. 
  10935.  
  10936. If enabled, the infoarea is displayed in the window.  If disabled, the infoarea 
  10937. is not displayed. 
  10938.  
  10939.  
  10940. ΓòÉΓòÉΓòÉ 11.6.2.3. Windows Menu Choices ΓòÉΓòÉΓòÉ
  10941.  
  10942. Select the Windows menu from the Registers window to view a list of all the 
  10943. open debugger windows. By selecting a window from the Windows menu, it is 
  10944. brought into focus and made the active window. Also, if the window is 
  10945. minimized, it is restored. 
  10946.  
  10947.  
  10948. ΓòÉΓòÉΓòÉ 11.6.2.4. Help Menu Choices ΓòÉΓòÉΓòÉ
  10949.  
  10950. Select choices from the Help menu of the  Registers window to display the 
  10951. various types of help information. 
  10952.  
  10953. Refer to Help Menu Choices for a description of the help choices. 
  10954.  
  10955.  
  10956. ΓòÉΓòÉΓòÉ 11.6.3. Using the Storage Window ΓòÉΓòÉΓòÉ
  10957.  
  10958. The Storage window shows the storage contents and the address of the storage. 
  10959.  
  10960. Multiple storage windows can display the same storage. When you run a program 
  10961. or update displayed data, the Storage window is updated to reflect the change. 
  10962.  
  10963. To update the storage contents and all affected windows, double-click in the 
  10964. multiple-line entry field that displays. Type over the contents of the field. 
  10965.  
  10966. To specify a new address location, type over the address field in the Storage 
  10967. window. The window scrolls to the appropriate storage location. 
  10968.  
  10969. To display the Storage window, select Storage from the Monitors menu or select 
  10970. the Storage button from the tool buttons. 
  10971.  
  10972.      For a description of the choices that are available from the File menu, 
  10973.       refer to File Menu Choice. 
  10974.      For a description of the choices that are available from the Options 
  10975.       menu, refer to Options Menu Choices. 
  10976.      For a description of the choices that are available from the Windows 
  10977.       menu, refer to Windows Menu Choices. 
  10978.      For a description of the choices that are available from the Help menu, 
  10979.       refer to Help Menu Choices. 
  10980.  
  10981.  
  10982. ΓòÉΓòÉΓòÉ 11.6.3.1. File Menu Choice ΓòÉΓòÉΓòÉ
  10983.  
  10984. Use the choice from the File menu to end the debugging session. 
  10985.  
  10986. The Close debugger choice allows you to end the current debugging session. 
  10987. When you select Close debugger, the Close Debugger message box prompts you to 
  10988. confirm that you want to end the debugging session. 
  10989.  
  10990.  
  10991. ΓòÉΓòÉΓòÉ 11.6.3.2. Options Menu Choices ΓòÉΓòÉΓòÉ
  10992.  
  10993. Use choices from the Options menu to monitor expressions, control how the items 
  10994. in the storage window display, and select the font you want for the Storage 
  10995. window. 
  10996.  
  10997.  
  10998. ΓòÉΓòÉΓòÉ 11.6.3.2.1. Fonts... ΓòÉΓòÉΓòÉ
  10999.  
  11000. Displays the Font window, which allows you to select the type of font you want 
  11001. to use for the Storage window. 
  11002.  
  11003.  
  11004. ΓòÉΓòÉΓòÉ 11.6.3.2.2. Display style... ΓòÉΓòÉΓòÉ
  11005.  
  11006. Displays the Display Style window, which allows you to select the format for 
  11007. the storage contents and storage addresses and change the columns per line that 
  11008. display. 
  11009.  
  11010. Use the Storage Display Style window to select the parameters that control how 
  11011. the storage contents display and set how the storage addresses display. 
  11012.  
  11013. Content Style Group Heading 
  11014.  
  11015. Select how you want the storage contents displayed. You can select from several 
  11016. storage display styles. 
  11017.  
  11018. To select the storage content style: 
  11019.  
  11020.    1. Scroll to the content style you want. 
  11021.    2. Select the content style. 
  11022.    3. The style becomes highlighted. 
  11023.  
  11024.  Address Style Group Heading 
  11025.  
  11026.  Select the available address style. 
  11027.  
  11028.  To select the address style: 
  11029.  
  11030.    1. Select the address style. 
  11031.    2. The address style becomes highlighted. 
  11032.  
  11033.  Columns per line Entry Field 
  11034.  
  11035.  Select the number of columns per line you want displayed in the Storage 
  11036.  window. 
  11037.  
  11038.  Use the Up or Down arrow keys to select the number of columns you want 
  11039.  displayed in the Storage window. The available number of columns per line are 
  11040.  1-16. 
  11041.  
  11042.  Enable the Column titles check box if you want to display the titles of the 
  11043.  columns in the Storage window. 
  11044.  
  11045.  
  11046. ΓòÉΓòÉΓòÉ 11.6.3.2.3. Fill Storage... ΓòÉΓòÉΓòÉ
  11047.  
  11048. Displays the Storage Fill Dialog window, which allows you to fill memory with a 
  11049. specific character or hexadecimal pattern. 
  11050.  
  11051. To fill memory with a specific character or hexadecimal pattern: 
  11052.  
  11053.    1. Type the starting address of the memory area to fill in the Starting 
  11054.       Address entry field. 
  11055.  
  11056.    2. Type the ending address of the area or the length of the area to fill in 
  11057.       the corresponding entry field. 
  11058.  
  11059.    3. Select either Character or Hexadecimal as the string type. 
  11060.  
  11061.    4. Type the fill string in the Repeated String, Character or Byte(s) field. 
  11062.       This string is repeated as necessary to fill the specified area. 
  11063.  
  11064.  
  11065. ΓòÉΓòÉΓòÉ 11.6.3.2.4. Monitor expression... ΓòÉΓòÉΓòÉ
  11066.  
  11067. Displays the Monitor Expression in Storage window, which allows you to type in 
  11068. the name of the expression you want to monitor. 
  11069.  
  11070. To specify an expression, type the name or address of the variable or 
  11071. expression you want to monitor in the Expression entry field. 
  11072.  
  11073. The expression evaluator used is based on the context.  For example if you 
  11074. display the Storage window by selecting the Monitor expression... choice from 
  11075. the Monitors menu, the evaluator used is based on the context in the Monitor 
  11076. Expression window.  However, if you display the Storage window first and then 
  11077. select the Monitor expression... choice from the Options menu of the Storage 
  11078. window, the evaluator used is based on the context of the stopping thread. 
  11079.  
  11080. Note:  You cannot look at variables that have been defined using the #DEFINE 
  11081. preprocessor directive. If the variable is not in scope when the monitor is 
  11082. opened, the default address is displayed.  If the variable goes out of scope, 
  11083. the address is changed to a hex constant. 
  11084.  
  11085. If you enable the Enabled monitor check box, the monitor updates the stop value 
  11086. of the program to the actual value in storage. However, a disabled monitor 
  11087. suspends this updating and reflects the stop value or the value held when the 
  11088. monitor was disabled. 
  11089.  
  11090.  
  11091. ΓòÉΓòÉΓòÉ 11.6.3.2.5. Restore defaults ΓòÉΓòÉΓòÉ
  11092.  
  11093. Select the Restore defaults choice to reset all of the window settings to their 
  11094. original settings. 
  11095.  
  11096.  
  11097. ΓòÉΓòÉΓòÉ 11.6.3.2.6. Tool buttons ΓòÉΓòÉΓòÉ
  11098.  
  11099. Select the Tool buttons choice if you want tool buttons. 
  11100.  
  11101.  
  11102. ΓòÉΓòÉΓòÉ 11.6.3.2.7. Hover help ΓòÉΓòÉΓòÉ
  11103.  
  11104. Select the Hover help choice if you want hover help. 
  11105.  
  11106.  
  11107. ΓòÉΓòÉΓòÉ 11.6.3.2.8. Infoarea ΓòÉΓòÉΓòÉ
  11108.  
  11109. Select the Infoarea choice if you want the information area to be shown in the 
  11110. window. 
  11111.  
  11112.  
  11113. ΓòÉΓòÉΓòÉ 11.6.3.3. Windows Menu Choices ΓòÉΓòÉΓòÉ
  11114.  
  11115. Select the Windows menu from the Storage window to view a list of all the open 
  11116. debugger windows. By selecting a window from the Windows menu, it is brought 
  11117. into focus and made the active window. Also, if the window is minimized, it is 
  11118. restored. 
  11119.  
  11120.  
  11121. ΓòÉΓòÉΓòÉ 11.6.3.4. Help Menu Choices ΓòÉΓòÉΓòÉ
  11122.  
  11123. Select choices from the Help menu of the Storage window to display the various 
  11124. types of help information. 
  11125.  
  11126. Refer to Help Menu Choices for a description of the help choices. 
  11127.  
  11128.  
  11129. ΓòÉΓòÉΓòÉ 11.6.4. Using the Local Variables Window ΓòÉΓòÉΓòÉ
  11130.  
  11131. The Local Variables window monitors the local variables (static, automatic, and 
  11132. parameters) for the current execution point in the program.  The contents of 
  11133. the Local Variables window change each time your program enters or leaves a 
  11134. function. 
  11135.  
  11136.      For a description of the choices that are available from the File menu, 
  11137.       refer to File Menu Choice. 
  11138.      For a description of the choices that are available from the Edit menu, 
  11139.       refer to Edit Menu Choices. 
  11140.      For a description of the choices that are available from the Options 
  11141.       menu, refer to Options Menu Choices. 
  11142.      For a description of the choices that are available from the Windows 
  11143.       menu, refer to Windows Menu Choices. 
  11144.      For a description of the choices that are available from the Help menu, 
  11145.       refer to Help Menu Choices. 
  11146.  
  11147.  
  11148. ΓòÉΓòÉΓòÉ 11.6.4.1. File Menu Choice ΓòÉΓòÉΓòÉ
  11149.  
  11150. Use the choice from the File menu to end the debugging session. 
  11151.  
  11152. The Close debugger choice allows you to end the current debugging session. 
  11153. When you select Close debugger, the Close Debugger message box prompts you to 
  11154. confirm that you want to end the debugging session. 
  11155.  
  11156.  
  11157. ΓòÉΓòÉΓòÉ 11.6.4.2. Edit Menu Choices ΓòÉΓòÉΓòÉ
  11158.  
  11159. Select the choices from the Edit menu of the Local Variables window to delete, 
  11160. select, deselect, show other elements, or change representation of the 
  11161. variables. 
  11162.  
  11163.  
  11164. ΓòÉΓòÉΓòÉ 11.6.4.2.1. Delete ΓòÉΓòÉΓòÉ
  11165.  
  11166. Select the Delete choice to delete variables or expressions that are being 
  11167. monitored from a monitor window. 
  11168.  
  11169. To delete a variable or expression from a monitor window: 
  11170.  
  11171.    1. Select the variable or expression using your mouse pointer. The variable 
  11172.       or expression becomes highlighted. 
  11173.    2. Select the Delete choice from the Edit menu. 
  11174.  
  11175.  
  11176. ΓòÉΓòÉΓòÉ 11.6.4.2.2. Select all ΓòÉΓòÉΓòÉ
  11177.  
  11178. Select the Select all choice to select all the expressions in the window. 
  11179.  
  11180.  
  11181. ΓòÉΓòÉΓòÉ 11.6.4.2.3. Deselect all ΓòÉΓòÉΓòÉ
  11182.  
  11183. Select the Deselect all choice to cancel the selection of all the expressions 
  11184. in the window, 
  11185.  
  11186.  
  11187. ΓòÉΓòÉΓòÉ 11.6.4.2.4. Other elements... ΓòÉΓòÉΓòÉ
  11188.  
  11189. Select the Other elements choice to view the next n items (classes, arrays, or 
  11190. structures) that are related to the variable or expression that you are 
  11191. monitoring. Currently, n defaults to 50.  You can override this number by 
  11192. setting the environment variable DEBUG_NUMBEROFELEMENTS.  For example, you 
  11193. would type the following to change it to 100: 
  11194.  
  11195.    set DEBUG_NUMBEROFELEMENTS=100
  11196.  
  11197. You can also change this number dynamically in the Number of elements to show 
  11198. field by selecting Options -> Debugger settings -> Monitor properties from the 
  11199. Debug Session Control window or any of the source windows. 
  11200.  
  11201.  
  11202. ΓòÉΓòÉΓòÉ 11.6.4.2.5. Representation-> ΓòÉΓòÉΓòÉ
  11203.  
  11204. Use the Representation cascading choices to display the contents of the 
  11205. variable in a new representation. The types of representation that display on 
  11206. the menu depend on the data type of the variable you are monitoring. 
  11207.  
  11208. The following are possible representations: 
  11209.  
  11210.  Hexadecimal 
  11211.    Displays the contents of the monitored variable in hexadecimal notation. 
  11212.  
  11213.  Decimal 
  11214.    Displays the contents of the monitored variable in decimal notation. 
  11215.  
  11216.  String 
  11217.    Displays the contents of the monitored variable as a character string. 
  11218.  
  11219.  Hexadecimal pointer 
  11220.    Displays the contents of the monitored variable as a hexadecimal pointer. 
  11221.  
  11222.  Decimal pointer 
  11223.    Displays the contents of the monitored variable as a decimal pointer. 
  11224.  
  11225.  Array 
  11226.    Displays the contents of the monitored variable as an array. 
  11227.  
  11228.  Floating/point 
  11229.    Displays the contents of the monitored variable in floating-point notation. 
  11230.  
  11231.  Character 
  11232.    Displays the contents of the monitored variable in character form. 
  11233.  
  11234.  Note:  Floating-point registers or variables display as either a 
  11235.  floating-point decimal number or as a hexadecimal string. However, they cannot 
  11236.  be updated with a hexadecimal string that represents a floating-point number. 
  11237.  If you need to update a floating-point variable with a hexadecimal 
  11238.  representation of a floating-point number, you must step through the 
  11239.  Disassembly window to see when the variable loads into a register and then 
  11240.  change the value in the Registers window. 
  11241.  
  11242.  
  11243. ΓòÉΓòÉΓòÉ 11.6.4.2.6. Copy to clipboard ΓòÉΓòÉΓòÉ
  11244.  
  11245. Select the Copy to clipboard choice to copy the selected (highlighted) local 
  11246. variable data to the clipboard. 
  11247.  
  11248.  
  11249. ΓòÉΓòÉΓòÉ 11.6.4.2.7. Save window in file ΓòÉΓòÉΓòÉ
  11250.  
  11251. Select the Save window in file choice to save the Local Variables window 
  11252. contents in a file.  You can choose the file name by selecting Options -> 
  11253. Debugger settings -> Monitor properties from the Debug Session Control window 
  11254. or any of the source windows and filling in the Save File entry field. 
  11255.  
  11256.  
  11257. ΓòÉΓòÉΓòÉ 11.6.4.3. Options Menu Choices ΓòÉΓòÉΓòÉ
  11258.  
  11259. Select choices from the Options menu to control how the contents of variables 
  11260. display and set debugger options. 
  11261.  
  11262.  
  11263. ΓòÉΓòÉΓòÉ 11.6.4.3.1. Fonts... ΓòÉΓòÉΓòÉ
  11264.  
  11265. Displays the Font window, which allows you to select the type of font you want 
  11266. to use for the Local Variables window. 
  11267.  
  11268.  
  11269. ΓòÉΓòÉΓòÉ 11.6.4.3.2. Restore defaults ΓòÉΓòÉΓòÉ
  11270.  
  11271. Select the Restore defaults choice to reset all of the window settings to their 
  11272. original settings. 
  11273.  
  11274.  
  11275. ΓòÉΓòÉΓòÉ 11.6.4.3.3. Show context ΓòÉΓòÉΓòÉ
  11276.  
  11277. Select the Show context choice to display the contextual information for the 
  11278. variable you are monitoring. The following information displays: 
  11279.  
  11280.      Source 
  11281.      File 
  11282.      Line 
  11283.      Thread. 
  11284.  
  11285.  
  11286. ΓòÉΓòÉΓòÉ 11.6.4.3.4. Tool buttons ΓòÉΓòÉΓòÉ
  11287.  
  11288. Select the Tool buttons choice if you want tool buttons. 
  11289.  
  11290.  
  11291. ΓòÉΓòÉΓòÉ 11.6.4.3.5. Hover help ΓòÉΓòÉΓòÉ
  11292.  
  11293. Select the Hover help choice if you want hover help. 
  11294.  
  11295.  
  11296. ΓòÉΓòÉΓòÉ 11.6.4.3.6. Infoarea ΓòÉΓòÉΓòÉ
  11297.  
  11298. Select the Infoarea choice if you want the information area to be shown in the 
  11299. window. 
  11300.  
  11301.  
  11302. ΓòÉΓòÉΓòÉ 11.6.4.4. Windows Menu Choices ΓòÉΓòÉΓòÉ
  11303.  
  11304. Select the Windows menu from the Local Variables window to view a list of all 
  11305. the open debugger windows. By selecting a window from the Windows menu, it is 
  11306. brought into focus and made the active window. Also, if the window is 
  11307. minimized, it is restored. 
  11308.  
  11309.  
  11310. ΓòÉΓòÉΓòÉ 11.6.4.5. Help Menu Choices ΓòÉΓòÉΓòÉ
  11311.  
  11312. Select choices from the Help menu of the Local Variables window to display the 
  11313. various types of help information. 
  11314.  
  11315. Refer to Help Menu Choices for a description of the help choices. 
  11316.  
  11317.  
  11318. ΓòÉΓòÉΓòÉ 11.6.5. Using the Passthru Window ΓòÉΓòÉΓòÉ
  11319.  
  11320. The Passthru window allows you to send commands to KDB and view its responses. 
  11321. The window is divided into two areas.  The Command entry field area is where 
  11322. you enter the KDB commands, and the response area is used to display the KDB 
  11323. output. 
  11324.  
  11325. The KDB response area is scrollable, which allows you to review previous KDB 
  11326. responses from prior commands.  This output area also appends a status icon for 
  11327. each line to indicate your input, the debugger's acceptance of that input, and 
  11328. text from KDB. 
  11329.  
  11330. Note:  When you send KDB commands using the Passthru window, the debugger does 
  11331. not update its state.  Thus, you should use this window for obtaining 
  11332. information instead of altering registers or data. 
  11333.  
  11334. To send a command to KDB, do the following: 
  11335.  
  11336.    1. Type the command you want to send in the Command entry field. 
  11337.    2. Select the Send push button.  You can also press the Enter key if the 
  11338.       Enter key performs send function check box is enabled in the Display 
  11339.       Style window. 
  11340.    3. Select the Resync button to force the debugger to refresh all of its 
  11341.       internal caches of the victim machine state.  Use this button if you used 
  11342.       the Passthru window to alter the state on the victim machine. 
  11343.  
  11344.  Note:  Commands that cause the victim machine to resume execution (for 
  11345.  example, g and t) should be avoided.  They can cause the debugger to lock up. 
  11346.  The debugger tries to filter out the KDB commands that can cause a lockup, but 
  11347.  you should always exercise caution. 
  11348.  
  11349.  
  11350. ΓòÉΓòÉΓòÉ 11.6.5.1. REXX Command Files ΓòÉΓòÉΓòÉ
  11351.  
  11352. The debugger supports the execution of DEBUGO REXX command files. To start a 
  11353. DEBUGO REXX command file, specify an * before the command filename in the 
  11354. Command entry field. For example: 
  11355.  
  11356.    * memcount.cmd
  11357. would trigger the execution of the DEBUGO REXX command file memcount.cmd. 
  11358.  
  11359.      For a description of the choices that are available from the File menu, 
  11360.       refer to File Menu Choice. 
  11361.      For a description of the choices that are available from the Edit menu, 
  11362.       refer to Edit Menu Choices. 
  11363.      For a description of the choices that are available from the Options 
  11364.       menu, refer to Options Menu Choices. 
  11365.      For a description of the choices that are available from the Windows 
  11366.       menu, refer to Windows Menu Choices. 
  11367.      For a description of the choices that are available from the Help menu, 
  11368.       refer to Help Menu Choices. 
  11369.  
  11370.  
  11371. ΓòÉΓòÉΓòÉ 11.6.5.2. File Menu Choice ΓòÉΓòÉΓòÉ
  11372.  
  11373. Use the choice from the File menu to end the debugging session. 
  11374.  
  11375. The Close debugger choice allows you to end the current debugging session. 
  11376. When you select Close debugger, the Close Debugger message box prompts you to 
  11377. confirm that you want to end the debugging session. 
  11378.  
  11379.  
  11380. ΓòÉΓòÉΓòÉ 11.6.5.3. Edit Menu Choices ΓòÉΓòÉΓòÉ
  11381.  
  11382. Select the choices from the Edit menu to edit lines in the response area, 
  11383. delete a line in the response area, or delete all the lines in the response 
  11384. area of the Passthru window. 
  11385.  
  11386.  
  11387. ΓòÉΓòÉΓòÉ 11.6.5.3.1. Edit ΓòÉΓòÉΓòÉ
  11388.  
  11389. Select the Edit choice to edit a line in the response area of the Passthru 
  11390. window. 
  11391.  
  11392. To edit a line: 
  11393.  
  11394.    1. Highlight the line you want to edit. 
  11395.    2. Select the Edit choice. 
  11396.  
  11397.  
  11398. ΓòÉΓòÉΓòÉ 11.6.5.3.2. Delete ΓòÉΓòÉΓòÉ
  11399.  
  11400. Select the Delete choice to delete a line in the response area of the Passthru 
  11401. window. 
  11402.  
  11403. To delete a line: 
  11404.  
  11405.    1. Highlight the line you want to delete. 
  11406.    2. Select the Delete choice. 
  11407.  
  11408.  
  11409. ΓòÉΓòÉΓòÉ 11.6.5.3.3. Delete all ΓòÉΓòÉΓòÉ
  11410.  
  11411. Select the Delete all choice to delete all the lines in the response area of 
  11412. the Passthru window. 
  11413.  
  11414. To delete all the lines in the response area: 
  11415.  
  11416.    1. Select the Delete all choice. When you select the Delete all choice, a 
  11417.       message box prompts you to confirm that you want to delete all the lines. 
  11418.    2. Select Yes. 
  11419.  
  11420.  
  11421. ΓòÉΓòÉΓòÉ 11.6.5.3.4. Find ΓòÉΓòÉΓòÉ
  11422.  
  11423. Select the Find choice to search for a text string in the active window. 
  11424.  
  11425. To find a text string: 
  11426.  
  11427.    1. Type in the string of text you want to find in the Text entry field. 
  11428.    2. Enable the Case sensitive check box if you want to search for the string 
  11429.       exactly as typed.  Disable this check box to search for uppercase and 
  11430.       lowercase characters. 
  11431.    3. Select the OK push button. 
  11432.  
  11433.  
  11434. ΓòÉΓòÉΓòÉ 11.6.5.3.5. Find Next ΓòÉΓòÉΓòÉ
  11435.  
  11436. Select Find Next to search for the next occurrence of the text string that you 
  11437. typed in the Find window. 
  11438.  
  11439.  
  11440. ΓòÉΓòÉΓòÉ 11.6.5.4. Options Menu Choices ΓòÉΓòÉΓòÉ
  11441.  
  11442. Select choices from the Options menu to change the font and control what items 
  11443. are shown in the Passthru window. 
  11444.  
  11445.  
  11446. ΓòÉΓòÉΓòÉ 11.6.5.4.1. Fonts... ΓòÉΓòÉΓòÉ
  11447.  
  11448. Displays the Font window, which allows you to select the type of font you want 
  11449. to use for the Passthru window. 
  11450.  
  11451.  
  11452. ΓòÉΓòÉΓòÉ 11.6.5.4.2. Display style... ΓòÉΓòÉΓòÉ
  11453.  
  11454. Displays the Display Style window, which allows you to select the items you 
  11455. want displayed in the window, select the number of items you want displayed, 
  11456. change the function of the Enter key, and save the output in a file. 
  11457.  
  11458. To use the Display Style window: 
  11459.  
  11460.      Select the items you want under the Select Items group heading. Each item 
  11461.       you select causes a new column to be added to the response area of the 
  11462.       Passthru window. 
  11463.      In the Number Items entry field, type the number of lines you want to be 
  11464.       displayed in the response area.  The maximum number of lines is 10,000. 
  11465.      The Output File entry field allows you to specify the name of the file 
  11466.       where Passthru responses are optionally saved. 
  11467.      The Save output in file also check box allows you to copy the Passthru 
  11468.       response items into a file (logging function). If the check box is 
  11469.       enabled, the responses are copied into the file that you specified in the 
  11470.       Output File entry field. 
  11471.      The Enter key performs send function check box allows you to enable or 
  11472.       disable the Enter key from performing a send function.  If the check box 
  11473.       is enabled, the Enter key will perform the same function as the Send push 
  11474.       button. If it is disabled, the Enter key will perform a carriage return. 
  11475.  
  11476.  
  11477. ΓòÉΓòÉΓòÉ 11.6.5.4.3. Restore defaults ΓòÉΓòÉΓòÉ
  11478.  
  11479. Select the Restore defaults choice to reset all of the window settings to their 
  11480. original settings. 
  11481.  
  11482.  
  11483. ΓòÉΓòÉΓòÉ 11.6.5.4.4. Add custom tool buttons ΓòÉΓòÉΓòÉ
  11484.  
  11485. Select the Add custom tool buttons choice to associate a Passthru command with 
  11486. a tool button icon. 
  11487.  
  11488. To do this: 
  11489.  
  11490.    1. Select one of the 10 icons to associate with a command. 
  11491.    2. Enter a Passthru command in the Commands entry field.  For example, dg 
  11492.       cs. 
  11493.    3. Select the Add push button to place the icon on the toolbar. When you 
  11494.       select the icon from the toolbar, the associated command is executed. 
  11495.       You can add, delete, or change icons and their associated text. 
  11496.  
  11497.  Note:  If the tool buttons choice has not been selected or if the tool buttons 
  11498.  are on the title bar, you can not select the Add custom tool buttons choice 
  11499.  
  11500.  
  11501. ΓòÉΓòÉΓòÉ 11.6.5.4.5. Tool buttons ΓòÉΓòÉΓòÉ
  11502.  
  11503. Select the Tool buttons choice to enable or disable tool buttons. 
  11504.  
  11505. If enabled, the tool buttons are displayed in the window. If disabled, the tool 
  11506. buttons are not displayed. 
  11507.  
  11508.  
  11509. ΓòÉΓòÉΓòÉ 11.6.5.4.6. Hover help ΓòÉΓòÉΓòÉ
  11510.  
  11511. Select the Hover help choice if you want hover help. 
  11512.  
  11513.  
  11514. ΓòÉΓòÉΓòÉ 11.6.5.4.7. Infoarea ΓòÉΓòÉΓòÉ
  11515.  
  11516. Select the Infoarea choice if you want the information area to be shown in the 
  11517. window. 
  11518.  
  11519.  
  11520. ΓòÉΓòÉΓòÉ 11.6.5.5. Windows Menu Choices ΓòÉΓòÉΓòÉ
  11521.  
  11522. Select the Windows menu from the Passthru window to view a list of all the open 
  11523. debugger windows. By selecting a window from the Windows menu, it is brought 
  11524. into focus and made the active window. Also, if the window is minimized, it is 
  11525. restored. 
  11526.  
  11527.  
  11528. ΓòÉΓòÉΓòÉ 11.6.5.6. Help Menu Choices ΓòÉΓòÉΓòÉ
  11529.  
  11530. Select choices from the Help menu of the Passthru window to display the various 
  11531. types of help information. 
  11532.  
  11533. Refer to Help Menu Choices for a description of the help choices. 
  11534.  
  11535.  
  11536. ΓòÉΓòÉΓòÉ 11.6.6. Using the Monitor Windows ΓòÉΓòÉΓòÉ
  11537.  
  11538. The debugger has four other windows that allow you to monitor variables and 
  11539. expressions.  These windows are as follows: 
  11540.  
  11541.      Popup Monitor 
  11542.      Program Monitor 
  11543.      Private Monitor 
  11544.      Storage Monitor. 
  11545.  
  11546.  A Popup Monitor window monitors single variables or expressions. This window 
  11547.  is associated with a specific source window and closes when the associated 
  11548.  window closes. 
  11549.  
  11550.  The Program Monitor, Private Monitor, and Storage Monitor windows are used as 
  11551.  collectors for individual variables or expressions in which you might be 
  11552.  interested. 
  11553.  
  11554.  The difference between the Private Monitor window and the Program Monitor 
  11555.  window is the length of time that each remains open. The Program Monitor 
  11556.  window remains open for the entire debugging session. The Private Monitor 
  11557.  window is associated with the source window from which it was opened and 
  11558.  closes when its associated view is closed. 
  11559.  
  11560.  
  11561. ΓòÉΓòÉΓòÉ 11.6.7. Using the Breakpoints List Window ΓòÉΓòÉΓòÉ
  11562.  
  11563. Use the Breakpoints List window to display a list of the breakpoints that have 
  11564. been set. The following information is provided for each breakpoint that has 
  11565. been set: 
  11566.  
  11567.      The type of breakpoint 
  11568.      The position of the breakpoint 
  11569.      The enablement state 
  11570.      The conditions under which the breakpoint is activated. 
  11571.  
  11572.  To display the Breakpoints List window, select List from the Breakpoints menu 
  11573.  or select the Breakpoints button in the tool bar. 
  11574.  
  11575.      For a description of the choices that are available from the File menu, 
  11576.       refer to File Menu Choice. 
  11577.      For a description of the choices that are available from the Edit menu, 
  11578.       refer to Edit Menu Choices. 
  11579.      For a description of the choices that are available from the Options 
  11580.       menu, refer to Options Menu Choices. 
  11581.      For a description of the choices that are available from the Windows 
  11582.       menu, refer to Windows Menu Choices. 
  11583.      For a description of the choices that are available from the Help menu, 
  11584.       refer to Help Menu Choices. 
  11585.  
  11586.  
  11587. ΓòÉΓòÉΓòÉ 11.6.7.1. File Menu Choice ΓòÉΓòÉΓòÉ
  11588.  
  11589. Use the choice from the File menu to end the debugging session. 
  11590.  
  11591. The Close debugger choice allows you to end the current debugging session. 
  11592. When you select Close debugger, the Close Debugger message box prompts you to 
  11593. confirm that you want to end the debugging session. 
  11594.  
  11595.  
  11596. ΓòÉΓòÉΓòÉ 11.6.7.2. Edit Menu Choices ΓòÉΓòÉΓòÉ
  11597.  
  11598. Select the choices from the Edit menu of the Breakpoints List window to delete, 
  11599. disable, modify, or enable breakpoints. 
  11600.  
  11601.  
  11602. ΓòÉΓòÉΓòÉ 11.6.7.2.1. Delete ΓòÉΓòÉΓòÉ
  11603.  
  11604. Deletes any breakpoints that are highlighted in the Breakpoints List window. 
  11605.  
  11606. To delete a breakpoint: 
  11607.  
  11608.    1. Highlight the breakpoint you want to delete. 
  11609.    2. Select the Delete choice. 
  11610.  
  11611.  
  11612. ΓòÉΓòÉΓòÉ 11.6.7.2.2. Disable ΓòÉΓòÉΓòÉ
  11613.  
  11614. Disables any highlighted breakpoints.  The breakpoint remains set but is not 
  11615. activated.  This allows you to run your program and not stop when the 
  11616. breakpoint is encountered. 
  11617.  
  11618. To disable a breakpoint: 
  11619.  
  11620.    1. Highlight the breakpoint you want to disable. 
  11621.    2. Select the Disable choice. 
  11622.  
  11623.  
  11624. ΓòÉΓòÉΓòÉ 11.6.7.2.3. Modify ΓòÉΓòÉΓòÉ
  11625.  
  11626. Use the Modify choice to change the breakpoints that have been set in your 
  11627. program. 
  11628.  
  11629. To modify a breakpoint: 
  11630.  
  11631.    1. Highlight the breakpoint you want to change. 
  11632.    2. Select the Modify choice. The breakpoint window that represents the type 
  11633.       of breakpoint displays. 
  11634.    3. Make the appropriate changes to the entry fields. 
  11635.    4. Select the OK push button to accept your changes and close the window. If 
  11636.       you want to make other changes, select the Set push button to accept the 
  11637.       changes and keep the window open. 
  11638.  
  11639.  
  11640. ΓòÉΓòÉΓòÉ 11.6.7.2.4. Delete all ΓòÉΓòÉΓòÉ
  11641.  
  11642. Deletes all the breakpoints that have been set. 
  11643.  
  11644. To delete all the breakpoints: 
  11645.  
  11646.    1. Select the Delete all choice.  The Delete All Breakpoints window 
  11647.       displays. 
  11648.    2. Select Yes from the Delete All Breakpoints window. 
  11649.  
  11650.  
  11651. ΓòÉΓòÉΓòÉ 11.6.7.2.5. Disable all ΓòÉΓòÉΓòÉ
  11652.  
  11653. Disables all the breakpoints that have been set. 
  11654.  
  11655. To disable all the breakpoints: 
  11656.  
  11657.       Select the Disable all choice.  The prefix area in the source window 
  11658.       changes from red to green to show that the breakpoints are disabled. 
  11659.  
  11660.  
  11661. ΓòÉΓòÉΓòÉ 11.6.7.2.6. Enable all ΓòÉΓòÉΓòÉ
  11662.  
  11663. Enables all the breakpoints that have been disabled. 
  11664.  
  11665. To enable the breakpoints: 
  11666.  
  11667.       Select the Enable all choice.  The prefix area in the source window 
  11668.       changes from green to red to show that the breakpoints are enabled. 
  11669.  
  11670.  
  11671. ΓòÉΓòÉΓòÉ 11.6.7.3. Set Menu Choices ΓòÉΓòÉΓòÉ
  11672.  
  11673. Refer to Breakpoints Menu Choices for a description of the Set menu choices. 
  11674.  
  11675.  
  11676. ΓòÉΓòÉΓòÉ 11.6.7.4. Options Menu Choices ΓòÉΓòÉΓòÉ
  11677.  
  11678. Select choices from the Options menu of the Breakpoints List window to sort the 
  11679. breakpoints, change the style, and change the font for the window. 
  11680.  
  11681.  
  11682. ΓòÉΓòÉΓòÉ 11.6.7.4.1. Fonts... ΓòÉΓòÉΓòÉ
  11683.  
  11684. Displays the Font window that allows you to select the font you want to use for 
  11685. the text in the Breakpoints List window. 
  11686.  
  11687.  
  11688. ΓòÉΓòÉΓòÉ 11.6.7.4.2. Display style... ΓòÉΓòÉΓòÉ
  11689.  
  11690. Displays the Display Style window, which allows you to control how the items 
  11691. appear in the Breakpoints List window. 
  11692.  
  11693. To change the columns which are displayed in the Breakpoint List window: 
  11694.  
  11695.    1. Select one or more of the items under the Select Items group heading. 
  11696.       Each item you select causes a new column to be added to the Breakpoint 
  11697.       List window. 
  11698.    2. Select the OK push button. 
  11699.  
  11700.  The Show Watchpoint Types check box allows you to see more type information 
  11701.  for watchpoints when they are enabled.  For example, a type field of Watch - 
  11702.  Instruction fetch would be displayed. 
  11703.  
  11704.  
  11705. ΓòÉΓòÉΓòÉ 11.6.7.4.3. Sort ΓòÉΓòÉΓòÉ
  11706.  
  11707. Displays the Sort window, which allows you to sort the breakpoints by the 
  11708. characteristics of the breakpoint. 
  11709.  
  11710. Use the Sort window to sort the breakpoints that have been set in your program. 
  11711.  
  11712. Breakpoints can be sorted according to the following categories: 
  11713.  
  11714.      Type 
  11715.      Executable 
  11716.      Source 
  11717.      File 
  11718.      Function 
  11719.      Line 
  11720.      Address 
  11721.      State 
  11722.      Status 
  11723.      Thread 
  11724.      Expression 
  11725.      From 
  11726.      To 
  11727.      Every. 
  11728.  
  11729.  Select the category you want and select the OK push button. 
  11730.  
  11731.  
  11732. ΓòÉΓòÉΓòÉ 11.6.7.4.4. Restore defaults ΓòÉΓòÉΓòÉ
  11733.  
  11734. Select the Restore defaults choice to reset all of the window settings to their 
  11735. original settings. 
  11736.  
  11737.  
  11738. ΓòÉΓòÉΓòÉ 11.6.7.4.5. Tool buttons ΓòÉΓòÉΓòÉ
  11739.  
  11740. Select the Tool buttons choice if you want tool buttons. 
  11741.  
  11742.  
  11743. ΓòÉΓòÉΓòÉ 11.6.7.4.6. Hover help ΓòÉΓòÉΓòÉ
  11744.  
  11745. Select the Hover help choice if you want hover help. 
  11746.  
  11747.  
  11748. ΓòÉΓòÉΓòÉ 11.6.7.4.7. Infoarea ΓòÉΓòÉΓòÉ
  11749.  
  11750. Select the Infoarea choice if you want the information area to be shown in the 
  11751. window. 
  11752.  
  11753.  
  11754. ΓòÉΓòÉΓòÉ 11.6.7.5. Windows Menu Choices ΓòÉΓòÉΓòÉ
  11755.  
  11756. Select the Windows menu from the Breakpoints List window to view a list of all 
  11757. the open debugger windows. By selecting a window from the Windows menu, it is 
  11758. brought into focus and made the active window. Also, if the window is 
  11759. minimized, it is restored. 
  11760.  
  11761.  
  11762. ΓòÉΓòÉΓòÉ 11.6.7.6. Help Menu Choices ΓòÉΓòÉΓòÉ
  11763.  
  11764. Select choices from the Help menu of the Breakpoints List window to display the 
  11765. various types of help information. 
  11766.  
  11767. Refer to Help Menu Choices for a description of the help choices. 
  11768.  
  11769.  
  11770. ΓòÉΓòÉΓòÉ 11.7. Expressions Supported ΓòÉΓòÉΓòÉ
  11771.  
  11772. This section describes the expression language supported by the debugger, which 
  11773. is a subset of C/C++.  This includes the operands, operators, and data types. 
  11774.  
  11775. Note:  You can display and update bit fields for C/C++ code only. You cannot 
  11776. look at variables that have been defined using the #DEFINE preprocessor 
  11777. directive. 
  11778.  
  11779.      Supported Expression Operands 
  11780.      Supported Expression Operators 
  11781.      Supported Data Types 
  11782.  
  11783.  
  11784. ΓòÉΓòÉΓòÉ 11.7.1. Supported Expression Operands ΓòÉΓòÉΓòÉ
  11785.  
  11786. You can monitor an expression that uses the following types of operands only: 
  11787.  
  11788.  Operand           Definition 
  11789.  
  11790.  Variable          A variable used in your program. 
  11791.  
  11792.  Constant          The constant can be one of the following types: 
  11793.  
  11794.                        Fixed or floating-point constant. 
  11795.  
  11796.                         Note:  The largest floating-point constant is 1.8E308. 
  11797.                         The smallest floating-point is 2.23E-308. 
  11798.                        A string constant, enclosed in quotation marks (" ") 
  11799.                        A character constant, enclosed in single quote marks (' 
  11800.                         ') 
  11801.  
  11802.  Registers         In the case of conflicting names, the program variable names 
  11803.                    take precedence over the register names. For conversions 
  11804.                    that are done automatically when the registers display in 
  11805.                    mixed-mode expressions, general purpose registers are 
  11806.                    treated as unsigned arithmetic items with a length 
  11807.                    appropriate to the register. 
  11808.  
  11809.  If you monitor an enumerated variable, a comment displays to the right of the 
  11810.  value.  If the value of the variable matches one of the enumerated types, the 
  11811.  comment contains the name of the first enumerated type that matches the value 
  11812.  of the variable. If the length of the enumerated name does not fit in the 
  11813.  monitor, the contents display as an empty entry field. 
  11814.  
  11815.  The comment (empty or not) lets you distinguish between a valid enumerated 
  11816.  value and an invalid value. An invalid value does not have a comment to the 
  11817.  right of the value. 
  11818.  
  11819.  You can not update an enumerated variable by entering an enumerated type. You 
  11820.  must enter a value or expression. If the value is a valid enumerated value, 
  11821.  the comment to the right of the value updates. 
  11822.  
  11823.  Bit fields are supported for C/C++ compiled code only. You can display and 
  11824.  update bit fields, but you cannot use them in expressions. You cannot look at 
  11825.  variables that have been defined using the #DEFINE preprocessor directive. 
  11826.  
  11827.      Supported Expression Operators 
  11828.      Supported Data Types 
  11829.  
  11830.  
  11831. ΓòÉΓòÉΓòÉ 11.7.2. Supported Expression Operators ΓòÉΓòÉΓòÉ
  11832.  
  11833. You can monitor an expression that uses the following operators only: 
  11834.  
  11835. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  11836. ΓöéOperator                      ΓöéCoded as                      Γöé
  11837. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11838. ΓöéGlobal scope resolution       Γöé::a                           Γöé
  11839. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11840. ΓöéClass scope resolution        Γöéa::b                          Γöé
  11841. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11842. ΓöéSubscripting                  Γöéa[b]                          Γöé
  11843. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11844. ΓöéMember selection              Γöéa.b or a->b                   Γöé
  11845. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11846. ΓöéSize                          Γöésizeof a or sizeof (type)     Γöé
  11847. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11848. ΓöéLogical not                   Γöé!a                            Γöé
  11849. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11850. ΓöéOne's complement              Γöé~a                            Γöé
  11851. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11852. ΓöéUnary minus                   Γöé-a                            Γöé
  11853. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11854. ΓöéUnary plus                    Γöé+a                            Γöé
  11855. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11856. ΓöéDereference                   Γöé*a                            Γöé
  11857. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11858. ΓöéType cast                     Γöé(type) a                      Γöé
  11859. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11860. ΓöéMultiply                      Γöéa * b                         Γöé
  11861. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11862. ΓöéDivide                        Γöéa / b                         Γöé
  11863. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11864. ΓöéModulo                        Γöéa % b                         Γöé
  11865. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11866. ΓöéAdd                           Γöéa + b                         Γöé
  11867. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11868. ΓöéSubtract                      Γöéa - b                         Γöé
  11869. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11870. ΓöéLeft shift                    Γöéa << b                        Γöé
  11871. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11872. ΓöéRight shift                   Γöéa >> b                        Γöé
  11873. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11874. ΓöéLess than                     Γöéa < b                         Γöé
  11875. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11876. ΓöéGreater than                  Γöéa > b                         Γöé
  11877. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11878. ΓöéLess than or equal to         Γöéa <= b                        Γöé
  11879. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11880. ΓöéGreater than or equal to      Γöéa >= b                        Γöé
  11881. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11882. ΓöéEqual                         Γöéa == b                        Γöé
  11883. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11884. ΓöéNot equal                     Γöéa != b                        Γöé
  11885. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11886. ΓöéBitwise AND                   Γöéa & b                         Γöé
  11887. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11888. ΓöéBitwise OR                    Γöéa | b                         Γöé
  11889. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11890. ΓöéBitwise exclusive OR          Γöéa ^ b                         Γöé
  11891. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11892. ΓöéLogical AND                   Γöéa && b                        Γöé
  11893. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11894. ΓöéLogical OR                    Γöéa || b                        Γöé
  11895. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  11896. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  11897.  
  11898.      Supported Data Types 
  11899.  
  11900.  
  11901. ΓòÉΓòÉΓòÉ 11.7.3. Supported Data Types ΓòÉΓòÉΓòÉ
  11902.  
  11903. You can monitor an expression that uses the following typecasting operations: 
  11904.  
  11905.      8-bit signed byte 
  11906.      8-bit unsigned byte 
  11907.      16-bit signed integer 
  11908.      16-bit unsigned integer 
  11909.      32-bit signed integer 
  11910.      32-bit unsigned integer 
  11911.      32-bit floating-point 
  11912.      64-bit floating-point 
  11913.      128-bit floating-point 
  11914.      Pointers 
  11915.      User-defined types. 
  11916.  
  11917.  
  11918. ΓòÉΓòÉΓòÉ 12. Software Trace Facility (STRACE) ΓòÉΓòÉΓòÉ
  11919.  
  11920. STRACE is a software tracing mechanism that runs on OS/2 Warp Server for SMP. 
  11921. The following conditions must be met in order to enable software tracing: 
  11922.  
  11923.      TRACE=OFF must be specified in the CONFIG.SYS file. This is a requirement 
  11924.       of the existing TRACE command in OS/2. 
  11925.  
  11926.      OS/2 Warp Server for SMP must be running on a Pentium, Pentium Pro, or 
  11927.       better processor, since the 64-bit Time Stamp Counter is used as the 
  11928.       timing mechanism. 
  11929.  
  11930.  Once data has been collected using STRACE, it may be copied to another OS/2 
  11931.  Warp or later system (along with the STRACE.EXE file from the OS2 directory on 
  11932.  the boot drive) and processed using STRACE. 
  11933.  
  11934.  
  11935. ΓòÉΓòÉΓòÉ 12.1. STRACE Overview ΓòÉΓòÉΓòÉ
  11936.  
  11937. STRACE uses software trace hooks to collect data.  Trace hooks are identified 
  11938. by both a major code and a minor code.  Major code 1 is reserved for exclusive 
  11939. use by IBM.  Major codes 0x00b8 (184) and 0x00b9 (185) have been reserved for 
  11940. customer use.  A listing of major and minor codes associated with OS/2 Warp 
  11941. Server for SMP can be found in System Trace Hook Definitions. 
  11942.  
  11943. For major codes other than 0x00b8 and 0x00b9 mentioned above, the user 
  11944. identifies the major codes to be traced with the TRACE command. 
  11945.  
  11946. To turn tracing on for events with major codes of 0x0002, 0x0013, and 0x0042: 
  11947.  
  11948.   TRACE ON 2 19 66
  11949.  
  11950. Note:  The TRACE command requires decimal arguments. 
  11951.  
  11952.  If TRACE ON is specified without one or more major codes, tracing for all 
  11953.  major codes, except 1, is enabled. 
  11954.  
  11955.  STRACE.EXE uses the general purpose performance function DosPerfSysCall to 
  11956.  access the software trace buffer.  When STRACE is turned on, it allocates the 
  11957.  required buffers (one per processor) in the kernel space and starts tracing 
  11958.  immediately.  A user may turn off STRACE (to stop collecting trace data), copy 
  11959.  the buffers to the user's buffer, flush the buffer to restart tracing, or 
  11960.  reset STRACE (turn off and free the allocated buffers). 
  11961.  
  11962.  
  11963. ΓòÉΓòÉΓòÉ 12.2. STRACE Syntax ΓòÉΓòÉΓòÉ
  11964.  
  11965.          ON
  11966.          OFF
  11967.          INIT
  11968.          RESET
  11969.          FLUSH
  11970.          INFO
  11971.          GET
  11972. STRACE   POST       /S=ssss /R=rrrrrrrr /M=mmmmmmm /O=oooooooo /N=nnnnnnnn /A=a
  11973.          MAJOR
  11974.          VERSION
  11975.          MTE
  11976.          INSERT
  11977.          REMOVE
  11978.          NRM
  11979.  
  11980.  
  11981. ΓòÉΓòÉΓòÉ 12.2.1. STRACE Arguments ΓòÉΓòÉΓòÉ
  11982.  
  11983. One of the following arguments is required.  The first valid command is used. 
  11984. All others will be ignored and a warning is issued to the user. 
  11985.  
  11986.  ON 
  11987.            Turns STRACE ON.  If STRACE is off, this command causes the buffers 
  11988.            to be allocated if needed and turns tracing on.  If STRACE is 
  11989.            currently on, this command has no effect.  The default buffer size 
  11990.            per processor is 3 MB which can be changed by using the /S option 
  11991.            described below.  Note that if buffers exist at the time of this 
  11992.            command, no new buffers will be allocated.  Tracing is simply turned 
  11993.            on using the existing buffers, whatever size they may be.  Tracing 
  11994.            will be automatically turned off when any buffer on any processor is 
  11995.            full. 
  11996.  
  11997.  OFF 
  11998.            Turns STRACE OFF.  If STRACE is on, this command turns tracing off. 
  11999.            The buffers are not freed.  If STRACE is currently off, this command 
  12000.            has no effect. 
  12001.  
  12002.  INIT 
  12003.            Initializes STRACE.  This command causes the buffers to be allocated 
  12004.            if necessary, but does not turn tracing on.  If STRACE is currently 
  12005.            on, this command has no effect. The default buffer size per 
  12006.            processor is 3 MB, which can be changed using the /S option.  Note 
  12007.            that if buffers exist at the time of this command, no new buffers 
  12008.            will be allocated. 
  12009.  
  12010.  RESET 
  12011.            Resets STRACE.  If STRACE is on, this command turns tracing off. 
  12012.            Whether STRACE was on or off, any allocated trace buffers will be 
  12013.            freed and the contents discarded. 
  12014.  
  12015.  FLUSH 
  12016.            Flushes STRACE buffers.  This command causes all data in the trace 
  12017.            buffers to be discarded.  The buffers remain allocated if they 
  12018.            exist. This command does not alter the state of tracing.  If STRACE 
  12019.            is on, it will remain on and tracing continues into an empty buffer. 
  12020.            If STRACE is off, it remains off. 
  12021.  
  12022.  INFO 
  12023.            Returns the status of STRACE.  Indicates whether STRACE is active or 
  12024.            not, the current buffer allocation, and data collection statistics, 
  12025.            such as number of bytes collected.  This command does not alter the 
  12026.            state of tracing. 
  12027.  
  12028.  GET 
  12029.            Returns a copy of the trace buffers. This command returns all trace 
  12030.            data to the user in a binary file in the current directory called 
  12031.            STRACE.RAW.  Use the /R option to direct the output to a different 
  12032.            file and path.  This file is processed using the POST option of 
  12033.            STRACE, to convert it to a readable format. This command does not 
  12034.            alter the state of tracing.  Trace major codes should be disabled 
  12035.            prior to issuing STRACE GET. 
  12036.  
  12037.  POST 
  12038.            Processes the binary file returned from the GET option and produces 
  12039.            two files:  an integrated ASCII dump of the trace and an MTE (module 
  12040.            table entry) loader dump output file. The default input file is 
  12041.            STRACE.RAW, the default ASCII dump output file is STRACE.OUT, and 
  12042.            the default MTE dump output file is STRACE.MTE  Use the /R, /O, and 
  12043.            /M options respectively to specify a different file name, or 
  12044.            fully-qualified path and file name, for each.  This command does not 
  12045.            alter the state of tracing. 
  12046.  
  12047.  MAJOR 
  12048.            Displays the active STRACE major codes being traced. This command 
  12049.            does not alter the state of tracing. 
  12050.  
  12051.  VERSION 
  12052.            Displays the current version of STRACE. This command does not alter 
  12053.            the state of tracing. 
  12054.  
  12055.  MTE 
  12056.            Captures Module Table Entry data and writes it to the MTE loader 
  12057.            dump file.  Use the /M option to direct the output to a file other 
  12058.            than STRACE.MTE.  Module Table entry data provides information about 
  12059.            loaded memory objects, their sizes, addresses and process 
  12060.            affiliations. 
  12061.  
  12062.  INSERT 
  12063.            Dynamically inserts trace hooks into the kernel.  The user can 
  12064.            insert a major code group.  For example for major code 19, strace 
  12065.            insert 19. The user can insert a particular major/minor code. For 
  12066.            example, 19/1, strace insert 19 1.  Very few software trace hooks 
  12067.            are dynamic; most are already inserted, and the strace insert and 
  12068.            strace remove commands have no affect.  At present, only hooks 
  12069.            associated with major code 0x0013 (19) can be inserted with this 
  12070.            capability. 
  12071.  
  12072.  REMOVE 
  12073.            Dynamically remove trace hooks from the kernel.  The user can remove 
  12074.            a major code group.  For example for major code 19, strace remove 
  12075.            19.  The user can remove a particular major/minor code.  For 
  12076.            example, 19/1, strace remove 19 1. At present, only hooks associated 
  12077.            with major code 0x0013 (19) can be removed with this capability. 
  12078.  
  12079.  NRM 
  12080.            For IBM Use Only. 
  12081.  
  12082.  
  12083. ΓòÉΓòÉΓòÉ 12.2.2. STRACE Options ΓòÉΓòÉΓòÉ
  12084.  
  12085. The following options can be used to alter the default behavior of the STRACE 
  12086. command: 
  12087.  
  12088.  /S=ssss 
  12089.            Specifies the buffer size for each processor in megabytes (MB). The 
  12090.            default is /S=3, which results in a trace buffer of 3 MB for each 
  12091.            processor. 
  12092.  
  12093.  /R=rrrrrrrr 
  12094.            Specifies the drive, path, and name for the file containing the data 
  12095.            returned by the GET  and POST arguments, and is ignored otherwise. 
  12096.            The default is /R=STRACE.RAW. 
  12097.  
  12098.  /M=mmmmmmmm 
  12099.            Specifies the drive, path, and name for the MTE loader dump file 
  12100.            produced by the POST and MTE arguments, and is ignored otherwise. 
  12101.            The default is /M=STRACE.MTE. 
  12102.  
  12103.  /O=oooooooo 
  12104.            Specifies the drive, path, and name of the ASCII output file created 
  12105.            with the POST option, and is ignored otherwise. The default is 
  12106.            /O=STRACE.OUT. 
  12107.  
  12108.  /A=a 
  12109.            Controls whether the adjustment of time stamps for processors with 
  12110.            different initial Time Stamp Counter values should be performed 
  12111.            during STRACE POST processing.  The default is /A=1 which performs 
  12112.            the adjustment.  Specify /A=0  to suppress this adjustment. 
  12113.  
  12114.  
  12115. ΓòÉΓòÉΓòÉ 12.2.3. STRACE Command Examples ΓòÉΓòÉΓòÉ
  12116.  
  12117.  TRACE ON 
  12118.            This activates all trace major codes (except major code 1, which is 
  12119.            for IBM use only). 
  12120.  
  12121.  STRACE ON /S=4 
  12122.            This will allocate a trace buffer of 4 MB per processor and turn 
  12123.            software tracing on. 
  12124.  
  12125.  STRACE OFF 
  12126.            This will turn tracing off.  Once tracing is off, the user may then 
  12127.            process the trace data contained in the trace buffer without having 
  12128.            additional data written to the buffer. 
  12129.  
  12130.  STRACE GET /R=MYTRACE.RAW 
  12131.            This will extract the trace buffer into the file MYTRACE.RAW. 
  12132.  
  12133.  STRACE POST /R=MYTRACE.RAW /O=E:\TRACE\MYTRACE.OUT 
  12134.            This will process the RAW file MYTRACE.RAW and generate an ASCII 
  12135.            version in E:\TRACE\MYTRACE.OUT. 
  12136.  
  12137.  STRACE RESET 
  12138.            This will turn tracing off and free any STRACE buffers. 
  12139.  
  12140.  TRACE OFF 
  12141.            This will deactivate all trace major codes. 
  12142.  
  12143.  
  12144. ΓòÉΓòÉΓòÉ 12.2.4. Sample Use of STRACE ΓòÉΓòÉΓòÉ
  12145.  
  12146. Let's say you are running a program called COLLIE.EXE which uses queues to 
  12147. fetch data from another program.  You could use STRACE to gather performance 
  12148. data on how the semaphore operations associated with the queuing activities are 
  12149. handled, or you could use it to monitor what semaphore operations are done to 
  12150. help diagnose a hang in the program.  The control program semaphore functions 
  12151. use major code 0x0018 (see Dos Functions - 2 of 12), therefore the following 
  12152. sequence of commands could be used: 
  12153.  
  12154.  1.  Turn trace on for the desired major code,      TRACE ON 24
  12155.      0x0018 in this case.
  12156.  
  12157.  2.  Turn on STRACE                                 STRACE ON
  12158.  
  12159.  3.  Run the desired program.                       START COLLIE
  12160.  
  12161.  4.  When program completes, or at the appropriate  STRACE OFF
  12162.      time, turn off STRACE.                         TRACE OFF
  12163.  
  12164.  5.  Get a copy of the trace information from all
  12165.      processors.                                    STRACE GET /R=RUN1.RAW
  12166.  
  12167.  6.  Clear the trace buffers in preparation for
  12168.      running the program again.                     STRACE FLUSH
  12169.  
  12170.  7.  Turn on STRACE again.                          TRACE ON 24
  12171.                                                     STRACE ON
  12172.  
  12173.  8.  Run the program again.                         START COLLIE
  12174.  
  12175.  9.  Turn off STRACE at the appropriate time.       STRACE OFF
  12176.                                                     TRACE OFF
  12177.  
  12178.  10. Copy the trace buffers to another file.        STRACE GET /R=RUN2.RAW
  12179.  
  12180.  11. If all tracing is complete, you could now      STRACE RESET
  12181.      delete the trace buffers.
  12182.  
  12183.  12. Generate readable trace data and explicitly    STRACE POST /R=RUN1.RAW
  12184.      name all output files.                                     /M=RUN1.MTE
  12185.                                                                 /O=RUN1.OUT
  12186.  
  12187.  
  12188. ΓòÉΓòÉΓòÉ 12.3. STRACE POST Processing ΓòÉΓòÉΓòÉ
  12189.  
  12190. The STRACE POST option processes the binary file returned from the GET option 
  12191. and produces two files: 
  12192.  
  12193.      ASCII dump output file, described in STRACE ASCII Dump Format 
  12194.      MTE loader dump output file, described in STRACE MTE Dump Format 
  12195.  
  12196.  Sample output from running an STRACE POST is shown here: 
  12197.  
  12198.   RAW file    = strace.raw
  12199.   Output file = strace.out
  12200.   MTE file    = strace.mte
  12201.   Adjust time = TRUE
  12202.  
  12203.       CPU 0 Rating 89.997898 Mhz
  12204.       CPU 1 Rating 89.995955 Mhz
  12205.       CPU 2 Rating 89.996197 Mhz
  12206.       CPU 3 Rating 90.005302 Mhz
  12207.  
  12208.  
  12209.   Working ...
  12210.   hooks processed. 575779
  12211.  
  12212.       CPU 0 Start time stamp :(531:fa721cba)
  12213.             End time stamp   :(535:5b3f6e10)
  12214.             Drift ratio      :0.000000e+000
  12215.             Number of hooks  :159367
  12216.  
  12217.       CPU 1 Start time stamp :(8:45ea9f53)
  12218.             End time stamp   :(b:a6b8945c)
  12219.             Drift ratio      :2.888343e-006
  12220.             Number of hooks  :128142
  12221.  
  12222.       CPU 2 Start time stamp :(8:45de419e)
  12223.             End time stamp   :(b:a6abcb34)
  12224.             Drift ratio      :9.924885e-007
  12225.             Number of hooks  :145038
  12226.  
  12227.       CPU 3 Start time stamp :(8:45d4207a)
  12228.             End time stamp   :(b:a6a2318d)
  12229.             Drift ratio      :3.383068e-006
  12230.             Number of hooks  :143232
  12231.  
  12232.  On rare occasions, a start or end time stamp may be shown as 
  12233.  ffffffff:ffffffff.  This occurs when STRACE processing was unable to gain 
  12234.  synchronous access to one or more processors to get their time stamps.  When 
  12235.  this occurs, you will need to recollect the STRACE data by turning off STRACE, 
  12236.  flushing the STRACE buffers, and then restarting STRACE. 
  12237.  
  12238.  
  12239. ΓòÉΓòÉΓòÉ 12.4. STRACE ASCII Dump Format ΓòÉΓòÉΓòÉ
  12240.  
  12241. The format of the ASCII dump file produced by the STRACE POST command is 
  12242. described below.  Each hook is listed on a single line containing information 
  12243. about the hook type, major code, minor code, time stamp, processor ID, and 
  12244. hook-specific data. 
  12245.  
  12246. A sample STRACE.OUT file is shown here: 
  12247.  
  12248.  102   13   29 9450:1545341324 0 fff37182 fff05c9c
  12249.  102   13   2b 9450:1545341598 0 fff37198 fff05c9c
  12250.  102   13   29 9450:1545342287 0 fff371a3 fff05c9c
  12251.  102   13   2b 9450:1545342546 0 fff371ae fff05c9c
  12252.  104   13   4b 9450:1545343593 0 00000001 00000004 fff05d1c fff405a3
  12253.  100    4   89 9450:1545343975 0
  12254. 3401   a8    3 9450:1546123683 2 -- strace.mte --
  12255.  104   13    9 9450:1546180366 2 00000000 00000001 fff05f58 fff47a71
  12256.  101   15    1 9450:1546183708 0 fff48224
  12257.  100   15   81 9450:1546184199 0
  12258.  101   15    1 9450:1546184525 1 fff48224
  12259.  100   15   81 9450:1546184847 1
  12260.  101   15    1 9450:1546185450 3 fff48224
  12261.  104   13   4b 9450:1546185848 2 00000001 00000004 fff05f58 fff47f38
  12262.  100   15   81 9450:1546185851 3
  12263.  100   13   3b 9450:1546189361 2
  12264.  100   13   39 9450:1546189762 0
  12265.  104   13    9 9450:1546191925 2 00000000 00000001 fff05ed8 fff6e0d5
  12266.  104   13   4b 9450:1546193003 2 00000001 00000004 fff05ed8 fff6e136
  12267.  100   13   3b 9450:1546193765 0
  12268.  100   13   39 9450:1546194102 1
  12269.  100   13   3b 9450:1546194683 1
  12270.  100   13   3a 9450:1546194745 2
  12271.  104   13    9 9450:1546194789 0 00000000 00000040 fff05d40 fff42840
  12272.  100   13   39 9450:1546195040 2
  12273.  104   13    9 9450:1546197102 2 00000000 00000001 fff05ed8 fff6e467
  12274.  
  12275. The general format for trace output is: 
  12276.  
  12277. tttt MM mm TTTTTTTT:tttttttt p dddddddd...ddd
  12278. |    |  |  |        |        | |
  12279. |    |  |  |        |        | +--- Data in hex, described below, and hook type specific
  12280. |    |  |  |        |        |
  12281. |    |  |  |        |        +----- Processor ID in decimal (0,1,2,3,...,63)
  12282. |    |  |  |        |
  12283. |    |  |  |        +-------------- Low-order 32 bits of Time Stamp (Pentium cycle counter)
  12284. |    |  |  |                        (in decimal)
  12285. |    |  |  |
  12286. |    |  |  +----------------------- High-order 32 bits of Pentium cycle counter (in decimal)
  12287. |    |  |
  12288. |    |  +-------------------------- Minor Code (in hex)
  12289. |    +----------------------------- Major Code (in hex)
  12290. |
  12291. +---------------------------------- Hook Type (in hex)
  12292.  
  12293.  
  12294. ΓòÉΓòÉΓòÉ 12.4.1. Hook Types ΓòÉΓòÉΓòÉ
  12295.  
  12296. The different hook types are: 
  12297.  
  12298.  SFT_HOOK_32BIT (0x0100) 
  12299.            Each data item is a ULONG.  The low 8 bits of the hook type indicate 
  12300.            the total number of data items. The maximum number of data items is 
  12301.            255. 
  12302.  
  12303.  SFT_HOOK_DATA (0x0200) 
  12304.            Data is a buffer of 0 to 255 bytes.  The low 8 bits of the hook type 
  12305.            indicate the length of the buffer. 
  12306.  
  12307.  SFT_HOOK_VARDATA (0x0400) 
  12308.            Data consists of variable length items.  Low 8 bits of the hook type 
  12309.            indicate the number of data items.  Each data item is preceded by a 
  12310.            ULONG length indicator.  The maximum number of data items is 255. 
  12311.            Length indicators are removed as part of STRACE POST processing. 
  12312.  
  12313.  SFT_HOOK_VARDATA2 (0x0800) 
  12314.            Data consists of variable length items.  Low 8 bits of the hook type 
  12315.            indicate the number of data items.  Each data item is preceded by a 
  12316.            USHORT length indicator.  The maximum number of data items is 255. 
  12317.            Length indicators are removed as part of STRACE POST processing. 
  12318.  
  12319.  SFT_HOOK_TIMEHI (0x1100) 
  12320.            Occurs when the high 32-bits of the time stamp changes. 
  12321.  
  12322.  SFT_HOOK_STARTUP (0x2200) 
  12323.            Occurs when STRACE is started. 
  12324.  
  12325.  SFT_HOOK_MTE (0x3400) 
  12326.            Occurs when STRACE is started.  Used by trace post-processors to get 
  12327.            information about loaded memory objects. 
  12328.  
  12329.  Hook examples are provided below.  Entries from an STRACE.OUT file, or other 
  12330.  ASCII dump of the trace data generated by the STRACE POST command is as 
  12331.  follows: 
  12332.  
  12333.  
  12334. ΓòÉΓòÉΓòÉ 12.4.1.1. Timer high order 32 bits change hook (SFT_HOOK_TIMEHI) ΓòÉΓòÉΓòÉ
  12335.  
  12336. This hook is produced whenever the high order 32 bits of the time stamp 
  12337. changes.  The STRACE POST command normalizes the time stamps and accounts for 
  12338. potential clock drift across the processors in the system.  The time stamp 
  12339. shown in each hook reflects this normalization. 
  12340.  
  12341.  1101   a8    1   254:3417264209    0 000000fe
  12342.  |      |     |    |                | |
  12343.  |      |     |    |                | +---- High 32 bits of timer (unnormalized)
  12344.  |      |     |    |                +------ Processor ID (0,1,2,3,...,63)
  12345.  |      |     |    +-------------- Normalized Time Stamp (high32bits:low32bits)
  12346.  |      |     +------------------- Minor Code = 0x01
  12347.  |      +------------------------ Major code = 0xa8
  12348.  +----------------------------- Type Indicator (SFT_HOOK_TIMEHI | 1)
  12349.  
  12350.  
  12351. ΓòÉΓòÉΓòÉ 12.4.1.2. Startup Hook (SFT_HOOK_STARTUP) ΓòÉΓòÉΓòÉ
  12352.  
  12353. This hook is produced on STRACE startup.  It contains information about the 
  12354. system on which trace is operating, initial time of day information, and number 
  12355. of processors in the system.  The data returned is mapped by SFTSTARTUP. 
  12356.  
  12357.  2218   a8    2   254:3417264209    0 141e000708000000cc0715390703000001000000598d9303
  12358.    |    |    |    |                 |    |
  12359.    |    |    |    |                 |    +---Data as follows:
  12360.    |    |    |    |                 |              UCHAR      VerMajor
  12361.    |    |    |    |                 |              UCHAR      VerMinor
  12362.    |    |    |    |                 |              UCHAR      RevLettr
  12363.    |    |    |    |                 |              UCHAR      DayDate
  12364.    |    |    |    |                 |              UCHAR      MonDate
  12365.    |    |    |    |                 |              UCHAR      pad1[3]
  12366.    |    |    |    |                 |              USHORT     YrsDate
  12367.    |    |    |    |                 |              UCHAR      HrsTime
  12368.    |    |    |    |                 |              UCHAR      MinTime
  12369.    |    |    |    |                 |              UCHAR      SecTime
  12370.    |    |    |    |                 |              UCHAR      HunTime
  12371.    |    |    |    |                 |              UCHAR      pad2[2]
  12372.    |    |    |    |                 |              ULONG      ulNumCPUs
  12373.    |    |    |    |                 |              ULONG      ulCPURate[]
  12374.    |    |    |    |                 |
  12375.    |    |    |    |                 +-----  Processor ID (0,1,2,3,...,63)
  12376.    |    |    |    +-------------- Normalized Time Stamp (high32bits:low32bits)
  12377.    |    |    +---------------------------- Minor Code = 0x02
  12378.    |    +--------------------------------- Major Code = 0xa8
  12379.    +-------------------------------------- Type Indicator/Length (SFT_HOOK_STARTUP | 0x18 bytes)
  12380.  
  12381.  
  12382. ΓòÉΓòÉΓòÉ 12.4.1.3. Module Table Entry Hook (SFT_HOOK_MTE) ΓòÉΓòÉΓòÉ
  12383.  
  12384. This hook is also produced at STRACE startup.  The data is used by trace 
  12385. post-processors for information about loaded memory objects. 
  12386.  
  12387.  3401   a8    3   254:3418461893    0  -- see strace.mte --
  12388.    |    |    |    |                 |    |
  12389.    |    |    |    |                 |    +---- MTE data (not directly reported;
  12390.    |    |    |    |                 |          but see the STRACE.MTE file for an example)
  12391.    |    |    |    |                 |
  12392.    |    |    |    |                 +--- Processor ID (0,1,2,3,...,63)
  12393.    |    |    |    +-------------- Normalized Time Stamp (high32bits:low32bits)
  12394.    |    |    +---------------------------- Minor Code = 0x03
  12395.    |    +--------------------------------- Major Code = 0xa8
  12396.    +-------------------------------------- Type Indicator/# of buffers (SFT_HOOK_MTE | 1)
  12397.  
  12398.  
  12399. ΓòÉΓòÉΓòÉ 12.4.1.4. Hook logging 1 32-bit value ΓòÉΓòÉΓòÉ
  12400.  
  12401.   101   14    9   254:3419280448    1   0000000c
  12402.   | |   |     |   |                 |   |
  12403.   | |   |     |   |                 |   +-------------------- 32-bit value
  12404.   | |   |     |   |                 +------------------------ Processor ID (0,1,2,3...,63)
  12405.   | |   |     |   +-------------- Normalized Time Stamp (high32bits:low32bits)
  12406.   | |   |     +---------------------------- Minor code = 0x09
  12407.   | |   +---------------------------------- Major code = 0x14
  12408.   | +-------------------------------------- Total Number of 32-bit values = 1
  12409.   +---------------------------------------- Type Indicator - (SFT_HOOK_32BIT | 1)
  12410.  
  12411.  
  12412. ΓòÉΓòÉΓòÉ 12.4.1.5. Hook logging 4 32-bit values ΓòÉΓòÉΓòÉ
  12413.  
  12414.   104   13   12   254:3419275789    0   00c10000 00000001 fff04248 fff3f5c7
  12415.   | |   |    |    |                 |     |         |         |       |
  12416.   | |   |    |    |                 |     |         |         |       +-- 4th 32-bit value
  12417.   | |   |    |    |                 |     |         |         +------- 3rd 32-bit value
  12418.   | |   |    |    |                 |     |         +---------------- 2nd 32-bit value
  12419.   | |   |    |    |                 |     +------------------------ 1st 32-bit value
  12420.   | |   |    |    |                 +---------------------------- Processor ID
  12421.   | |   |    |    +------------- Normalized Time Stamp (high32bits:low32bits)
  12422.   | |   |    +---------------------------- Minor Code = 0x12
  12423.   | |   +--------------------------------- Major Code = 0x13
  12424.   | +------------------------------------- Total number of 32-bit values = 4
  12425.   +--------------------------------------- Type indicator -  (SFT_HOOK_32BIT | 4)
  12426.  
  12427.  
  12428. ΓòÉΓòÉΓòÉ 12.4.1.6. Hook logging 3 2-byte buffers ΓòÉΓòÉΓòÉ
  12429.  
  12430. Note that STRACE POST processing removes the data item length information and 
  12431. simply lists each entry in little-endian (reverse byte) order. 
  12432.  
  12433.   803   12    1   254:3419280201    2   2600 0100 0002
  12434.   | |    |    |    |                |   |    |    |
  12435.   | |    |    |    |                |   |    |    +------- Data item 3
  12436.   | |    |    |    |                |   |    +------------ Data item 2
  12437.   | |    |    |    |                |   +----------------- Data item 1
  12438.   | |    |    |    |                +------  Processor ID (0,1,2,3,...,63)
  12439.   | |    |    |    +-------------- Normalized Time Stamp (high32bits:low32bits)
  12440.   | |    |    +--------------------------- Minor Code = 0x01
  12441.   | |    +-------------------------------- Major Code = 0x12
  12442.   | +----------------------------------- Total number of buffers = 3
  12443.   +------------------------------------- Type indicator - (SFT_HOOK_VARDATA2 | 3 )
  12444.  
  12445.  
  12446. ΓòÉΓòÉΓòÉ 12.5. STRACE MTE Dump Format ΓòÉΓòÉΓòÉ
  12447.  
  12448. The STRACE POST and STRACE MTE commands produce an MTE dump output file.  The 
  12449. format of each line in the file is shown here: 
  12450.  
  12451. 0002 00020000 00004000 0000000d fb1e0828 E:\OS2\EPWMP.EXE
  12452.  |     |       |        |        |         |
  12453.  |     |       |        |        |         +--- Module name
  12454.  |     |       |        |        |
  12455.  |     |       |        |        +- PTDA Address
  12456.  |     |       |        |
  12457.  |     |       |        +---------- PID (process identifier)
  12458.  |     |       |
  12459.  |     |       +------------------- Size in bytes
  12460.  |     |
  12461.  |     +--------------------------- Linear Load Address
  12462.  |
  12463.  +--------------------------------- Segment number
  12464.  
  12465. A portion of an STRACE.MTE file is shown below. 
  12466.  
  12467. 0001 00010000 00003190 00000008 fb1de424 E:\OS2\SYSTEM\LOGDAEM.EXE
  12468. 0002 00020000 000007f0 00000008 fb1de424 E:\OS2\SYSTEM\LOGDAEM.EXE
  12469. 0003 00030000 000072d0 00000008 fb1de424 E:\OS2\SYSTEM\LOGDAEM.EXE
  12470. 0001 00010000 000000c8 00000007 fb1ddcf0 E:\IBMLAN\NETPROG\LSDAEMON.EXE
  12471. 0002 00020000 00002010 00000007 fb1ddcf0 E:\IBMLAN\NETPROG\LSDAEMON.EXE
  12472. 0003 00030000 00000030 00000007 fb1ddcf0 E:\IBMLAN\NETPROG\LSDAEMON.EXE
  12473. 0001 00010000 000000e2 00000006 fb1dd5bc E:\IBMCOM\PROTOCOL\LANDLL.EXE
  12474. 0002 00020000 00000436 00000006 fb1dd5bc E:\IBMCOM\PROTOCOL\LANDLL.EXE
  12475. 0001 00010000 00001d82 00000005 fb1dce88 E:\MPTN\BIN\CNTRL.EXE
  12476. 0002 00020000 0000020a 00000005 fb1dce88 E:\MPTN\BIN\CNTRL.EXE
  12477. 0003 00030000 00007260 00000005 fb1dce88 E:\MPTN\BIN\CNTRL.EXE
  12478. 0001 00010000 000010c4 00000004 fb1dc754 E:\IBMCOM\LANMSGEX.EXE
  12479. 0002 00020000 00000291 00000004 fb1dc754 E:\IBMCOM\LANMSGEX.EXE
  12480. 0001 00010000 00000a40 0000000a fb1df28c E:\OS2\PMSHELL.EXE
  12481. 0002 00020000 00000070 0000000a fb1df28c E:\OS2\PMSHELL.EXE
  12482. 0003 00030000 0000fa50 0000000a fb1df28c E:\OS2\PMSHELL.EXE
  12483. 0001 00010000 0000cbbb 00000086 fb1e48fc E:\OS2\APPS\KLONDIKE.EXE
  12484. 0002 00020000 0000e710 00000086 fb1e48fc E:\OS2\APPS\KLONDIKE.EXE
  12485. 0003 00030000 00000a32 00000086 fb1e48fc E:\OS2\APPS\KLONDIKE.EXE
  12486. 0004 00040000 0000eec0 00000086 fb1e48fc E:\OS2\APPS\KLONDIKE.EXE
  12487. 0005 00000000 0000d808 00000086 fb1e48fc E:\OS2\APPS\KLONDIKE.EXE
  12488. 0006 00000000 0000ff44 00000086 fb1e48fc E:\OS2\APPS\KLONDIKE.EXE
  12489. 0001 00010000 0000cbbb 00000085 fb1e41c8 E:\OS2\APPS\KLONDIKE.EXE
  12490.  
  12491.  
  12492. ΓòÉΓòÉΓòÉ 12.6. Differences Between TRACE and STRACE ΓòÉΓòÉΓòÉ
  12493.  
  12494. There may be some confusion between the existing OS/2 Trace facility and the 
  12495. new software tracing provided by STRACE, especially since STRACE uses the OS/2 
  12496. Trace facility control utility.  First the OS/2 Trace facility will be 
  12497. described, then the differences between it and software tracing will be 
  12498. outlined. 
  12499.  
  12500.  
  12501. ΓòÉΓòÉΓòÉ 12.6.1. OS/2 Trace Facility ΓòÉΓòÉΓòÉ
  12502.  
  12503. The OS/2 Trace facility is an important RAS mechanism in the OS/2 product.  It 
  12504. allows specific events within the operating system, in system extensions, and 
  12505. in applications to be recorded in a circular System Trace buffer.  Software 
  12506. developers can create tracepoints that are used to monitor the execution of 
  12507. software modules. 
  12508.  
  12509. The OS/2 Trace facility includes two important utility programs.  The OS/2 
  12510. Trace control utility, TRACE.EXE, is used to enable and disable the tracing of 
  12511. events.  Entries within the System Trace buffer can be formatted for viewing by 
  12512. using the OS/2 Trace Formatter utility, TRACEFMT.EXE.  The Trace Formatter can 
  12513. also be used to copy the contents of the System Trace buffer to disk for 
  12514. processing on another system. 
  12515.  
  12516. The general categories of events that are traced in OS/2 are: 
  12517.  
  12518.      External application program interfaces (APIs) 
  12519.      Internal interfaces 
  12520.      Other internal events. 
  12521.  
  12522.  For an interface or event, there are generally two tracepoints.  A 
  12523.  pre-invocation trace and a post-invocation trace.  One can determine the 
  12524.  action taken by the system for a particular event by matching the two 
  12525.  corresponding trace events in the trace output. 
  12526.  
  12527.  For more information on the OS/2 Trace facility, refer to the OS/2 Command 
  12528.  Reference and the OS/2 Warp System Trace Facility online books.  (The latter 
  12529.  book is shipped as part of OS/2 Warp Version 4.  It may or may not be part of 
  12530.  the OS/2 Warp Server for SMP online documentation.) 
  12531.  
  12532.  
  12533. ΓòÉΓòÉΓòÉ 12.6.2. How STRACE is Different ΓòÉΓòÉΓòÉ
  12534.  
  12535. Software Tracing uses the OS/2 Trace facility control utility, TRACE.EXE, to 
  12536. enable and disable the tracing of events. 
  12537.  
  12538. Software Tracing is performed to special trace buffers which are allocated, one 
  12539. per processor, when STRACE is initialized or turned on.  Thus, the information 
  12540. recorded by Software Trace does not go into the OS/2 Trace facility's System 
  12541. Trace buffer and the recording can be efficiently done in a multiprocessing 
  12542. environment.  The user can alter the size of the buffers with the STRACE 
  12543. command to collect much more data than TRACE can. 
  12544.  
  12545. The trace hooks placed in the kernel for software tracing are there for 
  12546. performance use, as opposed to the ones for TRACE which are positioned 
  12547. primarily as debugging aids. Software Tracing utilizes the 64-bit Pentium Time 
  12548. Stamp Counter to provide precise time stamping of events. 
  12549.  
  12550. Software trace information is formatted by using the POST option of STRACE. 
  12551. STRACE also permits the transfer of trace data to disk for processing on other 
  12552. systems, provided, of course, that STRACE.EXE has been copied to the other 
  12553. system. 
  12554.  
  12555.  
  12556. ΓòÉΓòÉΓòÉ 12.7. System Trace Hook Definitions ΓòÉΓòÉΓòÉ
  12557.  
  12558. The following sections outline the trace hook major and minor codes for various 
  12559. functions in OS/2.  The information in these tables is subject to change as new 
  12560. hooks are added and obsolete ones are removed.  The mention of a hook for a 
  12561. specific function does not necessarily mean that the hook actually records data 
  12562. in the current version of OS/2. 
  12563.  
  12564. Major codes of 0xb8 and 0xb9 have been reserved for use by customers for trace 
  12565. hooks. 
  12566.  
  12567. It is the intent of IBM to document the format of the trace data associated 
  12568. with each implemented trace hook in OS/2 in the future. 
  12569.  
  12570.  
  12571. ΓòÉΓòÉΓòÉ 12.7.1. Exceptions and Interrupts ΓòÉΓòÉΓòÉ
  12572.  
  12573. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  12574. ΓöéHook ID             ΓöéEvent Name          ΓöéDescription         Γöé
  12575. ΓöéMajor/Minor Code    Γöé                    Γöé                    Γöé
  12576. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12577. Γöé03/01               ΓöéException 0         ΓöéDivide By Zero      Γöé
  12578. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12579. Γöé03/02               ΓöéException 1         ΓöéDebug Exception     Γöé
  12580. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12581. Γöé03/03               ΓöéException 2         ΓöéNMI                 Γöé
  12582. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12583. Γöé03/04               ΓöéException 3         ΓöéBreakpoint          Γöé
  12584. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12585. Γöé03/05               ΓöéException 4         ΓöéOverflow            Γöé
  12586. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12587. Γöé03/06               ΓöéException 5         ΓöéBounds Check        Γöé
  12588. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12589. Γöé03/07               ΓöéException 6         ΓöéInvalid Opcode      Γöé
  12590. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12591. Γöé03/08               ΓöéException 7         ΓöéNPX Not Available   Γöé
  12592. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12593. Γöé03/09               ΓöéException 8         ΓöéDouble Fault        Γöé
  12594. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12595. Γöé03/0A               ΓöéException 9         ΓöéNPX Segment Overrun Γöé
  12596. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12597. Γöé03/0B               ΓöéException A         ΓöéInvalid TSS         Γöé
  12598. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12599. Γöé03/0C               ΓöéException B         ΓöéSegment Not Preset  Γöé
  12600. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12601. Γöé03/0D               ΓöéException C         ΓöéStack Fault         Γöé
  12602. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12603. Γöé03/0E               ΓöéException D         ΓöéGeneral Protection  Γöé
  12604. Γöé                    Γöé                    ΓöéFault               Γöé
  12605. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12606. Γöé03/0F               ΓöéException E         ΓöéPage Fault          Γöé
  12607. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12608. Γöé04/01               ΓöéInterrupt IRQ 0     Γöé                    Γöé
  12609. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12610. Γöé04/02               ΓöéInterrupt IRQ 1     Γöé                    Γöé
  12611. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12612. Γöé04/03               ΓöéInterrupt IRQ 2     Γöé                    Γöé
  12613. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12614. Γöé04/04               ΓöéInterrupt IRQ 3     Γöé                    Γöé
  12615. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12616. Γöé04/05               ΓöéInterrupt IRQ 4     Γöé                    Γöé
  12617. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12618. Γöé04/06               ΓöéInterrupt IRQ 5     Γöé                    Γöé
  12619. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12620. Γöé04/07               ΓöéInterrupt IRQ 6     Γöé                    Γöé
  12621. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12622. Γöé04/08               ΓöéInterrupt IRQ 7     Γöé                    Γöé
  12623. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12624. Γöé04/09               ΓöéInterrupt IRQ 8     Γöé                    Γöé
  12625. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12626. Γöé04/0A               ΓöéInterrupt IRQ 9     Γöé                    Γöé
  12627. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12628. Γöé04/0B               ΓöéInterrupt IRQ A     Γöé                    Γöé
  12629. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12630. Γöé04/0C               ΓöéInterrupt IRQ B     Γöé                    Γöé
  12631. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12632. Γöé04/0D               ΓöéInterrupt IRQ C     Γöé                    Γöé
  12633. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12634. Γöé04/0E               ΓöéInterrupt IRQ D     Γöé                    Γöé
  12635. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12636. Γöé04/0F               ΓöéInterrupt IRQ E     Γöé                    Γöé
  12637. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12638. Γöé04/10               ΓöéInterrupt IRQ F     Γöé                    Γöé
  12639. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12640. Γöé04/11               ΓöéInterrupt IRQ 10    Γöé                    Γöé
  12641. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12642. Γöé04/12               ΓöéInterrupt IRQ 11    Γöé                    Γöé
  12643. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12644. Γöé04/13               ΓöéInterrupt IRQ 12    Γöé                    Γöé
  12645. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12646. Γöé04/14               ΓöéInterrupt IRQ 13    Γöé                    Γöé
  12647. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12648. Γöé04/15               ΓöéInterrupt IRQ 14    Γöé                    Γöé
  12649. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12650. Γöé04/16               ΓöéInterrupt IRQ 15    Γöé                    Γöé
  12651. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12652. Γöé04/17               ΓöéInterrupt IRQ 16    Γöé                    Γöé
  12653. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12654. Γöé04/18               ΓöéInterrupt IRQ 17    Γöé                    Γöé
  12655. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12656. Γöé04/19               ΓöéInterrupt IRQ 18    Γöé                    Γöé
  12657. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12658. Γöé04/1A               ΓöéInterrupt IRQ 19    Γöé                    Γöé
  12659. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12660. Γöé04/1B               ΓöéInterrupt IRQ 1A    Γöé                    Γöé
  12661. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12662. Γöé04/1C               ΓöéInterrupt IRQ 1B    Γöé                    Γöé
  12663. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12664. Γöé04/1D               ΓöéInterrupt IRQ 1C    Γöé                    Γöé
  12665. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12666. Γöé04/1E               ΓöéInterrupt IRQ 1D    Γöé                    Γöé
  12667. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12668. Γöé04/1F               ΓöéInterrupt IRQ 1E    Γöé                    Γöé
  12669. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12670. Γöé04/20               ΓöéInterrupt IRQ 1F    Γöé                    Γöé
  12671. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  12672.  
  12673.  
  12674. ΓòÉΓòÉΓòÉ 12.7.2. Dos Functions - 1 of 12 ΓòÉΓòÉΓòÉ
  12675.  
  12676. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  12677. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  12678. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  12679. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12680. Γöé10/01               ΓöéDosCreateThread                                   Γöé
  12681. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12682. Γöé10/02               ΓöéDosWaitChild                                      Γöé
  12683. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12684. Γöé10/03               ΓöéDosEnterCritSec                                   Γöé
  12685. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12686. Γöé10/04               ΓöéDosExecPgm                                        Γöé
  12687. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12688. Γöé10/05               ΓöéDosExit                                           Γöé
  12689. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12690. Γöé10/06               ΓöéDosExitCritSec                                    Γöé
  12691. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12692. Γöé10/07               ΓöéDosExitList                                       Γöé
  12693. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12694. Γöé10/08               ΓöéDosSetPriority                                    Γöé
  12695. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12696. Γöé10/09               ΓöéDosKillProcess                                    Γöé
  12697. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12698. Γöé10/0B               ΓöéDosResumeThread                                   Γöé
  12699. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12700. Γöé10/0C               ΓöéDosSuspendThread                                  Γöé
  12701. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12702. Γöé10/0D               ΓöéDosSetCp                                          Γöé
  12703. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12704. Γöé10/0E               ΓöéDosDebug                                          Γöé
  12705. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12706. Γöé10/0F               ΓöéDos32ExitList                                     Γöé
  12707. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12708. Γöé10/10               ΓöéDosGetInfoSeg                                     Γöé
  12709. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12710. Γöé10/11               ΓöéDosGetPID                                         Γöé
  12711. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12712. Γöé10/12               ΓöéDosGetPPID                                        Γöé
  12713. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12714. Γöé10/13               ΓöéDosGetPrty                                        Γöé
  12715. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12716. Γöé10/14               ΓöéDosGetInfoBlocks                                  Γöé
  12717. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12718. Γöé10/15               ΓöéDosR2StackRealloc                                 Γöé
  12719. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12720. Γöé10/16               ΓöéDosWaitThread                                     Γöé
  12721. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12722. Γöé10/17               ΓöéDosCallBack                                       Γöé
  12723. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12724. Γöé10/18               ΓöéDos32CreateThread                                 Γöé
  12725. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12726. Γöé10/19               ΓöéDosRetForward                                     Γöé
  12727. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12728. Γöé10/1A               ΓöéTickHandler                                       Γöé
  12729. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12730. Γöé10/1B               ΓöéDosCreateVDM                                      Γöé
  12731. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12732. Γöé12/01               ΓöéThread Dispatch                                   Γöé
  12733. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12734. Γöé12/02               ΓöéExitList Call                                     Γöé
  12735. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12736. Γöé12/03               ΓöéIdleTask                                          Γöé
  12737. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12738. Γöé13/01               ΓöéSpinLock                                          Γöé
  12739. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12740. Γöé13/02               ΓöéSpinLockRing0                                     Γöé
  12741. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12742. Γöé13/03               ΓöéSpinLockSpin                                      Γöé
  12743. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12744. Γöé13/04               ΓöéSpinLockHold                                      Γöé
  12745. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12746. Γöé13/05               ΓöéSpinLockRing0Hold                                 Γöé
  12747. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12748. Γöé13/06               ΓöéSpinLockIPI                                       Γöé
  12749. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12750. Γöé13/07               ΓöéSpinLockIPISpin                                   Γöé
  12751. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12752. Γöé13/09               ΓöéSpinLock09Get spin lock                           Γöé
  12753. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12754. Γöé13/0A               ΓöéSpinLock0AStart to spin on spin lock              Γöé
  12755. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12756. Γöé13/29               ΓöéSpinLock29Release spin lock                       Γöé
  12757. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12758. Γöé13/2A               ΓöéSpinLock2AStart to spin on spin lock (type II)    Γöé
  12759. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12760. Γöé13/2B               ΓöéSpinLock2BGet spin lock (type II)                 Γöé
  12761. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12762. Γöé13/4B               ΓöéSpinLock4BRelease spin lock (type II)             Γöé
  12763. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12764. Γöé13/39               ΓöéSpinLock39Get spin lock (type III)                Γöé
  12765. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12766. Γöé13/3B               ΓöéSpinLock3BRelease spin lock (type III)            Γöé
  12767. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12768. Γöé13/4B               ΓöéSpinLock4BStart to spin on spin lock (type III)   Γöé
  12769. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  12770.  
  12771.  
  12772. ΓòÉΓòÉΓòÉ 12.7.3. Dos Functions - 2 of 12 ΓòÉΓòÉΓòÉ
  12773.  
  12774. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  12775. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  12776. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  12777. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12778. Γöé14/01               ΓöéDosLoadModule                                     Γöé
  12779. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12780. Γöé14/02               ΓöéDosFreeModule                                     Γöé
  12781. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12782. Γöé14/04               ΓöéDosQueryModuleHandle                              Γöé
  12783. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12784. Γöé14/05               ΓöéDosQueryModuleName                                Γöé
  12785. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12786. Γöé14/06               ΓöéDosGetEnv                                         Γöé
  12787. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12788. Γöé14/07               ΓöéDosGetMachineMode                                 Γöé
  12789. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12790. Γöé14/08               ΓöéDosGetVersion                                     Γöé
  12791. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12792. Γöé14/09               ΓöéDosQueryAppType                                   Γöé
  12793. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12794. Γöé14/0A               ΓöéDosScanEnv                                        Γöé
  12795. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12796. Γöé14/0B               ΓöéDosQueryProcAddr                                  Γöé
  12797. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12798. Γöé18/01               ΓöéDosHoldSignal                                     Γöé
  12799. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12800. Γöé18/02               ΓöéDosSendSignal                                     Γöé
  12801. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12802. Γöé18/03               ΓöéDosSetSigHandler                                  Γöé
  12803. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12804. Γöé18/04               ΓöéDosCreatePipe                                     Γöé
  12805. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12806. Γöé18/05               ΓöéDosSemClear                                       Γöé
  12807. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12808. Γöé18/06               ΓöéDosSemRequest                                     Γöé
  12809. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12810. Γöé18/07               ΓöéDosSemSet                                         Γöé
  12811. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12812. Γöé18/08               ΓöéDosSemSetWait                                     Γöé
  12813. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12814. Γöé18/09               ΓöéDosSemWait                                        Γöé
  12815. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12816. Γöé18/0A               ΓöéDosMuxSemWait                                     Γöé
  12817. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12818. Γöé18/0B               ΓöéDosCloseSem                                       Γöé
  12819. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12820. Γöé18/0C               ΓöéDosCreateSem                                      Γöé
  12821. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12822. Γöé18/0D               ΓöéDosOpenSem                                        Γöé
  12823. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12824. Γöé18/0F               ΓöéDosAddMuxWaitSem                                  Γöé
  12825. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12826. Γöé18/10               ΓöéDosCallNPipe                                      Γöé
  12827. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12828. Γöé18/12               ΓöéDosCloseEventSem                                  Γöé
  12829. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12830. Γöé18/13               ΓöéDosCloseMutexSem                                  Γöé
  12831. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12832. Γöé18/14               ΓöéDosCloseMuxWaitSem                                Γöé
  12833. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12834. Γöé18/15               ΓöéDosConnectNPipe                                   Γöé
  12835. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12836. Γöé18/16               ΓöéDosCreateEventSem                                 Γöé
  12837. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12838. Γöé18/17               ΓöéDosCreateMutexSem                                 Γöé
  12839. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12840. Γöé18/18               ΓöéDosCreateMuxWaitSem                               Γöé
  12841. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12842. Γöé18/19               ΓöéDosDisconnectNPipe                                Γöé
  12843. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12844. Γöé18/1A               ΓöéDosCreateNPipe                                    Γöé
  12845. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12846. Γöé18/1B               ΓöéDosOpenEventSem                                   Γöé
  12847. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12848. Γöé18/1C               ΓöéDosOpenMutexSem                                   Γöé
  12849. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12850. Γöé18/1D               ΓöéDosOpenMuxWaitSem                                 Γöé
  12851. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12852. Γöé18/1E               ΓöéDosPeekNPipe                                      Γöé
  12853. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12854. Γöé18/1F               ΓöéDosQueryNPHState                                  Γöé
  12855. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12856. Γöé18/20               ΓöéDosQueryNPipeInfo                                 Γöé
  12857. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12858. Γöé18/21               ΓöéDosQueryNPipeSemState                             Γöé
  12859. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12860. Γöé18/23               ΓöéDosQueryEventSem                                  Γöé
  12861. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12862. Γöé18/24               ΓöéDosQueryMutexSem                                  Γöé
  12863. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12864. Γöé18/25               ΓöéDosQueryMuxWaitSem                                Γöé
  12865. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12866. Γöé18/27               ΓöéDosReleaseMutexSem                                Γöé
  12867. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12868. Γöé18/29               ΓöéDosRequestMutexSem                                Γöé
  12869. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12870. Γöé18/2B               ΓöéDosSetNPHState                                    Γöé
  12871. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12872. Γöé18/2C               ΓöéDosSetNPipeSem                                    Γöé
  12873. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12874. Γöé18/2D               ΓöéDosTransactNPipe                                  Γöé
  12875. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12876. Γöé18/2E               ΓöéDosWaitEventSem                                   Γöé
  12877. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12878. Γöé18/2F               ΓöéDosWaitMuxWaitSem                                 Γöé
  12879. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12880. Γöé18/30               ΓöéDosWaitNPipe                                      Γöé
  12881. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  12882.  
  12883.  
  12884. ΓòÉΓòÉΓòÉ 12.7.4. Dos Functions - 3 of 12 ΓòÉΓòÉΓòÉ
  12885.  
  12886. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  12887. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  12888. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  12889. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12890. Γöé18/31               ΓöéDosFSRamSemClear                                  Γöé
  12891. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12892. Γöé18/32               ΓöéDosFSRamSemRequest                                Γöé
  12893. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12894. Γöé18/33               ΓöéDosDeleteMuxWaitSem                               Γöé
  12895. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12896. Γöé18/34               ΓöéDosPostEventSem                                   Γöé
  12897. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12898. Γöé18/35               ΓöéDosRawReadNPipe                                   Γöé
  12899. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12900. Γöé18/36               ΓöéDosRawWriteNPipe                                  Γöé
  12901. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12902. Γöé18/37               ΓöéDosResetEventSem                                  Γöé
  12903. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12904. Γöé18/39               ΓöéDosSetKBDSigFocus                                 Γöé
  12905. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12906. Γöé18/40               ΓöéSemWaitEventSem                                   Γöé
  12907. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12908. Γöé1C/01               ΓöéDosError                                          Γöé
  12909. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12910. Γöé1C/02               ΓöéDosSetVec                                         Γöé
  12911. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12912. Γöé1C/05               ΓöéDosSysTrace                                       Γöé
  12913. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12914. Γöé1C/06               ΓöéDosErrClass                                       Γöé
  12915. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12916. Γöé1C/07               ΓöéDosLogRead                                        Γöé
  12917. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12918. Γöé1C/08               ΓöéDosLogRegister                                    Γöé
  12919. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12920. Γöé1C/09               ΓöéDosDynamicTrace                                   Γöé
  12921. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12922. Γöé1C/0A               ΓöéDosRaiseException                                 Γöé
  12923. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12924. Γöé1C/0B               ΓöéDosSetExceptionHandler                            Γöé
  12925. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12926. Γöé1C/0C               ΓöéDosUnsetExceptionHandler                          Γöé
  12927. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12928. Γöé1C/0D               ΓöéDosUnwindExceptionHandler                         Γöé
  12929. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12930. Γöé1C/0E               ΓöéDosSetTraceInfo                                   Γöé
  12931. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12932. Γöé1C/0F               ΓöéDosSystemService                                  Γöé
  12933. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12934. Γöé20/11               ΓöéVMAllocMem                                        Γöé
  12935. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12936. Γöé20/12               ΓöéVMFreeMem                                         Γöé
  12937. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12938. Γöé20/13               ΓöéVMLock                                            Γöé
  12939. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12940. Γöé20/14               ΓöéVMUnlock                                          Γöé
  12941. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12942. Γöé20/15               ΓöéVMInitTask                                        Γöé
  12943. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12944. Γöé20/16               ΓöéVMFreeTask                                        Γöé
  12945. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12946. Γöé20/17               ΓöéVMAttach                                          Γöé
  12947. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12948. Γöé20/18               ΓöéVM32ApiAliasMem                                   Γöé
  12949. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12950. Γöé20/19               ΓöéVM32ApiAllocMem                                   Γöé
  12951. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12952. Γöé20/1A               ΓöéVM32ApiAllocSharedMem                             Γöé
  12953. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12954. Γöé20/1B               ΓöéVM32ApiGetNamedShared                             Γöé
  12955. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12956. Γöé20/1C               ΓöéVM32ApiGetSharedMem                               Γöé
  12957. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12958. Γöé20/1D               ΓöéVM32ApiGiveSharedMem                              Γöé
  12959. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12960. Γöé20/1E               ΓöéVM32ApiFreeMem                                    Γöé
  12961. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12962. Γöé20/1F               ΓöéVM32ApiSetMem                                     Γöé
  12963. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12964. Γöé20/21               ΓöéVM32ApiQueryMem                                   Γöé
  12965. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12966. Γöé20/22               ΓöéPGPageFault                                       Γöé
  12967. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12968. Γöé20/24               ΓöéPGReloadFrame                                     Γöé
  12969. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12970. Γöé20/25               ΓöéPGGetPF                                           Γöé
  12971. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12972. Γöé20/26               ΓöéPGIdle                                            Γöé
  12973. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12974. Γöé20/27               ΓöéSELInitLDT                                        Γöé
  12975. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12976. Γöé20/28               ΓöéSELAllocLDT                                       Γöé
  12977. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12978. Γöé20/29               ΓöéSELFreeLDT                                        Γöé
  12979. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12980. Γöé20/2A               ΓöéSMSwapIn                                          Γöé
  12981. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12982. Γöé20/2B               ΓöéSMSwapOut                                         Γöé
  12983. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  12984.  
  12985.  
  12986. ΓòÉΓòÉΓòÉ 12.7.5. Dos Functions - 4 of 12 ΓòÉΓòÉΓòÉ
  12987.  
  12988. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  12989. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  12990. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  12991. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12992. Γöé24/01               ΓöéDosAllocSeg                                       Γöé
  12993. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12994. Γöé24/02               ΓöéDosAllocShrSeg                                    Γöé
  12995. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12996. Γöé24/03               ΓöéDosGetShrSeg                                      Γöé
  12997. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12998. Γöé24/04               ΓöéDosReallocSeg                                     Γöé
  12999. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13000. Γöé24/05               ΓöéDosFreeSeg                                        Γöé
  13001. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13002. Γöé24/06               ΓöéDosAllocHuge                                      Γöé
  13003. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13004. Γöé24/07               ΓöéDosReallocHuge                                    Γöé
  13005. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13006. Γöé24/08               ΓöéDosCreateCSAlias                                  Γöé
  13007. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13008. Γöé24/09               ΓöéDosGiveSeg                                        Γöé
  13009. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13010. Γöé24/0A               ΓöéDosAllocMem                                       Γöé
  13011. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13012. Γöé24/0B               ΓöéDosAllocSharedMem                                 Γöé
  13013. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13014. Γöé24/0C               ΓöéDosFreeMem                                        Γöé
  13015. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13016. Γöé24/0D               ΓöéDosGetHugeShift                                   Γöé
  13017. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13018. Γöé24/0E               ΓöéDosGetNamedSharedMem                              Γöé
  13019. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13020. Γöé24/0F               ΓöéDos32GetResource                                  Γöé
  13021. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13022. Γöé24/10               ΓöéDosGetSharedMem                                   Γöé
  13023. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13024. Γöé24/11               ΓöéDosGetSeg                                         Γöé
  13025. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13026. Γöé24/12               ΓöéDosGiveSharedMem                                  Γöé
  13027. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13028. Γöé24/13               ΓöéDosLockSeg                                        Γöé
  13029. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13030. Γöé24/16               ΓöéDosMemAvail                                       Γöé
  13031. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13032. Γöé24/17               ΓöéDosQueryMem                                       Γöé
  13033. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13034. Γöé24/18               ΓöéDosSetMem                                         Γöé
  13035. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13036. Γöé24/19               ΓöéDosSizeSeg                                        Γöé
  13037. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13038. Γöé24/1A               ΓöéDosUnlockSeg                                      Γöé
  13039. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13040. Γöé24/1B               ΓöéDosSubAlloc                                       Γöé
  13041. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13042. Γöé24/1C               ΓöéDos32SubAlloc                                     Γöé
  13043. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13044. Γöé24/1D               ΓöéDosSubFree                                        Γöé
  13045. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13046. Γöé24/1E               ΓöéDos32SubFree                                      Γöé
  13047. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13048. Γöé24/1F               ΓöéDosSubSet                                         Γöé
  13049. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13050. Γöé24/20               ΓöéDos32SubSet                                       Γöé
  13051. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13052. Γöé24/21               ΓöéDosAliasMem                                       Γöé
  13053. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13054. Γöé24/22               ΓöéDosAllocProtectedMem                              Γöé
  13055. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13056. Γöé24/23               ΓöéDosAllocProtHuge                                  Γöé
  13057. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13058. Γöé24/24               ΓöéDosAllocProtSeg                                   Γöé
  13059. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13060. Γöé24/25               ΓöéDosAllocShrProtSeg                                Γöé
  13061. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13062. Γöé24/26               ΓöéDosQueryMemState                                  Γöé
  13063. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13064. Γöé24/27               ΓöéDosSubUnSet                                       Γöé
  13065. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13066.  
  13067.  
  13068. ΓòÉΓòÉΓòÉ 12.7.6. Dos Functions - 5 of 12 ΓòÉΓòÉΓòÉ
  13069.  
  13070. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13071. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13072. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13073. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13074. Γöé30/01               ΓöéDosResetBuffer                                    Γöé
  13075. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13076. Γöé30/02               ΓöéDosSetFilePtr                                     Γöé
  13077. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13078. Γöé30/03               ΓöéDosClose                                          Γöé
  13079. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13080. Γöé30/04               ΓöéDosDelete                                         Γöé
  13081. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13082. Γöé30/05               ΓöéDosDupHandle                                      Γöé
  13083. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13084. Γöé30/06               ΓöéDosSetFileLocks                                   Γöé
  13085. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13086. Γöé30/07               ΓöéDosCreateDir                                      Γöé
  13087. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13088. Γöé30/08               ΓöéDosMove                                           Γöé
  13089. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13090. Γöé30/09               ΓöéDosSetFileSize                                    Γöé
  13091. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13092. Γöé30/0A               ΓöéDosOpen                                           Γöé
  13093. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13094. Γöé30/0B               ΓöéDosRead                                           Γöé
  13095. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13096. Γöé30/0C               ΓöéDosReadAsync                                      Γöé
  13097. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13098. Γöé30/0D               ΓöéDosDeleteDir                                      Γöé
  13099. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13100. Γöé30/0E               ΓöéDosSetDefaultDisk                                 Γöé
  13101. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13102. Γöé30/0F               ΓöéDosSetFHState                                     Γöé
  13103. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13104. Γöé30/10               ΓöéDosSetFileMode                                    Γöé
  13105. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13106. Γöé30/11               ΓöéDosSetVerify                                      Γöé
  13107. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13108. Γöé30/12               ΓöéDosWrite                                          Γöé
  13109. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13110. Γöé30/13               ΓöéDosWriteAsync                                     Γöé
  13111. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13112. Γöé30/14               ΓöéDosSetCurrentDir                                  Γöé
  13113. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13114. Γöé30/15               ΓöéDosFindClose                                      Γöé
  13115. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13116. Γöé30/16               ΓöéDosFindFirst                                      Γöé
  13117. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13118. Γöé30/17               ΓöéDosFindNext                                       Γöé
  13119. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13120. Γöé30/18               ΓöéDosFindFirst2                                     Γöé
  13121. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13122. Γöé30/19               ΓöéDosCreateDir                                      Γöé
  13123. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13124. Γöé30/1A               ΓöéDosOpen2                                          Γöé
  13125. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13126. Γöé30/1B               ΓöéDosQueryCurrentDir                                Γöé
  13127. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13128. Γöé30/1C               ΓöéDosQueryCurrentDisk                               Γöé
  13129. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13130. Γöé30/1D               ΓöéDosQueryFHState                                   Γöé
  13131. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13132. Γöé30/1E               ΓöéDosQueryFileInfo                                  Γöé
  13133. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13134. Γöé30/1F               ΓöéDosQueryFileMode                                  Γöé
  13135. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13136. Γöé30/20               ΓöéDosQueryFSInfo                                    Γöé
  13137. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13138. Γöé30/21               ΓöéDosQueryHType                                     Γöé
  13139. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13140. Γöé30/22               ΓöéDosQueryVerify                                    Γöé
  13141. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13142. Γöé30/23               ΓöéDosSetFileInfo                                    Γöé
  13143. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13144. Γöé30/24               ΓöéDosSetFSInfo                                      Γöé
  13145. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13146. Γöé30/25               ΓöéDosSetMaxFH                                       Γöé
  13147. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13148. Γöé30/26               ΓöéDosCopy                                           Γöé
  13149. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13150. Γöé30/27               ΓöéDosSearchPath                                     Γöé
  13151. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13152. Γöé30/28               ΓöéDosEditName                                       Γöé
  13153. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13154. Γöé30/29               ΓöéDosFileIO                                         Γöé
  13155. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13156.  
  13157.  
  13158. ΓòÉΓòÉΓòÉ 12.7.7. Dos Functions - 6 of 12 ΓòÉΓòÉΓòÉ
  13159.  
  13160. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13161. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13162. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13163. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13164. Γöé30/2A               ΓöéDosFindFromName                                   Γöé
  13165. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13166. Γöé30/2B               ΓöéDosFindNotifyClose                                Γöé
  13167. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13168. Γöé30/2C               ΓöéDosFindNotifyFirst                                Γöé
  13169. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13170. Γöé30/2D               ΓöéDosFindNotifyNext                                 Γöé
  13171. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13172. Γöé30/2E               ΓöéDosFSAttach                                       Γöé
  13173. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13174. Γöé30/2F               ΓöéDosFSCtl                                          Γöé
  13175. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13176. Γöé30/30               ΓöéDosOpLockRelease                                  Γöé
  13177. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13178. Γöé30/31               ΓöéDosOpLockWait                                     Γöé
  13179. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13180. Γöé30/32               ΓöéDosQueryFSAttach                                  Γöé
  13181. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13182. Γöé30/33               ΓöéDosQueryPathInfo                                  Γöé
  13183. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13184. Γöé30/34               ΓöéDosQuerySysInfo                                   Γöé
  13185. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13186. Γöé30/35               ΓöéDosSetPathInfo                                    Γöé
  13187. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13188. Γöé30/36               ΓöéDosForceDelete                                    Γöé
  13189. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13190. Γöé30/40               ΓöéDos32Read                                         Γöé
  13191. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13192. Γöé30/41               ΓöéDos32Write                                        Γöé
  13193. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13194. Γöé30/42               ΓöéfscMPStub                                         Γöé
  13195. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13196. Γöé32/01               ΓöéCluster Allocate                                  Γöé
  13197. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13198. Γöé32/02               ΓöéCluster Deallocate                                Γöé
  13199. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13200. Γöé32/03               ΓöéUnlock/Lock File Range                            Γöé
  13201. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13202. Γöé32/04               ΓöéAddHash                                           Γöé
  13203. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13204. Γöé32/05               ΓöéAddLW                                             Γöé
  13205. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13206. Γöé32/06               ΓöéCCH                                               Γöé
  13207. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13208. Γöé32/07               ΓöéLazyWriter                                        Γöé
  13209. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13210. Γöé32/08               ΓöéLazyRead                                          Γöé
  13211. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13212. Γöé32/0A               ΓöéSDW                                               Γöé
  13213. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13214. Γöé32/0B               ΓöéFLW                                               Γöé
  13215. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13216. Γöé32/0C               ΓöéLWWrite                                           Γöé
  13217. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13218. Γöé32/13               ΓöéSDR                                               Γöé
  13219. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13220.  
  13221.  
  13222. ΓòÉΓòÉΓòÉ 12.7.8. Dos Functions - 7 of 12 ΓòÉΓòÉΓòÉ
  13223.  
  13224. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13225. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13226. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13227. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13228. Γöé33/01               ΓöéAddHash                                           Γöé
  13229. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13230. Γöé33/02               ΓöéAddLW                                             Γöé
  13231. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13232. Γöé33/03               ΓöéCCH                                               Γöé
  13233. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13234. Γöé33/04               ΓöéFindDir                                           Γöé
  13235. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13236. Γöé33/05               ΓöéLazyWriter                                        Γöé
  13237. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13238. Γöé33/06               ΓöéLDE                                               Γöé
  13239. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13240. Γöé33/07               ΓöéRDBufOrGetInBuf                                   Γöé
  13241. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13242. Γöé33/08               ΓöéReadDir                                           Γöé
  13243. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13244. Γöé33/09               ΓöéSDL                                               Γöé
  13245. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13246. Γöé33/0A               ΓöéSDW                                               Γöé
  13247. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13248. Γöé33/0B               ΓöéFLW                                               Γöé
  13249. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13250. Γöé33/0D               ΓöéFSOpen                                            Γöé
  13251. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13252. Γöé33/0E               ΓöéFSRead                                            Γöé
  13253. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13254. Γöé33/0F               ΓöéFSWrite                                           Γöé
  13255. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13256. Γöé33/11               ΓöéSplitDir                                          Γöé
  13257. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13258. Γöé33/12               ΓöéAdjust                                            Γöé
  13259. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13260. Γöé33/13               ΓöéSDR                                               Γöé
  13261. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13262. Γöé38/01               ΓöéDosGetDateTime                                    Γöé
  13263. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13264. Γöé38/02               ΓöéDosSetDateTime                                    Γöé
  13265. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13266. Γöé38/03               ΓöéDosSleep                                          Γöé
  13267. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13268. Γöé38/04               ΓöéDosTimerAsync                                     Γöé
  13269. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13270. Γöé38/05               ΓöéDosTimerStart                                     Γöé
  13271. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13272. Γöé38/06               ΓöéDosStopTimer                                      Γöé
  13273. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13274. Γöé38/07               ΓöéDosAsyncTimer                                     Γöé
  13275. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13276. Γöé38/08               ΓöéDosStartTimer                                     Γöé
  13277. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13278. Γöé39/01               ΓöéDosQueryCp                                        Γöé
  13279. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13280. Γöé39/08               ΓöéDosMapCase                                        Γöé
  13281. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13282. Γöé39/09               ΓöéDosQueryCollate                                   Γöé
  13283. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13284. Γöé39/0A               ΓöéDosQueryCtryInfo                                  Γöé
  13285. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13286. Γöé39/0B               ΓöéDosQueryDBCSEv                                    Γöé
  13287. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13288. Γöé4F/01               ΓöéDOSIntEnter                                       Γöé
  13289. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13290. Γöé50/01               ΓöéKeyboardInput                                     Γöé
  13291. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13292. Γöé50/02               ΓöéDisplayOutput                                     Γöé
  13293. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13294. Γöé50/05               ΓöéPrinterOutput                                     Γöé
  13295. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13296. Γöé50/06               ΓöéDirectConsoleI/O                                  Γöé
  13297. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13298. Γöé50/07               ΓöéDirectConsoleInput                                Γöé
  13299. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13300. Γöé50/08               ΓöéConsoleInput                                      Γöé
  13301. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13302. Γöé50/09               ΓöéDisplayString                                     Γöé
  13303. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13304. Γöé50/0A               ΓöéBufferedKeyboardInput                             Γöé
  13305. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13306. Γöé50/0B               ΓöéCheckStatus                                       Γöé
  13307. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13308. Γöé50/0D               ΓöéDiskReset                                         Γöé
  13309. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13310. Γöé50/0E               ΓöéSelectDisk                                        Γöé
  13311. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13312.  
  13313.  
  13314. ΓòÉΓòÉΓòÉ 12.7.9. Dos Functions - 8 of 12 ΓòÉΓòÉΓòÉ
  13315.  
  13316. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13317. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13318. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13319. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13320. Γöé50/0F               ΓöéFCBOPEN                                           Γöé
  13321. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13322. Γöé50/10               ΓöéFCBClose                                          Γöé
  13323. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13324. Γöé50/11               ΓöéFCBFindFirst                                      Γöé
  13325. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13326. Γöé50/12               ΓöéFCBNextEntry                                      Γöé
  13327. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13328. Γöé50/14               ΓöéFCBSeqRead                                        Γöé
  13329. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13330. Γöé50/15               ΓöéFCBSeqWrite                                       Γöé
  13331. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13332. Γöé50/16               ΓöéFCBCreateFile                                     Γöé
  13333. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13334. Γöé50/17               ΓöéFCBRenameFile                                     Γöé
  13335. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13336. Γöé50/19               ΓöéCurrentDisk                                       Γöé
  13337. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13338. Γöé50/1A               ΓöéSetDiskXferAddress                                Γöé
  13339. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13340. Γöé50/1B               ΓöéAllocTableInfo                                    Γöé
  13341. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13342. Γöé50/1C               ΓöéAllocTableInfoForSpecificDevice                   Γöé
  13343. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13344. Γöé50/21               ΓöéFCBRandomRead                                     Γöé
  13345. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13346. Γöé50/22               ΓöéFCBRandomWrite                                    Γöé
  13347. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13348. Γöé50/23               ΓöéFCBFileSize                                       Γöé
  13349. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13350. Γöé50/24               ΓöéFCBLSEEK                                          Γöé
  13351. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13352. Γöé50/25               ΓöéSetInterruptVector                                Γöé
  13353. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13354. Γöé50/26               ΓöéCreateNewProgSegPrefix                            Γöé
  13355. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13356. Γöé50/27               ΓöéFCBRandomBlockRead                                Γöé
  13357. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13358. Γöé50/28               ΓöéFCBRandomBlockWrite                               Γöé
  13359. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13360. Γöé50/29               ΓöéParseFilename                                     Γöé
  13361. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13362. Γöé50/2A               ΓöéGetDate                                           Γöé
  13363. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13364. Γöé50/2B               ΓöéSetDate                                           Γöé
  13365. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13366. Γöé50/2C               ΓöéGetTime                                           Γöé
  13367. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13368. Γöé50/2D               ΓöéSetTime                                           Γöé
  13369. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13370. Γöé50/2F               ΓöéGetDiskXferAddress                                Γöé
  13371. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13372. Γöé50/35               ΓöéGetInterruptVector                                Γöé
  13373. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13374. Γöé50/36               ΓöéGetDiskFreeSpace                                  Γöé
  13375. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13376. Γöé50/39               ΓöéCreateSubdirectory                                Γöé
  13377. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13378. Γöé50/3A               ΓöéRemoveSubdirectory                                Γöé
  13379. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13380. Γöé50/3B               ΓöéChangeCurrentDirectory                            Γöé
  13381. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13382. Γöé50/3C               ΓöéCREATE                                            Γöé
  13383. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13384. Γöé50/3D               ΓöéOPEN                                              Γöé
  13385. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13386. Γöé50/3E               ΓöéCLOSE                                             Γöé
  13387. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13388. Γöé50/3F               ΓöéREAD                                              Γöé
  13389. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13390. Γöé50/40               ΓöéWRITE                                             Γöé
  13391. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13392. Γöé50/41               ΓöéDeleteFile                                        Γöé
  13393. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13394. Γöé50/42               ΓöéLSEEK                                             Γöé
  13395. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13396. Γöé50/43               ΓöéChangeFileMode                                    Γöé
  13397. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13398. Γöé50/44               ΓöéIOCTL                                             Γöé
  13399. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13400.  
  13401.  
  13402. ΓòÉΓòÉΓòÉ 12.7.10. Dos Functions - 9 of 12 ΓòÉΓòÉΓòÉ
  13403.  
  13404. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13405. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13406. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13407. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13408. Γöé50/45               ΓöéDupFileHandle                                     Γöé
  13409. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13410. Γöé50/46               ΓöéForceDupFileHandle                                Γöé
  13411. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13412. Γöé50/47               ΓöéGetCurrentDirectory                               Γöé
  13413. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13414. Γöé50/48               ΓöéAllocateMemorySegment                             Γöé
  13415. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13416. Γöé50/49               ΓöéFreeMemorySegment                                 Γöé
  13417. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13418. Γöé50/4A               ΓöéResizeMemorySegment                               Γöé
  13419. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13420. Γöé50/4B               ΓöéEXEC                                              Γöé
  13421. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13422. Γöé50/4C               ΓöéProgTerminate                                     Γöé
  13423. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13424. Γöé50/4E               ΓöéFINDFIRST                                         Γöé
  13425. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13426. Γöé50/4F               ΓöéFINDNEXT                                          Γöé
  13427. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13428. Γöé50/56               ΓöéRENAMEFile                                        Γöé
  13429. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13430. Γöé50/57               ΓöéGet/SetFileDate/Time                              Γöé
  13431. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13432. Γöé50/5A               ΓöéCreateUniqueFile                                  Γöé
  13433. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13434. Γöé50/5B               ΓöéCREATENEW                                         Γöé
  13435. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13436. Γöé50/5C               ΓöéLock/UnlockFile                                   Γöé
  13437. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13438. Γöé50/68               ΓöéCommitFile                                        Γöé
  13439. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13440. Γöé52/01               ΓöéSetSystemTimerTimeCounter                         Γöé
  13441. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13442. Γöé52/02               ΓöéReadRealTimeClockTime                             Γöé
  13443. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13444. Γöé52/03               ΓöéSetRealTimeClockTime                              Γöé
  13445. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13446. Γöé52/04               ΓöéReadRealTimeClockDate                             Γöé
  13447. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13448. Γöé52/05               ΓöéSetRealTimeClockDate                              Γöé
  13449. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13450. Γöé52/06               ΓöéSetRealTimeClockAlarm                             Γöé
  13451. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13452. Γöé52/07               ΓöéResetRealTimeClockAlarm                           Γöé
  13453. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13454. Γöé52/08               ΓöéSetRealTimeClock                                  Γöé
  13455. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13456. Γöé52/09               ΓöéReadRealTimeClockAlarm                            Γöé
  13457. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13458. Γöé52/0A               ΓöéReadSystemTimerDayCounter                         Γöé
  13459. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13460. Γöé52/0B               ΓöéSetSystemTimerDayCounter                          Γöé
  13461. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13462. Γöé52/7E               ΓöéReadSystemTimerTimeCounter                        Γöé
  13463. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13464. Γöé54/01               ΓöéSetCursorType                                     Γöé
  13465. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13466. Γöé54/02               ΓöéSetCursorPosition                                 Γöé
  13467. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13468. Γöé54/03               ΓöéReadCursorPosition                                Γöé
  13469. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13470. Γöé54/04               ΓöéReadLightPenPosition                              Γöé
  13471. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13472. Γöé54/05               ΓöéSelectActiveDisplayPage                           Γöé
  13473. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13474. Γöé54/06               ΓöéScrollActivePageUp                                Γöé
  13475. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13476. Γöé54/07               ΓöéScrollActivePageDown                              Γöé
  13477. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13478. Γöé54/08               ΓöéReadAttribute/CharacterAtCurrentCursorPos         Γöé
  13479. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13480. Γöé54/09               ΓöéWriteAttribute/CharacterAtCurrentCursorPos        Γöé
  13481. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13482. Γöé54/0A               ΓöéWriteCharacterAtCurrentCursorPos                  Γöé
  13483. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13484. Γöé54/0B               ΓöéSetColorPalette                                   Γöé
  13485. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13486.  
  13487.  
  13488. ΓòÉΓòÉΓòÉ 12.7.11. Dos Functions - 10 of 12 ΓòÉΓòÉΓòÉ
  13489.  
  13490. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13491. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13492. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13493. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13494. Γöé54/0C               ΓöéWriteDot                                          Γöé
  13495. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13496. Γöé54/0D               ΓöéReadDot                                           Γöé
  13497. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13498. Γöé54/0E               ΓöéWriteTeletypetoActivePage                         Γöé
  13499. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13500. Γöé54/0F               ΓöéReadCurrentVideoState                             Γöé
  13501. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13502. Γöé54/10               ΓöéSetPaletteRegisters                               Γöé
  13503. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13504. Γöé54/11               ΓöéCharacterGenerator                                Γöé
  13505. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13506. Γöé54/12               ΓöéAlternateSelect                                   Γöé
  13507. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13508. Γöé54/13               ΓöéWriteString                                       Γöé
  13509. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13510. Γöé54/14               ΓöéLoadLCDCharacterFont/Set                          Γöé
  13511. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13512. Γöé54/15               ΓöéReturnPhysicalDisplayParameters                   Γöé
  13513. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13514. Γöé54/1A               ΓöéRead/WriteDisplayCombinationCode                  Γöé
  13515. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13516. Γöé54/1B               ΓöéReturnFunctionality/StateInfo                     Γöé
  13517. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13518. Γöé54/1C               ΓöéSave/RestoreVideoState                            Γöé
  13519. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13520. Γöé54/7E               ΓöéSetMode                                           Γöé
  13521. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13522. Γöé56/01               ΓöéKeyboardRead                                      Γöé
  13523. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13524. Γöé56/02               ΓöéKeyboardStatus                                    Γöé
  13525. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13526. Γöé56/03               ΓöéShiftStatus                                       Γöé
  13527. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13528. Γöé56/04               ΓöéSetTypematicRate                                  Γöé
  13529. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13530. Γöé56/05               ΓöéKeyboardWrite                                     Γöé
  13531. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13532. Γöé56/10               ΓöéExtendedKeyboardRead                              Γöé
  13533. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13534. Γöé56/11               ΓöéExtendedKeyboardStatus                            Γöé
  13535. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13536. Γöé56/12               ΓöéExtendedShiftStatus                               Γöé
  13537. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13538. Γöé56/13               ΓöéKeyboardIntercept                                 Γöé
  13539. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13540. Γöé56/20               ΓöéExtended122KeyboardRead                           Γöé
  13541. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13542. Γöé56/21               ΓöéExtended122KeyboardStatus                         Γöé
  13543. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13544. Γöé56/22               ΓöéExtended122ShiftStatus                            Γöé
  13545. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13546. Γöé57/01               ΓöéInitializeThePrinterPort                          Γöé
  13547. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13548. Γöé57/02               ΓöéReadStatus                                        Γöé
  13549. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13550. Γöé57/7E               ΓöéPrintCharacter                                    Γöé
  13551. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13552. Γöé58/01               ΓöéReadStatusOfLastOp                                Γöé
  13553. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13554. Γöé58/02               ΓöéReadDesiredSectors                                Γöé
  13555. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13556. Γöé58/03               ΓöéWriteDesiredSectors                               Γöé
  13557. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13558. Γöé58/04               ΓöéVerifyDesiredSectors                              Γöé
  13559. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13560. Γöé58/05               ΓöéFormatDesiredCylinder                             Γöé
  13561. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13562. Γöé58/06               ΓöéFormatDesiredCylinderSetBadSectorFlags            Γöé
  13563. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13564. Γöé58/07               ΓöéFormatDriveStarting                               Γöé
  13565. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13566. Γöé58/08               ΓöéReadDriveParameters                               Γöé
  13567. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13568. Γöé58/09               ΓöéInitializeDrivePairChar                           Γöé
  13569. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13570. Γöé58/0C               ΓöéSeek                                              Γöé
  13571. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13572. Γöé58/0D               ΓöéAlternateDiskReset                                Γöé
  13573. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13574. Γöé58/10               ΓöéTestDriveReady                                    Γöé
  13575. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13576. Γöé58/11               ΓöéRecalibrate                                       Γöé
  13577. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13578. Γöé58/15               ΓöéReadDASDType                                      Γöé
  13579. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13580. Γöé58/19               ΓöéParkHeads                                         Γöé
  13581. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13582. Γöé58/1A               ΓöéFormatUnit                                        Γöé
  13583. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13584. Γöé58/7E               ΓöéResetDiskSystem                                   Γöé
  13585. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13586.  
  13587.  
  13588. ΓòÉΓòÉΓòÉ 12.7.12. Dos Functions - 11 of 12 ΓòÉΓòÉΓòÉ
  13589.  
  13590. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13591. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13592. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13593. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13594. Γöé59/01               ΓöéSendAChar                                         Γöé
  13595. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13596. Γöé59/02               ΓöéReceiveAChar                                      Γöé
  13597. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13598. Γöé59/03               ΓöéReadStatus                                        Γöé
  13599. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13600. Γöé59/04               ΓöéExtendedInitialize                                Γöé
  13601. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13602. Γöé59/05               ΓöéExtendedCommPortControl                           Γöé
  13603. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13604. Γöé59/7E               ΓöéInitTheCommPort                                   Γöé
  13605. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13606. Γöé5A/01               ΓöéShowCursor                                        Γöé
  13607. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13608. Γöé5A/02               ΓöéHideCursor                                        Γöé
  13609. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13610. Γöé5A/03               ΓöéGetButtonStatusAndMousePos                        Γöé
  13611. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13612. Γöé5A/04               ΓöéSetMouseCursorPos                                 Γöé
  13613. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13614. Γöé5A/05               ΓöéGetButtonPressInfo                                Γöé
  13615. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13616. Γöé5A/06               ΓöéGetButtonReleaseInfo                              Γöé
  13617. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13618. Γöé5A/07               ΓöéSetMin/MaxHorizontalCursor                        Γöé
  13619. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13620. Γöé5A/08               ΓöéSetMin/MaxVerticalCursor                          Γöé
  13621. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13622. Γöé5A/09               ΓöéSetGraphicsCursorBlock                            Γöé
  13623. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13624. Γöé5A/0A               ΓöéSetTextCursor                                     Γöé
  13625. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13626. Γöé5A/0B               ΓöéReadMouseMotionCounters                           Γöé
  13627. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13628. Γöé5A/0C               ΓöéSetIntSubrCallMask                                Γöé
  13629. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13630. Γöé5A/0D               ΓöéLightPenEmulModeOn                                Γöé
  13631. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13632. Γöé5A/0E               ΓöéLightPenEmulModeOff                               Γöé
  13633. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13634. Γöé5A/0F               ΓöéSetMickey/PixelRatio                              Γöé
  13635. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13636. Γöé5A/10               ΓöéConditionalOff                                    Γöé
  13637. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13638. Γöé5A/11               ΓöéSetDoubleSpeedThreshold                           Γöé
  13639. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13640. Γöé5A/12               ΓöéSwapInterruptSubroutines                          Γöé
  13641. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13642. Γöé5A/13               ΓöéGetMouseDriverState                               Γöé
  13643. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13644. Γöé5A/14               ΓöéSaveMouseDriverState                              Γöé
  13645. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13646. Γöé5A/15               ΓöéRestoreMouseDriverState                           Γöé
  13647. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13648. Γöé5A/16               ΓöéSetAltSubrCallMask                                Γöé
  13649. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13650. Γöé5A/17               ΓöéGetUserAltIntAddr                                 Γöé
  13651. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13652. Γöé5A/18               ΓöéSetMouseSensitivity                               Γöé
  13653. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13654. Γöé5A/19               ΓöéGetMouseSensitivity                               Γöé
  13655. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13656. Γöé5A/1A               ΓöéSetMouseInterruptRate                             Γöé
  13657. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13658. Γöé5A/1B               ΓöéSetCRTPageNumber                                  Γöé
  13659. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13660. Γöé5A/1C               ΓöéGetCRTPageNumber                                  Γöé
  13661. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13662. Γöé5A/1D               ΓöéDisableMouseDriver                                Γöé
  13663. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13664. Γöé5A/1E               ΓöéEnableMouseDriver                                 Γöé
  13665. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13666. Γöé5A/1F               ΓöéSoftwareReset                                     Γöé
  13667. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13668. Γöé5A/20               ΓöéSetLanguageForMsg                                 Γöé
  13669. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13670. Γöé5A/21               ΓöéGetLanguageNumber                                 Γöé
  13671. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13672. Γöé5A/22               ΓöéGetDriverVersion                                  Γöé
  13673. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13674. Γöé5A/7E               ΓöéMouseResetAndStatus                               Γöé
  13675. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13676.  
  13677.  
  13678. ΓòÉΓòÉΓòÉ 12.7.13. Dos Functions - 12 of 12 ΓòÉΓòÉΓòÉ
  13679.  
  13680. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13681. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13682. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13683. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13684. Γöé5C/01               ΓöéReadStatusOfLastOp                                Γöé
  13685. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13686. Γöé5C/02               ΓöéReadDesiredSectors                                Γöé
  13687. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13688. Γöé5C/03               ΓöéWriteDesiredSectors                               Γöé
  13689. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13690. Γöé5C/04               ΓöéVerifyDesiredSectors                              Γöé
  13691. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13692. Γöé5C/05               ΓöéFormatDesiredTrack                                Γöé
  13693. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13694. Γöé5C/08               ΓöéReadDriveParameters                               Γöé
  13695. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13696. Γöé5C/15               ΓöéReadDASDType                                      Γöé
  13697. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13698. Γöé5C/16               ΓöéSetDisketteChgLineStatus                          Γöé
  13699. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13700. Γöé5C/17               ΓöéSetDASDTypeForFormat                              Γöé
  13701. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13702. Γöé5C/18               ΓöéSetMediaTypeForFormat                             Γöé
  13703. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13704. Γöé5C/7E               ΓöéResetDisketteSystem                               Γöé
  13705. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13706. Γöé60/01               ΓöéDosDevConfig                                      Γöé
  13707. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13708. Γöé60/02               ΓöéDosDevIOCtl                                       Γöé
  13709. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13710. Γöé60/04               ΓöéDosMonOpen                                        Γöé
  13711. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13712. Γöé60/05               ΓöéDosMonClose                                       Γöé
  13713. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13714. Γöé60/06               ΓöéDosMonReg                                         Γöé
  13715. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13716. Γöé60/07               ΓöéDosMonRead                                        Γöé
  13717. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13718. Γöé60/08               ΓöéDosMonWrite                                       Γöé
  13719. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13720. Γöé60/09               ΓöéDosPhysicalDisk                                   Γöé
  13721. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13722. Γöé60/0A               ΓöéDosDevIOCtl2                                      Γöé
  13723. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13724. Γöé60/0B               ΓöéDosCLIAccess                                      Γöé
  13725. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13726. Γöé60/0C               ΓöéDosPortAccess                                     Γöé
  13727. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13728. Γöé60/81               ΓöéDosDevConfig                                      Γöé
  13729. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13730. Γöé60/82               ΓöéDosDevIOCtl                                       Γöé
  13731. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13732. Γöé60/84               ΓöéDosMonOpen                                        Γöé
  13733. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13734. Γöé60/85               ΓöéDosMonClose                                       Γöé
  13735. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13736. Γöé60/86               ΓöéDosMonReg                                         Γöé
  13737. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13738. Γöé60/87               ΓöéDosMonRead                                        Γöé
  13739. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13740. Γöé60/88               ΓöéDosMonWrite                                       Γöé
  13741. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13742. Γöé60/89               ΓöéDosPhysicalDisk                                   Γöé
  13743. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13744. Γöé60/8A               ΓöéDosDevIOCtl2                                      Γöé
  13745. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13746. Γöé60/8B               ΓöéDosCLIAccess                                      Γöé
  13747. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13748. Γöé60/8C               ΓöéDosPortAccess                                     Γöé
  13749. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13750.  
  13751.  
  13752. ΓòÉΓòÉΓòÉ 12.7.14. DevHlp Functions - 1 of 2 ΓòÉΓòÉΓòÉ
  13753.  
  13754. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13755. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13756. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13757. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13758. Γöé61/01               ΓöéDevHlp_SchedClock                                 Γöé
  13759. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13760. Γöé61/02               ΓöéDevHlp_DevDone                                    Γöé
  13761. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13762. Γöé61/03               ΓöéDevHlp_Yield                                      Γöé
  13763. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13764. Γöé61/04               ΓöéDevHlp_TCYield                                    Γöé
  13765. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13766. Γöé61/05               ΓöéDevHlp_Block                                      Γöé
  13767. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13768. Γöé61/06               ΓöéDevHlp_Run                                        Γöé
  13769. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13770. Γöé61/07               ΓöéDevHlp_SemRequest                                 Γöé
  13771. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13772. Γöé61/08               ΓöéDevHlp_SemClear                                   Γöé
  13773. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13774. Γöé61/09               ΓöéDevHlp_SemHandle                                  Γöé
  13775. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13776. Γöé61/0A               ΓöéDevHlp_PushReqPacket                              Γöé
  13777. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13778. Γöé61/0B               ΓöéDevHlp_PullReqPacket                              Γöé
  13779. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13780. Γöé61/0C               ΓöéDevHlp_PullParticular                             Γöé
  13781. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13782. Γöé61/0D               ΓöéDevHlp_SortReqPacket                              Γöé
  13783. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13784. Γöé61/0E               ΓöéDevHlp_AllocReqPacket                             Γöé
  13785. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13786. Γöé61/0F               ΓöéDevHlp_FreeReqPacket                              Γöé
  13787. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13788. Γöé61/10               ΓöéDevHlp_QueueInit                                  Γöé
  13789. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13790. Γöé61/11               ΓöéDevHlp_QueueFlush                                 Γöé
  13791. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13792. Γöé61/12               ΓöéDevHlp_QueueWrite                                 Γöé
  13793. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13794. Γöé61/13               ΓöéDevHlp_QueueRead                                  Γöé
  13795. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13796. Γöé61/14               ΓöéDevHlp_Lock                                       Γöé
  13797. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13798. Γöé61/15               ΓöéDevHlp_Unlock                                     Γöé
  13799. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13800. Γöé61/17               ΓöéDevHlp_VirtToPhys                                 Γöé
  13801. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13802. Γöé61/18               ΓöéDevHlp_PhysToUVirt                                Γöé
  13803. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13804. Γöé61/19               ΓöéDevHlp_AllocPhys                                  Γöé
  13805. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13806. Γöé61/1A               ΓöéDevHlp_FreePhys                                   Γöé
  13807. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13808. Γöé61/1B               ΓöéDevHlp_SetROMVector                               Γöé
  13809. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13810. Γöé61/1C               ΓöéDevHlp_SetIRQ                                     Γöé
  13811. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13812. Γöé61/1D               ΓöéDevHlp_UnSetIRQ                                   Γöé
  13813. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13814. Γöé61/1E               ΓöéDevHlp_SetTimer                                   Γöé
  13815. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13816. Γöé61/1F               ΓöéDevHlp_ResetTimer                                 Γöé
  13817. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13818. Γöé61/20               ΓöéDevHlp_MonCreate                                  Γöé
  13819. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13820. Γöé61/21               ΓöéDevHlp_Register                                   Γöé
  13821. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13822. Γöé61/22               ΓöéDevHlp_DeRegister                                 Γöé
  13823. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13824. Γöé61/23               ΓöéDevHlp_MonWrite                                   Γöé
  13825. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13826. Γöé61/24               ΓöéDevHlp_MonFlush                                   Γöé
  13827. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13828. Γöé61/25               ΓöéDevHlp_GetDOSVar                                  Γöé
  13829. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13830. Γöé61/26               ΓöéDevHlp_SendEvent                                  Γöé
  13831. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13832. Γöé61/27               ΓöéDevHlp_ROMCritSection                             Γöé
  13833. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13834. Γöé61/28               ΓöéDevHlp_EOI                                        Γöé
  13835. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13836. Γöé61/29               ΓöéDevHlp_GetLIDEntry                                Γöé
  13837. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13838. Γöé61/2A               ΓöéDevHlp_FreeLIDEntry                               Γöé
  13839. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13840. Γöé61/2B               ΓöéDevHlp_ABIOSCall                                  Γöé
  13841. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13842. Γöé61/2C               ΓöéDevHlp_ABIOSCommonEnt                             Γöé
  13843. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13844. Γöé61/2E               ΓöéDevHlp_TickCount                                  Γöé
  13845. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13846. Γöé61/2F               ΓöéDevHlp_AllocGDTSel                                Γöé
  13847. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13848.  
  13849.  
  13850. ΓòÉΓòÉΓòÉ 12.7.15. DevHlp Functions - 2 of 2 ΓòÉΓòÉΓòÉ
  13851.  
  13852. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13853. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13854. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13855. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13856. Γöé61/30               ΓöéDevHlp_PhysToGDTSel                               Γöé
  13857. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13858. Γöé61/31               ΓöéDevHlp_RealToProt                                 Γöé
  13859. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13860. Γöé61/32               ΓöéDevHlp_ProtToReal                                 Γöé
  13861. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13862. Γöé61/33               ΓöéDevHlp_VerifyAccess                               Γöé
  13863. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13864. Γöé61/34               ΓöéDevHlp_AddTraceEvent                              Γöé
  13865. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13866. Γöé61/35               ΓöéDevHlp_GetDeviceBlock                             Γöé
  13867. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13868. Γöé61/36               ΓöéDevHlp_ABIOSGetParms                              Γöé
  13869. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13870. Γöé61/37               ΓöéDevHlp_AttachDD                                   Γöé
  13871. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13872. Γöé61/38               ΓöéDevHlp_InternalError                              Γöé
  13873. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13874. Γöé61/3A               ΓöéDevHlp_Profiling Kernel                           Γöé
  13875. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13876. Γöé61/3B               ΓöéDevHlp_RegStackUsage                              Γöé
  13877. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13878. Γöé61/3C               ΓöéDevHlp_LogEntry                                   Γöé
  13879. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13880. Γöé61/3D               ΓöéDevHlp_VideoPause                                 Γöé
  13881. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13882. Γöé61/3E               ΓöéDevHlp_SaveMessage                                Γöé
  13883. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13884. Γöé61/3F               ΓöéDevHlp_ReallocSeg                                 Γöé
  13885. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13886. Γöé61/40               ΓöéDevHlp_PutWaitingQueue                            Γöé
  13887. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13888. Γöé61/41               ΓöéDevHlp_GetWaitingQueue                            Γöé
  13889. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13890. Γöé61/42               ΓöéDevHlp_VMAlloc                                    Γöé
  13891. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13892. Γöé61/43               ΓöéDevHlp_VMFree                                     Γöé
  13893. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13894. Γöé61/44               ΓöéDevHlp_VMGlobalToProcess                          Γöé
  13895. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13896. Γöé61/45               ΓöéDevHlp_VMLock                                     Γöé
  13897. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13898. Γöé61/46               ΓöéDevHlp_VMProcessToGlobal                          Γöé
  13899. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13900. Γöé61/47               ΓöéDevHlp_VMUnlock                                   Γöé
  13901. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13902. Γöé61/48               ΓöéDevHlp_FreeGDTSelector                            Γöé
  13903. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13904. Γöé61/49               ΓöéDevHlp_GetDescInfo                                Γöé
  13905. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13906. Γöé61/4A               ΓöéDevHlp_LinToGDTSelector                           Γöé
  13907. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13908. Γöé61/4B               ΓöéDevHlp_LinToPageList                              Γöé
  13909. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13910. Γöé61/4C               ΓöéDevHlp_PageListToGDTSelector                      Γöé
  13911. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13912. Γöé61/4D               ΓöéDevHlp_PageListToLin                              Γöé
  13913. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13914. Γöé61/4E               ΓöéDevHlp_VirtToLin                                  Γöé
  13915. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13916. Γöé61/70               ΓöéDevHlp_CreateSpinLock                             Γöé
  13917. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13918. Γöé61/71               ΓöéDevHlp_FreeSpinLock                               Γöé
  13919. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13920. Γöé61/72               ΓöéDevHlp_AcquireSpinLock                            Γöé
  13921. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13922. Γöé61/73               ΓöéDevHlp_ReleaseSpinLock                            Γöé
  13923. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13924. Γöé62/01               ΓöéDevHlp_PhysToVirt                                 Γöé
  13925. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13926. Γöé62/02               ΓöéDevHlp_UnPhysToVirt                               Γöé
  13927. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  13928.  
  13929.  
  13930. ΓòÉΓòÉΓòÉ 12.7.16. Kbd Functions ΓòÉΓòÉΓòÉ
  13931.  
  13932. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  13933. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  13934. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  13935. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13936. Γöé64/01               ΓöéDosBeep                                           Γöé
  13937. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13938. Γöé64/02               ΓöéKbdRegister                                       Γöé
  13939. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13940. Γöé64/03               ΓöéKbdCharIn                                         Γöé
  13941. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13942. Γöé64/04               ΓöéKbdFlushBuffer                                    Γöé
  13943. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13944. Γöé64/05               ΓöéKbdPeek                                           Γöé
  13945. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13946. Γöé64/06               ΓöéKbdSetStatus                                      Γöé
  13947. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13948. Γöé64/07               ΓöéKbdGetStatus                                      Γöé
  13949. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13950. Γöé64/08               ΓöéKbdStringIn                                       Γöé
  13951. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13952. Γöé64/09               ΓöéKbdDeRegister                                     Γöé
  13953. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13954. Γöé64/0A               ΓöéKbdOpen                                           Γöé
  13955. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13956. Γöé64/0B               ΓöéKbdClose                                          Γöé
  13957. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13958. Γöé64/0C               ΓöéKbdGetFocus                                       Γöé
  13959. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13960. Γöé64/0D               ΓöéKbdFreeFocus                                      Γöé
  13961. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13962. Γöé64/0E               ΓöéKbdGetCp                                          Γöé
  13963. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13964. Γöé64/0F               ΓöéKbdSetCp                                          Γöé
  13965. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13966. Γöé64/10               ΓöéKbdXlate                                          Γöé
  13967. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13968. Γöé64/11               ΓöéKbdSetCustXt                                      Γöé
  13969. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13970. Γöé64/12               ΓöéKbdGetHWID                                        Γöé
  13971. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13972. Γöé64/13               ΓöéKbdSetFgnd                                        Γöé
  13973. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13974. Γöé64/14               ΓöéKbdShellInit                                      Γöé
  13975. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13976. Γöé64/15               ΓöéKbdSynch                                          Γöé
  13977. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13978. Γöé68/01               ΓöéRead                                              Γöé
  13979. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13980. Γöé68/02               ΓöéWrite                                             Γöé
  13981. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13982. Γöé68/03               ΓöéWrite with verify                                 Γöé
  13983. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13984. Γöé68/04               ΓöéRequest Enqueue                                   Γöé
  13985. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13986. Γöé68/05               ΓöéRequest List Entry                                Γöé
  13987. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13988. Γöé68/06               ΓöéSCB Entry Ready For Transfer                      Γöé
  13989. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13990. Γöé68/07               ΓöéSCB Chain Complete                                Γöé
  13991. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13992. Γöé68/08               ΓöéStrategy-1 Request                                Γöé
  13993. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13994. Γöé68/09               ΓöéIOCTL Request                                     Γöé
  13995. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13996. Γöé68/0A               ΓöéStrategy-2 RL Header                              Γöé
  13997. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  13998. Γöé68/0B               ΓöéStrategy-2 RL Entry                               Γöé
  13999. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14000. Γöé68/0C               ΓöéIORB Request                                      Γöé
  14001. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  14002.  
  14003.  
  14004. ΓòÉΓòÉΓòÉ 12.7.17. Mouse Functions ΓòÉΓòÉΓòÉ
  14005.  
  14006. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  14007. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  14008. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  14009. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14010. Γöé6A/01               ΓöéMouRegister                                       Γöé
  14011. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14012. Γöé6A/02               ΓöéMouGetNumButtons                                  Γöé
  14013. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14014. Γöé6A/03               ΓöéMouGetNumMickeys                                  Γöé
  14015. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14016. Γöé6A/04               ΓöéMouGetDevStatus                                   Γöé
  14017. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14018. Γöé6A/05               ΓöéMouReadEventQue                                   Γöé
  14019. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14020. Γöé6A/06               ΓöéMouGetNumQueEl                                    Γöé
  14021. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14022. Γöé6A/07               ΓöéMouGetEventMask                                   Γöé
  14023. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14024. Γöé6A/08               ΓöéMouGetScaleFact                                   Γöé
  14025. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14026. Γöé6A/09               ΓöéMouSetScaleFact                                   Γöé
  14027. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14028. Γöé6A/0A               ΓöéMouSetEventMask                                   Γöé
  14029. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14030. Γöé6A/0B               ΓöéMouOpen                                           Γöé
  14031. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14032. Γöé6A/0C               ΓöéMouClose                                          Γöé
  14033. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14034. Γöé6A/0D               ΓöéMouSetPtrShape                                    Γöé
  14035. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14036. Γöé6A/0E               ΓöéMouRemovePtr                                      Γöé
  14037. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14038. Γöé6A/0F               ΓöéMouDrawPtr                                        Γöé
  14039. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14040. Γöé6A/11               ΓöéMouDeregister                                     Γöé
  14041. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14042. Γöé6A/13               ΓöéMouGetPtrShape                                    Γöé
  14043. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14044. Γöé6A/14               ΓöéMouGetPtrPos                                      Γöé
  14045. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14046. Γöé6A/15               ΓöéMouSetPtrPos                                      Γöé
  14047. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14048. Γöé6A/17               ΓöéMouFlushQue                                       Γöé
  14049. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14050. Γöé6A/18               ΓöéMouSetDevStatus                                   Γöé
  14051. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14052. Γöé6A/19               ΓöéMouGetThreshold                                   Γöé
  14053. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14054. Γöé6A/1A               ΓöéMouSetThreshold                                   Γöé
  14055. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14056. Γöé6A/1B               ΓöéMouShellInit                                      Γöé
  14057. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14058. Γöé6A/1C               ΓöéMouSynch                                          Γöé
  14059. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  14060.  
  14061.  
  14062. ΓòÉΓòÉΓòÉ 12.7.18. VIO Functions ΓòÉΓòÉΓòÉ
  14063.  
  14064. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  14065. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  14066. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  14067. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14068. Γöé6C/01               ΓöéVioRegister                                       Γöé
  14069. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14070. Γöé6C/02               ΓöéVioGetBuf                                         Γöé
  14071. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14072. Γöé6C/03               ΓöéVioGetCurPos                                      Γöé
  14073. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14074. Γöé6C/04               ΓöéVioGetCurType                                     Γöé
  14075. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14076. Γöé6C/05               ΓöéVioGetMode                                        Γöé
  14077. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14078. Γöé6C/06               ΓöéVioGetPhysBuf                                     Γöé
  14079. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14080. Γöé6C/07               ΓöéVioReadCellStr                                    Γöé
  14081. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14082. Γöé6C/08               ΓöéVioReadCharStr                                    Γöé
  14083. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14084. Γöé6C/09               ΓöéVioScrollDn                                       Γöé
  14085. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14086. Γöé6C/0A               ΓöéVioScrollUp                                       Γöé
  14087. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14088. Γöé6C/0B               ΓöéVioScrollLf                                       Γöé
  14089. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14090. Γöé6C/0C               ΓöéVioScrollRt                                       Γöé
  14091. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14092. Γöé6C/0D               ΓöéVioSetCurPos                                      Γöé
  14093. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14094. Γöé6C/0E               ΓöéVioSetCurType                                     Γöé
  14095. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14096. Γöé6C/0F               ΓöéVioSetMode                                        Γöé
  14097. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14098. Γöé6C/10               ΓöéVioShowBuf                                        Γöé
  14099. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14100. Γöé6C/11               ΓöéVioWrtCellStr                                     Γöé
  14101. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14102. Γöé6C/12               ΓöéVioWrtCharStr                                     Γöé
  14103. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14104. Γöé6C/13               ΓöéVioWrtCharStrAtt                                  Γöé
  14105. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14106. Γöé6C/14               ΓöéVioWrtNAttr                                       Γöé
  14107. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14108. Γöé6C/15               ΓöéVioWrtNCell                                       Γöé
  14109. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14110. Γöé6C/16               ΓöéVioWrtNChar                                       Γöé
  14111. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14112. Γöé6C/17               ΓöéVioWrtTTY                                         Γöé
  14113. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14114. Γöé6C/18               ΓöéVioSetAnsi                                        Γöé
  14115. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14116. Γöé6C/19               ΓöéVioGetAnsi                                        Γöé
  14117. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14118. Γöé6C/1A               ΓöéVioModeWait                                       Γöé
  14119. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14120. Γöé6C/1B               ΓöéVioSavRedrawWait                                  Γöé
  14121. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14122. Γöé6C/1C               ΓöéVioSavRedrawUndo                                  Γöé
  14123. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14124. Γöé6C/1D               ΓöéVioScrLock                                        Γöé
  14125. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14126. Γöé6C/1E               ΓöéVioScrUnLock                                      Γöé
  14127. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14128. Γöé6C/1F               ΓöéVioModeUndo                                       Γöé
  14129. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14130. Γöé6C/20               ΓöéVioGetFont                                        Γöé
  14131. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14132. Γöé6C/21               ΓöéVioGetConfig                                      Γöé
  14133. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14134. Γöé6C/22               ΓöéVioPopUp                                          Γöé
  14135. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14136. Γöé6C/23               ΓöéVioEndPopUp                                       Γöé
  14137. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14138. Γöé6C/24               ΓöéVioDeRegister                                     Γöé
  14139. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14140. Γöé6C/25               ΓöéVioPrtSc                                          Γöé
  14141. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14142. Γöé6C/26               ΓöéVioPrtScToggle                                    Γöé
  14143. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14144. Γöé6C/27               ΓöéVioSetCp                                          Γöé
  14145. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14146. Γöé6C/28               ΓöéVioGetCp                                          Γöé
  14147. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14148. Γöé6C/29               ΓöéVioSetFont                                        Γöé
  14149. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14150. Γöé6C/2A               ΓöéVioGetState                                       Γöé
  14151. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14152. Γöé6C/2B               ΓöéVioSetState                                       Γöé
  14153. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14154. Γöé6C/2C               ΓöéVioAssociate                                      Γöé
  14155. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14156. Γöé6C/2D               ΓöéVioCreateLogFont                                  Γöé
  14157. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14158. Γöé6C/2E               ΓöéVioCreatePS                                       Γöé
  14159. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14160. Γöé6C/2F               ΓöéVioDeleteSetID                                    Γöé
  14161. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14162. Γöé6C/30               ΓöéVioGetDeviceCellSize                              Γöé
  14163. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14164. Γöé6C/31               ΓöéVioGetOrg                                         Γöé
  14165. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14166. Γöé6C/32               ΓöéVioGetPSAddress                                   Γöé
  14167. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14168. Γöé6C/33               ΓöéVioGlobalReg                                      Γöé
  14169. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14170. Γöé6C/34               ΓöéVioQueryConsole                                   Γöé
  14171. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14172. Γöé6C/35               ΓöéVioQueryFonts                                     Γöé
  14173. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14174. Γöé6C/36               ΓöéVioQuerySetIDs                                    Γöé
  14175. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14176. Γöé6C/37               ΓöéVioSetDeviceCellSize                              Γöé
  14177. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14178. Γöé6C/38               ΓöéVioSetOrg                                         Γöé
  14179. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14180. Γöé6C/39               ΓöéVioShieldInit                                     Γöé
  14181. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14182. Γöé6C/3A               ΓöéVioShieldTerm                                     Γöé
  14183. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14184. Γöé6C/3B               ΓöéVioShowPS                                         Γöé
  14185. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14186. Γöé6C/3C               ΓöéVioDestroyPS                                      Γöé
  14187. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  14188.  
  14189.  
  14190. ΓòÉΓòÉΓòÉ 12.7.19. Miscellaneous Kernel Functions ΓòÉΓòÉΓòÉ
  14191.  
  14192. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  14193. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  14194. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  14195. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14196. Γöé7F/01               ΓöéCpuSwitch                                         Γöé
  14197. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14198. Γöé7F/02               ΓöéCpuSwitch                                         Γöé
  14199. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14200. Γöé7F/03               ΓöéCpuSwitch                                         Γöé
  14201. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14202. Γöé7F/04               ΓöéCpuSwitch                                         Γöé
  14203. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14204. Γöé7F/05               ΓöéCpuSwitch                                         Γöé
  14205. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14206. Γöé7F/06               ΓöéCpuSwitch                                         Γöé
  14207. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14208. Γöé7F/07               ΓöéCpuSwitch                                         Γöé
  14209. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14210. Γöé7F/08               ΓöéCpuSwitch                                         Γöé
  14211. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14212. Γöé80/02               ΓöéDosSMSGStart                                      Γöé
  14213. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14214. Γöé80/03               ΓöéDosSMSGSwitch                                     Γöé
  14215. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14216. Γöé80/04               ΓöéDosSMSGTerminate                                  Γöé
  14217. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14218. Γöé80/09               ΓöéDosSMSGDoPopup                                    Γöé
  14219. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14220. Γöé80/0A               ΓöéDosSMSGEndPopup                                   Γöé
  14221. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14222. Γöé80/0B               ΓöéDosSMSGSet                                        Γöé
  14223. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14224. Γöé80/0C               ΓöéDosSelectSession                                  Γöé
  14225. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14226. Γöé80/0D               ΓöéDosSetSession                                     Γöé
  14227. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14228. Γöé80/0E               ΓöéDosStartSession                                   Γöé
  14229. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14230. Γöé80/0F               ΓöéDosStopSession                                    Γöé
  14231. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14232. Γöé80/11               ΓöéDosSMDoAppReq                                     Γöé
  14233. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14234. Γöé80/13               ΓöéDosSMAppNotify                                    Γöé
  14235. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14236. Γöé80/14               ΓöéDosSMNotifyDD                                     Γöé
  14237. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14238. Γöé80/15               ΓöéDosSMNotifyDD2                                    Γöé
  14239. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14240. Γöé80/16               ΓöéDosSMParentSwitch                                 Γöé
  14241. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14242. Γöé80/17               ΓöéDosSMGetStatus                                    Γöé
  14243. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14244. Γöé80/18               ΓöéDosSMRegisterDD                                   Γöé
  14245. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14246. Γöé81/03               ΓöéDosSMGetSGId                                      Γöé
  14247. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14248. Γöé81/04               ΓöéDosSMFreeSGId                                     Γöé
  14249. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14250. Γöé81/05               ΓöéDosSMAddSGQueue                                   Γöé
  14251. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14252. Γöé81/06               ΓöéDosSMGetSGQueue                                   Γöé
  14253. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14254. Γöé81/07               ΓöéDosSMDelSGQueue                                   Γöé
  14255. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14256. Γöé81/09               ΓöéDosSMChildExit                                    Γöé
  14257. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14258. Γöé81/0A               ΓöéParentNotify                                      Γöé
  14259. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14260. Γöé81/0B               ΓöéParentSwitch                                      Γöé
  14261. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14262. Γöé81/0C               ΓöéWriteTermQueue                                    Γöé
  14263. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14264. Γöé83/01               ΓöéDosGetMessage                                     Γöé
  14265. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14266. Γöé83/02               ΓöéDosInsertMessage                                  Γöé
  14267. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14268. Γöé83/03               ΓöéDosPutMessage                                     Γöé
  14269. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14270. Γöé83/04               ΓöéDosQueryMessageCP                                 Γöé
  14271. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14272. Γöé88/01               ΓöéDosCloseQueue                                     Γöé
  14273. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14274. Γöé88/02               ΓöéDosCreateQueue                                    Γöé
  14275. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14276. Γöé88/03               ΓöéDosOpenQueue                                      Γöé
  14277. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14278. Γöé88/04               ΓöéDosPeekQueue                                      Γöé
  14279. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14280. Γöé88/05               ΓöéDosPurgeQueue                                     Γöé
  14281. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14282. Γöé88/06               ΓöéDosQueryQueue                                     Γöé
  14283. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14284. Γöé88/07               ΓöéDosReadQueue                                      Γöé
  14285. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14286. Γöé88/08               ΓöéDosWriteQueue                                     Γöé
  14287. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14288. Γöé89/01               ΓöéWrite Internal                                    Γöé
  14289. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14290. Γöé89/02               ΓöéRead Internal                                     Γöé
  14291. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14292. Γöé89/03               ΓöéPeek Internal                                     Γöé
  14293. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  14294.  
  14295.  
  14296. ΓòÉΓòÉΓòÉ 12.7.20. VDH Functions ΓòÉΓòÉΓòÉ
  14297.  
  14298. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  14299. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  14300. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  14301. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14302. Γöé8D/01               ΓöéVDHCreateSem                                      Γöé
  14303. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14304. Γöé8D/02               ΓöéVDHDestroySem                                     Γöé
  14305. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14306. Γöé8D/03               ΓöéVDHWaitEventSem                                   Γöé
  14307. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14308. Γöé8D/04               ΓöéVDHRequestMutexSem                                Γöé
  14309. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14310. Γöé8D/05               ΓöéVDHReleaseMutexSem                                Γöé
  14311. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14312. Γöé8D/06               ΓöéVDHResetEventSem                                  Γöé
  14313. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14314. Γöé8D/07               ΓöéVDHPostEventSem                                   Γöé
  14315. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14316. Γöé8D/08               ΓöéVDHQuerySem                                       Γöé
  14317. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14318. Γöé8D/09               ΓöéVDHArmTimerHook                                   Γöé
  14319. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14320. Γöé8D/0A               ΓöéVDHDisArmTimerHook                                Γöé
  14321. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14322. Γöé8D/0B               ΓöéVDHAllocMem                                       Γöé
  14323. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14324. Γöé8D/0C               ΓöéVDHFreeMem                                        Γöé
  14325. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14326. Γöé8D/0D               ΓöéVDHAllocDosMem                                    Γöé
  14327. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14328. Γöé8D/0E               ΓöéVDHCreateBlockPool                                Γöé
  14329. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14330. Γöé8D/0F               ΓöéVDHAllocBlock                                     Γöé
  14331. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14332. Γöé8D/10               ΓöéVDHFreeBlock                                      Γöé
  14333. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14334. Γöé8D/11               ΓöéVDHDestroyBlockPool                               Γöé
  14335. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14336. Γöé8D/12               ΓöéVDHCopyMem                                        Γöé
  14337. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14338. Γöé8D/13               ΓöéVDHExchangeMem                                    Γöé
  14339. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14340. Γöé8D/14               ΓöéVDHAllocPages                                     Γöé
  14341. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14342. Γöé8D/15               ΓöéVDHReallocPages                                   Γöé
  14343. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14344. Γöé8D/16               ΓöéVDHFreePages                                      Γöé
  14345. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14346. Γöé8D/17               ΓöéVDHFindFreePages                                  Γöé
  14347. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14348. Γöé8D/18               ΓöéVDHGetDirtyPageInfo                               Γöé
  14349. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14350. Γöé8D/19               ΓöéVDHQueryFreePages                                 Γöé
  14351. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14352. Γöé8D/1A               ΓöéVDHReservePages                                   Γöé
  14353. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14354. Γöé8D/1B               ΓöéVDHUnreservePages                                 Γöé
  14355. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14356. Γöé8D/1C               ΓöéVDHMapPages                                       Γöé
  14357. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14358. Γöé8D/1D               ΓöéVDHAllocDMABuffer                                 Γöé
  14359. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14360. Γöé8D/1E               ΓöéVDHFreeDMABuffer                                  Γöé
  14361. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14362. Γöé8D/1F               ΓöéVDHYield                                          Γöé
  14363. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14364. Γöé8D/20               ΓöéVDHSetPriority                                    Γöé
  14365. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14366. Γöé8D/21               ΓöéVDHCreateSel                                      Γöé
  14367. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14368. Γöé8D/22               ΓöéVDHDestroySel                                     Γöé
  14369. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14370. Γöé8D/23               ΓöéVDHLockMem                                        Γöé
  14371. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14372. Γöé8D/24               ΓöéVDHUnlockMem                                      Γöé
  14373. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14374. Γöé8D/25               ΓöéVDHQueryHookData                                  Γöé
  14375. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14376. Γöé8D/26               ΓöéVDHArmContextHook                                 Γöé
  14377. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14378. Γöé8D/27               ΓöéVDHArmSTIHook                                     Γöé
  14379. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14380. Γöé8D/28               ΓöéVDHArmReturnHook                                  Γöé
  14381. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14382. Γöé8D/29               ΓöéVDHPushFarCall                                    Γöé
  14383. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14384. Γöé8D/2F               ΓöéVDHPushRegs                                       Γöé
  14385. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14386. Γöé8D/30               ΓöéVDHPopRegs                                        Γöé
  14387. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14388. Γöé8D/31               ΓöéVDHPushStack                                      Γöé
  14389. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14390. Γöé8D/32               ΓöéVDHPopStack                                       Γöé
  14391. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14392. Γöé8D/33               ΓöéVDHSwitchToVPM                                    Γöé
  14393. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14394. Γöé8D/34               ΓöéVDHSwitchToV86                                    Γöé
  14395. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14396. Γöé8D/35               ΓöéVDHSetFlags                                       Γöé
  14397. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14398. Γöé8D/36               ΓöéVDHPushInt                                        Γöé
  14399. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14400. Γöé8D/37               ΓöéVDHPopInt                                         Γöé
  14401. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14402. Γöé8D/39               ΓöéVDHSetDosDevice                                   Γöé
  14403. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14404. Γöé8D/3A               ΓöéVDHInstallIOHook                                  Γöé
  14405. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14406. Γöé8D/3B               ΓöéVDHRemoveIOHook                                   Γöé
  14407. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14408. Γöé8D/3C               ΓöéVDHSetIOHookState                                 Γöé
  14409. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14410. Γöé8D/3D               ΓöéVDHInstallIntHook                                 Γöé
  14411. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14412. Γöé8D/3E               ΓöéVDHAllocHook                                      Γöé
  14413. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14414. Γöé8D/3F               ΓöéVDHFreeHook                                       Γöé
  14415. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14416. Γöé8D/40               ΓöéVDHArmBPHook                                      Γöé
  14417. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14418. Γöé8D/41               ΓöéVDHRegisterDPMI                                   Γöé
  14419. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14420. Γöé8D/42               ΓöéVDHGetSelBase                                     Γöé
  14421. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14422. Γöé8D/43               ΓöéVDHChangeVPMIF                                    Γöé
  14423. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14424. Γöé8D/44               ΓöéVDHReadUBuf                                       Γöé
  14425. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14426. Γöé8D/45               ΓöéVDHWriteUBuf                                      Γöé
  14427. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14428. Γöé8D/46               ΓöéVDHStartHWInt                                     Γöé
  14429. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14430. Γöé8D/47               ΓöéVDHCheckPagePerm                                  Γöé
  14431. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14432. Γöé8D/48               ΓöéVDHRaiseException                                 Γöé
  14433. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14434. Γöé8D/49               ΓöéVDHCheckVPMExcept                                 Γöé
  14435. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14436. Γöé8D/4A               ΓöéVDHGetVPMExcept                                   Γöé
  14437. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14438. Γöé8D/4B               ΓöéVDHSetVPMExcept                                   Γöé
  14439. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14440. Γöé8D/4C               ΓöéVDHCheckVPMIntVector                              Γöé
  14441. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14442. Γöé8D/4D               ΓöéVDHGetVPMIntVector                                Γöé
  14443. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14444. Γöé8D/4E               ΓöéVDHSetVPMIntVector                                Γöé
  14445. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14446. Γöé8D/4F               ΓöéVDHArmVPMBPHook                                   Γöé
  14447. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14448. Γöé8D/50               ΓöéVDHBeginUseVPMStack                               Γöé
  14449. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14450. Γöé8D/51               ΓöéVDHEndUseVPMStack                                 Γöé
  14451. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14452. Γöé8D/52               ΓöéVDHProbeUBuf                                      Γöé
  14453. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14454. Γöé8D/53               ΓöéVDHPopVPMFarRet                                   Γöé
  14455. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14456. Γöé8D/54               ΓöéVDHPrepVPMIret                                    Γöé
  14457. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14458. Γöé8D/55               ΓöéVDHKillVDM                                        Γöé
  14459. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14460. Γöé8D/56               ΓöéVDHHaltSystem                                     Γöé
  14461. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14462. Γöé8D/57               ΓöéVDHFreezeVDM                                      Γöé
  14463. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14464. Γöé8D/58               ΓöéVDHThawVDM                                        Γöé
  14465. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14466. Γöé8D/59               ΓöéVDHIsVDMFrozen                                    Γöé
  14467. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14468. Γöé8D/5A               ΓöéVDHOpenPDD                                        Γöé
  14469. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14470. Γöé8D/5B               ΓöéVDHRegisterVDD                                    Γöé
  14471. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14472. Γöé8D/5C               ΓöéVDHInstallUserHook                                Γöé
  14473. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14474. Γöé8D/5D               ΓöéVDHValidatePID                                    Γöé
  14475. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14476. Γöé8D/5E               ΓöéVDHVMGetHandle                                    Γöé
  14477. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14478. Γöé8D/5F               ΓöéVDHVMAttach                                       Γöé
  14479. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14480. Γöé8D/60               ΓöéVDHOpenVDD                                        Γöé
  14481. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14482. Γöé8D/61               ΓöéVDHCloseVDD                                       Γöé
  14483. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14484. Γöé8D/62               ΓöéVDHHandleFromPID                                  Γöé
  14485. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14486. Γöé8D/63               ΓöéVDHQuerySel                                       Γöé
  14487. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14488. Γöé8D/64               ΓöéVDHPutSysValue                                    Γöé
  14489. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14490. Γöé8D/65               ΓöéVDHRequestVDD                                     Γöé
  14491. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14492. Γöé8D/66               ΓöéVDHRegisterPerfCtrs                               Γöé
  14493. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14494. Γöé8D/67               ΓöéVDHDecodeProperty                                 Γöé
  14495. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14496. Γöé8D/68               ΓöéVDHCreateThread                                   Γöé
  14497. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14498. Γöé8D/69               ΓöéVDHExitThread                                     Γöé
  14499. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14500. Γöé8D/6A               ΓöéVDHGetError                                       Γöé
  14501. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14502. Γöé8D/6B               ΓöéVDHSetError                                       Γöé
  14503. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14504. Γöé8D/6C               ΓöéVDHHandleFromSGID                                 Γöé
  14505. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14506. Γöé8D/6D               ΓöéVDHEnumerateVDMs                                  Γöé
  14507. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14508. Γöé8D/6E               ΓöéVDHQueryLin                                       Γöé
  14509. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14510. Γöé8D/6F               ΓöéVDHQuerySysValue                                  Γöé
  14511. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14512. Γöé8D/70               ΓöéVDHDevBeep                                        Γöé
  14513. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14514. Γöé8D/71               ΓöéVDHProcessToGlobal                                Γöé
  14515. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14516. Γöé8D/72               ΓöéVDHInstallFaultHook                               Γöé
  14517. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14518. Γöé8D/73               ΓöéVDHRemoveFaultHook                                Γöé
  14519. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14520. Γöé8D/74               ΓöéVDHMapMemBlock                                    Γöé
  14521. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14522. Γöé8D/75               ΓöéVDHRegisterProperty                               Γöé
  14523. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14524. Γöé8D/76               ΓöéVDHQueryProperty                                  Γöé
  14525. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14526. Γöé8E/2A               ΓöéVDHSetVIRR                                        Γöé
  14527. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14528. Γöé8E/2B               ΓöéVDHClearVIRR                                      Γöé
  14529. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14530. Γöé8E/2C               ΓöéVDHQueryVIRQ                                      Γöé
  14531. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14532. Γöé8E/2D               ΓöéVDHWaitVIRRs                                      Γöé
  14533. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14534. Γöé8E/2E               ΓöéVDHWakeVIRRs                                      Γöé
  14535. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14536. Γöé8E/38               ΓöéVDHSendVEOI                                       Γöé
  14537. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14538. Γöé8E/AA               ΓöéVDHSetVIRR                                        Γöé
  14539. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14540. Γöé8E/AB               ΓöéVDHClearVIRR                                      Γöé
  14541. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14542. Γöé8E/AC               ΓöéVDHQueryVIRQ                                      Γöé
  14543. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14544. Γöé8E/AD               ΓöéVDHWaitVIRRs                                      Γöé
  14545. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14546. Γöé8E/AE               ΓöéVDHWakeVIRRs                                      Γöé
  14547. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14548. Γöé8E/B8               ΓöéVDHSendVEOI                                       Γöé
  14549. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  14550.  
  14551.  
  14552. ΓòÉΓòÉΓòÉ 12.7.21. Vpic, WinOS2 and STRACE Functions ΓòÉΓòÉΓòÉ
  14553.  
  14554. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  14555. ΓöéHook ID             ΓöéEvent Name                                        Γöé
  14556. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  14557. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14558. Γöé8E/77               ΓöévpicIntHdlr                                       Γöé
  14559. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14560. Γöé8E/78               ΓöévpicSetVIRR                                       Γöé
  14561. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14562. Γöé8E/79               ΓöévpicChangeVIRRState                               Γöé
  14563. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14564. Γöé8E/7A               ΓöévpicCheckVIRR                                     Γöé
  14565. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14566. Γöé8E/7B               ΓöévpicSimulateInt                                   Γöé
  14567. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14568. Γöé8E/7C               ΓöévpicSimulateIRQ0                                  Γöé
  14569. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14570. Γöé90/01               ΓöéWinOS2CreateTask                                  Γöé
  14571. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14572. Γöé90/02               ΓöéWinOS2LoadModule                                  Γöé
  14573. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14574. Γöé90/03               ΓöéWinOS2LoadSegment                                 Γöé
  14575. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14576. Γöé90/04               ΓöéWinOS2Schedule                                    Γöé
  14577. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14578. Γöé90/83               ΓöéWinOS2LoadSegment                                 Γöé
  14579. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14580. ΓöéA7/01               ΓöéDisplay Disk Directory                            Γöé
  14581. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14582. ΓöéA7/02               ΓöéShowMem Thread Dispatching                        Γöé
  14583. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14584. ΓöéA7/03               ΓöéDisplay Disk Directory                            Γöé
  14585. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14586. ΓöéA7/04               ΓöéSpecify Physical Drive                            Γöé
  14587. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14588. ΓöéA8/01               ΓöéSTRACE High32 Timer                               Γöé
  14589. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14590. ΓöéA8/02               ΓöéSTRACE Startup Hook                               Γöé
  14591. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14592. ΓöéA8/03               ΓöéSTRACE MTE Hook                                   Γöé
  14593. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  14594.  
  14595.  
  14596. ΓòÉΓòÉΓòÉ 12.7.22. Hooks Reserved for Customer Use ΓòÉΓòÉΓòÉ
  14597.  
  14598. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  14599. ΓöéHook ID             ΓöéEvent                                             Γöé
  14600. ΓöéMajor/Minor Code    Γöé                                                  Γöé
  14601. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14602. ΓöéB8/00-FF            ΓöéReserved for customer use                         Γöé
  14603. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  14604. ΓöéB9/00-FF            ΓöéReserved for customer use                         Γöé
  14605. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  14606.  
  14607.  
  14608. ΓòÉΓòÉΓòÉ 13. View and Set Program Type For Executable File (MARKEXE) ΓòÉΓòÉΓòÉ
  14609.  
  14610. The MARKEXE program enables you to view and set the program type for an 
  14611. executable file.  The program type identifies the OS/2 sessions in which a 
  14612. program can run. 
  14613.  
  14614. For applications running on OS/2 Warp Server for SMP, MARKEXE enables you to 
  14615. set the MPUNSAFE bit, which forces the application to always run in 
  14616. uniprocessor mode.  See Requirements for Multi-Processing for information on 
  14617. when to set the MPUNSAFE bit. 
  14618.  
  14619. Use MARKEXE with the OS/2 Linear Executable Linker (LINK386) or the OS/2 
  14620. Segmented Executable Linker (LINK) to change or set the program type of 
  14621. programs you have created and to set or unset the MPUNSAFE bit. 
  14622.  
  14623. You can set DLL initialization and termination and also enable long file name 
  14624. support.  When using LINK386, you can set DLL initialization and termination; 
  14625. long file name support is already set.  When using LINK, you can set DLL 
  14626. initialization and long file name support. 
  14627.  
  14628.  
  14629. ΓòÉΓòÉΓòÉ 13.1. Command-Line Syntax ΓòÉΓòÉΓòÉ
  14630.  
  14631. MARKEXE uses the following syntax: 
  14632.  
  14633. MARKEXE [/?] [FORCE] [NO] [option] filename...
  14634.  
  14635. Filename is a file name or a list of file names. Global file-name characters 
  14636. (*.EXE) also can be used. For descriptions of the above terms, see Syntax 
  14637. Definitions. If no option is given, DISPLAY is assumed. 
  14638.  
  14639. Typing MARKEXE /? at the command line displays the appropriate copyright 
  14640. statement along with a list of options. 
  14641.  
  14642.   DISPLAY         - display status of flags
  14643.   DLLINIT         - per-process initialization
  14644.   DLLTERM         - per-process termination
  14645.   WINDOWAPI       - window api (PM application)
  14646.   WINDOWCOMPAT    - window compatible application
  14647.   NOTWINDOWCOMPAT - not window compatible application
  14648.   UNSPECIFIED     - unspecified application type
  14649.   LFNS            - long file name support
  14650.   MPUNSAFE        - multi-processor unsafe application
  14651.  
  14652.  
  14653. ΓòÉΓòÉΓòÉ 13.1.1. Syntax Definitions ΓòÉΓòÉΓòÉ
  14654.  
  14655. MARKEXE has the following keywords, options, and program types. You can also 
  14656. specify any number of files to be viewed or marked. 
  14657.  
  14658. KEYWORDS 
  14659.  
  14660.  FORCE               Marks the executable file with OS/2 as the target 
  14661.                      operating system even though the file was marked for 
  14662.                      another operating system.  Using FORCE might produce 
  14663.                      internally inconsistent executable files. 
  14664.  
  14665.  NO                  Sets the command to the opposite condition.  This keyword 
  14666.                      does not apply to the DISPLAY option or any of the Program 
  14667.                      Type options. 
  14668.  
  14669.  OPTIONS 
  14670.  
  14671.  DISPLAY             Displays the application type in a message; does not make 
  14672.                      any changes.  (This is the default option.) 
  14673.  
  14674.  DLLINIT             Sets per process initialization for the dynamic link 
  14675.                      library. 
  14676.  
  14677.  DLLTERM             Sets per process termination for the dynamic link library. 
  14678.                      (Use with LINK386 only.) 
  14679.  
  14680.  LFNS                Enables support of long file names.  (Use with LINK only.) 
  14681.  
  14682.  MPUNSAFE            Marks the application as unsafe for running in a 
  14683.                      multi-processor environment. 
  14684.  
  14685.  Note:  Only one option may be entered on the command line. 
  14686.  
  14687.  PROGRAM TYPES 
  14688.  
  14689.  MARKEXE does not modify the file if the executable file's program type is the 
  14690.  same as the requested type. It displays a message instead. 
  14691.  
  14692.  WINDOWAPI           The application is a Presentation Manager application and 
  14693.                      can run in the Presentation Manager session only. 
  14694.  
  14695.  WINDOWCOMPAT        The application can run in a Presentation Manager window 
  14696.                      or in an full-screen session. 
  14697.  
  14698.  NOTWINDOWCOMPAT     The application must run in an OS/2 full-screen session. 
  14699.  
  14700.  UNSPECIFIED         The application type is not known. By default, the OS/2 
  14701.                      operating system will force the program to run in a 
  14702.                      full-screen session. 
  14703.  
  14704.  Note:  Specifying an incorrect program type might cause undesirable results 
  14705.         when you try to run that program. For example, do not change a 
  14706.         WINDOWCOMPAT program to WINDOWAPI. 
  14707.  
  14708.  Only one program type may be entered on the command line. 
  14709.  
  14710.  
  14711. ΓòÉΓòÉΓòÉ 13.1.2. Viewing Program Type ΓòÉΓòÉΓòÉ
  14712.  
  14713. To display the program type of an executable file without changing the file, 
  14714. specify only a file name, omitting an option. 
  14715.  
  14716.    MARKEXE filename.exe
  14717.  
  14718. Example 
  14719.  
  14720. To view the program type of MYPROG.EXE, type the following: 
  14721.  
  14722.    MARKEXE myprog.exe
  14723.  
  14724. MARKEXE displays the type in a message that looks like this: 
  14725.  
  14726.    myprog.exe: OS/2 1.x, WINDOWCOMPAT, LFNS
  14727.  
  14728.  
  14729. ΓòÉΓòÉΓòÉ 13.1.3. Setting Program Type ΓòÉΓòÉΓòÉ
  14730.  
  14731. To set the program type of an executable file, specify one of the program 
  14732. types. More than one executable file can be set to the same program type on a 
  14733. single command line. 
  14734.  
  14735.    MARKEXE type filename.exe another.exe
  14736.  
  14737. Examples 
  14738.  
  14739. To set WINDOWCOMPAT as the program type of MYPROG.EXE, type: 
  14740.  
  14741.    MARKEXE WINDOWCOMPAT myprog.exe
  14742.  
  14743. To set WINDOWAPI as the program type of several executable files, type: 
  14744.  
  14745.    MARKEXE WINDOWAPI marion.exe alex.exe
  14746.  
  14747.  
  14748. ΓòÉΓòÉΓòÉ 13.1.4. Requirements for Multi-Processing ΓòÉΓòÉΓòÉ
  14749.  
  14750. The following should be considered before running an application in 
  14751. multi-processor mode: 
  14752.  
  14753.      An application or associated subsystem must not use the 'INC' instruction 
  14754.       as a semaphore without prepending a 'LOCK' prefix.  On a UniProcessor 
  14755.       (UP) system this instruction can be used as a high-performance semaphore 
  14756.       without calling any other operating system service if the semaphore is 
  14757.       free and when the semaphore is clear and there are no waiters for the 
  14758.       semaphore.  Because the INC instruction cannot be interrupted once 
  14759.       started, and because the results would be stored in the flags register 
  14760.       which are per thread, then it could be used safely as a semaphore. 
  14761.  
  14762.       In an OS/2 Warp Server for SMP environment, this technique will not work 
  14763.       because it is possible that two or more threads could be executing the 
  14764.       same INC instruction, receiving the same results in each processor's or 
  14765.       thread's flag register and thinking that they have the semaphore. 
  14766.  
  14767.      A 486 or greater instruction such as CMPXCHG has the same problem as 
  14768.       above if a 'LOCK' prefix is not prepended before the instruction. 
  14769.  
  14770.      An application or associated subsystem which relies on priorities to 
  14771.       guarantee execution of its threads within a process will not work in OS/2 
  14772.       Warp Server for SMP. 
  14773.  
  14774.       For example, an application may have a time-critical and an idle thread, 
  14775.       and may assume that while the time-critical thread is executing the idle 
  14776.       thread will not get any execution time unless the time-critical thread 
  14777.       explicitly yields the CPU.  In an OS/2 Warp Server for SMP  environment 
  14778.       it is possible that both the time-critical and the idle threads are 
  14779.       executing simultaneously on different processors. 
  14780.  
  14781.  The above compatibility requirements apply only to multi-threaded 
  14782.  applications, and therefore do no apply to DOS and WINOS2 applications. 
  14783.  However, you are strongly encouraged to write 32-bit multi-threaded 
  14784.  applications for better performance and portability on OS/2 Warp Server for 
  14785.  SMP. 
  14786.  
  14787.  Given the possibility that some set of applications may use one of these 
  14788.  techniques,  OS/2 Warp Server for SMP provides a mechanism that allows these 
  14789.  multi-threaded applications to execute in UP mode.  UP mode permits only one 
  14790.  thread of that process to execute at a time. That thread could execute on any 
  14791.  one of the available processors. 
  14792.  
  14793.  MARKEXE, described in View and Set Program Type For Executable File (MARKEXE), 
  14794.  is used to mark an executable file as uniprocessor only.  When an executable 
  14795.  file that has the uniprocessor mode flag set is loaded, OS/2 ensures that only 
  14796.  one thread of that process will ever execute at a time.  Multiple uniprocessor 
  14797.  only processes may be active in the system at the same time, but only one 
  14798.  thread from each process may be active at a time. 
  14799.  
  14800.  
  14801. ΓòÉΓòÉΓòÉ 14. Data Types ΓòÉΓòÉΓòÉ
  14802.  
  14803. The following are the data types referenced in this book. They are listed in 
  14804. alphabetical order. 
  14805.  
  14806.  
  14807. ΓòÉΓòÉΓòÉ 14.1. AddrS ΓòÉΓòÉΓòÉ
  14808.  
  14809. Data associated with the kernel debugger communications protocol. 
  14810.  
  14811. typedef struct _AddrS {
  14812.   DWORD     AddrOff;   /*  Address offset. */
  14813.   DWORD     AddrSeg;   /*  Address segment or selector. */
  14814.   BYTE      AddrType;  /*  Type of address specified. */
  14815.   BYTE      AddrSize;  /*  AddrSize */
  14816.   WORD      AddrTask;  /*  AddrTask */
  14817. } AddrS;
  14818.  
  14819. typedef AddrS *AddrS;
  14820.  
  14821.  
  14822. ΓòÉΓòÉΓòÉ <hidden> AddrS Field - AddrOff ΓòÉΓòÉΓòÉ
  14823.  
  14824.  AddrOff (DWORD) 
  14825.     Address offset. 
  14826.  
  14827.  
  14828. ΓòÉΓòÉΓòÉ <hidden> AddrS Field - AddrSeg ΓòÉΓòÉΓòÉ
  14829.  
  14830.  AddrSeg (DWORD) 
  14831.     Address segment or selector. 
  14832.  
  14833.  
  14834. ΓòÉΓòÉΓòÉ <hidden> AddrS Field - AddrType ΓòÉΓòÉΓòÉ
  14835.  
  14836.  AddrType (BYTE) 
  14837.     Type of address specified. 
  14838.  
  14839.     Type of address specified.  Valid types are: 
  14840.  
  14841.     EXPR_TYPE_SEG (0x01) 
  14842.                    Address is of form segment:offset. 
  14843.  
  14844.     EXPR_TYPE_LIN (0x02) 
  14845.                    Address type is linear. 
  14846.  
  14847.     EXPR_TYPE_SEL (0x09) 
  14848.                    Address is of form selector:offset. 
  14849.  
  14850.     EXPR_TYPE_PHY (0x0A) 
  14851.                    Address type is physical. 
  14852.  
  14853.  
  14854. ΓòÉΓòÉΓòÉ <hidden> AddrS Field - AddrSize ΓòÉΓòÉΓòÉ
  14855.  
  14856.  AddrSize (BYTE) 
  14857.     AddrSize 
  14858.  
  14859.  
  14860. ΓòÉΓòÉΓòÉ <hidden> AddrS Field - AddrTask ΓòÉΓòÉΓòÉ
  14861.  
  14862.  AddrTask (WORD) 
  14863.     AddrTask 
  14864.  
  14865.  
  14866. ΓòÉΓòÉΓòÉ 14.2. APIRET ΓòÉΓòÉΓòÉ
  14867.  
  14868. Unsigned integer in the range 0 through 4 294 967 295. 
  14869.  
  14870. typedef unsigned long APIRET;
  14871.  
  14872.  
  14873. ΓòÉΓòÉΓòÉ 14.3. BIOSPARAMETERBLOCK ΓòÉΓòÉΓòÉ
  14874.  
  14875. BIOS Parameter Block (BPB). 
  14876.  
  14877. typedef struct _BIOSPARAMETERBLOCK {
  14878.   USHORT     usBytesPerSector;                 /*  Number of bytes per sector. */
  14879.   BYTE       bSectorsPerCluster;               /*  Number of sectors per cluster. */
  14880.   USHORT     usReservedSectors;                /*  Number of reserved sectors. */
  14881.   BYTE       cFATs;                            /*  Number of FATs. */
  14882.   USHORT     cRootEntries;                     /*  Number of root directory entries. */
  14883.   USHORT     cSectors;                         /*  Number of sectors. */
  14884.   BYTE       bMedia;                           /*  Media descriptor. */
  14885.   USHORT     usSectorsPerFAT;                  /*  Number of secctors per FAT. */
  14886.   USHORT     usSectorsPerTrack;                /*  Number of sectors per track. */
  14887.   USHORT     cHeads;                           /*  Number of heads. */
  14888.   ULONG      cHiddenSectors;                   /*  Number of hidden sectors. */
  14889.   ULONG      cLargeSectors;                    /*  Number of large sectors. */
  14890.   BYTE       abReserved[6];  /*  Reserved. */
  14891.   USHORT     cCylinders;                       /*  Number of cylinders defined for the physical device. */
  14892.   BYTE       bDeviceType;                      /*  Physical layout of the specified device. */
  14893.   USHORT     fsDeviceAttr;                     /*  A bit field that returns flag information about the specified drive. */
  14894. } BIOSPARAMETERBLOCK;
  14895.  
  14896. typedef BIOSPARAMETERBLOCK *PBIOSPARAMETERBLOCK;
  14897.  
  14898.  
  14899. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - usBytesPerSector ΓòÉΓòÉΓòÉ
  14900.  
  14901.  usBytesPerSector (USHORT) 
  14902.     Number of bytes per sector. 
  14903.  
  14904.  
  14905. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - bSectorsPerCluster ΓòÉΓòÉΓòÉ
  14906.  
  14907.  bSectorsPerCluster (BYTE) 
  14908.     Number of sectors per cluster. 
  14909.  
  14910.  
  14911. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - usReservedSectors ΓòÉΓòÉΓòÉ
  14912.  
  14913.  usReservedSectors (USHORT) 
  14914.     Number of reserved sectors. 
  14915.  
  14916.  
  14917. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - cFATs ΓòÉΓòÉΓòÉ
  14918.  
  14919.  cFATs (BYTE) 
  14920.     Number of FATs. 
  14921.  
  14922.  
  14923. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - cRootEntries ΓòÉΓòÉΓòÉ
  14924.  
  14925.  cRootEntries (USHORT) 
  14926.     Number of root directory entries. 
  14927.  
  14928.  
  14929. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - cSectors ΓòÉΓòÉΓòÉ
  14930.  
  14931.  cSectors (USHORT) 
  14932.     Number of sectors. 
  14933.  
  14934.  
  14935. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - bMedia ΓòÉΓòÉΓòÉ
  14936.  
  14937.  bMedia (BYTE) 
  14938.     Media descriptor. 
  14939.  
  14940.  
  14941. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - usSectorsPerFAT ΓòÉΓòÉΓòÉ
  14942.  
  14943.  usSectorsPerFAT (USHORT) 
  14944.     Number of secctors per FAT. 
  14945.  
  14946.  
  14947. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - usSectorsPerTrack ΓòÉΓòÉΓòÉ
  14948.  
  14949.  usSectorsPerTrack (USHORT) 
  14950.     Number of sectors per track. 
  14951.  
  14952.  
  14953. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - cHeads ΓòÉΓòÉΓòÉ
  14954.  
  14955.  cHeads (USHORT) 
  14956.     Number of heads. 
  14957.  
  14958.  
  14959. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - cHiddenSectors ΓòÉΓòÉΓòÉ
  14960.  
  14961.  cHiddenSectors (ULONG) 
  14962.     Number of hidden sectors. 
  14963.  
  14964.  
  14965. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - cLargeSectors ΓòÉΓòÉΓòÉ
  14966.  
  14967.  cLargeSectors (ULONG) 
  14968.     Number of large sectors. 
  14969.  
  14970.  
  14971. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - abReserved[6] ΓòÉΓòÉΓòÉ
  14972.  
  14973.  abReserved[6] (BYTE) 
  14974.     Reserved. 
  14975.  
  14976.  
  14977. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - cCylinders ΓòÉΓòÉΓòÉ
  14978.  
  14979.  cCylinders (USHORT) 
  14980.     Number of cylinders defined for the physical device. 
  14981.  
  14982.  
  14983. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - bDeviceType ΓòÉΓòÉΓòÉ
  14984.  
  14985.  bDeviceType (BYTE) 
  14986.     Physical layout of the specified device. 
  14987.  
  14988.     0 
  14989.             48 TPI low-density diskette drive 
  14990.     1 
  14991.             96 TPI high-density diskette drive 
  14992.     2 
  14993.             Small (3.5-inch) 720KB drive 
  14994.     3 
  14995.             8-inch single-density diskette drive 
  14996.     4 
  14997.             8-inch double-density diskette drive 
  14998.     5 
  14999.             Fixed disk 
  15000.     6 
  15001.             Tape drive 
  15002.     7 
  15003.             Other (includes 1.44MB 3.5-inch diskette drive) 
  15004.     8 
  15005.             R/W optical disk 
  15006.     9 
  15007.             3.5-inch 4.0MB diskette drive (2.88MB formatted) 
  15008.  
  15009.  
  15010. ΓòÉΓòÉΓòÉ <hidden> BIOSPARAMETERBLOCK Field - fsDeviceAttr ΓòÉΓòÉΓòÉ
  15011.  
  15012.  fsDeviceAttr (USHORT) 
  15013.     A bit field that returns flag information about the specified drive. 
  15014.  
  15015.     Bit 0 
  15016.             Removable Media flag. 
  15017.  
  15018.             0        Media is removable. 
  15019.  
  15020.             1        Media cannot be removed. 
  15021.  
  15022.     Bit 1 
  15023.             Changeline flag. 
  15024.  
  15025.             0        The physical device driver returns the value 0, Unsure if 
  15026.                      media has changed, from the Media Check function. 
  15027.  
  15028.             1        Device support determines that the media was removed since 
  15029.                      the last I/O operation. 
  15030.  
  15031.  
  15032. ΓòÉΓòÉΓòÉ 14.4. BOOL ΓòÉΓòÉΓòÉ
  15033.  
  15034. Boolean. 
  15035.  
  15036. Valid values are: 
  15037.  
  15038.      FALSE, which is 0 
  15039.      TRUE, which is 1 
  15040.  
  15041.   typedef unsigned long BOOL;
  15042.  
  15043.  
  15044. ΓòÉΓòÉΓòÉ 14.5. BOOL32 ΓòÉΓòÉΓòÉ
  15045.  
  15046. Boolean. 
  15047.  
  15048. Valid values are: 
  15049.  
  15050.      FALSE, which is 0 
  15051.      TRUE, which is 1 
  15052.  
  15053.   typedef unsigned long BOOL32;
  15054.  
  15055.  
  15056. ΓòÉΓòÉΓòÉ 14.6. BYTE ΓòÉΓòÉΓòÉ
  15057.  
  15058. A byte. 
  15059.  
  15060. typedef unsigned char BYTE;
  15061.  
  15062.  
  15063. ΓòÉΓòÉΓòÉ 14.7. CHAR ΓòÉΓòÉΓòÉ
  15064.  
  15065. Single-byte character. 
  15066.  
  15067. #define CHAR char
  15068.  
  15069.  
  15070. ΓòÉΓòÉΓòÉ 14.8. CPUUTIL ΓòÉΓòÉΓòÉ
  15071.  
  15072. Performance data returned by DosPerfSysCall. 
  15073.  
  15074. typedef struct _CPUUTIL {
  15075.   ULONG     ulTimeLow;   /*  Low 32 bits of time stamp */
  15076.   ULONG     ulTimeHigh;  /*  High 32 bits of time stamp */
  15077.   ULONG     ulIdleLow;   /*  Low 32 bits of idle time */
  15078.   ULONG     ulIdleHigh;  /*  High 32 bits of idle time */
  15079.   ULONG     ulBusyLow;   /*  Low 32 bits of busy time */
  15080.   ULONG     ulBusyHigh;  /*  High 32 bits of busy time */
  15081.   ULONG     ulIntrLow;   /*  Low 32 bits of interrupt time */
  15082.   ULONG     ulIntrHigh;  /*  High 32 bits of interrupt time */
  15083. } CPUUTIL;
  15084.  
  15085. typedef CPUUTIL *PCPUUTIL;
  15086.  
  15087.  
  15088. ΓòÉΓòÉΓòÉ <hidden> CPUUTIL Field - ulTimeLow ΓòÉΓòÉΓòÉ
  15089.  
  15090.  ulTimeLow (ULONG) 
  15091.     Low 32 bits of time stamp 
  15092.  
  15093.  
  15094. ΓòÉΓòÉΓòÉ <hidden> CPUUTIL Field - ulTimeHigh ΓòÉΓòÉΓòÉ
  15095.  
  15096.  ulTimeHigh (ULONG) 
  15097.     High 32 bits of time stamp 
  15098.  
  15099.  
  15100. ΓòÉΓòÉΓòÉ <hidden> CPUUTIL Field - ulIdleLow ΓòÉΓòÉΓòÉ
  15101.  
  15102.  ulIdleLow (ULONG) 
  15103.     Low 32 bits of idle time 
  15104.  
  15105.  
  15106. ΓòÉΓòÉΓòÉ <hidden> CPUUTIL Field - ulIdleHigh ΓòÉΓòÉΓòÉ
  15107.  
  15108.  ulIdleHigh (ULONG) 
  15109.     High 32 bits of idle time 
  15110.  
  15111.  
  15112. ΓòÉΓòÉΓòÉ <hidden> CPUUTIL Field - ulBusyLow ΓòÉΓòÉΓòÉ
  15113.  
  15114.  ulBusyLow (ULONG) 
  15115.     Low 32 bits of busy time 
  15116.  
  15117.  
  15118. ΓòÉΓòÉΓòÉ <hidden> CPUUTIL Field - ulBusyHigh ΓòÉΓòÉΓòÉ
  15119.  
  15120.  ulBusyHigh (ULONG) 
  15121.     High 32 bits of busy time 
  15122.  
  15123.  
  15124. ΓòÉΓòÉΓòÉ <hidden> CPUUTIL Field - ulIntrLow ΓòÉΓòÉΓòÉ
  15125.  
  15126.  ulIntrLow (ULONG) 
  15127.     Low 32 bits of interrupt time 
  15128.  
  15129.  
  15130. ΓòÉΓòÉΓòÉ <hidden> CPUUTIL Field - ulIntrHigh ΓòÉΓòÉΓòÉ
  15131.  
  15132.  ulIntrHigh (ULONG) 
  15133.     High 32 bits of interrupt time 
  15134.  
  15135.  
  15136. ΓòÉΓòÉΓòÉ 14.9. cvkcmd_s ΓòÉΓòÉΓòÉ
  15137.  
  15138. Data associated with the kernel debugger communications protocol. 
  15139.  
  15140. typedef struct _cvkcmd_s {
  15141.   USHORT          Cmd;       /*  Command */
  15142.   ULONG           Value;     /*  Value, command dependent. */
  15143.   ULONG           OffV;      /*  Command dependent, usually a linear address. */
  15144.   USHORT          SegV;      /*  Command dependent.  Usually slot number of thread. */
  15145.   USHORT          MTE;       /*  Module Table Entry */
  15146.   USHORT          PID;       /*  Process Identifier */
  15147.   USHORT          TID;       /*  Thread Identifier */
  15148.   USHORT          DBit;      /*  Flags from the CS selector. */
  15149.   RegSA_struc     Reg;       /*  Register save area */
  15150.   UCHAR           MemCache;  /*  Data area */
  15151. } cvkcmd_s;
  15152.  
  15153. typedef cvkcmd_s *cvkcmd_s;
  15154.  
  15155.  
  15156. ΓòÉΓòÉΓòÉ <hidden> cvkcmd_s Field - Cmd ΓòÉΓòÉΓòÉ
  15157.  
  15158.  Cmd (USHORT) 
  15159.     Command 
  15160.  
  15161.     One of the following: 
  15162.  
  15163.         ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  15164.         ΓöéCommand             ΓöéCode ΓöéDescription         ΓöéCVK_    ΓöéCVK_    Γöé
  15165.         Γöé                    Γöé     Γöé                    ΓöéCMDSIZE_ΓöéRETSIZE_Γöé
  15166.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15167.         ΓöéCVK_CMD_RMEM        Γöé 1   ΓöéRead memory         Γöé18      Γöé20      Γöé
  15168.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15169.         ΓöéCVK_CMD_RREG        Γöé 3   ΓöéRead registers      Γöé18      Γöé24 +    Γöé
  15170.         Γöé                    Γöé     Γöé                    Γöé        Γöésizeof( Γöé
  15171.         Γöé                    Γöé     Γöé                    Γöé        ΓöéRegSa_  Γöé
  15172.         Γöé                    Γöé     Γöé                    Γöé        Γöéstruc)  Γöé
  15173.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15174.         ΓöéCVK_CMD_WMEM        Γöé 4   ΓöéWrite memory        Γöé20      Γöé6       Γöé
  15175.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15176.         ΓöéCVK_CMD_WREG        Γöé 6   ΓöéWrite registers     Γöé20 +    Γöé2       Γöé
  15177.         Γöé                    Γöé     Γöé                    Γöésizeof( Γöé        Γöé
  15178.         Γöé                    Γöé     Γöé                    ΓöéRegSa_  Γöé        Γöé
  15179.         Γöé                    Γöé     Γöé                    Γöéstruc)  Γöé        Γöé
  15180.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15181.         ΓöéCVK_CMD_RUN         Γöé 7   ΓöéResume execution    Γöé6       Γöé0       Γöé
  15182.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15183.         ΓöéCVK_CMD_KILL        Γöé 8   ΓöéReboot victim       Γöé2       Γöé0       Γöé
  15184.         Γöé                    Γöé     Γöémachine             Γöé        Γöé        Γöé
  15185.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15186.         ΓöéCVK_CMD_STEP        Γöé 9   ΓöéSingle step         Γöé2       Γöé0       Γöé
  15187.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15188.         ΓöéCVK_CMD_NUMTOBASE   Γöé13   ΓöéGet object/segment  Γöé14      Γöé14      Γöé
  15189.         Γöé                    Γöé     Γöéinformation         Γöé        Γöé        Γöé
  15190.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15191.         ΓöéCVK_CMD_LIBNAME     Γöé16   ΓöéGet module          Γöé6       Γöé6       Γöé
  15192.         Γöé                    Γöé     Γöéinformation         Γöé        Γöé        Γöé
  15193.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15194.         ΓöéCVK_CMD_RAW         Γöé20   ΓöéPerform kernel      Γöé6       Γöé        Γöé
  15195.         Γöé                    Γöé     Γöédebugger command    Γöé        Γöé        Γöé
  15196.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15197.         ΓöéCVK_CMD_DBIT        Γöé22   ΓöéGet selector        Γöé20      Γöé        Γöé
  15198.         Γöé                    Γöé     Γöéinformation         Γöé        Γöé        Γöé
  15199.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15200.         ΓöéCVK_CMD_RSTEP       Γöé23   ΓöéRange step          Γöé10      Γöé0       Γöé
  15201.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15202.         ΓöéCVK_CMD_SCANMTE     Γöé24   ΓöéScan module table   Γöé2       Γöé6       Γöé
  15203.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15204.         ΓöéCVK_CMD_SCANTCB     Γöé25   ΓöéScan thread control Γöé6       Γöé10      Γöé
  15205.         Γöé                    Γöé     Γöéblocks              Γöé        Γöé        Γöé
  15206.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15207.         ΓöéCVK_CMD_SEL2LIN     Γöé26   ΓöéConvert             Γöé18      Γöé6       Γöé
  15208.         Γöé                    Γöé     Γöéselector:offset to  Γöé        Γöé        Γöé
  15209.         Γöé                    Γöé     Γöélinear address.     Γöé        Γöé        Γöé
  15210.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15211.         ΓöéCVK_CMD_LIN2SEL     Γöé27   ΓöéConvert linear      Γöé18      Γöé12      Γöé
  15212.         Γöé                    Γöé     Γöéaddress to          Γöé        Γöé        Γöé
  15213.         Γöé                    Γöé     Γöéselector:offset.    Γöé        Γöé        Γöé
  15214.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15215.         ΓöéCVK_CMD_OBJCOUNT    Γöé28   ΓöéGet number of       Γöé6       Γöé6       Γöé
  15216.         Γöé                    Γöé     Γöéobjects/segments in Γöé        Γöé        Γöé
  15217.         Γöé                    Γöé     Γöémodule              Γöé        Γöé        Γöé
  15218.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15219.         ΓöéCVK_CMD_SCANOBJ     Γöé29   ΓöéScan object/segment Γöé14      Γöé10      Γöé
  15220.         Γöé                    Γöé     Γöétable               Γöé        Γöé        Γöé
  15221.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15222.         ΓöéCVK_CMD_SELINFO     Γöé30   ΓöéGet selector        Γöé18      Γöé20      Γöé
  15223.         Γöé                    Γöé     Γöéinformation         Γöé        Γöé        Γöé
  15224.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15225.         ΓöéCVK_CMD_RNPX        Γöé31   ΓöéRead NPX state      Γöé18      Γöé128     Γöé
  15226.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15227.         ΓöéCVK_CMD_WNPX        Γöé32   ΓöéWrite NPX state     Γöé128     Γöé60      Γöé
  15228.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15229.         ΓöéCVK_CMD_ENA         Γöé33   ΓöéEnable optional     Γöé6       Γöé2       Γöé
  15230.         Γöé                    Γöé     Γöéfeatures            Γöé        Γöé        Γöé
  15231.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15232.         ΓöéCVK_CMD_DIS         Γöé34   ΓöéDisable optional    Γöé6       Γöé2       Γöé
  15233.         Γöé                    Γöé     Γöéfeatures            Γöé        Γöé        Γöé
  15234.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15235.         ΓöéCVK_CMD_PIREG       Γöé35   ΓöéRegister for PAGEIN Γöé14      Γöé2       Γöé
  15236.         Γöé                    Γöé     Γöénotification        Γöé        Γöé        Γöé
  15237.         Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  15238.         ΓöéCVK_CMD_PIDRG       Γöé36   ΓöéDeregister for      Γöé14      Γöé2       Γöé
  15239.         Γöé                    Γöé     ΓöéPAGEIN notification Γöé        Γöé        Γöé
  15240.         ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  15241.  
  15242.  
  15243. ΓòÉΓòÉΓòÉ <hidden> cvkcmd_s Field - Value ΓòÉΓòÉΓòÉ
  15244.  
  15245.  Value (ULONG) 
  15246.     Value, command dependent. 
  15247.  
  15248.  
  15249. ΓòÉΓòÉΓòÉ <hidden> cvkcmd_s Field - OffV ΓòÉΓòÉΓòÉ
  15250.  
  15251.  OffV (ULONG) 
  15252.     Command dependent, usually a linear address. 
  15253.  
  15254.  
  15255. ΓòÉΓòÉΓòÉ <hidden> cvkcmd_s Field - SegV ΓòÉΓòÉΓòÉ
  15256.  
  15257.  SegV (USHORT) 
  15258.     Command dependent.  Usually slot number of thread. 
  15259.  
  15260.  
  15261. ΓòÉΓòÉΓòÉ <hidden> cvkcmd_s Field - MTE ΓòÉΓòÉΓòÉ
  15262.  
  15263.  MTE (USHORT) 
  15264.     Module Table Entry 
  15265.  
  15266.  
  15267. ΓòÉΓòÉΓòÉ <hidden> cvkcmd_s Field - PID ΓòÉΓòÉΓòÉ
  15268.  
  15269.  PID (USHORT) 
  15270.     Process Identifier 
  15271.  
  15272.  
  15273. ΓòÉΓòÉΓòÉ <hidden> cvkcmd_s Field - TID ΓòÉΓòÉΓòÉ
  15274.  
  15275.  TID (USHORT) 
  15276.     Thread Identifier 
  15277.  
  15278.  
  15279. ΓòÉΓòÉΓòÉ <hidden> cvkcmd_s Field - DBit ΓòÉΓòÉΓòÉ
  15280.  
  15281.  DBit (USHORT) 
  15282.     Flags from the CS selector. 
  15283.  
  15284.  
  15285. ΓòÉΓòÉΓòÉ <hidden> cvkcmd_s Field - Reg ΓòÉΓòÉΓòÉ
  15286.  
  15287.  Reg (RegSA_struc) 
  15288.     Register save area 
  15289.  
  15290.  
  15291. ΓòÉΓòÉΓòÉ <hidden> cvkcmd_s Field - MemCache ΓòÉΓòÉΓòÉ
  15292.  
  15293.  MemCache (UCHAR) 
  15294.     Data area 
  15295.  
  15296.     Data area used for variable length data in a command or response. Maximum 
  15297.     size of the data is CVK_MEMCACHE_SIZE (512). 
  15298.  
  15299.  
  15300. ΓòÉΓòÉΓòÉ 14.10. DosDebug Buffer ΓòÉΓòÉΓòÉ
  15301.  
  15302. DosDebug buffer structure. 
  15303.  
  15304. typedef struct _DosDebug Buffer {
  15305.   ULONG      Pid;     /*  Debuggee Process ID */
  15306.   ULONG      Tid;     /*  Debuggee Thread ID */
  15307.   LONG       Cmd;     /*  Command or Notification */
  15308.   LONG       Value;   /*  Generic Data Value */
  15309.   ULONG      Addr;    /*  Debuggee Address */
  15310.   ULONG      Buffer;  /*  Debugger Buffer Address */
  15311.   ULONG      Len;     /*  Length of Range */
  15312.   ULONG      Index;   /*  Generic Identifier Index */
  15313.   ULONG      MTE;     /*  Module Table Entry Handle */
  15314.   ULONG      EAX;     /*  Register Set */
  15315.   ULONG      ECX;
  15316.   ULONG      EDX;
  15317.   ULONG      EBX;
  15318.   ULONG      ESP;
  15319.   ULONG      EBP;
  15320.   ULONG      ESI;
  15321.   ULONG      EDI;
  15322.   ULONG      EFlags;
  15323.   ULONG      EIP;
  15324.   ULONG      CSLim;   /*  Byte Granular Limits */
  15325.   ULONG      CSBase;  /*  Byte Granular Base */
  15326.   UCHAR      CSAcc;   /*  Access Bytes */
  15327.   UCHAR      CSAtr;   /*  Attribute Bytes */
  15328.   USHORT     CS;
  15329.   ULONG      DSLim;
  15330.   ULONG      DSBase;
  15331.   UCHAR      DSAcc;
  15332.   UCHAR      DSAtr;
  15333.   USHORT     DS;
  15334.   ULONG      ESLim;
  15335.   ULONG      ESBase;
  15336.   UCHAR      ESAcc;
  15337.   UCHAR      ESAtr;
  15338.   USHORT     ES;
  15339.   ULONG      FSLim;
  15340.   ULONG      FSBase;
  15341.   UCHAR      FSAcc;
  15342.   UCHAR      FSAtr;
  15343.   USHORT     FS;
  15344.   ULONG      GSLim;
  15345.   ULONG      GSBase;
  15346.   UCHAR      GSAcc;
  15347.   UCHAR      GSAtr;
  15348.   USHORT     GS;
  15349.   ULONG      SSLim;
  15350.   ULONG      SSBase;
  15351.   UCHAR      SSAcc;
  15352.   UCHAR      SSAtr;
  15353.   USHORT     SS;
  15354. } DosDebug Buffer;
  15355.  
  15356. typedef DosDebug Buffer *DBUGBUF;
  15357.  
  15358.  
  15359. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - Pid ΓòÉΓòÉΓòÉ
  15360.  
  15361.  Pid (ULONG) 
  15362.     Debuggee Process ID 
  15363.  
  15364.  
  15365. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - Tid ΓòÉΓòÉΓòÉ
  15366.  
  15367.  Tid (ULONG) 
  15368.     Debuggee Thread ID 
  15369.  
  15370.  
  15371. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - Cmd ΓòÉΓòÉΓòÉ
  15372.  
  15373.  Cmd (LONG) 
  15374.     Command or Notification 
  15375.  
  15376.  
  15377. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - Value ΓòÉΓòÉΓòÉ
  15378.  
  15379.  Value (LONG) 
  15380.     Generic Data Value 
  15381.  
  15382.  
  15383. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - Addr ΓòÉΓòÉΓòÉ
  15384.  
  15385.  Addr (ULONG) 
  15386.     Debuggee Address 
  15387.  
  15388.  
  15389. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - Buffer ΓòÉΓòÉΓòÉ
  15390.  
  15391.  Buffer (ULONG) 
  15392.     Debugger Buffer Address 
  15393.  
  15394.  
  15395. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - Len ΓòÉΓòÉΓòÉ
  15396.  
  15397.  Len (ULONG) 
  15398.     Length of Range 
  15399.  
  15400.  
  15401. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - Index ΓòÉΓòÉΓòÉ
  15402.  
  15403.  Index (ULONG) 
  15404.     Generic Identifier Index 
  15405.  
  15406.  
  15407. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - MTE ΓòÉΓòÉΓòÉ
  15408.  
  15409.  MTE (ULONG) 
  15410.     Module Table Entry Handle 
  15411.  
  15412.  
  15413. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - EAX ΓòÉΓòÉΓòÉ
  15414.  
  15415.  EAX (ULONG) 
  15416.     Register Set 
  15417.  
  15418.  
  15419. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - ECX ΓòÉΓòÉΓòÉ
  15420.  
  15421.  ECX (ULONG) 
  15422.  
  15423.  
  15424. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - EDX ΓòÉΓòÉΓòÉ
  15425.  
  15426.  EDX (ULONG) 
  15427.  
  15428.  
  15429. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - EBX ΓòÉΓòÉΓòÉ
  15430.  
  15431.  EBX (ULONG) 
  15432.  
  15433.  
  15434. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - ESP ΓòÉΓòÉΓòÉ
  15435.  
  15436.  ESP (ULONG) 
  15437.  
  15438.  
  15439. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - EBP ΓòÉΓòÉΓòÉ
  15440.  
  15441.  EBP (ULONG) 
  15442.  
  15443.  
  15444. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - ESI ΓòÉΓòÉΓòÉ
  15445.  
  15446.  ESI (ULONG) 
  15447.  
  15448.  
  15449. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - EDI ΓòÉΓòÉΓòÉ
  15450.  
  15451.  EDI (ULONG) 
  15452.  
  15453.  
  15454. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - EFlags ΓòÉΓòÉΓòÉ
  15455.  
  15456.  EFlags (ULONG) 
  15457.  
  15458.  
  15459. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - EIP ΓòÉΓòÉΓòÉ
  15460.  
  15461.  EIP (ULONG) 
  15462.  
  15463.  
  15464. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - CSLim ΓòÉΓòÉΓòÉ
  15465.  
  15466.  CSLim (ULONG) 
  15467.     Byte Granular Limits 
  15468.  
  15469.  
  15470. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - CSBase ΓòÉΓòÉΓòÉ
  15471.  
  15472.  CSBase (ULONG) 
  15473.     Byte Granular Base 
  15474.  
  15475.  
  15476. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - CSAcc ΓòÉΓòÉΓòÉ
  15477.  
  15478.  CSAcc (UCHAR) 
  15479.     Access Bytes 
  15480.  
  15481.  
  15482. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - CSAtr ΓòÉΓòÉΓòÉ
  15483.  
  15484.  CSAtr (UCHAR) 
  15485.     Attribute Bytes 
  15486.  
  15487.  
  15488. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - CS ΓòÉΓòÉΓòÉ
  15489.  
  15490.  CS (USHORT) 
  15491.  
  15492.  
  15493. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - DSLim ΓòÉΓòÉΓòÉ
  15494.  
  15495.  DSLim (ULONG) 
  15496.  
  15497.  
  15498. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - DSBase ΓòÉΓòÉΓòÉ
  15499.  
  15500.  DSBase (ULONG) 
  15501.  
  15502.  
  15503. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - DSAcc ΓòÉΓòÉΓòÉ
  15504.  
  15505.  DSAcc (UCHAR) 
  15506.  
  15507.  
  15508. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - DSAtr ΓòÉΓòÉΓòÉ
  15509.  
  15510.  DSAtr (UCHAR) 
  15511.  
  15512.  
  15513. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - DS ΓòÉΓòÉΓòÉ
  15514.  
  15515.  DS (USHORT) 
  15516.  
  15517.  
  15518. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - ESLim ΓòÉΓòÉΓòÉ
  15519.  
  15520.  ESLim (ULONG) 
  15521.  
  15522.  
  15523. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - ESBase ΓòÉΓòÉΓòÉ
  15524.  
  15525.  ESBase (ULONG) 
  15526.  
  15527.  
  15528. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - ESAcc ΓòÉΓòÉΓòÉ
  15529.  
  15530.  ESAcc (UCHAR) 
  15531.  
  15532.  
  15533. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - ESAtr ΓòÉΓòÉΓòÉ
  15534.  
  15535.  ESAtr (UCHAR) 
  15536.  
  15537.  
  15538. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - ES ΓòÉΓòÉΓòÉ
  15539.  
  15540.  ES (USHORT) 
  15541.  
  15542.  
  15543. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - FSLim ΓòÉΓòÉΓòÉ
  15544.  
  15545.  FSLim (ULONG) 
  15546.  
  15547.  
  15548. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - FSBase ΓòÉΓòÉΓòÉ
  15549.  
  15550.  FSBase (ULONG) 
  15551.  
  15552.  
  15553. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - FSAcc ΓòÉΓòÉΓòÉ
  15554.  
  15555.  FSAcc (UCHAR) 
  15556.  
  15557.  
  15558. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - FSAtr ΓòÉΓòÉΓòÉ
  15559.  
  15560.  FSAtr (UCHAR) 
  15561.  
  15562.  
  15563. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - FS ΓòÉΓòÉΓòÉ
  15564.  
  15565.  FS (USHORT) 
  15566.  
  15567.  
  15568. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - GSLim ΓòÉΓòÉΓòÉ
  15569.  
  15570.  GSLim (ULONG) 
  15571.  
  15572.  
  15573. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - GSBase ΓòÉΓòÉΓòÉ
  15574.  
  15575.  GSBase (ULONG) 
  15576.  
  15577.  
  15578. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - GSAcc ΓòÉΓòÉΓòÉ
  15579.  
  15580.  GSAcc (UCHAR) 
  15581.  
  15582.  
  15583. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - GSAtr ΓòÉΓòÉΓòÉ
  15584.  
  15585.  GSAtr (UCHAR) 
  15586.  
  15587.  
  15588. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - GS ΓòÉΓòÉΓòÉ
  15589.  
  15590.  GS (USHORT) 
  15591.  
  15592.  
  15593. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - SSLim ΓòÉΓòÉΓòÉ
  15594.  
  15595.  SSLim (ULONG) 
  15596.  
  15597.  
  15598. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - SSBase ΓòÉΓòÉΓòÉ
  15599.  
  15600.  SSBase (ULONG) 
  15601.  
  15602.  
  15603. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - SSAcc ΓòÉΓòÉΓòÉ
  15604.  
  15605.  SSAcc (UCHAR) 
  15606.  
  15607.  
  15608. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - SSAtr ΓòÉΓòÉΓòÉ
  15609.  
  15610.  SSAtr (UCHAR) 
  15611.  
  15612.  
  15613. ΓòÉΓòÉΓòÉ <hidden> DosDebug Buffer Field - SS ΓòÉΓòÉΓòÉ
  15614.  
  15615.  SS (USHORT) 
  15616.  
  15617.  
  15618. ΓòÉΓòÉΓòÉ 14.11. DTR ΓòÉΓòÉΓòÉ
  15619.  
  15620. Data associated with the kernel debugger communications protocol. 
  15621.  
  15622. typedef struct _DTR {
  15623.   WORD     DTRLimit;     /*  Limit of GDT/IDT register */
  15624.   WORD     DTRBaseLow;   /*  Bits 0-15 of base address. */
  15625.   WORD     DTRBaseHigh;  /*  Bits 16-23 of base address. */
  15626.   WORD     DTRBaseExt;   /*  Bits 24-31 of base address. */
  15627. } DTR;
  15628.  
  15629. typedef DTR *DTR;
  15630.  
  15631.  
  15632. ΓòÉΓòÉΓòÉ <hidden> DTR Field - DTRLimit ΓòÉΓòÉΓòÉ
  15633.  
  15634.  DTRLimit (WORD) 
  15635.     Limit of GDT/IDT register 
  15636.  
  15637.  
  15638. ΓòÉΓòÉΓòÉ <hidden> DTR Field - DTRBaseLow ΓòÉΓòÉΓòÉ
  15639.  
  15640.  DTRBaseLow (WORD) 
  15641.     Bits 0-15 of base address. 
  15642.  
  15643.  
  15644. ΓòÉΓòÉΓòÉ <hidden> DTR Field - DTRBaseHigh ΓòÉΓòÉΓòÉ
  15645.  
  15646.  DTRBaseHigh (WORD) 
  15647.     Bits 16-23 of base address. 
  15648.  
  15649.  
  15650. ΓòÉΓòÉΓòÉ <hidden> DTR Field - DTRBaseExt ΓòÉΓòÉΓòÉ
  15651.  
  15652.  DTRBaseExt (WORD) 
  15653.     Bits 24-31 of base address. 
  15654.  
  15655.  
  15656. ΓòÉΓòÉΓòÉ 14.12. DWORD ΓòÉΓòÉΓòÉ
  15657.  
  15658. 32-bit unsigned integer in the range 0 through 4 294 967 295. 
  15659.  
  15660. typedef unsigned long DWORD;
  15661.  
  15662.  
  15663. ΓòÉΓòÉΓòÉ 14.13. EAOP2 ΓòÉΓòÉΓòÉ
  15664.  
  15665. EAOP2 data structure. 
  15666.  
  15667. typedef struct _EAOP2 {
  15668.   PGEA2LIST     fpGEA2List;  /*  GEA set. */
  15669.   PFEA2LIST     fpFEA2List;  /*  FEA set. */
  15670.   ULONG         oError;      /*  Offset of FEA error. */
  15671. } EAOP2;
  15672.  
  15673. typedef EAOP2 *PEAOP2;
  15674.  
  15675.  
  15676. ΓòÉΓòÉΓòÉ <hidden> EAOP2 Field - fpGEA2List ΓòÉΓòÉΓòÉ
  15677.  
  15678.  fpGEA2List (PGEA2LIST) 
  15679.     GEA set. 
  15680.  
  15681.  
  15682. ΓòÉΓòÉΓòÉ <hidden> EAOP2 Field - fpFEA2List ΓòÉΓòÉΓòÉ
  15683.  
  15684.  fpFEA2List (PFEA2LIST) 
  15685.     FEA set. 
  15686.  
  15687.  
  15688. ΓòÉΓòÉΓòÉ <hidden> EAOP2 Field - oError ΓòÉΓòÉΓòÉ
  15689.  
  15690.  oError (ULONG) 
  15691.     Offset of FEA error. 
  15692.  
  15693.  
  15694. ΓòÉΓòÉΓòÉ 14.14. EASIZEBUF ΓòÉΓòÉΓòÉ
  15695.  
  15696. Maximum size of extended attributes (EAs). 
  15697.  
  15698. typedef struct _EASIZEBUF {
  15699.   USHORT     cbMaxEASize;      /*  Maximum size of an EA. */
  15700.   ULONG      cbMaxEAListSize;  /*  Maximum size of the full EA list. */
  15701. } EASIZEBUF;
  15702.  
  15703. typedef EASIZEBUF *PEASIZEBUF;
  15704.  
  15705.  
  15706. ΓòÉΓòÉΓòÉ <hidden> EASIZEBUF Field - cbMaxEASize ΓòÉΓòÉΓòÉ
  15707.  
  15708.  cbMaxEASize (USHORT) 
  15709.     Maximum size of an EA. 
  15710.  
  15711.  
  15712. ΓòÉΓòÉΓòÉ <hidden> EASIZEBUF Field - cbMaxEAListSize ΓòÉΓòÉΓòÉ
  15713.  
  15714.  cbMaxEAListSize (ULONG) 
  15715.     Maximum size of the full EA list. 
  15716.  
  15717.  
  15718. ΓòÉΓòÉΓòÉ 14.15. ERRORID ΓòÉΓòÉΓòÉ
  15719.  
  15720. Error identity. 
  15721.  
  15722. typedef ULONG ERRORID;
  15723.  
  15724.  
  15725. ΓòÉΓòÉΓòÉ 14.16. EXCEPTIONREGISTRATIONRECORD ΓòÉΓòÉΓòÉ
  15726.  
  15727. These structures are linked together to form a chain of exception handlers that 
  15728. are dispatched upon receipt of an exception. Exception handlers should not be 
  15729. registered directly from a high level language such as "C". This is the 
  15730. responsibility of the language runtime routine. 
  15731.  
  15732. typedef struct _EXCEPTIONREGISTRATIONRECORD {
  15733.   STRUCT _EXCEPTIONREGISTRATIONRECORD      *prev_structure;    /*  Nested exception registration record structure. */
  15734.   _ERR                                     *ExceptionHandler;  /*  Pointer to the ERR function. */
  15735. } EXCEPTIONREGISTRATIONRECORD;
  15736.  
  15737. typedef EXCEPTIONREGISTRATIONRECORD *PEXCEPTIONREGISTRATIONRECORD;
  15738.  
  15739.  
  15740. ΓòÉΓòÉΓòÉ <hidden> EXCEPTIONREGISTRATIONRECORD Field - prev_structure ΓòÉΓòÉΓòÉ
  15741.  
  15742.  prev_structure (STRUCT _EXCEPTIONREGISTRATIONRECORD *) 
  15743.     Nested exception registration record structure. 
  15744.  
  15745.     This field should be treated as a C-language volatile field. That is, even 
  15746.     though this field may be changed in ways unknown to your program, the 
  15747.     intent of the original expression will be maintained. 
  15748.  
  15749.  
  15750. ΓòÉΓòÉΓòÉ <hidden> EXCEPTIONREGISTRATIONRECORD Field - ExceptionHandler ΓòÉΓòÉΓòÉ
  15751.  
  15752.  ExceptionHandler (_ERR *) 
  15753.     Pointer to the ERR function. 
  15754.  
  15755.     This field must be treated as a C-language volatile field. That is, even 
  15756.     though this field may be changed in ways unknown to your program, the 
  15757.     intent of the original expression will be maintained. 
  15758.  
  15759.     The ERR function is defined below: 
  15760.  
  15761.  
  15762.         typedef ULONG APIENTRY _ERR (PEXECPTIONREPORTRECORD,
  15763.                                      struct _EXCEPTIONREGISTRATIONRECORD *,
  15764.                                      PCONTEXTRECORD,
  15765.                                      PVOID);
  15766.  
  15767.         typedef _ERR *ERR;
  15768.  
  15769.  
  15770. ΓòÉΓòÉΓòÉ 14.17. EXCEPTIONREPORTRECORD ΓòÉΓòÉΓòÉ
  15771.  
  15772. This structure contains machine-independent information about an exception or 
  15773. unwind. No system exception will ever have more parameters than the value of 
  15774. EXCEPTION_MAXIMUM_PARAMETERS. User exceptions are not bound to this limit. 
  15775.  
  15776. typedef STRUCT _EXCEPTIONREPORTRECORD {
  15777.   ULONG                               ExceptionNum;                                 /*  Exception number. */
  15778.   ULONG                               fHandlerFlags;                                /*  Handler flags. */
  15779.   STRUCT _EXCEPTIONREPORTRECORD      *NestedExceptionReportRecord;                  /*  Nested exception report record structure. */
  15780.   PVOID                               ExceptionAddress;                             /*  Address of the exception. */
  15781.   ULONG                               cParameters;                                  /*  Size of exception specific information. */
  15782.   ULONG                               ExceptionInfo[EXCEPTION_MAXIMUM_PARAMETERS];  /*  Exception specific information. */
  15783. } EXCEPTIONREPORTRECORD;
  15784.  
  15785. typedef EXCEPTIONREPORTRECORD *PEXCEPTIONREPORTRECORD;
  15786.  
  15787.  
  15788. ΓòÉΓòÉΓòÉ <hidden> EXCEPTIONREPORTRECORD Field - ExceptionNum ΓòÉΓòÉΓòÉ
  15789.  
  15790.  ExceptionNum (ULONG) 
  15791.     Exception number. 
  15792.  
  15793.  
  15794. ΓòÉΓòÉΓòÉ <hidden> EXCEPTIONREPORTRECORD Field - fHandlerFlags ΓòÉΓòÉΓòÉ
  15795.  
  15796.  fHandlerFlags (ULONG) 
  15797.     Handler flags. 
  15798.  
  15799.  
  15800. ΓòÉΓòÉΓòÉ <hidden> EXCEPTIONREPORTRECORD Field - NestedExceptionReportRecord ΓòÉΓòÉΓòÉ
  15801.  
  15802.  NestedExceptionReportRecord (STRUCT _EXCEPTIONREPORTRECORD *) 
  15803.     Nested exception report record structure. 
  15804.  
  15805.  
  15806. ΓòÉΓòÉΓòÉ <hidden> EXCEPTIONREPORTRECORD Field - ExceptionAddress ΓòÉΓòÉΓòÉ
  15807.  
  15808.  ExceptionAddress (PVOID) 
  15809.     Address of the exception. 
  15810.  
  15811.  
  15812. ΓòÉΓòÉΓòÉ <hidden> EXCEPTIONREPORTRECORD Field - cParameters ΓòÉΓòÉΓòÉ
  15813.  
  15814.  cParameters (ULONG) 
  15815.     Size of exception specific information. 
  15816.  
  15817.  
  15818. ΓòÉΓòÉΓòÉ <hidden> EXCEPTIONREPORTRECORD Field - ExceptionInfo[EXCEPTION_MAXIMUM_PARAMETERS] ΓòÉΓòÉΓòÉ
  15819.  
  15820.  ExceptionInfo[EXCEPTION_MAXIMUM_PARAMETERS] (ULONG) 
  15821.     Exception specific information. 
  15822.  
  15823.  
  15824. ΓòÉΓòÉΓòÉ 14.18. FATTRS ΓòÉΓòÉΓòÉ
  15825.  
  15826. Font-attributes structure. 
  15827.  
  15828. typedef struct _FATTRS {
  15829.   USHORT     usRecordLength;        /*  Length of record. */
  15830.   USHORT     fsSelection;           /*  Selection indicators. */
  15831.   LONG       lMatch;                /*  Matched-font identity. */
  15832.   CHAR       szFacename[FACESIZE];  /*  Typeface name. */
  15833.   USHORT     idRegistry;            /*  Registry identifier. */
  15834.   USHORT     usCodePage;            /*  Code page. */
  15835.   LONG       lMaxBaselineExt;       /*  Maximum baseline extension. */
  15836.   LONG       lAveCharWidth;         /*  Average character width. */
  15837.   USHORT     fsType;                /*  Type indicators. */
  15838.   USHORT     fsFontUse;             /*  Font-use indicators. */
  15839. } FATTRS;
  15840.  
  15841. typedef FATTRS *PFATTRS;
  15842.  
  15843.  
  15844. ΓòÉΓòÉΓòÉ <hidden> FATTRS Field - usRecordLength ΓòÉΓòÉΓòÉ
  15845.  
  15846.  usRecordLength (USHORT) 
  15847.     Length of record. 
  15848.  
  15849.  
  15850. ΓòÉΓòÉΓòÉ <hidden> FATTRS Field - fsSelection ΓòÉΓòÉΓòÉ
  15851.  
  15852.  fsSelection (USHORT) 
  15853.     Selection indicators. 
  15854.  
  15855.     Flags causing the following features to be simulated by the system. 
  15856.  
  15857.     Note:  If an italic flag is applied to a font that is itself defined as 
  15858.            italic, the font is slanted further by italic simulation. 
  15859.  
  15860.     Underscore or strikeout lines are drawn using the appropriate attributes 
  15861.     (for example, color) from the character bundle (see the CHARBUNDLE 
  15862.     datatype), not the line bundle (see LINEBUNDLE). The width of the line, and 
  15863.     the vertical position of the line in font space, are determined by the 
  15864.     font. Horizontally, the line starts from a point in font space directly 
  15865.     above or below the start point of each character, and extends to a point 
  15866.     directly above or below the escapement point for that character. 
  15867.  
  15868.     For this purpose, the start and escapement points are those applicable to 
  15869.     left-to-right or right-to-left character directions (see 
  15870.     GpiSetCharDirection in Graphics Programming Interface Programming 
  15871.     Reference), even if the string is currently being drawn in a top-to-bottom 
  15872.     or bottom-to-top direction. 
  15873.  
  15874.     For left-to-right or right-to-left directions, any white space generated by 
  15875.     the character extra and character break extra attributes (see 
  15876.     GpiSetCharExtra and GpiSetCharBreakExtra in Graphics Programming Interface 
  15877.     Programming Reference), as well as increments provided by the vector of 
  15878.     increments on GpiCharStringPos and GpiCharStringPosAt, are also 
  15879.     underlined/overstruck, so that in these cases the line is continuous for 
  15880.     the string. 
  15881.  
  15882.     FATTR_SEL_ITALIC                   Generate italic font. 
  15883.  
  15884.     FATTR_SEL_UNDERSCORE               Generate underscored font. 
  15885.  
  15886.     FATTR_SEL_BOLD                     Generate bold font. (Note that the 
  15887.                                        resulting characters are wider than 
  15888.                                        those in the original font.) 
  15889.  
  15890.     FATTR_SEL_STRIKEOUT                Generate font with overstruck 
  15891.                                        characters. 
  15892.  
  15893.     FATTR_SEL_OUTLINE                  Use an outline font with hollow 
  15894.                                        characters. If this flag is not set, 
  15895.                                        outline font characters are filled. 
  15896.                                        Setting this flag normally gives better 
  15897.                                        performance, and for sufficiently small 
  15898.                                        characters (depending on device 
  15899.                                        resolution) there may be little visual 
  15900.                                        difference. 
  15901.  
  15902.  
  15903. ΓòÉΓòÉΓòÉ <hidden> FATTRS Field - lMatch ΓòÉΓòÉΓòÉ
  15904.  
  15905.  lMatch (LONG) 
  15906.     Matched-font identity. 
  15907.  
  15908.  
  15909. ΓòÉΓòÉΓòÉ <hidden> FATTRS Field - szFacename[FACESIZE] ΓòÉΓòÉΓòÉ
  15910.  
  15911.  szFacename[FACESIZE] (CHAR) 
  15912.     Typeface name. 
  15913.  
  15914.     The typeface name of the font, for example, Tms Rmn. 
  15915.  
  15916.  
  15917. ΓòÉΓòÉΓòÉ <hidden> FATTRS Field - idRegistry ΓòÉΓòÉΓòÉ
  15918.  
  15919.  idRegistry (USHORT) 
  15920.     Registry identifier. 
  15921.  
  15922.     Font registry identifier (zero if unknown). 
  15923.  
  15924.  
  15925. ΓòÉΓòÉΓòÉ <hidden> FATTRS Field - usCodePage ΓòÉΓòÉΓòÉ
  15926.  
  15927.  usCodePage (USHORT) 
  15928.     Code page. 
  15929.  
  15930.     If zero, the current Gpi code page (see GpiSetCp in Graphics Programming 
  15931.     Interface Programming Reference) is used. A subsequent GpiSetCp function 
  15932.     changes the code page used for this logical font. 
  15933.  
  15934.  
  15935. ΓòÉΓòÉΓòÉ <hidden> FATTRS Field - lMaxBaselineExt ΓòÉΓòÉΓòÉ
  15936.  
  15937.  lMaxBaselineExt (LONG) 
  15938.     Maximum baseline extension. 
  15939.  
  15940.     For raster fonts, this should be the height of the required font, in world 
  15941.     coordinates. 
  15942.  
  15943.     For outline fonts, this should be zero. 
  15944.  
  15945.  
  15946. ΓòÉΓòÉΓòÉ <hidden> FATTRS Field - lAveCharWidth ΓòÉΓòÉΓòÉ
  15947.  
  15948.  lAveCharWidth (LONG) 
  15949.     Average character width. 
  15950.  
  15951.     For raster fonts, this should be the width of the required font, in world 
  15952.     coordinates. 
  15953.  
  15954.     For outline fonts, this should be zero. 
  15955.  
  15956.  
  15957. ΓòÉΓòÉΓòÉ <hidden> FATTRS Field - fsType ΓòÉΓòÉΓòÉ
  15958.  
  15959.  fsType (USHORT) 
  15960.     Type indicators. 
  15961.  
  15962.     FATTR_TYPE_KERNING                 Enable kerning (PostScript only). 
  15963.  
  15964.     FATTR_TYPE_MBCS                    Font for mixed single- and double-byte 
  15965.                                        code pages. 
  15966.  
  15967.     FATTR_TYPE_DBCS                    Font for double-byte code pages. 
  15968.  
  15969.     FATTR_TYPE_ANTIALIASED             Antialiased font required. Only valid if 
  15970.                                        supported by the device driver. 
  15971.  
  15972.  
  15973. ΓòÉΓòÉΓòÉ <hidden> FATTRS Field - fsFontUse ΓòÉΓòÉΓòÉ
  15974.  
  15975.  fsFontUse (USHORT) 
  15976.     Font-use indicators. 
  15977.  
  15978.     These flags indicate how the font is to be used. They affect presentation 
  15979.     speed and font quality. 
  15980.  
  15981.     FATTR_FONTUSE_NOMIX 
  15982.                                   Text is not mixed with graphics and can be 
  15983.                                   written without regard to any interaction 
  15984.                                   with graphics objects. 
  15985.  
  15986.     FATTR_FONTUSE_OUTLINE 
  15987.                                   Select an outline (vector) font. The font 
  15988.                                   characters can be used as part of a path 
  15989.                                   definition. If this flag is not set, an 
  15990.                                   outline font might or might not be selected. 
  15991.                                   If an outline font is selected, however, 
  15992.                                   character widths are rounded to an integral 
  15993.                                   number of pels. 
  15994.  
  15995.     FATTR_FONTUSE_TRANSFORMABLE 
  15996.                                   Characters can be transformed (for example, 
  15997.                                   scaled, rotated, or sheared). 
  15998.  
  15999.  
  16000. ΓòÉΓòÉΓòÉ 14.19. FDATE ΓòÉΓòÉΓòÉ
  16001.  
  16002. Date data structure for file-system functions. 
  16003.  
  16004. typedef struct _FDATE {
  16005.   USHORT     day:5;    /*  Binary day for directory entry. */
  16006.   USHORT     month:4;  /*  Binary month for directory entry. */
  16007.   USHORT     year:7;   /*  The number of years since 1980 for this directory entry. */
  16008. } FDATE;
  16009.  
  16010. typedef FDATE *PFDATE;
  16011.  
  16012.  
  16013. ΓòÉΓòÉΓòÉ <hidden> FDATE Field - day:5 ΓòÉΓòÉΓòÉ
  16014.  
  16015.  day:5 (USHORT) 
  16016.     Binary day for directory entry. 
  16017.  
  16018.  
  16019. ΓòÉΓòÉΓòÉ <hidden> FDATE Field - month:4 ΓòÉΓòÉΓòÉ
  16020.  
  16021.  month:4 (USHORT) 
  16022.     Binary month for directory entry. 
  16023.  
  16024.  
  16025. ΓòÉΓòÉΓòÉ <hidden> FDATE Field - year:7 ΓòÉΓòÉΓòÉ
  16026.  
  16027.  year:7 (USHORT) 
  16028.     The number of years since 1980 for this directory entry. 
  16029.  
  16030.  
  16031. ΓòÉΓòÉΓòÉ 14.20. FEA2 ΓòÉΓòÉΓòÉ
  16032.  
  16033. FEA2 defines the format for setting the full extended attributes in the file. 
  16034.  
  16035. typedef struct _FEA2 {
  16036.   ULONG      oNextEntryOffset;  /*  Offset to next entry. */
  16037.   BYTE       fEA;               /*  Extended attributes flag. */
  16038.   BYTE       cbName;            /*  Length of szName, not including NULL. */
  16039.   USHORT     cbValue;           /*  Value length. */
  16040.   CHAR       szName[1];         /*  Extended attribute name. */
  16041. } FEA2;
  16042.  
  16043. typedef FEA2 *PFEA2;
  16044.  
  16045. Extended attributes (EAs) are non-critical by default. A non-critical EA is one 
  16046. that is not necessary to the functionality of the application. If a 
  16047. non-critical EA is lost, the system continues to operate correctly. For 
  16048. example, losing the icons associated with data files does not generally cause 
  16049. any ill effect other than the inability to show the icon. 
  16050.  
  16051. A critical extended attribute is one which is necessary for the correct 
  16052. operation of the operating system or of a particular operation. EAs should be 
  16053. marked as critical if their loss would cause the system or program to perform 
  16054. incorrectly. For example, a mail program might store mail headers in EAs. The 
  16055. loss of the header from a message would normally render the mail program unable 
  16056. to further use that message. This would be unacceptable, so the mail program 
  16057. should mark this EA as critical. 
  16058.  
  16059.  
  16060. ΓòÉΓòÉΓòÉ <hidden> FEA2 Field - oNextEntryOffset ΓòÉΓòÉΓòÉ
  16061.  
  16062.  oNextEntryOffset (ULONG) 
  16063.     Offset to next entry. 
  16064.  
  16065.  
  16066. ΓòÉΓòÉΓòÉ <hidden> FEA2 Field - fEA ΓòÉΓòÉΓòÉ
  16067.  
  16068.  fEA (BYTE) 
  16069.     Extended attributes flag. 
  16070.  
  16071.     FEA_NEEDEA 
  16072.             Extended attributes are critical. 
  16073.  
  16074.             If this flag is set, this file cannot be copied to a file system 
  16075.             that does not support extended attributes. This flag should only be 
  16076.             set if extended attributes are critical to the processing of this 
  16077.             file. 
  16078.  
  16079.     0 
  16080.             Extended attributes are not critical. 
  16081.  
  16082.  
  16083. ΓòÉΓòÉΓòÉ <hidden> FEA2 Field - cbName ΓòÉΓòÉΓòÉ
  16084.  
  16085.  cbName (BYTE) 
  16086.     Length of szName, not including NULL. 
  16087.  
  16088.     This value must be greater than 0. 
  16089.  
  16090.  
  16091. ΓòÉΓòÉΓòÉ <hidden> FEA2 Field - cbValue ΓòÉΓòÉΓòÉ
  16092.  
  16093.  cbValue (USHORT) 
  16094.     Value length. 
  16095.  
  16096.     Sending an EA with cbValue set to 0 in the FEA2 data structure causes that 
  16097.     attribute to be deleted, if possible. Receiving an EA with cbValue set to 0 
  16098.     in the FEA2 data structure indicates that the attribute is not present. 
  16099.  
  16100.  
  16101. ΓòÉΓòÉΓòÉ <hidden> FEA2 Field - szName[1] ΓòÉΓòÉΓòÉ
  16102.  
  16103.  szName[1] (CHAR) 
  16104.     Extended attribute name. 
  16105.  
  16106.  
  16107. ΓòÉΓòÉΓòÉ 14.21. FEA2LIST ΓòÉΓòÉΓòÉ
  16108.  
  16109. FEA2 data structure. 
  16110.  
  16111. typedef struct _FEA2LIST {
  16112.   ULONG     cbList;   /*  Total bytes of structure including full list. */
  16113.   FEA2      list[1];  /*  Variable-length FEA2 structures. */
  16114. } FEA2LIST;
  16115.  
  16116. typedef FEA2LIST *PFEA2LIST;
  16117.  
  16118.  
  16119. ΓòÉΓòÉΓòÉ <hidden> FEA2LIST Field - cbList ΓòÉΓòÉΓòÉ
  16120.  
  16121.  cbList (ULONG) 
  16122.     Total bytes of structure including full list. 
  16123.  
  16124.  
  16125. ΓòÉΓòÉΓòÉ <hidden> FEA2LIST Field - list[1] ΓòÉΓòÉΓòÉ
  16126.  
  16127.  list[1] (FEA2) 
  16128.     Variable-length FEA2 structures. 
  16129.  
  16130.  
  16131. ΓòÉΓòÉΓòÉ 14.22. FHLOCK ΓòÉΓòÉΓòÉ
  16132.  
  16133. Unsigned integer in the range 0 through 4 294 967 295. 
  16134.  
  16135. typedef ULONG FHLOCK;
  16136.  
  16137.  
  16138. ΓòÉΓòÉΓòÉ 14.23. FILEFINDBUF ΓòÉΓòÉΓòÉ
  16139.  
  16140. Find file buffer data structure. 
  16141.  
  16142. typedef struct _FILEFINDBUF {
  16143.   FDATE      fdateCreation;            /*  Date of file creation. */
  16144.   FTIME      ftimeCreation;            /*  Time of file creation. */
  16145.   FDATE      fdateLastAccess;          /*  Date of last access. */
  16146.   FTIME      ftimeLastAccess;          /*  Time of last access. */
  16147.   FDATE      fdateLastWrite;           /*  Date of last write. */
  16148.   FTIME      ftimeLastWrite;           /*  Time of last write. */
  16149.   ULONG      cbFile;                   /*  Size of file. */
  16150.   ULONG      cbFileAlloc;              /*  Allocated size. */
  16151.   USHORT     attrFile;                 /*  File attributes. */
  16152.   UCHAR      cchName;                  /*  Length of file name. */
  16153.   CHAR       achName[CCHMAXPATHCOMP];  /*  File name including null terminator. */
  16154. } FILEFINDBUF;
  16155.  
  16156. typedef FILEFINDBUF *PFILEFINDBUF;
  16157.  
  16158.  
  16159. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - fdateCreation ΓòÉΓòÉΓòÉ
  16160.  
  16161.  fdateCreation (FDATE) 
  16162.     Date of file creation. 
  16163.  
  16164.  
  16165. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - ftimeCreation ΓòÉΓòÉΓòÉ
  16166.  
  16167.  ftimeCreation (FTIME) 
  16168.     Time of file creation. 
  16169.  
  16170.  
  16171. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - fdateLastAccess ΓòÉΓòÉΓòÉ
  16172.  
  16173.  fdateLastAccess (FDATE) 
  16174.     Date of last access. 
  16175.  
  16176.  
  16177. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - ftimeLastAccess ΓòÉΓòÉΓòÉ
  16178.  
  16179.  ftimeLastAccess (FTIME) 
  16180.     Time of last access. 
  16181.  
  16182.  
  16183. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - fdateLastWrite ΓòÉΓòÉΓòÉ
  16184.  
  16185.  fdateLastWrite (FDATE) 
  16186.     Date of last write. 
  16187.  
  16188.  
  16189. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - ftimeLastWrite ΓòÉΓòÉΓòÉ
  16190.  
  16191.  ftimeLastWrite (FTIME) 
  16192.     Time of last write. 
  16193.  
  16194.  
  16195. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - cbFile ΓòÉΓòÉΓòÉ
  16196.  
  16197.  cbFile (ULONG) 
  16198.     Size of file. 
  16199.  
  16200.  
  16201. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - cbFileAlloc ΓòÉΓòÉΓòÉ
  16202.  
  16203.  cbFileAlloc (ULONG) 
  16204.     Allocated size. 
  16205.  
  16206.  
  16207. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - attrFile ΓòÉΓòÉΓòÉ
  16208.  
  16209.  attrFile (USHORT) 
  16210.     File attributes. 
  16211.  
  16212.  
  16213. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - cchName ΓòÉΓòÉΓòÉ
  16214.  
  16215.  cchName (UCHAR) 
  16216.     Length of file name. 
  16217.  
  16218.  
  16219. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF Field - achName[CCHMAXPATHCOMP] ΓòÉΓòÉΓòÉ
  16220.  
  16221.  achName[CCHMAXPATHCOMP] (CHAR) 
  16222.     File name including null terminator. 
  16223.  
  16224.  
  16225. ΓòÉΓòÉΓòÉ 14.24. FILEFINDBUF3 ΓòÉΓòÉΓòÉ
  16226.  
  16227. Level 1 (32-bit) information (used without EAs). 
  16228.  
  16229. typedef struct _FILEFINDBUF3 {
  16230.   ULONG     oNextEntryOffset;         /*  Offset of next entry. */
  16231.   FDATE     fdateCreation;            /*  Date of file creation. */
  16232.   FTIME     ftimeCreation;            /*  Time of file creation. */
  16233.   FDATE     fdateLastAccess;          /*  Date of last access. */
  16234.   FTIME     ftimeLastAccess;          /*  Time of last access. */
  16235.   FDATE     fdateLastWrite;           /*  Date of last write. */
  16236.   FTIME     ftimeLastWrite;           /*  Time of last write. */
  16237.   ULONG     cbFile;                   /*  Size of file. */
  16238.   ULONG     cbFileAlloc;              /*  Allocation size. */
  16239.   ULONG     attrFile;                 /*  File attributes. */
  16240.   UCHAR     cchName;
  16241.   CHAR      achName[CCHMAXPATHCOMP];  /*  File name including null terminator. */
  16242. } FILEFINDBUF3;
  16243.  
  16244. typedef FILEFINDBUF3 *PFILEFINDBUF3;
  16245.  
  16246.  
  16247. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - oNextEntryOffset ΓòÉΓòÉΓòÉ
  16248.  
  16249.  oNextEntryOffset (ULONG) 
  16250.     Offset of next entry. 
  16251.  
  16252.  
  16253. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - fdateCreation ΓòÉΓòÉΓòÉ
  16254.  
  16255.  fdateCreation (FDATE) 
  16256.     Date of file creation. 
  16257.  
  16258.  
  16259. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - ftimeCreation ΓòÉΓòÉΓòÉ
  16260.  
  16261.  ftimeCreation (FTIME) 
  16262.     Time of file creation. 
  16263.  
  16264.  
  16265. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - fdateLastAccess ΓòÉΓòÉΓòÉ
  16266.  
  16267.  fdateLastAccess (FDATE) 
  16268.     Date of last access. 
  16269.  
  16270.  
  16271. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - ftimeLastAccess ΓòÉΓòÉΓòÉ
  16272.  
  16273.  ftimeLastAccess (FTIME) 
  16274.     Time of last access. 
  16275.  
  16276.  
  16277. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - fdateLastWrite ΓòÉΓòÉΓòÉ
  16278.  
  16279.  fdateLastWrite (FDATE) 
  16280.     Date of last write. 
  16281.  
  16282.  
  16283. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - ftimeLastWrite ΓòÉΓòÉΓòÉ
  16284.  
  16285.  ftimeLastWrite (FTIME) 
  16286.     Time of last write. 
  16287.  
  16288.  
  16289. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - cbFile ΓòÉΓòÉΓòÉ
  16290.  
  16291.  cbFile (ULONG) 
  16292.     Size of file. 
  16293.  
  16294.  
  16295. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - cbFileAlloc ΓòÉΓòÉΓòÉ
  16296.  
  16297.  cbFileAlloc (ULONG) 
  16298.     Allocation size. 
  16299.  
  16300.  
  16301. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - attrFile ΓòÉΓòÉΓòÉ
  16302.  
  16303.  attrFile (ULONG) 
  16304.     File attributes. 
  16305.  
  16306.  
  16307. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - cchName ΓòÉΓòÉΓòÉ
  16308.  
  16309.  cchName (UCHAR) 
  16310.  
  16311.  
  16312. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF3 Field - achName[CCHMAXPATHCOMP] ΓòÉΓòÉΓòÉ
  16313.  
  16314.  achName[CCHMAXPATHCOMP] (CHAR) 
  16315.     File name including null terminator. 
  16316.  
  16317.  
  16318. ΓòÉΓòÉΓòÉ 14.25. FILEFINDBUF4 ΓòÉΓòÉΓòÉ
  16319.  
  16320. Level 2 (32-bit) information (used with EAs). 
  16321.  
  16322. typedef struct _FILEFINDBUF4 {
  16323.   ULONG     oNextEntryOffset;         /*  Offset of next entry. */
  16324.   FDATE     fdateCreation;            /*  Date of file creation. */
  16325.   FTIME     ftimeCreation;            /*  Time of file creation. */
  16326.   FDATE     fdateLastAccess;          /*  Date of last access. */
  16327.   FTIME     ftimeLastAccess;          /*  Time of last access. */
  16328.   FDATE     fdateLastWrite;           /*  Date of last write. */
  16329.   FTIME     ftimeLastWrite;           /*  Time of last write. */
  16330.   ULONG     cbFile;                   /*  Size of file. */
  16331.   ULONG     cbFileAlloc;              /*  Allocated size. */
  16332.   ULONG     attrFile;                 /*  File attributes. */
  16333.   ULONG     cbList;                   /*  Size of the file's extended attributes. */
  16334.   UCHAR     cchName;                  /*  Length of file name. */
  16335.   CHAR      achName[CCHMAXPATHCOMP];  /*  File name including null terminator. */
  16336. } FILEFINDBUF4;
  16337.  
  16338. typedef FILEFINDBUF4 *PFILEFINDBUF4;
  16339.  
  16340.  
  16341. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - oNextEntryOffset ΓòÉΓòÉΓòÉ
  16342.  
  16343.  oNextEntryOffset (ULONG) 
  16344.     Offset of next entry. 
  16345.  
  16346.  
  16347. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - fdateCreation ΓòÉΓòÉΓòÉ
  16348.  
  16349.  fdateCreation (FDATE) 
  16350.     Date of file creation. 
  16351.  
  16352.  
  16353. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - ftimeCreation ΓòÉΓòÉΓòÉ
  16354.  
  16355.  ftimeCreation (FTIME) 
  16356.     Time of file creation. 
  16357.  
  16358.  
  16359. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - fdateLastAccess ΓòÉΓòÉΓòÉ
  16360.  
  16361.  fdateLastAccess (FDATE) 
  16362.     Date of last access. 
  16363.  
  16364.  
  16365. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - ftimeLastAccess ΓòÉΓòÉΓòÉ
  16366.  
  16367.  ftimeLastAccess (FTIME) 
  16368.     Time of last access. 
  16369.  
  16370.  
  16371. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - fdateLastWrite ΓòÉΓòÉΓòÉ
  16372.  
  16373.  fdateLastWrite (FDATE) 
  16374.     Date of last write. 
  16375.  
  16376.  
  16377. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - ftimeLastWrite ΓòÉΓòÉΓòÉ
  16378.  
  16379.  ftimeLastWrite (FTIME) 
  16380.     Time of last write. 
  16381.  
  16382.  
  16383. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - cbFile ΓòÉΓòÉΓòÉ
  16384.  
  16385.  cbFile (ULONG) 
  16386.     Size of file. 
  16387.  
  16388.  
  16389. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - cbFileAlloc ΓòÉΓòÉΓòÉ
  16390.  
  16391.  cbFileAlloc (ULONG) 
  16392.     Allocated size. 
  16393.  
  16394.  
  16395. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - attrFile ΓòÉΓòÉΓòÉ
  16396.  
  16397.  attrFile (ULONG) 
  16398.     File attributes. 
  16399.  
  16400.  
  16401. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - cbList ΓòÉΓòÉΓòÉ
  16402.  
  16403.  cbList (ULONG) 
  16404.     Size of the file's extended attributes. 
  16405.  
  16406.     The size is measured in bytes and is the size of the file's entire extended 
  16407.     attribute set on the disk. 
  16408.  
  16409.  
  16410. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - cchName ΓòÉΓòÉΓòÉ
  16411.  
  16412.  cchName (UCHAR) 
  16413.     Length of file name. 
  16414.  
  16415.  
  16416. ΓòÉΓòÉΓòÉ <hidden> FILEFINDBUF4 Field - achName[CCHMAXPATHCOMP] ΓòÉΓòÉΓòÉ
  16417.  
  16418.  achName[CCHMAXPATHCOMP] (CHAR) 
  16419.     File name including null terminator. 
  16420.  
  16421.  
  16422. ΓòÉΓòÉΓòÉ 14.26. FILELOCK ΓòÉΓòÉΓòÉ
  16423.  
  16424. FILELOCK data structure. 
  16425.  
  16426. typedef struct _FILELOCK {
  16427.   LONG     lOffset;  /*  Offset to the beginning of the lock (or unlock) range. */
  16428.   LONG     lRange;   /*  Length, in bytes, of the lock (or unlock) range. */
  16429. } FILELOCK;
  16430.  
  16431. typedef FILELOCK *PFILELOCK;
  16432.  
  16433.  
  16434. ΓòÉΓòÉΓòÉ <hidden> FILELOCK Field - lOffset ΓòÉΓòÉΓòÉ
  16435.  
  16436.  lOffset (LONG) 
  16437.     Offset to the beginning of the lock (or unlock) range. 
  16438.  
  16439.  
  16440. ΓòÉΓòÉΓòÉ <hidden> FILELOCK Field - lRange ΓòÉΓòÉΓòÉ
  16441.  
  16442.  lRange (LONG) 
  16443.     Length, in bytes, of the lock (or unlock) range. 
  16444.  
  16445.     A value of 0 indicates that locking (or unlocking) is not required. 
  16446.  
  16447.  
  16448. ΓòÉΓòÉΓòÉ 14.27. FILESTATUS ΓòÉΓòÉΓòÉ
  16449.  
  16450. Use for Level 1 (FIL_STANDARD) file information for: 
  16451.  
  16452.      DosQueryFileInfo 
  16453.      DosQueryPathInfo 
  16454.      DosSetFileInfo 
  16455.      DosSetPathInfo 
  16456.  
  16457.   typedef struct _FILESTATUS {
  16458.     FDATE      fdateCreation;    /*  Date of file creation. */
  16459.     FTIME      ftimeCreation;    /*  Time of file creation. */
  16460.     FDATE      fdateLastAccess;  /*  Date of last access. */
  16461.     FTIME      ftimeLastAccess;  /*  Time of last access. */
  16462.     FDATE      fdateLastWrite;   /*  Date of last write. */
  16463.     FTIME      ftimeLastWrite;   /*  Time of last write. */
  16464.     ULONG      cbFile;           /*  File size (end of data). */
  16465.     ULONG      cbFileAlloc;      /*  File allocated size. */
  16466.     USHORT     attrFile;         /*  Attributes of the file. */
  16467.   } FILESTATUS;
  16468.  
  16469.   typedef FILESTATUS *PFILESTATUS;
  16470.  
  16471.  
  16472. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS Field - fdateCreation ΓòÉΓòÉΓòÉ
  16473.  
  16474.  fdateCreation (FDATE) 
  16475.     Date of file creation. 
  16476.  
  16477.  
  16478. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS Field - ftimeCreation ΓòÉΓòÉΓòÉ
  16479.  
  16480.  ftimeCreation (FTIME) 
  16481.     Time of file creation. 
  16482.  
  16483.  
  16484. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS Field - fdateLastAccess ΓòÉΓòÉΓòÉ
  16485.  
  16486.  fdateLastAccess (FDATE) 
  16487.     Date of last access. 
  16488.  
  16489.  
  16490. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS Field - ftimeLastAccess ΓòÉΓòÉΓòÉ
  16491.  
  16492.  ftimeLastAccess (FTIME) 
  16493.     Time of last access. 
  16494.  
  16495.  
  16496. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS Field - fdateLastWrite ΓòÉΓòÉΓòÉ
  16497.  
  16498.  fdateLastWrite (FDATE) 
  16499.     Date of last write. 
  16500.  
  16501.  
  16502. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS Field - ftimeLastWrite ΓòÉΓòÉΓòÉ
  16503.  
  16504.  ftimeLastWrite (FTIME) 
  16505.     Time of last write. 
  16506.  
  16507.  
  16508. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS Field - cbFile ΓòÉΓòÉΓòÉ
  16509.  
  16510.  cbFile (ULONG) 
  16511.     File size (end of data). 
  16512.  
  16513.  
  16514. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS Field - cbFileAlloc ΓòÉΓòÉΓòÉ
  16515.  
  16516.  cbFileAlloc (ULONG) 
  16517.     File allocated size. 
  16518.  
  16519.  
  16520. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS Field - attrFile ΓòÉΓòÉΓòÉ
  16521.  
  16522.  attrFile (USHORT) 
  16523.     Attributes of the file. 
  16524.  
  16525.  
  16526. ΓòÉΓòÉΓòÉ 14.28. FILESTATUS3 ΓòÉΓòÉΓòÉ
  16527.  
  16528. Level 1 (32-bit) (FIL_STANDARD) information. 
  16529.  
  16530. typedef struct _FILESTATUS3 {
  16531.   FDATE     fdateCreation;    /*  Date of file creation. */
  16532.   FTIME     ftimeCreation;    /*  Time of file creation. */
  16533.   FDATE     fdateLastAccess;  /*  Date of last access. */
  16534.   FTIME     ftimeLastAccess;  /*  Time of last access. */
  16535.   FDATE     fdateLastWrite;   /*  Date of last write. */
  16536.   FTIME     ftimeLastWrite;   /*  Time of last write. */
  16537.   ULONG     cbFile;           /*  File size (end of data). */
  16538.   ULONG     cbFileAlloc;      /*  File allocated size. */
  16539.   ULONG     attrFile;         /*  Attributes of the file. */
  16540. } FILESTATUS3;
  16541.  
  16542. typedef FILESTATUS3 *PFILESTATUS3;
  16543.  
  16544.  
  16545. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS3 Field - fdateCreation ΓòÉΓòÉΓòÉ
  16546.  
  16547.  fdateCreation (FDATE) 
  16548.     Date of file creation. 
  16549.  
  16550.  
  16551. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS3 Field - ftimeCreation ΓòÉΓòÉΓòÉ
  16552.  
  16553.  ftimeCreation (FTIME) 
  16554.     Time of file creation. 
  16555.  
  16556.  
  16557. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS3 Field - fdateLastAccess ΓòÉΓòÉΓòÉ
  16558.  
  16559.  fdateLastAccess (FDATE) 
  16560.     Date of last access. 
  16561.  
  16562.  
  16563. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS3 Field - ftimeLastAccess ΓòÉΓòÉΓòÉ
  16564.  
  16565.  ftimeLastAccess (FTIME) 
  16566.     Time of last access. 
  16567.  
  16568.  
  16569. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS3 Field - fdateLastWrite ΓòÉΓòÉΓòÉ
  16570.  
  16571.  fdateLastWrite (FDATE) 
  16572.     Date of last write. 
  16573.  
  16574.  
  16575. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS3 Field - ftimeLastWrite ΓòÉΓòÉΓòÉ
  16576.  
  16577.  ftimeLastWrite (FTIME) 
  16578.     Time of last write. 
  16579.  
  16580.  
  16581. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS3 Field - cbFile ΓòÉΓòÉΓòÉ
  16582.  
  16583.  cbFile (ULONG) 
  16584.     File size (end of data). 
  16585.  
  16586.  
  16587. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS3 Field - cbFileAlloc ΓòÉΓòÉΓòÉ
  16588.  
  16589.  cbFileAlloc (ULONG) 
  16590.     File allocated size. 
  16591.  
  16592.  
  16593. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS3 Field - attrFile ΓòÉΓòÉΓòÉ
  16594.  
  16595.  attrFile (ULONG) 
  16596.     Attributes of the file. 
  16597.  
  16598.  
  16599. ΓòÉΓòÉΓòÉ 14.29. FILESTATUS4 ΓòÉΓòÉΓòÉ
  16600.  
  16601. Level 2 (32-bit) (FIL_QUERYEASIZE) information. 
  16602.  
  16603. typedef struct _FILESTATUS4 {
  16604.   FDATE     fdateCreation;    /*  Date of file creation. */
  16605.   FTIME     ftimeCreation;    /*  Time of file creation. */
  16606.   FDATE     fdateLastAccess;  /*  Date of last access. */
  16607.   FTIME     ftimeLastAccess;  /*  Time of last access. */
  16608.   FDATE     fdateLastWrite;   /*  Date of last write. */
  16609.   FTIME     ftimeLastWrite;   /*  Time of last write. */
  16610.   ULONG     cbFile;           /*  File size (end of data). */
  16611.   ULONG     cbFileAlloc;      /*  File allocated size. */
  16612.   ULONG     attrFile;         /*  Attributes of the file. */
  16613.   ULONG     cbList;           /*  Length of entire EA set. */
  16614. } FILESTATUS4;
  16615.  
  16616. typedef FILESTATUS4 *PFILESTATUS4;
  16617.  
  16618.  
  16619. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS4 Field - fdateCreation ΓòÉΓòÉΓòÉ
  16620.  
  16621.  fdateCreation (FDATE) 
  16622.     Date of file creation. 
  16623.  
  16624.  
  16625. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS4 Field - ftimeCreation ΓòÉΓòÉΓòÉ
  16626.  
  16627.  ftimeCreation (FTIME) 
  16628.     Time of file creation. 
  16629.  
  16630.  
  16631. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS4 Field - fdateLastAccess ΓòÉΓòÉΓòÉ
  16632.  
  16633.  fdateLastAccess (FDATE) 
  16634.     Date of last access. 
  16635.  
  16636.  
  16637. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS4 Field - ftimeLastAccess ΓòÉΓòÉΓòÉ
  16638.  
  16639.  ftimeLastAccess (FTIME) 
  16640.     Time of last access. 
  16641.  
  16642.  
  16643. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS4 Field - fdateLastWrite ΓòÉΓòÉΓòÉ
  16644.  
  16645.  fdateLastWrite (FDATE) 
  16646.     Date of last write. 
  16647.  
  16648.  
  16649. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS4 Field - ftimeLastWrite ΓòÉΓòÉΓòÉ
  16650.  
  16651.  ftimeLastWrite (FTIME) 
  16652.     Time of last write. 
  16653.  
  16654.  
  16655. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS4 Field - cbFile ΓòÉΓòÉΓòÉ
  16656.  
  16657.  cbFile (ULONG) 
  16658.     File size (end of data). 
  16659.  
  16660.  
  16661. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS4 Field - cbFileAlloc ΓòÉΓòÉΓòÉ
  16662.  
  16663.  cbFileAlloc (ULONG) 
  16664.     File allocated size. 
  16665.  
  16666.  
  16667. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS4 Field - attrFile ΓòÉΓòÉΓòÉ
  16668.  
  16669.  attrFile (ULONG) 
  16670.     Attributes of the file. 
  16671.  
  16672.  
  16673. ΓòÉΓòÉΓòÉ <hidden> FILESTATUS4 Field - cbList ΓòÉΓòÉΓòÉ
  16674.  
  16675.  cbList (ULONG) 
  16676.     Length of entire EA set. 
  16677.  
  16678.  
  16679. ΓòÉΓòÉΓòÉ 14.30. FPREG ΓòÉΓòÉΓòÉ
  16680.  
  16681. Coprocessor stack register element. 
  16682.  
  16683. typedef struct _FPREG {
  16684.   ULONG      losig;    /*  Low 32-bits of the significand. */
  16685.   ULONG      hisig;    /*  High 32-bits of the significand. */
  16686.   USHORT     signexp;  /*  Sign and exponent. */
  16687. } FPREG;
  16688.  
  16689. typedef FPREG *PFPREG;
  16690.  
  16691. A floating point register is 80 bits wide and consists of three fields. The 
  16692. following graphic shows the layout of the floating point register: 
  16693.  
  16694.  
  16695.   79  78         64 63                                     0
  16696.   ΓöîΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  16697.   Γöé   Γöé            Γöé             Significand               Γöé
  16698.   ΓööΓöÇΓö¼ΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  16699.     Γöé        Γöé
  16700.     Γöé        Exponent
  16701.    Sign
  16702.  
  16703.  
  16704. ΓòÉΓòÉΓòÉ <hidden> FPREG Field - losig ΓòÉΓòÉΓòÉ
  16705.  
  16706.  losig (ULONG) 
  16707.     Low 32-bits of the significand. 
  16708.  
  16709.     The low 32-bits of the number's significant digits are held in the lower 
  16710.     part of the significand field. 
  16711.  
  16712.  
  16713. ΓòÉΓòÉΓòÉ <hidden> FPREG Field - hisig ΓòÉΓòÉΓòÉ
  16714.  
  16715.  hisig (ULONG) 
  16716.     High 32-bits of the significand. 
  16717.  
  16718.     The high 32-bits of the number's significant digits are held in the higher 
  16719.     part of the significand field. 
  16720.  
  16721.  
  16722. ΓòÉΓòÉΓòÉ <hidden> FPREG Field - signexp ΓòÉΓòÉΓòÉ
  16723.  
  16724.  signexp (USHORT) 
  16725.     Sign and exponent. 
  16726.  
  16727.     The exponent field (bits 64-78) locates the binary point within the 
  16728.     significand field (bits 0-63). 
  16729.  
  16730.     The 1-bit sign field (bit 79) indicates whether the number is positive or 
  16731.     negative 
  16732.  
  16733.  
  16734. ΓòÉΓòÉΓòÉ 14.31. FRAME ΓòÉΓòÉΓòÉ
  16735.  
  16736. Frame control data structure. 
  16737.  
  16738. typedef struct _FRAME {
  16739.   BYTE     bCharsPerLine;  /*  Characters per line. */
  16740.   BYTE     bLinesPerInch;  /*  Lines per inch. */
  16741. } FRAME;
  16742.  
  16743. typedef FRAME *PFRAME;
  16744.  
  16745.  
  16746. ΓòÉΓòÉΓòÉ <hidden> FRAME Field - bCharsPerLine ΓòÉΓòÉΓòÉ
  16747.  
  16748.  bCharsPerLine (BYTE) 
  16749.     Characters per line. 
  16750.  
  16751.     Valid values are 80 and 132. 
  16752.  
  16753.  
  16754. ΓòÉΓòÉΓòÉ <hidden> FRAME Field - bLinesPerInch ΓòÉΓòÉΓòÉ
  16755.  
  16756.  bLinesPerInch (BYTE) 
  16757.     Lines per inch. 
  16758.  
  16759.     Valid values are 6 and 8. 
  16760.  
  16761.  
  16762. ΓòÉΓòÉΓòÉ 14.32. FSALLOCATE ΓòÉΓòÉΓòÉ
  16763.  
  16764. File-system device allocation. 
  16765.  
  16766. typedef struct _FSALLOCATE {
  16767.   ULONG      idFileSystem;  /*  File system identification. */
  16768.   ULONG      cSectorUnit;   /*  Number of sectors per allocation unit. */
  16769.   ULONG      cUnit;         /*  Number of allocation units. */
  16770.   ULONG      cUnitAvail;    /*  Number of allocation units available. */
  16771.   USHORT     cbSector;      /*  Number of bytes per sector. */
  16772. } FSALLOCATE;
  16773.  
  16774. typedef FSALLOCATE *PFSALLOCATE;
  16775.  
  16776.  
  16777. ΓòÉΓòÉΓòÉ <hidden> FSALLOCATE Field - idFileSystem ΓòÉΓòÉΓòÉ
  16778.  
  16779.  idFileSystem (ULONG) 
  16780.     File system identification. 
  16781.  
  16782.  
  16783. ΓòÉΓòÉΓòÉ <hidden> FSALLOCATE Field - cSectorUnit ΓòÉΓòÉΓòÉ
  16784.  
  16785.  cSectorUnit (ULONG) 
  16786.     Number of sectors per allocation unit. 
  16787.  
  16788.  
  16789. ΓòÉΓòÉΓòÉ <hidden> FSALLOCATE Field - cUnit ΓòÉΓòÉΓòÉ
  16790.  
  16791.  cUnit (ULONG) 
  16792.     Number of allocation units. 
  16793.  
  16794.  
  16795. ΓòÉΓòÉΓòÉ <hidden> FSALLOCATE Field - cUnitAvail ΓòÉΓòÉΓòÉ
  16796.  
  16797.  cUnitAvail (ULONG) 
  16798.     Number of allocation units available. 
  16799.  
  16800.  
  16801. ΓòÉΓòÉΓòÉ <hidden> FSALLOCATE Field - cbSector ΓòÉΓòÉΓòÉ
  16802.  
  16803.  cbSector (USHORT) 
  16804.     Number of bytes per sector. 
  16805.  
  16806.  
  16807. ΓòÉΓòÉΓòÉ 14.33. FSINFO ΓòÉΓòÉΓòÉ
  16808.  
  16809. File-system information data structure. 
  16810.  
  16811. typedef struct _FSINFO {
  16812.   ULONG           ulVSN;  /*  Volume Serial Number. */
  16813.   VOLUMELABEL     vol;    /*  Volume label. */
  16814. } FSINFO;
  16815.  
  16816. typedef FSINFO *PFSINFO;
  16817.  
  16818.  
  16819. ΓòÉΓòÉΓòÉ <hidden> FSINFO Field - ulVSN ΓòÉΓòÉΓòÉ
  16820.  
  16821.  ulVSN (ULONG) 
  16822.     Volume Serial Number. 
  16823.  
  16824.     Volume Serial Number is a unique 32-bit number that the operating system 
  16825.     uses to identify its disk or diskette volumes. The hard error prompts the 
  16826.     user for an unmounted removable volume by displaying both the Volume Serial 
  16827.     Number (an 8-digit hexadecimal number) and the Volume Label. 
  16828.  
  16829.  
  16830. ΓòÉΓòÉΓòÉ <hidden> FSINFO Field - vol ΓòÉΓòÉΓòÉ
  16831.  
  16832.  vol (VOLUMELABEL) 
  16833.     Volume label. 
  16834.  
  16835.     Trailing blanks in the time the volume label are not considered part of the 
  16836.     label, and are not returned as valid label data. The volume label is 
  16837.     limited to a length of 11 bytes. 
  16838.  
  16839.  
  16840. ΓòÉΓòÉΓòÉ 14.34. FSQBUFFER2 ΓòÉΓòÉΓòÉ
  16841.  
  16842. Data structure for information about an attached file system (local or remote), 
  16843. or about a character device or pseudocharacter device attached to the file 
  16844. system. 
  16845.  
  16846. typedef struct _FSQBUFFER2 {
  16847.   USHORT     iType;         /*  Type of item. */
  16848.   USHORT     cbName;        /*  Length, in bytes, of the item name, not including null. */
  16849.   USHORT     cbFSDName;     /*  Length, in bytes, of the file-system driver name, not including null. */
  16850.   USHORT     cbFSAData;     /*  Length, in bytes, of the file-system driver Attach data returned by the file-system driver. */
  16851.   UCHAR      szName[1];     /*  Item name. */
  16852.   UCHAR      szFSDName[1];  /*  Name of the file-system driver that the item is attached to. */
  16853.   UCHAR      rgFSAData[1];  /*  File-system driver Attach data returned by the file-system driver. */
  16854. } FSQBUFFER2;
  16855.  
  16856. typedef FSQBUFFER2 *PFSQBUFFER2;
  16857.  
  16858.  
  16859. ΓòÉΓòÉΓòÉ <hidden> FSQBUFFER2 Field - iType ΓòÉΓòÉΓòÉ
  16860.  
  16861.  iType (USHORT) 
  16862.     Type of item. 
  16863.  
  16864.     Possible values are described in the following list: 
  16865.  
  16866.     1        FSAT_CHARDEV 
  16867.              Resident character device 
  16868.  
  16869.     2        FSAT_PSEUDODEV 
  16870.              Pseudocharacter device 
  16871.  
  16872.     3        FSAT_LOCALDRV 
  16873.              Local drive 
  16874.  
  16875.     4        FSAT_REMOTEDRV 
  16876.              Remote drive attached to the file-system driver. 
  16877.  
  16878.  
  16879. ΓòÉΓòÉΓòÉ <hidden> FSQBUFFER2 Field - cbName ΓòÉΓòÉΓòÉ
  16880.  
  16881.  cbName (USHORT) 
  16882.     Length, in bytes, of the item name, not including null. 
  16883.  
  16884.  
  16885. ΓòÉΓòÉΓòÉ <hidden> FSQBUFFER2 Field - cbFSDName ΓòÉΓòÉΓòÉ
  16886.  
  16887.  cbFSDName (USHORT) 
  16888.     Length, in bytes, of the file-system driver name, not including null. 
  16889.  
  16890.  
  16891. ΓòÉΓòÉΓòÉ <hidden> FSQBUFFER2 Field - cbFSAData ΓòÉΓòÉΓòÉ
  16892.  
  16893.  cbFSAData (USHORT) 
  16894.     Length, in bytes, of the file-system driver Attach data returned by the 
  16895.     file-system driver. 
  16896.  
  16897.  
  16898. ΓòÉΓòÉΓòÉ <hidden> FSQBUFFER2 Field - szName[1] ΓòÉΓòÉΓòÉ
  16899.  
  16900.  szName[1] (UCHAR) 
  16901.     Item name. 
  16902.  
  16903.     The name is an ASCIIZ string. 
  16904.  
  16905.  
  16906. ΓòÉΓòÉΓòÉ <hidden> FSQBUFFER2 Field - szFSDName[1] ΓòÉΓòÉΓòÉ
  16907.  
  16908.  szFSDName[1] (UCHAR) 
  16909.     Name of the file-system driver that the item is attached to. 
  16910.  
  16911.     The name is an ASCIIZ string. 
  16912.  
  16913.  
  16914. ΓòÉΓòÉΓòÉ <hidden> FSQBUFFER2 Field - rgFSAData[1] ΓòÉΓòÉΓòÉ
  16915.  
  16916.  rgFSAData[1] (UCHAR) 
  16917.     File-system driver Attach data returned by the file-system driver. 
  16918.  
  16919.  
  16920. ΓòÉΓòÉΓòÉ 14.35. FTIME ΓòÉΓòÉΓòÉ
  16921.  
  16922. Time data structure for file-system functions. 
  16923.  
  16924. typedef struct _FTIME {
  16925.   USHORT     twosecs:5;  /*  Binary number of two-second increments. */
  16926.   USHORT     minutes:6;  /*  Binary number of minutes. */
  16927.   USHORT     hours:5;    /*  Binary number of hours. */
  16928. } FTIME;
  16929.  
  16930. typedef FTIME *PFTIME;
  16931.  
  16932.  
  16933. ΓòÉΓòÉΓòÉ <hidden> FTIME Field - twosecs:5 ΓòÉΓòÉΓòÉ
  16934.  
  16935.  twosecs:5 (USHORT) 
  16936.     Binary number of two-second increments. 
  16937.  
  16938.  
  16939. ΓòÉΓòÉΓòÉ <hidden> FTIME Field - minutes:6 ΓòÉΓòÉΓòÉ
  16940.  
  16941.  minutes:6 (USHORT) 
  16942.     Binary number of minutes. 
  16943.  
  16944.  
  16945. ΓòÉΓòÉΓòÉ <hidden> FTIME Field - hours:5 ΓòÉΓòÉΓòÉ
  16946.  
  16947.  hours:5 (USHORT) 
  16948.     Binary number of hours. 
  16949.  
  16950.  
  16951. ΓòÉΓòÉΓòÉ 14.36. GEA2 ΓòÉΓòÉΓòÉ
  16952.  
  16953. Level 3 (32-bit) (FIL_QUERYEASFROMLIST) file information - get extended 
  16954. attributes. 
  16955.  
  16956. typedef struct _GEA2 {
  16957.   ULONG     oNextEntryOffset;  /*  Offset to next entry. */
  16958.   BYTE      cbName;            /*  Name length not including NULL. */
  16959.   CHAR      szName[1];         /*  Attribute name. */
  16960. } GEA2;
  16961.  
  16962. typedef GEA2 *PGEA2;
  16963.  
  16964.  
  16965. ΓòÉΓòÉΓòÉ <hidden> GEA2 Field - oNextEntryOffset ΓòÉΓòÉΓòÉ
  16966.  
  16967.  oNextEntryOffset (ULONG) 
  16968.     Offset to next entry. 
  16969.  
  16970.  
  16971. ΓòÉΓòÉΓòÉ <hidden> GEA2 Field - cbName ΓòÉΓòÉΓòÉ
  16972.  
  16973.  cbName (BYTE) 
  16974.     Name length not including NULL. 
  16975.  
  16976.  
  16977. ΓòÉΓòÉΓòÉ <hidden> GEA2 Field - szName[1] ΓòÉΓòÉΓòÉ
  16978.  
  16979.  szName[1] (CHAR) 
  16980.     Attribute name. 
  16981.  
  16982.  
  16983. ΓòÉΓòÉΓòÉ 14.37. GEA2LIST ΓòÉΓòÉΓòÉ
  16984.  
  16985. Get extended attributes list. 
  16986.  
  16987. typedef struct _GEA2LIST {
  16988.   ULONG     cbList;   /*  Total bytes of structure including full list. */
  16989.   GEA2      list[1];  /*  Variable-length GEA2 structures. */
  16990. } GEA2LIST;
  16991.  
  16992. typedef GEA2LIST *PGEA2LIST;
  16993.  
  16994.  
  16995. ΓòÉΓòÉΓòÉ <hidden> GEA2LIST Field - cbList ΓòÉΓòÉΓòÉ
  16996.  
  16997.  cbList (ULONG) 
  16998.     Total bytes of structure including full list. 
  16999.  
  17000.  
  17001. ΓòÉΓòÉΓòÉ <hidden> GEA2LIST Field - list[1] ΓòÉΓòÉΓòÉ
  17002.  
  17003.  list[1] (GEA2) 
  17004.     Variable-length GEA2 structures. 
  17005.  
  17006.  
  17007. ΓòÉΓòÉΓòÉ 14.38. HDC ΓòÉΓòÉΓòÉ
  17008.  
  17009. Device-context handle. 
  17010.  
  17011. typedef LHANDLE HDC;
  17012.  
  17013.  
  17014. ΓòÉΓòÉΓòÉ 14.39. HDIR ΓòÉΓòÉΓòÉ
  17015.  
  17016. Value (32-bit) used as a directory handle. 
  17017.  
  17018. typedef LHANDLE HDIR;
  17019.  
  17020.  
  17021. ΓòÉΓòÉΓòÉ 14.40. HEV ΓòÉΓòÉΓòÉ
  17022.  
  17023. Value (32-bit) used as an event semaphore handle. 
  17024.  
  17025. typedef ULONG HEV;
  17026.  
  17027.  
  17028. ΓòÉΓòÉΓòÉ 14.41. HFILE ΓòÉΓòÉΓòÉ
  17029.  
  17030. File handle. 
  17031.  
  17032. typedef LHANDLE HFILE;
  17033.  
  17034.  
  17035. ΓòÉΓòÉΓòÉ 14.42. HKBD ΓòÉΓòÉΓòÉ
  17036.  
  17037. Keyboard handle. 
  17038.  
  17039. typedef unsigned short HKBD;
  17040.  
  17041.  
  17042. ΓòÉΓòÉΓòÉ 14.43. HMODULE ΓòÉΓòÉΓòÉ
  17043.  
  17044. Module handle. 
  17045.  
  17046. typedef LHANDLE HMODULE;
  17047.  
  17048.  
  17049. ΓòÉΓòÉΓòÉ 14.44. HMTX ΓòÉΓòÉΓòÉ
  17050.  
  17051. Value (32-bit) used as a mutex semaphore handle. 
  17052.  
  17053. typedef ULONG HMTX;
  17054.  
  17055.  
  17056. ΓòÉΓòÉΓòÉ 14.45. HMUX ΓòÉΓòÉΓòÉ
  17057.  
  17058. Value (32-bit) used as a muxwait semaphore handle. 
  17059.  
  17060. typedef ULONG HMUX;
  17061.  
  17062.  
  17063. ΓòÉΓòÉΓòÉ 14.46. HOOKDATA ΓòÉΓòÉΓòÉ
  17064.  
  17065. Data used by DosPerfSysCall for software tracing. 
  17066.  
  17067. typedef struct _HOOKDATA {
  17068.   ULONG     ulLength;  /*  Length */
  17069.   PBYTE     pData;     /*  Data */
  17070. } HOOKDATA;
  17071.  
  17072. typedef HOOKDATA *PHOOKDATA;
  17073.  
  17074.  
  17075. ΓòÉΓòÉΓòÉ <hidden> HOOKDATA Field - ulLength ΓòÉΓòÉΓòÉ
  17076.  
  17077.  ulLength (ULONG) 
  17078.     Length 
  17079.  
  17080.  
  17081. ΓòÉΓòÉΓòÉ <hidden> HOOKDATA Field - pData ΓòÉΓòÉΓòÉ
  17082.  
  17083.  pData (PBYTE) 
  17084.     Data 
  17085.  
  17086.  
  17087. ΓòÉΓòÉΓòÉ 14.47. HOTKEY ΓòÉΓòÉΓòÉ
  17088.  
  17089. Session Manager Hot Key data structure. 
  17090.  
  17091. typedef struct _HOTKEY {
  17092.   USHORT     fsHotKey;          /*  State Key Flag. */
  17093.   UCHAR      uchScancodeMake;   /*  The Scan Code of the hot key, Make. */
  17094.   UCHAR      uchScancodeBreak;  /*  The Scan Code of the hot key, Break. */
  17095.   USHORT     idHotKey;          /*  Hot Key Id. */
  17096. } HOTKEY;
  17097.  
  17098. typedef HOTKEY *PHOTKEY;
  17099.  
  17100.  
  17101. ΓòÉΓòÉΓòÉ <hidden> HOTKEY Field - fsHotKey ΓòÉΓòÉΓòÉ
  17102.  
  17103.  fsHotKey (USHORT) 
  17104.     State Key Flag. 
  17105.  
  17106.     Has the following settings: 
  17107.  
  17108.     High Byte        Bit settings are as follows: 
  17109.  
  17110.                      Bit 15       Reserved = 0 
  17111.                      Bit 14       Reserved = 0 
  17112.                      Bit 13       Reserved = 0 
  17113.                      Bit 12       Reserved = 0 
  17114.                      Bit 11       Right Alt key down 
  17115.                      Bit 10       Right Ctrl key down 
  17116.                      Bit  9       Left Alt key down 
  17117.                      Bit  8       Left Ctrl key down 
  17118.  
  17119.     Low Byte         Bit settings are as follows: 
  17120.  
  17121.                      Bit 7        Reserved = 0 
  17122.                      Bit 6        Reserved = 0 
  17123.                      Bit 5        Reserved = 0 
  17124.                      Bit 4        Reserved = 0 
  17125.                      Bit 3        Reserved = 0 
  17126.                      Bit 2        Reserved = 0 
  17127.                      Bit 1        Left Shift key down 
  17128.                      Bit 0        Right Shift key down 
  17129.  
  17130.  
  17131. ΓòÉΓòÉΓòÉ <hidden> HOTKEY Field - uchScancodeMake ΓòÉΓòÉΓòÉ
  17132.  
  17133.  uchScancodeMake (UCHAR) 
  17134.     The Scan Code of the hot key, Make. 
  17135.  
  17136.  
  17137. ΓòÉΓòÉΓòÉ <hidden> HOTKEY Field - uchScancodeBreak ΓòÉΓòÉΓòÉ
  17138.  
  17139.  uchScancodeBreak (UCHAR) 
  17140.     The Scan Code of the hot key, Break. 
  17141.  
  17142.  
  17143. ΓòÉΓòÉΓòÉ <hidden> HOTKEY Field - idHotKey ΓòÉΓòÉΓòÉ
  17144.  
  17145.  idHotKey (USHORT) 
  17146.     Hot Key Id. 
  17147.  
  17148.     The Hot Key Id value is set by the caller. Notice that ID value FFFFh is 
  17149.     reserved and must not be used as a Hot Key ID. See Remarks in 
  17150.     KBD_SETSESMGRHOTKEY. 
  17151.  
  17152.     A maximum of two of the above bit selections can be selected for a given 
  17153.     hot key definition. If more than two bits are selected or if a reserved bit 
  17154.     is selected, the result is an INVALID_PARAMETER error code returned to the 
  17155.     caller. 
  17156.  
  17157.  
  17158. ΓòÉΓòÉΓòÉ 14.48. HPIPE ΓòÉΓòÉΓòÉ
  17159.  
  17160. Value (32-bit) used as a pipe handle. 
  17161.  
  17162. typedef LHANDLE HPIPE;
  17163.  
  17164.  
  17165. ΓòÉΓòÉΓòÉ 14.49. HQUEUE ΓòÉΓòÉΓòÉ
  17166.  
  17167. Value (32-bit) used as a system queue handle. 
  17168.  
  17169. typedef LHANDLE HQUEUE;
  17170.  
  17171.  
  17172. ΓòÉΓòÉΓòÉ 14.50. HRGN ΓòÉΓòÉΓòÉ
  17173.  
  17174. Region handle. 
  17175.  
  17176. typedef LHANDLE HRGN;
  17177.  
  17178.  
  17179. ΓòÉΓòÉΓòÉ 14.51. HSEM ΓòÉΓòÉΓòÉ
  17180.  
  17181. Semaphore handle. 
  17182.  
  17183. typedef VOID *HSEM;
  17184.  
  17185.  
  17186. ΓòÉΓòÉΓòÉ 14.52. HSPINLOCK ΓòÉΓòÉΓòÉ
  17187.  
  17188. A value (32-bit) used as a handle to a spin lock. 
  17189.  
  17190. #define HSPINLOCK ULONG
  17191.  
  17192.  
  17193. ΓòÉΓòÉΓòÉ 14.53. HTIMER ΓòÉΓòÉΓòÉ
  17194.  
  17195. Value (32-bit) used as a timer handle. 
  17196.  
  17197. typedef LHANDLE HTIMER;
  17198.  
  17199.  
  17200. ΓòÉΓòÉΓòÉ 14.54. HVDD ΓòÉΓòÉΓòÉ
  17201.  
  17202. 32-bit value used as a virtual device driver handle. 
  17203.  
  17204. typedef LHANDLE HVDD;
  17205.  
  17206.  
  17207. ΓòÉΓòÉΓòÉ 14.55. LISTIO ΓòÉΓòÉΓòÉ
  17208.  
  17209. List of I/O requests for DosListIO. 
  17210.  
  17211. typedef struct _LISTIO {
  17212.   HFILE     hFile;         /*  File handle. */
  17213.   ULONG     CmdFlag;       /*  Command flag. */
  17214.   LONG      Offset;        /*  Offset into file or disk. */
  17215.   PVOID     pBuffer;       /*  Pointer to read/write buffer. */
  17216.   ULONG     NumBytes;      /*  Number of bytes to read or write. */
  17217.   ULONG     Actual;        /*  Actual number of bytes read or written. */
  17218.   ULONG     RetCode;       /*  Return code from operation. */
  17219.   ULONG     Reserved;      /*  Reserved. */
  17220.   ULONG     Reserved2[3];  /*  Reserved. */
  17221.   ULONG     Reserved3[2];  /*  Reserved. */
  17222. } LISTIO;
  17223.  
  17224. typedef LISTIO *PLISTIO;
  17225.  
  17226.  
  17227. ΓòÉΓòÉΓòÉ <hidden> LISTIO Field - hFile ΓòÉΓòÉΓòÉ
  17228.  
  17229.  hFile (HFILE) 
  17230.     File handle. 
  17231.  
  17232.  
  17233. ΓòÉΓòÉΓòÉ <hidden> LISTIO Field - CmdFlag ΓòÉΓòÉΓòÉ
  17234.  
  17235.  CmdFlag (ULONG) 
  17236.     Command flag. 
  17237.  
  17238.     Indicates the type of operation to perform.  Valid values are: 
  17239.  
  17240.     0        FILE_BEGIN 
  17241.              Seek from beginning of file. 
  17242.  
  17243.     1        FILE_CURRENT 
  17244.              Seek from current file pointer, 
  17245.  
  17246.     2        FILE_END 
  17247.              Seek from end of file. 
  17248.  
  17249.     2        FILE_SECTOR 
  17250.              Indicates the value in Offset is in sectors rather than bytes. 
  17251.              This permits access to disks up to 1 TB (terabyte) in size.  This 
  17252.              flag is only valid in the raw file system and must be ORed with 
  17253.              either FILE_BEGIN, FILE_CURRENT, or FILE_END. 
  17254.  
  17255.     4        LISTIO_READ 
  17256.              Read operation is requested. 
  17257.  
  17258.     8        LISTIO_WRITE 
  17259.              Write operation is requested. 
  17260.  
  17261.     Either LISTIO_READ or LISTIO_WRITE must be specified. 
  17262.  
  17263.  
  17264. ΓòÉΓòÉΓòÉ <hidden> LISTIO Field - Offset ΓòÉΓòÉΓòÉ
  17265.  
  17266.  Offset (LONG) 
  17267.     Offset into file or disk. 
  17268.  
  17269.  
  17270. ΓòÉΓòÉΓòÉ <hidden> LISTIO Field - pBuffer ΓòÉΓòÉΓòÉ
  17271.  
  17272.  pBuffer (PVOID) 
  17273.     Pointer to read/write buffer. 
  17274.  
  17275.  
  17276. ΓòÉΓòÉΓòÉ <hidden> LISTIO Field - NumBytes ΓòÉΓòÉΓòÉ
  17277.  
  17278.  NumBytes (ULONG) 
  17279.     Number of bytes to read or write. 
  17280.  
  17281.  
  17282. ΓòÉΓòÉΓòÉ <hidden> LISTIO Field - Actual ΓòÉΓòÉΓòÉ
  17283.  
  17284.  Actual (ULONG) 
  17285.     Actual number of bytes read or written. 
  17286.  
  17287.  
  17288. ΓòÉΓòÉΓòÉ <hidden> LISTIO Field - RetCode ΓòÉΓòÉΓòÉ
  17289.  
  17290.  RetCode (ULONG) 
  17291.     Return code from operation. 
  17292.  
  17293.     Return code from the operation.  (This might need to be cast to an APIRET.) 
  17294.  
  17295.  
  17296. ΓòÉΓòÉΓòÉ <hidden> LISTIO Field - Reserved ΓòÉΓòÉΓòÉ
  17297.  
  17298.  Reserved (ULONG) 
  17299.     Reserved. 
  17300.  
  17301.  
  17302. ΓòÉΓòÉΓòÉ <hidden> LISTIO Field - Reserved2[3] ΓòÉΓòÉΓòÉ
  17303.  
  17304.  Reserved2[3] (ULONG) 
  17305.     Reserved. 
  17306.  
  17307.  
  17308. ΓòÉΓòÉΓòÉ <hidden> LISTIO Field - Reserved3[2] ΓòÉΓòÉΓòÉ
  17309.  
  17310.  Reserved3[2] (ULONG) 
  17311.     Reserved. 
  17312.  
  17313.  
  17314. ΓòÉΓòÉΓòÉ 14.56. LONG ΓòÉΓòÉΓòÉ
  17315.  
  17316. Signed integer in the range -2 147 483 648 through 2 147 483 647. 
  17317.  
  17318. #define LONG long
  17319.  
  17320. Note:  Where this data type represents a graphic coordinate in world or model 
  17321.        space, its value is restricted to -134 217 728 through 134 217 727. 
  17322.  
  17323. A graphic coordinate in device or screen coordinates is restricted to -32 768 
  17324. through 32 767. 
  17325.  
  17326. The value of a graphic coordinate may be further restricted by any transforms 
  17327. currently in force, including the positioning of the origin of the window on 
  17328. the screen. In particular, coordinates in world or model space must not 
  17329. generate coordinate values after transformation (that is, in device or screen 
  17330. space) outside the range -32 768 through 32 767. 
  17331.  
  17332.  
  17333. ΓòÉΓòÉΓòÉ 14.57. PCH ΓòÉΓòÉΓòÉ
  17334.  
  17335. Pointer to a character string. 
  17336.  
  17337. typedef unsigned char *PCH;
  17338.  
  17339.  
  17340. ΓòÉΓòÉΓòÉ 14.58. PCSZ ΓòÉΓòÉΓòÉ
  17341.  
  17342. Pointer to a constant null-terminated string. 
  17343.  
  17344. typedef const char *PCSZ;
  17345.  
  17346.  
  17347. ΓòÉΓòÉΓòÉ 14.59. PFHLOCK ΓòÉΓòÉΓòÉ
  17348.  
  17349. Pointer to an unsigned integer in the range 0 through 4 294 967 295. 
  17350.  
  17351. typedef PULONG PFHLOCK;
  17352.  
  17353.  
  17354. ΓòÉΓòÉΓòÉ 14.60. PFN ΓòÉΓòÉΓòÉ
  17355.  
  17356. Pointer to a procedure. 
  17357.  
  17358. typedef _PFN *PFN;
  17359.  
  17360. In the header file, this is a two-part definition as shown below: 
  17361.  
  17362. typedef  int   (APIENTRY _PFN) ();
  17363. typedef  _PFN  *PFN;
  17364.  
  17365.  
  17366. ΓòÉΓòÉΓòÉ 14.61. PFNEXITLIST ΓòÉΓòÉΓòÉ
  17367.  
  17368. Address of a routine to be executed. 
  17369.  
  17370. typedef FNEXITLIST *PFNEXITLIST;
  17371.  
  17372. In the header files, the FNEXITLIST structure is defined as shown below: 
  17373.  
  17374.  
  17375. typedef VOID APIENTRY FNEXITLIST (ULONG);
  17376.  
  17377.  
  17378. ΓòÉΓòÉΓòÉ 14.62. PFNSIGHANDLER ΓòÉΓòÉΓòÉ
  17379.  
  17380. Pointer (32-bit) to a function with pascal calling type. 
  17381.  
  17382. typedef CHAR *PFNSIGHANDLER;
  17383.  
  17384.  
  17385. ΓòÉΓòÉΓòÉ 14.63. PFNTHREAD ΓòÉΓòÉΓòÉ
  17386.  
  17387. Address of the code to be executed when the thread begins execution. 
  17388.  
  17389. typedef FNTHREAD *PFNTHREAD;
  17390.  
  17391. In the header files, the FNTHREAD structure is defined as shown below: 
  17392.  
  17393.  
  17394. typedef VOID APIENTRY FNTHREAD (ULONG);
  17395.  
  17396.  
  17397. ΓòÉΓòÉΓòÉ 14.64. PIB ΓòÉΓòÉΓòÉ
  17398.  
  17399. Process Information Block structure. 
  17400.  
  17401. typedef struct _PIB {
  17402.   ULONG     pib_ulpid;     /*  Process identifier. */
  17403.   ULONG     pib_ulppid;    /*  Parent process identifier. */
  17404.   ULONG     pib_hmte;      /*  Module handle of executable program. */
  17405.   PCHAR     pib_pchcmd;    /*  Command line pointer. */
  17406.   PCHAR     pib_pchenv;    /*  Environment pointer. */
  17407.   ULONG     pib_flstatus;  /*  Process' status bits. */
  17408.   ULONG     pib_ultype;    /*  Process' type code. */
  17409. } PIB;
  17410.  
  17411. typedef PIB *PPIB;
  17412.  
  17413. An OS/2 application that has been loaded into memory and prepared for execution 
  17414. is called a process. A process is the code, data, and other resources of an 
  17415. application, such as file handles, semaphores, pipes, queues, and so on. The 
  17416. OS/2 operating system considers every application it loads to be a process. 
  17417.  
  17418. Information about a process is kept in a read/write area of the process address 
  17419. space, called the Process Information Block (PIB). The operating system creates 
  17420. and maintains a PIB for every process in the system. 
  17421.  
  17422. An application can access the PIB of a specific process using DosGetThreadInfo. 
  17423.  
  17424.  
  17425. ΓòÉΓòÉΓòÉ <hidden> PIB Field - pib_ulpid ΓòÉΓòÉΓòÉ
  17426.  
  17427.  pib_ulpid (ULONG) 
  17428.     Process identifier. 
  17429.  
  17430.  
  17431. ΓòÉΓòÉΓòÉ <hidden> PIB Field - pib_ulppid ΓòÉΓòÉΓòÉ
  17432.  
  17433.  pib_ulppid (ULONG) 
  17434.     Parent process identifier. 
  17435.  
  17436.  
  17437. ΓòÉΓòÉΓòÉ <hidden> PIB Field - pib_hmte ΓòÉΓòÉΓòÉ
  17438.  
  17439.  pib_hmte (ULONG) 
  17440.     Module handle of executable program. 
  17441.  
  17442.  
  17443. ΓòÉΓòÉΓòÉ <hidden> PIB Field - pib_pchcmd ΓòÉΓòÉΓòÉ
  17444.  
  17445.  pib_pchcmd (PCHAR) 
  17446.     Command line pointer. 
  17447.  
  17448.     This is the address of the ASCIIZ argument strings passed to the program. 
  17449.     This string represents command parameters. 
  17450.  
  17451.     The convention used by CMD.EXE is that the first of these strings is the 
  17452.     program name (as entered from the command prompt or found in a batch file), 
  17453.     and the second string consists of the parameters for the program. The 
  17454.     second ASCIIZ string is followed by an additional byte of zeros. A value of 
  17455.     zero for the address of pib_pchcmd means that no arguments are to be passed 
  17456.     to the program. 
  17457.  
  17458.  
  17459. ΓòÉΓòÉΓòÉ <hidden> PIB Field - pib_pchenv ΓòÉΓòÉΓòÉ
  17460.  
  17461.  pib_pchenv (PCHAR) 
  17462.     Environment pointer. 
  17463.  
  17464.     These strings represent environment variables and their current values. An 
  17465.     environment string has the following form: 
  17466.  
  17467.  
  17468.         variable=value
  17469.  
  17470.     The last ASCIIZ environment string must be followed by an additional byte 
  17471.     of zeros. 
  17472.  
  17473.  
  17474. ΓòÉΓòÉΓòÉ <hidden> PIB Field - pib_flstatus ΓòÉΓòÉΓòÉ
  17475.  
  17476.  pib_flstatus (ULONG) 
  17477.     Process' status bits. 
  17478.  
  17479.     A value of 1 in this bit flag indicates that the current process is in exit 
  17480.     list processing. 
  17481.  
  17482.  
  17483. ΓòÉΓòÉΓòÉ <hidden> PIB Field - pib_ultype ΓòÉΓòÉΓòÉ
  17484.  
  17485.  pib_ultype (ULONG) 
  17486.     Process' type code. 
  17487.  
  17488.     The following process' type codes are available: 
  17489.  
  17490.     0         Full screen protect-mode session 
  17491.     1         Requires real mode. Dos emulation. 
  17492.     2         VIO windowable protect-mode session 
  17493.     3         Presentation Manager protect-mode session 
  17494.     4         Detached protect-mode process. 
  17495.  
  17496.  
  17497. ΓòÉΓòÉΓòÉ 14.65. PID ΓòÉΓòÉΓòÉ
  17498.  
  17499. Process identity. 
  17500.  
  17501. typedef LHANDLE PID;
  17502.  
  17503.  
  17504. ΓòÉΓòÉΓòÉ 14.66. PIPEINFO ΓòÉΓòÉΓòÉ
  17505.  
  17506. DosQueryNPipeInfo uses this data structure for level-1 information. 
  17507.  
  17508. typedef struct _PIPEINFO {
  17509.   USHORT     cbOut;      /*  Actual size of the buffer for outbound data. */
  17510.   USHORT     cbIn;       /*  Actual size of the buffer for inbound data. */
  17511.   BYTE       cbMaxInst;  /*  Maximum number of pipe instances. */
  17512.   BYTE       cbCurInst;  /*  Current number of pipe instances. */
  17513.   BYTE       cbName;     /*  Length of szName. */
  17514.   CHAR       szName[1];  /*  Name of the pipe. */
  17515. } PIPEINFO;
  17516.  
  17517. typedef PIPEINFO *PIPEINFO;
  17518.  
  17519.  
  17520. ΓòÉΓòÉΓòÉ <hidden> PIPEINFO Field - cbOut ΓòÉΓòÉΓòÉ
  17521.  
  17522.  cbOut (USHORT) 
  17523.     Actual size of the buffer for outbound data. 
  17524.  
  17525.  
  17526. ΓòÉΓòÉΓòÉ <hidden> PIPEINFO Field - cbIn ΓòÉΓòÉΓòÉ
  17527.  
  17528.  cbIn (USHORT) 
  17529.     Actual size of the buffer for inbound data. 
  17530.  
  17531.  
  17532. ΓòÉΓòÉΓòÉ <hidden> PIPEINFO Field - cbMaxInst ΓòÉΓòÉΓòÉ
  17533.  
  17534.  cbMaxInst (BYTE) 
  17535.     Maximum number of pipe instances. 
  17536.  
  17537.  
  17538. ΓòÉΓòÉΓòÉ <hidden> PIPEINFO Field - cbCurInst ΓòÉΓòÉΓòÉ
  17539.  
  17540.  cbCurInst (BYTE) 
  17541.     Current number of pipe instances. 
  17542.  
  17543.  
  17544. ΓòÉΓòÉΓòÉ <hidden> PIPEINFO Field - cbName ΓòÉΓòÉΓòÉ
  17545.  
  17546.  cbName (BYTE) 
  17547.     Length of szName. 
  17548.  
  17549.  
  17550. ΓòÉΓòÉΓòÉ <hidden> PIPEINFO Field - szName[1] ΓòÉΓòÉΓòÉ
  17551.  
  17552.  szName[1] (CHAR) 
  17553.     Name of the pipe. 
  17554.  
  17555.     The name of the pipe (including \\ComputerName if the pipe is on a remote 
  17556.     system). 
  17557.  
  17558.  
  17559. ΓòÉΓòÉΓòÉ 14.67. PSZ ΓòÉΓòÉΓòÉ
  17560.  
  17561. Pointer to a null-terminated string. 
  17562.  
  17563. If you are using C++ **, you may need to use PCSZ. 
  17564.  
  17565. typedef unsigned char *PSZ;
  17566.  
  17567.  
  17568. ΓòÉΓòÉΓòÉ 14.68. PVOID ΓòÉΓòÉΓòÉ
  17569.  
  17570. Pointer to a data type of undefined format. 
  17571.  
  17572. typedef VOID *PVOID;
  17573.  
  17574.  
  17575. ΓòÉΓòÉΓòÉ 14.69. QWORD ΓòÉΓòÉΓòÉ
  17576.  
  17577. Quad word structure. 
  17578.  
  17579. typedef struct _QWORD {
  17580.   ULONG     qw_ulLo;  /*  Low word. */
  17581.   ULONG     qw_ulHi;  /*  High word. */
  17582. } QWORD;
  17583.  
  17584. typedef QWORD *PQWORD;
  17585.  
  17586.  
  17587. ΓòÉΓòÉΓòÉ <hidden> QWORD Field - qw_ulLo ΓòÉΓòÉΓòÉ
  17588.  
  17589.  qw_ulLo (ULONG) 
  17590.     Low word. 
  17591.  
  17592.  
  17593. ΓòÉΓòÉΓòÉ <hidden> QWORD Field - qw_ulHi ΓòÉΓòÉΓòÉ
  17594.  
  17595.  qw_ulHi (ULONG) 
  17596.     High word. 
  17597.  
  17598.  
  17599. ΓòÉΓòÉΓòÉ 14.70. RegSA_struc ΓòÉΓòÉΓòÉ
  17600.  
  17601. Register data associated with the kernel debugger communications protocol. 
  17602.  
  17603. typedef struct _RegSA_struc {
  17604.   DWORD     EAXSav;   /*  EAX register */
  17605.   DWORD     EBXSav;   /*  EBX register */
  17606.   DWORD     ECXSav;   /*  ECX register */
  17607.   DWORD     EDXSav;   /*  EDX register */
  17608.   DWORD     ESPSav;   /*  ESP register */
  17609.   DWORD     EBPSav;   /*  EBP register */
  17610.   DWORD     ESISav;   /*  ESI register */
  17611.   DWORD     EDISav;   /*  EDI register */
  17612.   WORD      ESSav;    /*  ES register */
  17613.   WORD      SSSav;    /*  SS register */
  17614.   WORD      DSSav;    /*  DS register */
  17615.   WORD      FSSav;    /*  FS register */
  17616.   WORD      GSSav;    /*  GS register */
  17617.   AddrS     CSIPsav;  /*  Instruction address save area */
  17618.   DWORD     EFsav;    /*  EF save area */
  17619.   DWORD     CR0sav;   /*  CR0 save area */
  17620.   DTR       GDTsav;   /*  GDT save area */
  17621.   WORD      RS_Pad1;  /*  RS_Pad1 save area */
  17622.   DTR       IDTsav;   /*  IDT save area */
  17623.   WORD      RS_Pad2;  /*  RS_Pad2 save area */
  17624.   WORD      LDTsav;   /*  LDTsav area */
  17625.   WORD      TRsav;    /*  TRsav area */
  17626.   DWORD     CR2Sav;   /*  CR2 register */
  17627.   DWORD     CR3Sav;   /*  CR3 register */
  17628.   DWORD     CR4Sav;   /*  CR4 register */
  17629.   DWORD     DR0Sav;   /*  DR0 register */
  17630.   DWORD     DR1Sav;   /*  DR1 register */
  17631.   DWORD     DR2Sav;   /*  DR2 register */
  17632.   DWORD     DR3Sav;   /*  DR3 register */
  17633.   DWORD     DR6Sav;   /*  DR6 register */
  17634.   DWORD     DR7Sav;   /*  DR7 register */
  17635.   DWORD     DR7Sav2;  /*  DR7 register 2 */
  17636.   DWORD     TR6Sav;   /*  TR6 register */
  17637.   DWORD     TR7Sav;   /*  TR7 register */
  17638. } RegSA_struc;
  17639.  
  17640. typedef RegSA_struc *RegSA_struc;
  17641.  
  17642.  
  17643. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - EAXSav ΓòÉΓòÉΓòÉ
  17644.  
  17645.  EAXSav (DWORD) 
  17646.     EAX register 
  17647.  
  17648.  
  17649. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - EBXSav ΓòÉΓòÉΓòÉ
  17650.  
  17651.  EBXSav (DWORD) 
  17652.     EBX register 
  17653.  
  17654.  
  17655. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - ECXSav ΓòÉΓòÉΓòÉ
  17656.  
  17657.  ECXSav (DWORD) 
  17658.     ECX register 
  17659.  
  17660.  
  17661. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - EDXSav ΓòÉΓòÉΓòÉ
  17662.  
  17663.  EDXSav (DWORD) 
  17664.     EDX register 
  17665.  
  17666.  
  17667. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - ESPSav ΓòÉΓòÉΓòÉ
  17668.  
  17669.  ESPSav (DWORD) 
  17670.     ESP register 
  17671.  
  17672.  
  17673. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - EBPSav ΓòÉΓòÉΓòÉ
  17674.  
  17675.  EBPSav (DWORD) 
  17676.     EBP register 
  17677.  
  17678.  
  17679. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - ESISav ΓòÉΓòÉΓòÉ
  17680.  
  17681.  ESISav (DWORD) 
  17682.     ESI register 
  17683.  
  17684.  
  17685. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - EDISav ΓòÉΓòÉΓòÉ
  17686.  
  17687.  EDISav (DWORD) 
  17688.     EDI register 
  17689.  
  17690.  
  17691. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - ESSav ΓòÉΓòÉΓòÉ
  17692.  
  17693.  ESSav (WORD) 
  17694.     ES register 
  17695.  
  17696.  
  17697. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - SSSav ΓòÉΓòÉΓòÉ
  17698.  
  17699.  SSSav (WORD) 
  17700.     SS register 
  17701.  
  17702.  
  17703. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - DSSav ΓòÉΓòÉΓòÉ
  17704.  
  17705.  DSSav (WORD) 
  17706.     DS register 
  17707.  
  17708.  
  17709. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - FSSav ΓòÉΓòÉΓòÉ
  17710.  
  17711.  FSSav (WORD) 
  17712.     FS register 
  17713.  
  17714.  
  17715. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - GSSav ΓòÉΓòÉΓòÉ
  17716.  
  17717.  GSSav (WORD) 
  17718.     GS register 
  17719.  
  17720.  
  17721. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - CSIPsav ΓòÉΓòÉΓòÉ
  17722.  
  17723.  CSIPsav (AddrS) 
  17724.     Instruction address save area 
  17725.  
  17726.  
  17727. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - EFsav ΓòÉΓòÉΓòÉ
  17728.  
  17729.  EFsav (DWORD) 
  17730.     EF save area 
  17731.  
  17732.  
  17733. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - CR0sav ΓòÉΓòÉΓòÉ
  17734.  
  17735.  CR0sav (DWORD) 
  17736.     CR0 save area 
  17737.  
  17738.  
  17739. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - GDTsav ΓòÉΓòÉΓòÉ
  17740.  
  17741.  GDTsav (DTR) 
  17742.     GDT save area 
  17743.  
  17744.  
  17745. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - RS_Pad1 ΓòÉΓòÉΓòÉ
  17746.  
  17747.  RS_Pad1 (WORD) 
  17748.     RS_Pad1 save area 
  17749.  
  17750.  
  17751. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - IDTsav ΓòÉΓòÉΓòÉ
  17752.  
  17753.  IDTsav (DTR) 
  17754.     IDT save area 
  17755.  
  17756.  
  17757. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - RS_Pad2 ΓòÉΓòÉΓòÉ
  17758.  
  17759.  RS_Pad2 (WORD) 
  17760.     RS_Pad2 save area 
  17761.  
  17762.  
  17763. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - LDTsav ΓòÉΓòÉΓòÉ
  17764.  
  17765.  LDTsav (WORD) 
  17766.     LDTsav area 
  17767.  
  17768.  
  17769. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - TRsav ΓòÉΓòÉΓòÉ
  17770.  
  17771.  TRsav (WORD) 
  17772.     TRsav area 
  17773.  
  17774.  
  17775. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - CR2Sav ΓòÉΓòÉΓòÉ
  17776.  
  17777.  CR2Sav (DWORD) 
  17778.     CR2 register 
  17779.  
  17780.  
  17781. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - CR3Sav ΓòÉΓòÉΓòÉ
  17782.  
  17783.  CR3Sav (DWORD) 
  17784.     CR3 register 
  17785.  
  17786.  
  17787. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - CR4Sav ΓòÉΓòÉΓòÉ
  17788.  
  17789.  CR4Sav (DWORD) 
  17790.     CR4 register 
  17791.  
  17792.  
  17793. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - DR0Sav ΓòÉΓòÉΓòÉ
  17794.  
  17795.  DR0Sav (DWORD) 
  17796.     DR0 register 
  17797.  
  17798.  
  17799. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - DR1Sav ΓòÉΓòÉΓòÉ
  17800.  
  17801.  DR1Sav (DWORD) 
  17802.     DR1 register 
  17803.  
  17804.  
  17805. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - DR2Sav ΓòÉΓòÉΓòÉ
  17806.  
  17807.  DR2Sav (DWORD) 
  17808.     DR2 register 
  17809.  
  17810.  
  17811. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - DR3Sav ΓòÉΓòÉΓòÉ
  17812.  
  17813.  DR3Sav (DWORD) 
  17814.     DR3 register 
  17815.  
  17816.  
  17817. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - DR6Sav ΓòÉΓòÉΓòÉ
  17818.  
  17819.  DR6Sav (DWORD) 
  17820.     DR6 register 
  17821.  
  17822.  
  17823. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - DR7Sav ΓòÉΓòÉΓòÉ
  17824.  
  17825.  DR7Sav (DWORD) 
  17826.     DR7 register 
  17827.  
  17828.  
  17829. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - DR7Sav2 ΓòÉΓòÉΓòÉ
  17830.  
  17831.  DR7Sav2 (DWORD) 
  17832.     DR7 register 2 
  17833.  
  17834.  
  17835. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - TR6Sav ΓòÉΓòÉΓòÉ
  17836.  
  17837.  TR6Sav (DWORD) 
  17838.     TR6 register 
  17839.  
  17840.  
  17841. ΓòÉΓòÉΓòÉ <hidden> RegSA_struc Field - TR7Sav ΓòÉΓòÉΓòÉ
  17842.  
  17843.  TR7Sav (DWORD) 
  17844.     TR7 register 
  17845.  
  17846.  
  17847. ΓòÉΓòÉΓòÉ 14.71. REQUESTDATA ΓòÉΓòÉΓòÉ
  17848.  
  17849. REQUESTDATA data structure. 
  17850.  
  17851. typedef struct _REQUESTDATA {
  17852.   PID       pid;     /*  Process identifier of the process that placed the element into the queue. */
  17853.   ULONG     ulData;  /*  An event code that is specified by the application. */
  17854. } REQUESTDATA;
  17855.  
  17856. typedef REQUESTDATA *PREQUESTDATA;
  17857.  
  17858.  
  17859. ΓòÉΓòÉΓòÉ <hidden> REQUESTDATA Field - pid ΓòÉΓòÉΓòÉ
  17860.  
  17861.  pid (PID) 
  17862.     Process identifier of the process that placed the element into the queue. 
  17863.  
  17864.  
  17865. ΓòÉΓòÉΓòÉ <hidden> REQUESTDATA Field - ulData ΓòÉΓòÉΓòÉ
  17866.  
  17867.  ulData (ULONG) 
  17868.     An event code that is specified by the application. 
  17869.  
  17870.     This data is understood by both the thread that is adding the element to 
  17871.     the queue (the client thread) and the thread that receives the queue 
  17872.     element (server thread). It has no special meaning, and is not altered by 
  17873.     the operating system. 
  17874.  
  17875.  
  17876. ΓòÉΓòÉΓòÉ 14.72. RESULTCODES ΓòÉΓòÉΓòÉ
  17877.  
  17878. RESULTCODES data structure. 
  17879.  
  17880. typedef struct _RESULTCODES {
  17881.   ULONG     codeTerminate;  /*  Termination code or process identifier. */
  17882.   ULONG     codeResult;     /*  Exit code. */
  17883. } RESULTCODES;
  17884.  
  17885. typedef RESULTCODES *PRESULTCODES;
  17886.  
  17887.  
  17888. ΓòÉΓòÉΓòÉ <hidden> RESULTCODES Field - codeTerminate ΓòÉΓòÉΓòÉ
  17889.  
  17890.  codeTerminate (ULONG) 
  17891.     Termination code or process identifier. 
  17892.  
  17893.     For asynchronous requests, this field contains the process identifier of 
  17894.     the child process. For synchronous requests, this field contains the 
  17895.     termination code furnished by the system describing why the child process 
  17896.     ended. The values of the termination code are shown in the following list: 
  17897.  
  17898.     0        TC_EXIT 
  17899.              Normal exit. 
  17900.  
  17901.     1        TC_HARDERROR 
  17902.              Hard-error halt 
  17903.  
  17904.     2        TC_TRAP 
  17905.              Trap operation for a 16-bit child process 
  17906.  
  17907.     3        TC_KILLPROCESS 
  17908.              Unintercepted DosKillProcess 
  17909.  
  17910.     4        TC_EXCEPTION 
  17911.              Exception operation for a 32-bit child process 
  17912.  
  17913.  
  17914. ΓòÉΓòÉΓòÉ <hidden> RESULTCODES Field - codeResult ΓòÉΓòÉΓòÉ
  17915.  
  17916.  codeResult (ULONG) 
  17917.     Exit code. 
  17918.  
  17919.     Result code specified by the terminating synchronous process on its last 
  17920.     call to DosExit. 
  17921.  
  17922.  
  17923. ΓòÉΓòÉΓòÉ 14.73. SEL ΓòÉΓòÉΓòÉ
  17924.  
  17925. Selector. 
  17926.  
  17927. typedef USHORT SEL;
  17928.  
  17929.  
  17930. ΓòÉΓòÉΓòÉ 14.74. SEMRECORD ΓòÉΓòÉΓòÉ
  17931.  
  17932. Muxwait semaphore data structure. 
  17933.  
  17934. typedef struct _SEMRECORD {
  17935.   HSEM      hsemCur;  /*  Handle of the semaphore. */
  17936.   ULONG     ulUser;   /*  User-defined value. */
  17937. } SEMRECORD;
  17938.  
  17939. typedef SEMRECORD *PSEMRECORD;
  17940.  
  17941.  
  17942. ΓòÉΓòÉΓòÉ <hidden> SEMRECORD Field - hsemCur ΓòÉΓòÉΓòÉ
  17943.  
  17944.  hsemCur (HSEM) 
  17945.     Handle of the semaphore. 
  17946.  
  17947.  
  17948. ΓòÉΓòÉΓòÉ <hidden> SEMRECORD Field - ulUser ΓòÉΓòÉΓòÉ
  17949.  
  17950.  ulUser (ULONG) 
  17951.     User-defined value. 
  17952.  
  17953.  
  17954. ΓòÉΓòÉΓòÉ 14.75. SFTSTARTUP ΓòÉΓòÉΓòÉ
  17955.  
  17956. Performance data. 
  17957.  
  17958. typedef struct _SFTSTARTUP {
  17959.   UCHAR      VerMajor;                       /*  Major version number */
  17960.   UCHAR      VerMinor;                       /*  Minor version number */
  17961.   UCHAR      RevKettr;                       /*  Revision letter */
  17962.   UCHAR      DayDate;                        /*  Day of month (1 - 31) */
  17963.   UCHAR      MonDate;                        /*  Month (1 - 12) */
  17964.   UCHAR      pad1[3];                        /*  Pad to 4 bytes */
  17965.   USHORT     YrsDate;                        /*  Years since 1980 */
  17966.   UCHAR      HrsTime;                        /*  Hours */
  17967.   UCHAR      MinTime;                        /*  Minutes */
  17968.   UCHAR      SecTime;                        /*  Seconds */
  17969.   UCHAR      HunTime;                        /*  Hundredths of seconds */
  17970.   UCHAR      pad2[2];                        /*  Pad 2 */
  17971.   UCHAR      ulNumCPUs;                      /*  Number of processors */
  17972.   UCHAR      ulCPURate[SFT_MAX_PROCESSORS];  /*  Processor rate.  One entry per processor. */
  17973. } SFTSTARTUP;
  17974.  
  17975. typedef SFTSTARTUP *PSFTSTARTUP;
  17976.  
  17977.  
  17978. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - VerMajor ΓòÉΓòÉΓòÉ
  17979.  
  17980.  VerMajor (UCHAR) 
  17981.     Major version number 
  17982.  
  17983.  
  17984. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - VerMinor ΓòÉΓòÉΓòÉ
  17985.  
  17986.  VerMinor (UCHAR) 
  17987.     Minor version number 
  17988.  
  17989.  
  17990. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - RevKettr ΓòÉΓòÉΓòÉ
  17991.  
  17992.  RevKettr (UCHAR) 
  17993.     Revision letter 
  17994.  
  17995.  
  17996. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - DayDate ΓòÉΓòÉΓòÉ
  17997.  
  17998.  DayDate (UCHAR) 
  17999.     Day of month (1 - 31) 
  18000.  
  18001.  
  18002. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - MonDate ΓòÉΓòÉΓòÉ
  18003.  
  18004.  MonDate (UCHAR) 
  18005.     Month (1 - 12) 
  18006.  
  18007.  
  18008. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - pad1[3] ΓòÉΓòÉΓòÉ
  18009.  
  18010.  pad1[3] (UCHAR) 
  18011.     Pad to 4 bytes 
  18012.  
  18013.  
  18014. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - YrsDate ΓòÉΓòÉΓòÉ
  18015.  
  18016.  YrsDate (USHORT) 
  18017.     Years since 1980 
  18018.  
  18019.  
  18020. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - HrsTime ΓòÉΓòÉΓòÉ
  18021.  
  18022.  HrsTime (UCHAR) 
  18023.     Hours 
  18024.  
  18025.  
  18026. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - MinTime ΓòÉΓòÉΓòÉ
  18027.  
  18028.  MinTime (UCHAR) 
  18029.     Minutes 
  18030.  
  18031.  
  18032. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - SecTime ΓòÉΓòÉΓòÉ
  18033.  
  18034.  SecTime (UCHAR) 
  18035.     Seconds 
  18036.  
  18037.  
  18038. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - HunTime ΓòÉΓòÉΓòÉ
  18039.  
  18040.  HunTime (UCHAR) 
  18041.     Hundredths of seconds 
  18042.  
  18043.  
  18044. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - pad2[2] ΓòÉΓòÉΓòÉ
  18045.  
  18046.  pad2[2] (UCHAR) 
  18047.     Pad 2 
  18048.  
  18049.  
  18050. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - ulNumCPUs ΓòÉΓòÉΓòÉ
  18051.  
  18052.  ulNumCPUs (UCHAR) 
  18053.     Number of processors 
  18054.  
  18055.  
  18056. ΓòÉΓòÉΓòÉ <hidden> SFTSTARTUP Field - ulCPURate[SFT_MAX_PROCESSORS] ΓòÉΓòÉΓòÉ
  18057.  
  18058.  ulCPURate[SFT_MAX_PROCESSORS] (UCHAR) 
  18059.     Processor rate.  One entry per processor. 
  18060.  
  18061.  
  18062. ΓòÉΓòÉΓòÉ 14.76. SHORT ΓòÉΓòÉΓòÉ
  18063.  
  18064. Signed integer in the range -32 768 through 32 767. 
  18065.  
  18066. #define SHORT short
  18067.  
  18068.  
  18069. ΓòÉΓòÉΓòÉ 14.77. STATUSDATA ΓòÉΓòÉΓòÉ
  18070.  
  18071. Status data structure. 
  18072.  
  18073. typedef struct _STATUSDATA {
  18074.   USHORT     Length;     /*  The length of the data structure, in bytes, including Length itself. */
  18075.   USHORT     SelectInd;  /*  An indicator that specifies whether the target session should be flagged as selectable or non-selectable. */
  18076.   USHORT     BondInd;    /*  An indicator that specifies which session to bring to the foreground the next time the parent session is selected. */
  18077. } STATUSDATA;
  18078.  
  18079. typedef STATUSDATA *PSTATUSDATA;
  18080.  
  18081.  
  18082. ΓòÉΓòÉΓòÉ <hidden> STATUSDATA Field - Length ΓòÉΓòÉΓòÉ
  18083.  
  18084.  Length (USHORT) 
  18085.     The length of the data structure, in bytes, including Length itself. 
  18086.  
  18087.  
  18088. ΓòÉΓòÉΓòÉ <hidden> STATUSDATA Field - SelectInd ΓòÉΓòÉΓòÉ
  18089.  
  18090.  SelectInd (USHORT) 
  18091.     An indicator that specifies whether the target session should be flagged as 
  18092.     selectable or non-selectable. 
  18093.  
  18094.     Possible values are shown in the following list: 
  18095.  
  18096.     0        SET_SESSION_UNCHANGED 
  18097.              Leaves the current setting unchanged. 
  18098.  
  18099.     1        SET_SESSION_SELECTABLE 
  18100.              Makes the target session selectable. 
  18101.  
  18102.     2        SET_SESSION_NON_SELECTABLE 
  18103.              Makes the target session non-selectable. A non-selectable session 
  18104.              is not selectable from the Shell switch list, nor can the user 
  18105.              jump to it via the system hot key. The operator may continue to 
  18106.              select a non-selectable windowed session by pressing a mouse 
  18107.              button within a visible part of the window. 
  18108.  
  18109.  
  18110. ΓòÉΓòÉΓòÉ <hidden> STATUSDATA Field - BondInd ΓòÉΓòÉΓòÉ
  18111.  
  18112.  BondInd (USHORT) 
  18113.     An indicator that specifies which session to bring to the foreground the 
  18114.     next time the parent session is selected. 
  18115.  
  18116.     Possible values are shown in the following list: 
  18117.  
  18118.     0        SET_SESSION_UNCHANGED 
  18119.              Leaves the current setting unchanged. 
  18120.  
  18121.     1        SET_SESSION_BOND 
  18122.              Establishes a bond between the parent session and the child 
  18123.              session. The child session is brought to the foreground the next 
  18124.              time the parent session is selected. If the child session is 
  18125.              selected, the child session is brought to the foreground. 
  18126.  
  18127.     2        SET_SESSION_NO_BOND 
  18128.              Specifies bringing the parent session to the foreground the next 
  18129.              time the parent session is selected, and bringing the child 
  18130.              session to the foreground if the child is selected. Any bond 
  18131.              previously established with the child session specified is broken. 
  18132.  
  18133.  
  18134. ΓòÉΓòÉΓòÉ 14.78. STRINGINBUF ΓòÉΓòÉΓòÉ
  18135.  
  18136. The buffer length data structure. 
  18137.  
  18138. typedef struct _STRINGINBUF {
  18139.   ULONG     cb;     /*  Length, of the input buffer, in bytes. */
  18140.   ULONG     cchIn;  /*  Number of bytes returned. */
  18141. } STRINGINBUF;
  18142.  
  18143. typedef STRINGINBUF *PSTRINGINBUF;
  18144.  
  18145.  
  18146. ΓòÉΓòÉΓòÉ <hidden> STRINGINBUF Field - cb ΓòÉΓòÉΓòÉ
  18147.  
  18148.  cb (ULONG) 
  18149.     Length, of the input buffer, in bytes. 
  18150.  
  18151.  
  18152. ΓòÉΓòÉΓòÉ <hidden> STRINGINBUF Field - cchIn ΓòÉΓòÉΓòÉ
  18153.  
  18154.  cchIn (ULONG) 
  18155.     Number of bytes returned. 
  18156.  
  18157.  
  18158. ΓòÉΓòÉΓòÉ 14.79. TIB ΓòÉΓòÉΓòÉ
  18159.  
  18160. Thread Information Block structure. 
  18161.  
  18162. typedef struct _TIB {
  18163.   PVOID     tib_pexchain;     /*  Head of exception handler chain. */
  18164.   PVOID     tib_pstack;       /*  Pointer to the base of the stack. */
  18165.   PVOID     tib_pstacklimit;  /*  Pointer to the end of the stack. */
  18166.   PTIB2     tib_ptib2;        /*  Pointer to a system-specific thread information block. */
  18167.   ULONG     tib_version;      /*  Version number for this Thread Information Block. */
  18168.   ULONG     tib_ordinal;      /*  Thread ordinal number. */
  18169. } TIB;
  18170.  
  18171. typedef TIB *PTIB;
  18172.  
  18173. A thread is a dispatchable unit of executable code that consists of  set of 
  18174. instructions, related CPU register values, and a stack. Every process has at 
  18175. least one thread and can have many threads running at the same time. The 
  18176. application runs when the operating system gives control to a thread in a 
  18177. process. A thread is the basic unit of execution. 
  18178.  
  18179. Information about a thread is kept in a read/write area of the process address 
  18180. space, called the Thread Information Block (TIB). The operating system creates 
  18181. and maintains a TIB for every thread in the system. 
  18182.  
  18183. An application can access the TIB of a specific thread using DosGetThreadInfo. 
  18184.  
  18185. Note:  The fields of this data structure should not be modified unless you are 
  18186.        switching stacks, in which case only the tib_pstack and tib_pstacklimit 
  18187.        should changed. 
  18188.  
  18189.  
  18190. ΓòÉΓòÉΓòÉ <hidden> TIB Field - tib_pexchain ΓòÉΓòÉΓòÉ
  18191.  
  18192.  tib_pexchain (PVOID) 
  18193.     Head of exception handler chain. 
  18194.  
  18195.  
  18196. ΓòÉΓòÉΓòÉ <hidden> TIB Field - tib_pstack ΓòÉΓòÉΓòÉ
  18197.  
  18198.  tib_pstack (PVOID) 
  18199.     Pointer to the base of the stack. 
  18200.  
  18201.  
  18202. ΓòÉΓòÉΓòÉ <hidden> TIB Field - tib_pstacklimit ΓòÉΓòÉΓòÉ
  18203.  
  18204.  tib_pstacklimit (PVOID) 
  18205.     Pointer to the end of the stack. 
  18206.  
  18207.  
  18208. ΓòÉΓòÉΓòÉ <hidden> TIB Field - tib_ptib2 ΓòÉΓòÉΓòÉ
  18209.  
  18210.  tib_ptib2 (PTIB2) 
  18211.     Pointer to a system-specific thread information block. 
  18212.  
  18213.  
  18214. ΓòÉΓòÉΓòÉ <hidden> TIB Field - tib_version ΓòÉΓòÉΓòÉ
  18215.  
  18216.  tib_version (ULONG) 
  18217.     Version number for this Thread Information Block. 
  18218.  
  18219.  
  18220. ΓòÉΓòÉΓòÉ <hidden> TIB Field - tib_ordinal ΓòÉΓòÉΓòÉ
  18221.  
  18222.  tib_ordinal (ULONG) 
  18223.     Thread ordinal number. 
  18224.  
  18225.  
  18226. ΓòÉΓòÉΓòÉ 14.80. TIB2 ΓòÉΓòÉΓòÉ
  18227.  
  18228. System-specific Thread Information Block structure. 
  18229.  
  18230. typedef struct _TIB2 {
  18231.   ULONG      tib2_ultid;         /*  Current thread identifier. */
  18232.   ULONG      tib2_ulpri;         /*  Current thread priority. */
  18233.   ULONG      tib2_version;       /*  Version number for this system-specific Thread Information Block. */
  18234.   USHORT     tib2_usMCCount;     /*  Must-complete count. */
  18235.   USHORT     tib2_fMCForceFlag;  /*  Must-complete force flag. */
  18236. } TIB2;
  18237.  
  18238. typedef TIB2 *PTIB2;
  18239.  
  18240.  
  18241. ΓòÉΓòÉΓòÉ <hidden> TIB2 Field - tib2_ultid ΓòÉΓòÉΓòÉ
  18242.  
  18243.  tib2_ultid (ULONG) 
  18244.     Current thread identifier. 
  18245.  
  18246.  
  18247. ΓòÉΓòÉΓòÉ <hidden> TIB2 Field - tib2_ulpri ΓòÉΓòÉΓòÉ
  18248.  
  18249.  tib2_ulpri (ULONG) 
  18250.     Current thread priority. The low byte of the low word is a hexadecimal 
  18251.     value representing a rank (value 0 to 31) within a priority class.  Class 
  18252.     values, found in the high byte of the low word, are as follows: 
  18253.  
  18254.     0x01 
  18255.             Idle. 
  18256.     0x02 
  18257.             Regular. 
  18258.     0x03 
  18259.             Time critical. 
  18260.     0x04 
  18261.             Server. 
  18262.  
  18263.  
  18264. ΓòÉΓòÉΓòÉ <hidden> TIB2 Field - tib2_version ΓòÉΓòÉΓòÉ
  18265.  
  18266.  tib2_version (ULONG) 
  18267.     Version number for this system-specific Thread Information Block. 
  18268.  
  18269.  
  18270. ΓòÉΓòÉΓòÉ <hidden> TIB2 Field - tib2_usMCCount ΓòÉΓòÉΓòÉ
  18271.  
  18272.  tib2_usMCCount (USHORT) 
  18273.     Must-complete count. 
  18274.  
  18275.  
  18276. ΓòÉΓòÉΓòÉ <hidden> TIB2 Field - tib2_fMCForceFlag ΓòÉΓòÉΓòÉ
  18277.  
  18278.  tib2_fMCForceFlag (USHORT) 
  18279.     Must-complete force flag. 
  18280.  
  18281.  
  18282. ΓòÉΓòÉΓòÉ 14.81. TID ΓòÉΓòÉΓòÉ
  18283.  
  18284. Thread identity. 
  18285.  
  18286. typedef LHANDLE TID;
  18287.  
  18288.  
  18289. ΓòÉΓòÉΓòÉ 14.82. TRACKLAYOUT ΓòÉΓòÉΓòÉ
  18290.  
  18291. Track layout. 
  18292.  
  18293. typedef struct _TRACKLAYOUT {
  18294.   BYTE       bCommand;        /*  Command information. */
  18295.   USHORT     usHead;          /*  Physical head on the device that performs the operation. */
  18296.   USHORT     usCylinder;      /*  Cylinder to be written, read, or verified. */
  18297.   USHORT     usFirstSector;   /*  Logical sector number within the Track Layout Table that starts the I/O operation. */
  18298.   USHORT     cSectors;        /*  Number of sectors to read, write, or verify. */
  18299.   struct   {
  18300.     USHORT       usSectorNumber;  /*  Sector number. */
  18301.     USHORT       usSectorSize;    /*  Sector size. */
  18302.   } TrackTable[1];
  18303. } TRACKLAYOUT;
  18304.  
  18305. typedef TRACKLAYOUT *PTRACKLAYOUT;
  18306.  
  18307.  
  18308. ΓòÉΓòÉΓòÉ <hidden> TRACKLAYOUT Field - bCommand ΓòÉΓòÉΓòÉ
  18309.  
  18310.  bCommand (BYTE) 
  18311.     Command information. 
  18312.  
  18313.     Bit 0       If clear (0), the track layout contains nonconsecutive sectors 
  18314.                 or does not start with Sector 1. If set (1), the track layout 
  18315.                 starts with Sector 1 and contains only consecutive sectors. 
  18316.  
  18317.     All other bits are reserved and must be set to 0. 
  18318.  
  18319.  
  18320. ΓòÉΓòÉΓòÉ <hidden> TRACKLAYOUT Field - usHead ΓòÉΓòÉΓòÉ
  18321.  
  18322.  usHead (USHORT) 
  18323.     Physical head on the device that performs the operation. 
  18324.  
  18325.  
  18326. ΓòÉΓòÉΓòÉ <hidden> TRACKLAYOUT Field - usCylinder ΓòÉΓòÉΓòÉ
  18327.  
  18328.  usCylinder (USHORT) 
  18329.     Cylinder to be written, read, or verified. 
  18330.  
  18331.  
  18332. ΓòÉΓòÉΓòÉ <hidden> TRACKLAYOUT Field - usFirstSector ΓòÉΓòÉΓòÉ
  18333.  
  18334.  usFirstSector (USHORT) 
  18335.     Logical sector number within the Track Layout Table that starts the I/O 
  18336.     operation. 
  18337.  
  18338.     Note that all the sector numbers start with 0. For example the third sector 
  18339.     is number 2. 
  18340.  
  18341.  
  18342. ΓòÉΓòÉΓòÉ <hidden> TRACKLAYOUT Field - cSectors ΓòÉΓòÉΓòÉ
  18343.  
  18344.  cSectors (USHORT) 
  18345.     Number of sectors to read, write, or verify. 
  18346.  
  18347.     This value must be less than or equal to the maximum number number of 
  18348.     sectors specified in the track table. 
  18349.  
  18350.     The IOCtl subfunctions do not step heads or tracks. 
  18351.  
  18352.  
  18353. ΓòÉΓòÉΓòÉ <hidden> TRACKLAYOUT Field - usSectorNumber ΓòÉΓòÉΓòÉ
  18354.  
  18355.  usSectorNumber (USHORT) 
  18356.     Sector number. 
  18357.  
  18358.     There must be one usSectorNumber and usSectorSize in the track layout table 
  18359.     for every sector, up to cSectors sectors. 
  18360.  
  18361.  
  18362. ΓòÉΓòÉΓòÉ <hidden> TRACKLAYOUT Field - usSectorSize ΓòÉΓòÉΓòÉ
  18363.  
  18364.  usSectorSize (USHORT) 
  18365.     Sector size. 
  18366.  
  18367.     There must be one usSectorNumber and usSectorSize in the track layout table 
  18368.     for every sector, up to cSectors sectors. 
  18369.  
  18370.  
  18371. ΓòÉΓòÉΓòÉ 14.83. UCHAR ΓòÉΓòÉΓòÉ
  18372.  
  18373. Single-byte unsigned character or unsigned integer in the range 0 through 255. 
  18374.  
  18375. typedef unsigned char UCHAR;
  18376.  
  18377.  
  18378. ΓòÉΓòÉΓòÉ 14.84. ULONG ΓòÉΓòÉΓòÉ
  18379.  
  18380. 32-bit unsigned integer in the range 0 through 4 294 967 295. 
  18381.  
  18382. typedef unsigned long ULONG;
  18383.  
  18384.  
  18385. ΓòÉΓòÉΓòÉ 14.85. USHORT ΓòÉΓòÉΓòÉ
  18386.  
  18387. Unsigned integer in the range 0 through 65 535. 
  18388.  
  18389. typedef unsigned short USHORT;
  18390.  
  18391.  
  18392. ΓòÉΓòÉΓòÉ 14.86. VOID ΓòÉΓòÉΓòÉ
  18393.  
  18394. A data area of undefined format. 
  18395.  
  18396. #define VOID void
  18397.  
  18398.  
  18399. ΓòÉΓòÉΓòÉ 14.87. VOLUMELABEL ΓòÉΓòÉΓòÉ
  18400.  
  18401. Volume label structure. 
  18402.  
  18403. typedef struct _VOLUMELABEL {
  18404.   BYTE     cch;             /*  Length of the volume label, not including the null. */
  18405.   CHAR     szVolLabel[12];  /*  Volume label. */
  18406. } VOLUMELABEL;
  18407.  
  18408. typedef VOLUMELABEL *PVOLUMELABEL;
  18409.  
  18410.  
  18411. ΓòÉΓòÉΓòÉ <hidden> VOLUMELABEL Field - cch ΓòÉΓòÉΓòÉ
  18412.  
  18413.  cch (BYTE) 
  18414.     Length of the volume label, not including the null. 
  18415.  
  18416.  
  18417. ΓòÉΓòÉΓòÉ <hidden> VOLUMELABEL Field - szVolLabel[12] ΓòÉΓòÉΓòÉ
  18418.  
  18419.  szVolLabel[12] (CHAR) 
  18420.     Volume label. 
  18421.  
  18422.     This is an ASCIIZ string. 
  18423.  
  18424.  
  18425. ΓòÉΓòÉΓòÉ 14.88. WORD ΓòÉΓòÉΓòÉ
  18426.  
  18427. Unsigned integer in the range 0 through 65 535. 
  18428.  
  18429. typedef unsigned short WORD;
  18430.  
  18431.  
  18432. ΓòÉΓòÉΓòÉ 15. Errors ΓòÉΓòÉΓòÉ
  18433.  
  18434. For errors 0 through 499, the following shows the numerical value of an error, 
  18435. its symbolic name, and a brief description of the error. For errors 500 and 
  18436. above, the following shows the numerical value of an error and its symbolic 
  18437. name. 
  18438.  
  18439. Select a range of Control Program error return codes: 
  18440.  
  18441.       0 to 99 
  18442.  
  18443.       100 to 199 
  18444.  
  18445.       200 to 299 
  18446.  
  18447.       300 to 399 
  18448.  
  18449.       400 to 499 
  18450.  
  18451.       500 to 599 
  18452.  
  18453.       600 to 1999 
  18454.  
  18455.       2000 to 59999 
  18456.  
  18457.       60000 to 65079 
  18458.  
  18459.  
  18460. ΓòÉΓòÉΓòÉ <hidden> Errors 0 to 99 ΓòÉΓòÉΓòÉ
  18461.  
  18462. The following shows the numerical value of an error, its symbolic name, and a 
  18463. brief description of the error. 
  18464.  
  18465.  0  NO_ERROR 
  18466.          No error occurred. 
  18467.  
  18468.  1  ERROR_INVALID_FUNCTION 
  18469.          Function number is not valid. 
  18470.  
  18471.  2  ERROR_FILE_NOT_FOUND 
  18472.          File not found. 
  18473.  
  18474.  3  ERROR_PATH_NOT_FOUND 
  18475.          Path not found. 
  18476.  
  18477.  4  ERROR_TOO_MANY_OPEN_FILES 
  18478.          Too many open files (no handles left). 
  18479.  
  18480.  5  ERROR_ACCESS_DENIED 
  18481.          Access denied. 
  18482.  
  18483.  6  ERROR_INVALID_HANDLE 
  18484.          Handle is not valid. 
  18485.  
  18486.  7  ERROR_ARENA_TRASHED 
  18487.          Memory control blocks destroyed. 
  18488.  
  18489.  8  ERROR_NOT_ENOUGH_MEMORY 
  18490.          Insufficient memory. 
  18491.  
  18492.  9  ERROR_INVALID_BLOCK 
  18493.          Memory-block address is not valid. 
  18494.  
  18495.  10  ERROR_BAD_ENVIRONMENT 
  18496.          Environment is not valid. 
  18497.  
  18498.  11  ERROR_BAD_FORMAT 
  18499.          Format is not valid. 
  18500.  
  18501.  12  ERROR_INVALID_ACCESS 
  18502.          Access code is not valid. 
  18503.  
  18504.  13  ERROR_INVALID_DATA 
  18505.          Data is not valid. 
  18506.  
  18507.  14  Reserved. 
  18508.  
  18509.  15  ERROR_INVALID_DRIVE 
  18510.          Drive is not valid. 
  18511.  
  18512.  16  ERROR_CURRENT_DIRECTORY 
  18513.          Attempting to remove current directory. 
  18514.  
  18515.  17  ERROR_NOT_SAME_DEVICE 
  18516.          Not same device. 
  18517.  
  18518.  18  ERROR_NO_MORE_FILES 
  18519.          No more files. 
  18520.  
  18521.  19  ERROR_WRITE_PROTECT 
  18522.          Attempt to write on write-protected diskette. 
  18523.  
  18524.  20  ERROR_BAD_UNIT 
  18525.          Unknown unit. 
  18526.  
  18527.  21  ERROR_NOT_READY 
  18528.          Drive not ready. 
  18529.  
  18530.  22  ERROR_BAD_COMMAND 
  18531.          Unknown command. 
  18532.  
  18533.  23  ERROR_CRC 
  18534.          Data error - cyclic redundancy check. 
  18535.  
  18536.  24  ERROR_BAD_LENGTH 
  18537.          Request structure length is not valid. 
  18538.  
  18539.  25  ERROR_SEEK 
  18540.          Seek error. 
  18541.  
  18542.  26  ERROR_NOT_DOS_DISK 
  18543.          Unknown media type. 
  18544.  
  18545.  27  ERROR_SECTOR_NOT_FOUND 
  18546.          Sector not found. 
  18547.  
  18548.  28  ERROR_OUT_OF_PAPER 
  18549.          Printer is out of paper. 
  18550.  
  18551.  29  ERROR_WRITE FAULT 
  18552.          Write fault. 
  18553.  
  18554.  30  ERROR_READ_FAULT 
  18555.          Read fault. 
  18556.  
  18557.  31  ERROR_GEN_FAILURE 
  18558.          General failure. For DosGetShrSeg and DosGetNamedSharedMem, indicates 
  18559.          that a segment's maximum reference count of 65535 has been exceeded. 
  18560.  
  18561.  32  ERROR_SHARING_VIOLATION 
  18562.          Sharing violation. 
  18563.  
  18564.  33  ERROR_LOCK_VIOLATION 
  18565.          Lock violation. 
  18566.  
  18567.  34  ERROR_WRONG_DISK 
  18568.          Disk change is not valid. 
  18569.  
  18570.  35  ERROR_FCB_UNAVAILABLE 
  18571.          FCB unavailable. 
  18572.  
  18573.  36  ERROR_SHARING_BUFFER_EXCEEDED 
  18574.          Sharing buffer overflow. 
  18575.  
  18576.  37  ERROR_CODE_PAGE_MISMATCHED 
  18577.          Code page does not match. 
  18578.  
  18579.  38  ERROR_HANDLE_EOF 
  18580.          End of file reached. 
  18581.  
  18582.  39  ERROR_HANDLE_DISK_FULL 
  18583.          Disk is full. 
  18584.  
  18585.  40-49  Reserved. 
  18586.  
  18587.  50  ERROR_NOT_SUPPORTED 
  18588.          Network request not supported. 
  18589.  
  18590.  51  ERROR_REM_NOT_LIST 
  18591.          Remote network node is not online. 
  18592.  
  18593.  52  ERROR_DUP_NAME 
  18594.          Duplicate file name in network. 
  18595.  
  18596.  53  ERROR_BAD_NETPATH 
  18597.          Network path not found. 
  18598.  
  18599.  54  ERROR_NETWORK_BUSY 
  18600.          Network is busy. 
  18601.  
  18602.  55  ERROR_DEV_NOT_EXIST 
  18603.          Device is not installed in network. 
  18604.  
  18605.  56  ERROR_TOO_MANY_CMDS 
  18606.          Network command limit reached. 
  18607.  
  18608.  57  ERROR_ADAP_HDW_ERR 
  18609.          Network adapter hardware error. 
  18610.  
  18611.  58  ERROR_BAD_NET_RESP 
  18612.          Incorrect response in network. 
  18613.  
  18614.  59  ERROR_UNEXP_NET_ERR 
  18615.          Unexpected error in network. 
  18616.  
  18617.  60  ERROR_BAD_REM_ADAP 
  18618.          Remote network adapter error. 
  18619.  
  18620.  61  ERROR_PRINTQ_FULL 
  18621.          Network printer queue is full. 
  18622.  
  18623.  62  ERROR_NO_SPOOL_SPACE 
  18624.          No space in print spool file. 
  18625.  
  18626.  63  ERROR_PRINT_CANCELLED 
  18627.          Print spool file deleted. 
  18628.  
  18629.  64  ERROR_NETNAME_DELETED 
  18630.          Network name deleted. 
  18631.  
  18632.  65  ERROR_NETWORK_ACCESS_DENIED 
  18633.          Access to network denied. 
  18634.  
  18635.  66  ERROR_BAD_DEV_TYPE 
  18636.          Device type for network is not valid. 
  18637.  
  18638.  67  ERROR_BAD_NET_NAME 
  18639.          Network name not found. 
  18640.  
  18641.  68  ERROR_TOO_MANY_NAMES 
  18642.          Network name limit exceeded. 
  18643.  
  18644.  69  ERROR_TOO_MANY_SESS 
  18645.          Network session limit exceeded. 
  18646.  
  18647.  70  ERROR_SHARING_PAUSED 
  18648.          Temporary pause in network. 
  18649.  
  18650.  71  ERROR_REQ_NOT_ACCEP 
  18651.          Network request denied. 
  18652.  
  18653.  72  ERROR_REDIR_PAUSED 
  18654.          Pause in network print disk redirection. 
  18655.  
  18656.  73  ERROR_SBCS_ATT_WRITE_PROT 
  18657.          Attempted write on protected disk. 
  18658.  
  18659.  74  ERROR_SBCS_GENERAL_FAILURE 
  18660.          General failure, single-byte character set. 
  18661.  
  18662.  75  ERROR_XGA_OUT_MEMORY 
  18663.          XGA is out of memory. 
  18664.  
  18665.  76-79  Reserved. 
  18666.  
  18667.  80  ERROR_FILE_EXISTS 
  18668.          File exists. 
  18669.  
  18670.  81  ERROR_DUP_FCB 
  18671.          Reserved. 
  18672.  
  18673.  82  ERROR_CANNOT_MAKE 
  18674.          Cannot make directory entry. 
  18675.  
  18676.  83  ERROR_FAIL_I24 
  18677.          Failure on INT 24. 
  18678.  
  18679.  84  ERROR_OUT_OF_STRUCTURES 
  18680.          Too many redirections. 
  18681.  
  18682.  85  ERROR_ALREADY_ASSIGNED 
  18683.          Duplicate redirection. 
  18684.  
  18685.  86  ERROR_INVALID_PASSWORD 
  18686.          Password is not valid. 
  18687.  
  18688.  87  ERROR_INVALID_PARAMETER 
  18689.          Parameter is not valid. 
  18690.  
  18691.  88  ERROR_NET_WRITE_FAULT 
  18692.          Network device fault. 
  18693.  
  18694.  89  ERROR_NO_PROC_SLOTS 
  18695.          No process slots available. 
  18696.  
  18697.  90  ERROR_NOT_FROZEN 
  18698.          System error. 
  18699.  
  18700.  90  ERROR_SYS_COMP_NOT_LOADED 
  18701.          System error. 
  18702.  
  18703.  91  ERR_TSTOVFL 
  18704.          Timer service table overflow. 
  18705.  
  18706.  92  ERR_TSTDUP 
  18707.          Timer service table duplicate. 
  18708.  
  18709.  93  ERROR_NO_ITEMS 
  18710.          No items to work on. 
  18711.  
  18712.  95  ERROR_INTERRUPT 
  18713.          Interrupted system call. 
  18714.  
  18715.  99  ERROR_DEVICE_IN_USE 
  18716.          Device in use. 
  18717.  
  18718.  
  18719. ΓòÉΓòÉΓòÉ <hidden> Errors 100 to 199 ΓòÉΓòÉΓòÉ
  18720.  
  18721. The following shows the numerical value of an error, its symbolic name, and a 
  18722. brief description of the error. 
  18723.  
  18724.  100  ERROR_TOO_MANY_SEMAPHORES 
  18725.          User/system open semaphore limit reached. 
  18726.  
  18727.  101  ERROR_EXCL_SEM_ALREADY_OWNED 
  18728.          Exclusive semaphore already owned. 
  18729.  
  18730.  102  ERROR_SEM_IS_SET 
  18731.          DosCloseSem found semaphore set. 
  18732.  
  18733.  103  ERROR_TOO_MANY_SEM_REQUESTS 
  18734.          Too many exclusive semaphore requests. 
  18735.  
  18736.  104  ERROR_INVALID_AT_INTERRUPT_TIME 
  18737.          Operation at interrupt time is not valid. 
  18738.  
  18739.  105  ERROR_SEM_OWNER_DIED 
  18740.          Previous semaphore owner ended without freeing semaphore. 
  18741.  
  18742.  106  ERROR_SEM_USER_LIMIT 
  18743.          Semaphore limit exceeded. 
  18744.  
  18745.  107  ERROR_DISK_CHANGE 
  18746.          Insert drive B disk into drive A. 
  18747.  
  18748.  108  ERROR_DRIVE_LOCKED 
  18749.          Drive locked by another process. 
  18750.  
  18751.  109  ERROR_BROKEN_PIPE 
  18752.          Write on pipe with no reader. 
  18753.  
  18754.  110  ERROR_OPEN_FAILED 
  18755.          Open/create failed due to explicit fail command. 
  18756.  
  18757.  111  ERROR_BUFFER_OVERFLOW 
  18758.          Buffer passed to system call too small to hold return data. 
  18759.  
  18760.  112  ERROR_DISK_FULL 
  18761.          Not enough space on the disk. 
  18762.  
  18763.  113  ERROR_NO_MORE_SEARCH_HANDLES 
  18764.          Cannot allocate another search structure and handle. 
  18765.  
  18766.  114  ERROR_INVALID_TARGET_HANDLE 
  18767.          Target handle in DosDupHandle is not valid. 
  18768.  
  18769.  115  ERROR_PROTECTION_VIOLATION 
  18770.          User virtual address is not valid. 
  18771.  
  18772.  116  ERROR_VIOKBD_REQUEST 
  18773.          Error on display write or keyboard read. 
  18774.  
  18775.  117  ERROR_INVALID_CATEGORY 
  18776.          Category for DevIOCtl not defined. 
  18777.  
  18778.  118  ERROR_INVALID_VERIFY_SWITCH 
  18779.          Value passed for verify flag is not valid. 
  18780.  
  18781.  119  ERROR_BAD_DRIVER_LEVEL 
  18782.          Level four driver not found. 
  18783.  
  18784.  120  ERROR_CALL_NOT_IMPLEMENTED 
  18785.          Function called is not valid. 
  18786.  
  18787.  121  ERROR_SEM_TIMEOUT 
  18788.          Time-out occurred from semaphore API function. 
  18789.  
  18790.  122  ERROR_INSUFFICIENT_BUFFER 
  18791.          Data buffer too small. 
  18792.  
  18793.  123  ERROR_INVALID_NAME 
  18794.          Illegal character or file-system name is not valid. 
  18795.  
  18796.  124  ERROR_INVALID_LEVEL 
  18797.          Level for information retrieval or setting is not valid. 
  18798.  
  18799.  125  ERROR_NO_VOLUME_LABEL 
  18800.          No volume label found with DosQueryFSInfo function. 
  18801.  
  18802.  126  ERROR_MOD_NOT_FOUND 
  18803.          Module handle not found with DosQueryProcAddr(), DosQueryModAddr(). 
  18804.  
  18805.  127  ERROR_PROC_NOT_FOUND 
  18806.          Procedure address not found with DosQueryProcAddr(). 
  18807.  
  18808.  128  ERROR_WAIT_NO_CHILDREN 
  18809.          DosWaitChild finds no children. 
  18810.  
  18811.  129  ERROR_CHILD_NOT_COMPLETE 
  18812.          DosWaitChild children not ended. 
  18813.  
  18814.  130  ERROR_DIRECT_ACCESS_HANDLE 
  18815.          Handle operation is not valid for direct disk-access handles. 
  18816.  
  18817.  131  ERROR_NEGATIVE_SEEK 
  18818.          Attempting seek to negative offset. 
  18819.  
  18820.  132  ERROR_SEEK_ON_DEVICE 
  18821.          Application trying to seek on device or pipe. 
  18822.  
  18823.  133  ERROR_IS_JOIN_TARGET 
  18824.          Drive has previously joined drives. 
  18825.  
  18826.  134  ERROR_IS_JOINED 
  18827.          Drive is already joined. 
  18828.  
  18829.  135  ERROR_IS_SUBSTED 
  18830.          Drive is already substituted. 
  18831.  
  18832.  136  ERROR_NOT_JOINED 
  18833.          Cannot delete drive that is not joined. 
  18834.  
  18835.  137  ERROR_NOT_SUBSTED 
  18836.          Cannot delete drive that is not substituted. 
  18837.  
  18838.  138  ERROR_JOIN_TO_JOIN 
  18839.          Cannot join to a joined drive. 
  18840.  
  18841.  139  ERROR_SUBST_TO_SUBST 
  18842.          Cannot substitute to a substituted drive. 
  18843.  
  18844.  140  ERROR_JOIN_TO_SUBST 
  18845.          Cannot join to a substituted drive. 
  18846.  
  18847.  141  ERROR_SUBST_TO_JOIN 
  18848.          Cannot substitute to a joined drive. 
  18849.  
  18850.  142  ERROR_BUSY_DRIVE 
  18851.          Specified drive is busy. 
  18852.  
  18853.  143  ERROR_SAME_DRIVE 
  18854.          Cannot join or substitute a drive to a directory on the same drive. 
  18855.  
  18856.  144  ERROR_DIR_NOT_ROOT 
  18857.          Directory must be a subdirectory of the root. 
  18858.  
  18859.  145  ERROR_DIR_NOT_EMPTY 
  18860.          Directory must be empty to use join command. 
  18861.  
  18862.  146  ERROR_IS_SUBST_PATH 
  18863.          Path specified is being used in a substitute. 
  18864.  
  18865.  147  ERROR_IS_JOIN_PATH 
  18866.          Path specified is being used in a join. 
  18867.  
  18868.  148  ERROR_PATH_BUSY 
  18869.          Path specified is being used by another process. 
  18870.  
  18871.  149  ERROR_IS_SUBST_TARGET 
  18872.          Cannot join or substitute a drive that has a directory that is the 
  18873.          target of a previous substitute. 
  18874.  
  18875.  150  ERROR_SYSTEM_TRACE 
  18876.          System trace error. 
  18877.  
  18878.  151  ERROR_INVALID_EVENT_COUNT 
  18879.          DosWaitMuxWaitSem errors. 
  18880.  
  18881.  152  ERROR_TOO_MANY_MUXWAITERS 
  18882.          System limit of 100 entries reached. 
  18883.  
  18884.  153  ERROR_INVALID_LIST_FORMAT 
  18885.          List format is not valid. 
  18886.  
  18887.  154  ERROR_LABEL_TOO_LONG 
  18888.          Volume label too big. 
  18889.  
  18890.  155  ERROR_TOO_MANY_TCBS 
  18891.          Cannot create another TCB. 
  18892.  
  18893.  156  ERROR_SIGNAL_REFUSED 
  18894.          Signal refused. 
  18895.  
  18896.  157  ERROR_DISCARDED 
  18897.          Segment is discarded. 
  18898.  
  18899.  158  ERROR_NOT_LOCKED 
  18900.          Segment is not locked. 
  18901.  
  18902.  159  ERROR_BAD_THREADID_ADDR 
  18903.          Thread-identity address is not valid. 
  18904.  
  18905.  160  ERROR_BAD_ARGUMENTS 
  18906.          Environment pointer is not valid. 
  18907.  
  18908.  161  ERROR_BAD_PATHNAME 
  18909.          Path name is not valid. 
  18910.  
  18911.  162  ERROR_SIGNAL_PENDING 
  18912.          Signal already pending. 
  18913.  
  18914.  163  ERROR_UNCERTAIN_MEDIA 
  18915.          Error with INT 24 mapping. 
  18916.  
  18917.  164  ERROR_MAX_THRDS_REACHED 
  18918.          No more process slots. 
  18919.  
  18920.  165  ERROR_MONITORS_NOT_SUPPORTED 
  18921.          Error with INT 24 mapping. 
  18922.  
  18923.  166  ERROR_UNC_DRIVER_NOT_INSTALLED 
  18924.          Default redirection return code. 
  18925.  
  18926.  167  ERROR_LOCK_FAILED 
  18927.          Locking failed. 
  18928.  
  18929.  168  ERROR_SWAPIO_FAILED 
  18930.          Swap I/O failed. 
  18931.  
  18932.  169  ERROR_SWAPIN_FAILED 
  18933.          Swap in failed. 
  18934.  
  18935.  170  ERROR_BUSY 
  18936.          Segment is busy. 
  18937.  
  18938.  171-172  Reserved. 
  18939.  
  18940.  173  ERROR_CANCEL_VIOLATION 
  18941.          A lock request is not outstanding for the specified file range, or the 
  18942.          range length is zero. 
  18943.  
  18944.  174  ERROR_ATOMIC_LOCK_NOT_SUPPORTED 
  18945.          The file-system driver (FSD) does not support atomic lock operations. 
  18946.          Versions of OS/2 prior to version 2.00 do not support atomic lock 
  18947.          operations. 
  18948.  
  18949.  175  ERROR_READ_LOCKS_NOT_SUPPORTED 
  18950.          The file system driver (FSD) does not support shared read locks. 
  18951.  
  18952.  176-179  Reserved. 
  18953.  
  18954.  180  ERROR_INVALID_SEGMENT_NUMBER 
  18955.          Segment number is not valid. 
  18956.  
  18957.  181  ERROR_INVALID_CALLGATE 
  18958.          Call gate is not valid. 
  18959.  
  18960.  182  ERROR_INVALID_ORDINAL 
  18961.          Ordinal is not valid. 
  18962.  
  18963.  183  ERROR_ALREADY_EXISTS 
  18964.          Shared segment already exists. 
  18965.  
  18966.  184  ERROR_NO_CHILD_PROCESS 
  18967.          No child process to wait for. 
  18968.  
  18969.  185  ERROR_CHILD_ALIVE_NOWAIT 
  18970.          NoWait specified and child alive. 
  18971.  
  18972.  186  ERROR_INVALID_FLAG_NUMBER 
  18973.          Flag number is not valid. 
  18974.  
  18975.  187  ERROR_SEM_NOT_FOUND 
  18976.          Semaphore does not exist. 
  18977.  
  18978.  188  ERROR_INVALID_STARTING_CODESEG 
  18979.          Starting code segment is not valid, incorrect END (label) directive. 
  18980.  
  18981.  189  ERROR_INVALID_STACKSEG 
  18982.          Stack segment is not valid. 
  18983.  
  18984.  190  ERROR_INVALID_MODULETYPE 
  18985.          Module type is not valid - dynamic-link library file cannot be used as 
  18986.          an application. Application cannot be used as a dynamic-link library. 
  18987.  
  18988.  191  ERROR_INVALID_EXE_SIGNATURE 
  18989.          EXE signature is not valid - file is a DOS mode program or an improper 
  18990.          program. 
  18991.  
  18992.  192  ERROR_EXE_MARKED_INVALID 
  18993.          EXE marked is not valid - link detected errors when the application 
  18994.          was created. 
  18995.  
  18996.  193  ERROR_BAD_EXE_FORMAT 
  18997.          EXE format not valid - file is a DOS mode program or an improper 
  18998.          program. 
  18999.  
  19000.  194  ERROR_ITERATED_DATA_EXCEEDS_64k 
  19001.          Iterated data exceeds 64KB - there is more than 64KB of data in one of 
  19002.          the segments of the file. 
  19003.  
  19004.  195  ERROR_INVALID_MINALLOCSIZE 
  19005.          Minimum allocation size is not valid - the size is specified to be 
  19006.          less than the size of the segment data in the file. 
  19007.  
  19008.  196  ERROR_DYNLINK_FROM_INVALID_RING 
  19009.          Dynamic link from privilege level is not valid - privilege level 2 
  19010.          routine cannot link to dynamic-link libraries. 
  19011.  
  19012.  197  ERROR_IOPL_NOT_ENABLED 
  19013.          IOPL not enabled - IOPL set to NO in CONFIG.SYS. 
  19014.  
  19015.  198  ERROR_INVALID_SEGDPL 
  19016.          Segment descriptor privilege level is not valid - can only have 
  19017.          privilege levels of 2 and 3. 
  19018.  
  19019.  199  ERROR_AUTODATASEG_EXCEEDS_64k 
  19020.          Automatic data segment exceeds 64KB. 
  19021.  
  19022.  
  19023. ΓòÉΓòÉΓòÉ <hidden> Errors 200 to 299 ΓòÉΓòÉΓòÉ
  19024.  
  19025. The following shows the numerical value of an error, its symbolic name, and a 
  19026. brief description of the error. 
  19027.  
  19028.  200  ERROR_RING2SEG_MUST_BE_MOVABLE 
  19029.          Privilege level 2 segment must be movable. 
  19030.  
  19031.  201  ERROR_RELOC_CHAIN_XEEDS_SEGLIM 
  19032.          Relocation chain exceeds segment limit. 
  19033.  
  19034.  202  ERROR_INFLOOP_IN_RELOC_CHAIN 
  19035.          Infinite loop in relocation chain segment. 
  19036.  
  19037.  203  ERROR_ENVVAR_NOT_FOUND 
  19038.          Environment variable not found. 
  19039.  
  19040.  204  ERROR_NOT_CURRENT_CTRY 
  19041.          Not current country. 
  19042.  
  19043.  205  ERROR_NO_SIGNAL_SENT 
  19044.          No signal sent - no process in the command subtree has a signal 
  19045.          handler. 
  19046.  
  19047.  206  ERROR_FILENAME_EXCED_RANGE 
  19048.          File name or extension is greater than 8.3 characters. 
  19049.  
  19050.  207  ERROR_RING2_STACK_IN_USE 
  19051.          Privilege level 2 stack is in use. 
  19052.  
  19053.  208  ERROR_META_EXPANSION_TOO_LONG 
  19054.          Meta (global) expansion is too long. 
  19055.  
  19056.  209  ERROR_INVALID_SIGNAL_NUMBER 
  19057.          Signal number is not valid. 
  19058.  
  19059.  210  ERROR_THREAD_1_INACTIVE 
  19060.          Inactive thread. 
  19061.  
  19062.  211  ERROR_INFO_NOT_AVAIL 
  19063.          File system information is not available for this file. 
  19064.  
  19065.  212  ERROR_LOCKED 
  19066.          Locked error. 
  19067.  
  19068.  213  ERROR_BAD_DYNALINK 
  19069.          Attempted to execute a non-family API in DOS mode. 
  19070.  
  19071.  214  ERROR_TOO_MANY_MODULES 
  19072.          Too many modules. 
  19073.  
  19074.  215  ERROR_NESTING_NOT_ALLOWED 
  19075.          Nesting is not allowed. 
  19076.  
  19077.  216  ERROR_CANNOT_SHRINK 
  19078.          System error. 
  19079.  
  19080.  217  ERROR_ZOMBIE_PROCESS 
  19081.          Zombie process. 
  19082.  
  19083.  218  ERROR_STACK_IN_HIGH_MEMORY 
  19084.          Stack is in high memory. 
  19085.  
  19086.  219  ERROR_INVALID_EXITROUTINE_RING 
  19087.          Exit routine ring is not valid. 
  19088.  
  19089.  220  ERROR_GETBUF_FAILED 
  19090.          Get buffer failed. 
  19091.  
  19092.  221  ERROR_FLUSHBUF_FAILED 
  19093.          Flush buffer failed. 
  19094.  
  19095.  222  ERROR_TRANSFER_TOO_LONG 
  19096.          Transfer is too long. 
  19097.  
  19098.  223  ERROR_FORCENOSWAP_FAILED 
  19099.          System error. 
  19100.  
  19101.  224  ERROR_SMG_NO_TARGET_WINDOW 
  19102.          The application window was created without the FCF_TASKLIST style, or 
  19103.          the application window not yet been created or has already been 
  19104.          destroyed. 
  19105.  
  19106.  228  ERROR_NO_CHILDREN 
  19107.          No child process. 
  19108.  
  19109.  229  ERROR_INVALID_SCREEN_GROUP 
  19110.          Session is not valid. 
  19111.  
  19112.  230  ERROR_BAD_PIPE 
  19113.          The pipe is non-existent pipe or the operation is not valid. 
  19114.  
  19115.  231  ERROR_PIPE_BUSY 
  19116.          Pipe is busy. 
  19117.  
  19118.  232  ERROR_NO_DATA 
  19119.          No data available on non-blocking read. 
  19120.  
  19121.  233  ERROR_PIPE_NOT_CONNECTED 
  19122.          Pipe was disconnected by server. 
  19123.  
  19124.  234  ERROR_MORE_DATA 
  19125.          More data is available. 
  19126.  
  19127.  240  ERROR_VC_DISCONNECTED 
  19128.          Session was dropped due to errors. 
  19129.  
  19130.  250  ERROR_CIRCULARITY_REQUESTED 
  19131.          Renaming a directory that would cause a circularity problem. 
  19132.  
  19133.  251  ERROR_DIRECTORY_IN_CDS 
  19134.          Renaming a directory that is in use. 
  19135.  
  19136.  252  ERROR_INVALID_FSD_NAME 
  19137.          Trying to access an FSD that is not valid. 
  19138.  
  19139.  253  ERROR_INVALID_PATH 
  19140.          Pseudo device is not valid. 
  19141.  
  19142.  254  ERROR_INVALID_EA_NAME 
  19143.          Character in name or cbName is not valid. 
  19144.  
  19145.  255  ERROR_EA_LIST_INCONSISTENT 
  19146.          List does not match its size, or there are EAs that are not valid in 
  19147.          the list. 
  19148.  
  19149.  256  ERROR_EA_LIST_TOO_LONG 
  19150.          FEAList is longer than 64K-1 bytes. 
  19151.  
  19152.  257  ERROR_NO_META_MATCH 
  19153.          String does not match expression. 
  19154.  
  19155.  258  ERROR_FINDNOTIFY_TIMEOUT 
  19156.          System error. 
  19157.  
  19158.  259  ERROR_NO_MORE_ITEMS 
  19159.          DosQueryFSAttach ordinal query. 
  19160.  
  19161.  260  ERROR_SEARCH_STRUC_REUSED 
  19162.          DOS mode findfirst/next search structure reused. 
  19163.  
  19164.  261  ERROR_CHAR_NOT_FOUND 
  19165.          Character not found. 
  19166.  
  19167.  262  ERROR_TOO_MUCH_STACK 
  19168.          Stack request exceeds system limit. 
  19169.  
  19170.  263  ERROR_INVALID_ATTR 
  19171.          Attribute is not valid. 
  19172.  
  19173.  264  ERROR_INVALID_STARTING_RING 
  19174.          Starting ring is not valid. 
  19175.  
  19176.  265  ERROR_INVALID_DLL_INIT_RING 
  19177.          DLL INIT ring is not valid. 
  19178.  
  19179.  266  ERROR_CANNOT_COPY 
  19180.          Cannot copy. 
  19181.  
  19182.  267  ERROR_DIRECTORY 
  19183.          Used by DOSCOPY in doscall1. 
  19184.  
  19185.  268  ERROR_OPLOCKED_FILE 
  19186.          Oplocked file. 
  19187.  
  19188.  269  ERROR_OPLOCK_THREAD_EXISTS 
  19189.          Oplock thread exists. 
  19190.  
  19191.  270  ERROR_VOLUME_CHANGED 
  19192.          Volume changed. 
  19193.  
  19194.  271  ERROR_FINDNOTIFY_HANDLE_IN_USE 
  19195.          Handle in use. 
  19196.  
  19197.  272  ERROR_FINDNOTIFY_HANDLE_CLOSED 
  19198.          Handle closed. 
  19199.  
  19200.  273  ERROR_NOTIFY_OBJECT_REMOVED 
  19201.          Object removed. 
  19202.  
  19203.  274  ERROR_ALREADY_SHUTDOWN 
  19204.          System is already shut down. 
  19205.  
  19206.  275  ERROR_EAS_DIDNT_FIT 
  19207.          Buffer is not big enough to hold the EAs. 
  19208.  
  19209.  276  ERROR_EA_FILE_CORRUPT 
  19210.          EA file has been damaged. 
  19211.  
  19212.  277  ERROR_EA_TABLE_FULL 
  19213.          EA table is full. 
  19214.  
  19215.  278  ERROR_INVALID_EA_HANDLE 
  19216.          EA handle is not valid. 
  19217.  
  19218.  279  ERROR_NO_CLUSTER 
  19219.          No cluster. 
  19220.  
  19221.  280  ERROR_CREATE_EA_FILE 
  19222.          Cannot create the EA file. 
  19223.  
  19224.  281  ERROR_CANNOT_OPEN_EA_FILE 
  19225.          Cannot open the EA file. 
  19226.  
  19227.  282  ERROR_EAS_NOT_SUPPORTED 
  19228.          Destination file system does not support EAs. 
  19229.  
  19230.  283  ERROR_NEED_EAS_FOUND 
  19231.          Destination file system does not support EAs, and the source file's 
  19232.          EAs contain a need EA. 
  19233.  
  19234.  284  ERROR_DUPLICATE_HANDLE 
  19235.          The handle already exists. 
  19236.  
  19237.  285  ERROR_DUPLICATE_NAME 
  19238.          The name already exists. 
  19239.  
  19240.  286  ERROR_EMPTY_MUXWAIT 
  19241.          The list of semaphores in a muxwait semaphore is empty. 
  19242.  
  19243.  287  ERROR_MUTEX_OWNED 
  19244.          The calling thread owns one or more of the mutex semaphores in the 
  19245.          list. 
  19246.  
  19247.  288  ERROR_NOT_OWNER 
  19248.          Caller does not own the semaphore. 
  19249.  
  19250.  289  ERROR_PARAM_TOO_SMALL 
  19251.          Parameter is not large enough to contain all of the semaphore records 
  19252.          in the muxwait semaphore. 
  19253.  
  19254.  290  ERROR_TOO_MANY_HANDLES 
  19255.          Limit reached for number of handles. 
  19256.  
  19257.  291  ERROR_TOO_MANY_OPENS 
  19258.          There are too many files or semaphores open. 
  19259.  
  19260.  292  ERROR_WRONG_TYPE 
  19261.          Attempted to create wrong type of semaphore. 
  19262.  
  19263.  293  ERROR_UNUSED_CODE 
  19264.          Code is not used. 
  19265.  
  19266.  294  ERROR_THREAD_NOT_TERMINATED 
  19267.          Thread has not ended. 
  19268.  
  19269.  295  ERROR_INIT_ROUTINE_FAILED 
  19270.          Initialization routine failed. 
  19271.  
  19272.  296  ERROR_MODULE_IN_USE 
  19273.          Module is in use. 
  19274.  
  19275.  297  ERROR_NOT_ENOUGH_WATCHPOINTS 
  19276.          There are not enough watchpoints. 
  19277.  
  19278.  298  ERROR_TOO_MANY_POSTS 
  19279.          Post count limit was reached for an event semaphore. 
  19280.  
  19281.  299  ERROR_ALREADY_POSTED 
  19282.          Event semaphore is already posted. 
  19283.  
  19284.  
  19285. ΓòÉΓòÉΓòÉ <hidden> Errors 300 to 399 ΓòÉΓòÉΓòÉ
  19286.  
  19287. The following shows the numerical value of an error, its symbolic name, and a 
  19288. brief description of the error. 
  19289.  
  19290.  300  ERROR_ALREADY_RESET 
  19291.          Event semaphore is already reset. 
  19292.  
  19293.  301  ERROR_SEM_BUSY 
  19294.          Semaphore is busy. 
  19295.  
  19296.  302  Reserved 
  19297.  
  19298.  303  ERROR_INVALID_PROCID 
  19299.          Process identity is not valid. 
  19300.  
  19301.  304  ERROR_INVALID_PDELTA 
  19302.          Priority delta is not valid. 
  19303.  
  19304.  305  ERROR_NOT_DESCENDANT 
  19305.          Not descendant. 
  19306.  
  19307.  306  ERROR_NOT_SESSION_MANAGER 
  19308.          Requestor not session manager. 
  19309.  
  19310.  307  ERROR_INVALID_PCLASS 
  19311.          P class is not valid. 
  19312.  
  19313.  308  ERROR_INVALID_SCOPE 
  19314.          Scope is not valid. 
  19315.  
  19316.  309  ERROR_INVALID_THREADID 
  19317.          Thread identity is not valid. 
  19318.  
  19319.  310  ERROR_DOSSUB_SHRINK 
  19320.          Cannot shrink segment - DosSubSetMem. 
  19321.  
  19322.  311  ERROR_DOSSUB_NOMEM 
  19323.          No memory to satisfy request - DosSubAllocMem. 
  19324.  
  19325.  312  ERROR_DOSSUB_OVERLAP 
  19326.          Overlap of the specified block with a block of allocated memory - 
  19327.          DosSubFreeMem. 
  19328.  
  19329.  313  ERROR_DOSSUB_BADSIZE 
  19330.          Size parameter is not valid - DosSubAllocMem or DosSubFreeMem. 
  19331.  
  19332.  314  ERROR_DOSSUB_BADFLAG 
  19333.          Flag parameter is not valid - DosSubSetMem. 
  19334.  
  19335.  315  ERROR_DOSSUB_BADSELECTOR 
  19336.          Segment selector is not valid. 
  19337.  
  19338.  316  ERROR_MR_MSG_TOO_LONG 
  19339.          Message too long for buffer. 
  19340.  
  19341.  317  ERROR_MR_MID_NOT_FOUND 
  19342.          Message identity number not found. 
  19343.  
  19344.  318  ERROR_MR_UN_ACC_MSGF 
  19345.          Unable to access message file. 
  19346.  
  19347.  319  ERROR_MR_INV_MSGF_FORMAT 
  19348.          Message file format is not valid. 
  19349.  
  19350.  320  ERROR_MR_INV_IVCOUNT 
  19351.          Insertion variable count is not valid. 
  19352.  
  19353.  321  ERROR_MR_UN_PERFORM 
  19354.          Unable to perform function. 
  19355.  
  19356.  322  ERROR_TS_WAKEUP 
  19357.          Unable to wake up. 
  19358.  
  19359.  323  ERROR_TS_SEMHANDLE 
  19360.          System semaphore is not valid. 
  19361.  
  19362.  324  ERROR_TS_NOTIMER 
  19363.          No timers available. 
  19364.  
  19365.  326  ERROR_TS_HANDLE 
  19366.          Timer handle is not valid. 
  19367.  
  19368.  327  ERROR_TS_DATETIME 
  19369.          Date or time is not valid. 
  19370.  
  19371.  328  ERROR_SYS_INTERNAL 
  19372.          Internal system error. 
  19373.  
  19374.  329  ERROR_QUE_CURRENT_NAME 
  19375.          Current queue name does not exist. 
  19376.  
  19377.  330  ERROR_QUE_PROC_NOT_OWNED 
  19378.          Current process does not own queue. 
  19379.  
  19380.  331  ERROR_QUE_PROC_OWNED 
  19381.          Current process owns queue. 
  19382.  
  19383.  332  ERROR_QUE_DUPLICATE 
  19384.          Duplicate queue name. 
  19385.  
  19386.  333  ERROR_QUE_ELEMENT_NOT_EXIST 
  19387.          Queue element does not exist. 
  19388.  
  19389.  334  ERROR_QUE_NO_MEMORY 
  19390.          Inadequate queue memory. 
  19391.  
  19392.          For DosOpenQueue, DosCreateQueue, and DosWriteQueue, the following 
  19393.          applies: These calls use a system-wide pool of memory. Every 
  19394.          DosOpenQueue and DosCreateQueue uses up 34 bytes of memory, which is 
  19395.          freed on close. Every DosWriteQueue uses 24 bytes of memory, which is 
  19396.          freed on read. If too many elements are written to queues, further 
  19397.          opens, creates, reads, or writes fail with this error code. 
  19398.  
  19399.  335  ERROR_QUE_INVALID_NAME 
  19400.          Queue name is not valid. 
  19401.  
  19402.  336  ERROR_QUE_INVALID_PRIORITY 
  19403.          Queue priority parameter is not valid. 
  19404.  
  19405.  337  ERROR_QUE_INVALID_HANDLE 
  19406.          Queue handle is not valid. 
  19407.  
  19408.  338  ERROR_QUE_LINK_NOT_FOUND 
  19409.          Queue link not found. 
  19410.  
  19411.  339  ERROR_QUE_MEMORY_ERROR 
  19412.          Queue memory error. 
  19413.  
  19414.  340  ERROR_QUE_PREV_AT_END 
  19415.          Previous queue element was at end of queue. 
  19416.  
  19417.  341  ERROR_QUE_PROC_NO_ACCESS 
  19418.          Process does not have access to queues. 
  19419.  
  19420.  342  ERROR_QUE_EMPTY 
  19421.          Queue is empty. 
  19422.  
  19423.  343  ERROR_QUE_NAME_NOT_EXIST 
  19424.          Queue name does not exist. 
  19425.  
  19426.  344  ERROR_QUE_NOT_INITIALIZED 
  19427.          Queues not initialized. 
  19428.  
  19429.  345  ERROR_QUE_UNABLE_TO_ACCESS 
  19430.          Unable to access queues. 
  19431.  
  19432.  346  ERROR_QUE_UNABLE_TO_ADD 
  19433.          Unable to add new queue. 
  19434.  
  19435.  347  ERROR_QUE_UNABLE_TO_INIT 
  19436.          Unable to initialize queues. 
  19437.  
  19438.  349  ERROR_VIO_INVALID_MASK 
  19439.          Function replaced is not valid. 
  19440.  
  19441.  350  ERROR_VIO_PTR 
  19442.          Pointer to parameter is not valid. 
  19443.  
  19444.  351  ERROR_VIO_APTR 
  19445.          Pointer to attribute is not valid. 
  19446.  
  19447.  352  ERROR_VIO_RPTR 
  19448.          Pointer to row is not valid. 
  19449.  
  19450.  353  ERROR_VIO_CPTR 
  19451.          Pointer to column is not valid. 
  19452.  
  19453.  354  ERROR_VIO_LPTR 
  19454.          Pointer to length is not valid. 
  19455.  
  19456.  355  ERROR_VIO_MODE 
  19457.          Unsupported screen mode. 
  19458.  
  19459.  356  ERROR_VIO_WIDTH 
  19460.          Cursor width value is not valid. 
  19461.  
  19462.  357  ERROR_VIO_ATTR 
  19463.          Cursor attribute value is not valid. 
  19464.  
  19465.  358  ERROR_VIO_ROW 
  19466.          Row value is not valid. 
  19467.  
  19468.  359  ERROR_VIO_COL 
  19469.          Column value is not valid. 
  19470.  
  19471.  360  ERROR_VIO_TOPROW 
  19472.          TopRow value is not valid. 
  19473.  
  19474.  361  ERROR_VIO_BOTROW 
  19475.          BotRow value is not valid. 
  19476.  
  19477.  362  ERROR_VIO_RIGHTCOL 
  19478.          Right column value is not valid. 
  19479.  
  19480.  363  ERROR_VIO_LEFTCOL 
  19481.          Left column value is not valid. 
  19482.  
  19483.  364  ERROR_SCS_CALL 
  19484.          Call issued by other than session manager. 
  19485.  
  19486.  365  ERROR_SCS_VALUE 
  19487.          Value is not for save or restore. 
  19488.  
  19489.  366  ERROR_VIO_WAIT_FLAG 
  19490.          Wait flag setting is not valid. 
  19491.  
  19492.  367  ERROR_VIO_UNLOCK 
  19493.          Screen not previously locked. 
  19494.  
  19495.  368  ERROR_SGS_NOT_SESSION_MGR 
  19496.          Caller not session manager. 
  19497.  
  19498.  369  ERROR_SMG_INVALID_SGID 
  19499.          Session identity is not valid. 
  19500.  
  19501.  369  ERROR_SMG_INVALID_SESSION_ID 
  19502.          Session ID is not valid. 
  19503.  
  19504.  370  ERROR_SMG_NOSG 
  19505.          No sessions available. 
  19506.  
  19507.  370  ERROR_SMG_NO_SESSIONS 
  19508.          No sessions available. 
  19509.  
  19510.  371  ERROR_SMG_GRP_NOT_FOUND 
  19511.          Session not found. 
  19512.  
  19513.  371  ERROR_SMG_SESSION_NOT_FOUND 
  19514.          Session not found. 
  19515.  
  19516.  372  ERROR_SMG_SET_TITLE 
  19517.          Title sent by shell or parent cannot be changed. 
  19518.  
  19519.  373  ERROR_KBD_PARAMETER 
  19520.          Parameter to keyboard is not valid. 
  19521.  
  19522.  374  ERROR_KBD_NO_DEVICE 
  19523.          No device. 
  19524.  
  19525.  375  ERROR_KBD_INVALID_IOWAIT 
  19526.          I/O wait specified is not valid. 
  19527.  
  19528.  376  ERROR_KBD_INVALID_LENGTH 
  19529.          Length for keyboard is not valid. 
  19530.  
  19531.  377  ERROR_KBD_INVALID_ECHO_MASK 
  19532.          Echo mode mask is not valid. 
  19533.  
  19534.  378  ERROR_KBD_INVALID_INPUT_MASK 
  19535.          Input mode mask is not valid. 
  19536.  
  19537.  379  ERROR_MON_INVALID_PARMS 
  19538.          One or more parameters to DosMon is not valid. 
  19539.  
  19540.  380  ERROR_MON_INVALID_DEVNAME 
  19541.          Device name string is not valid. 
  19542.  
  19543.  381  ERROR_MON_INVALID_HANDLE 
  19544.          Device handle is not valid. 
  19545.  
  19546.  382  ERROR_MON_BUFFER_TOO_SMALL 
  19547.          Buffer too small. 
  19548.  
  19549.  383  ERROR_MON_BUFFER_EMPTY 
  19550.          Buffer is empty. 
  19551.  
  19552.  384  ERROR_MON_DATA_TOO_LARGE 
  19553.          Data record is too large. 
  19554.  
  19555.  385  ERROR_MOUSE_NO_DEVICE 
  19556.          Mouse device closed; the device handle is not valid. 
  19557.  
  19558.  386  ERROR_MOUSE_INV_HANDLE 
  19559.          Mouse device closed; the device handle is not valid. 
  19560.  
  19561.  387  ERROR_MOUSE_INV_PARMS 
  19562.          Parameters for display mode are not valid. 
  19563.  
  19564.  388  ERROR_MOUSE_CANT_RESET 
  19565.          Function assigned and cannot be reset. 
  19566.  
  19567.  389  ERROR_MOUSE_DISPLAY_PARMS 
  19568.          Parameters for display mode are not valid. 
  19569.  
  19570.  390  ERROR_MOUSE_INV_MODULE 
  19571.          Module not valid. 
  19572.  
  19573.  391  ERROR_MOUSE_INV_ENTRY_PT 
  19574.          Entry point not valid. 
  19575.  
  19576.  392  ERROR_MOUSE_INV_MASK 
  19577.          Function mask is not valid. 
  19578.  
  19579.  393  NO_ERROR_MOUSE_NO_DATA 
  19580.          No valid data. 
  19581.  
  19582.  394  NO_ERROR_MOUSE_PTR_DRAWN 
  19583.          Pointer drawn. 
  19584.  
  19585.  395  ERROR_INVALID_FREQUENCY 
  19586.          Frequency for beep is not valid. 
  19587.  
  19588.  396  ERROR_NLS_NO_COUNTRY_FILE 
  19589.          Cannot find COUNTRY.SYS file. 
  19590.  
  19591.  397  ERROR_NLS_OPEN_FAILED 
  19592.          Cannot open COUNTRY.SYS file. 
  19593.  
  19594.  398  ERROR_NLS_NO_CTRY_CODE 
  19595.          Country code not found. 
  19596.  
  19597.  398  ERROR_NO_COUNTRY_OR_CODEPAGE 
  19598.          Country code not found. 
  19599.  
  19600.  399  ERROR_NLS_TABLE_TRUNCATED 
  19601.          Table returned information truncated, buffer is too small. 
  19602.  
  19603.  
  19604. ΓòÉΓòÉΓòÉ <hidden> Errors 400 to 499 ΓòÉΓòÉΓòÉ
  19605.  
  19606. The following shows the numerical value of an error, its symbolic name, and a 
  19607. brief description of the error. 
  19608.  
  19609.  400  ERROR_NLS_BAD_TYPE 
  19610.          Selected type does not exist. 
  19611.  
  19612.  401  ERROR_NLS_TYPE_NOT_FOUND 
  19613.          Selected type is not in file. 
  19614.  
  19615.  402  ERROR_VIO_SMG_ONLY 
  19616.          Valid from session manager only. 
  19617.  
  19618.  403  ERROR_VIO_INVALID_ASCIIZ 
  19619.          ASCIIZ length is not valid. 
  19620.  
  19621.  404  ERROR_VIO_DEREGISTER 
  19622.          VioDeRegister not allowed. 
  19623.  
  19624.  405  ERROR_VIO_NO_POPUP 
  19625.          Pop-up window not allocated. 
  19626.  
  19627.  406  ERROR_VIO_EXISTING_POPUP 
  19628.          Pop-up window on screen (NoWait). 
  19629.  
  19630.  407  ERROR_KBD_SMG_ONLY 
  19631.          Valid from session manager only. 
  19632.  
  19633.  408  ERROR_KBD_INVALID_ASCIIZ 
  19634.          ASCIIZ length is not valid. 
  19635.  
  19636.  409  ERROR_KBD_INVALID_MASK 
  19637.          Replacement mask is not valid. 
  19638.  
  19639.  410  ERROR_KBD_REGISTER 
  19640.          KbdRegister not allowed. 
  19641.  
  19642.  411  ERROR_KBD_DEREGISTER 
  19643.          KbdDeRegister not allowed. 
  19644.  
  19645.  412  ERROR_MOUSE_SMG_ONLY 
  19646.          Valid from session manager only. 
  19647.  
  19648.  413  ERROR_MOUSE_INVALID_ASCIIZ 
  19649.          ASCIIZ length is not valid. 
  19650.  
  19651.  414  ERROR_MOUSE_INVALID_MASK 
  19652.          Replacement mask is not valid. 
  19653.  
  19654.  415  ERROR_MOUSE_REGISTER 
  19655.          Mouse register not allowed. 
  19656.  
  19657.  416  ERROR_MOUSE_DEREGISTER 
  19658.          Mouse deregister not allowed. 
  19659.  
  19660.  417  ERROR_SMG_BAD_ACTION 
  19661.          Action specified is not valid. 
  19662.  
  19663.  418  ERROR_SMG_INVALID_CALL 
  19664.          INIT called more than once, or the session identity is not valid. 
  19665.  
  19666.  419  ERROR_SCS_SG_NOTFOUND 
  19667.          New session number. 
  19668.  
  19669.  420  ERROR_SCS_NOT_SHELL 
  19670.          Caller is not shell. 
  19671.  
  19672.  421  ERROR_VIO_INVALID_PARMS 
  19673.          Parameters passed are not valid. 
  19674.  
  19675.  422  ERROR_VIO_FUNCTION_OWNED 
  19676.          Save/restore already owned. 
  19677.  
  19678.  423  ERROR_VIO_RETURN 
  19679.          Non-destruct return (undo). 
  19680.  
  19681.  424  ERROR_SCS_INVALID_FUNCTION 
  19682.          Caller function is not valid. 
  19683.  
  19684.  425  ERROR_SCS_NOT_SESSION_MGR 
  19685.          Caller not session manager. 
  19686.  
  19687.  426  ERROR_VIO_REGISTER 
  19688.          Vio register not allowed. 
  19689.  
  19690.  427  ERROR_VIO_NO_MODE_THREAD 
  19691.          No mode restore thread in SG. 
  19692.  
  19693.  428  ERROR_VIO_NO_SAVE_RESTORE_THD 
  19694.          No save/restore thread in SG. 
  19695.  
  19696.  429  ERROR_VIO_IN_BG 
  19697.          Function in background is not valid. 
  19698.  
  19699.  430  ERROR_VIO_ILLEGAL_DURING_POPUP 
  19700.          Function not allowed during pop-up window. 
  19701.  
  19702.  431  ERROR_SMG_NOT_BASESHELL 
  19703.          Caller is not the base shell. 
  19704.  
  19705.  432  ERROR_SMG_BAD_STATUSREQ 
  19706.          Status requested is not valid. 
  19707.  
  19708.  433  ERROR_QUE_INVALID_WAIT 
  19709.          NoWait parameter out of bounds. 
  19710.  
  19711.  434  ERROR_VIO_LOCK 
  19712.          Error returned from Scroll Lock. 
  19713.  
  19714.  435  ERROR_MOUSE_INVALID_IOWAIT 
  19715.          Parameters for IOWait are not valid. 
  19716.  
  19717.  436  ERROR_VIO_INVALID_HANDLE 
  19718.          VIO handle is not valid. 
  19719.  
  19720.  437  ERROR_VIO_ILLEGAL_DURING_LOCK 
  19721.          Function not allowed during screen lock. 
  19722.  
  19723.  438  ERROR_VIO_INVALID_LENGTH 
  19724.          VIO length is not valid. 
  19725.  
  19726.  439  ERROR_KBD_INVALID_HANDLE 
  19727.          KBD handle is not valid. 
  19728.  
  19729.  440  ERROR_KBD_NO_MORE_HANDLE 
  19730.          Ran out of handles. 
  19731.  
  19732.  441  ERROR_KBD_CANNOT_CREATE_KCB 
  19733.          Unable to create kcb. 
  19734.  
  19735.  442  ERROR_KBD_CODEPAGE_LOAD_INCOMPL 
  19736.          Unsuccessful code-page load. 
  19737.  
  19738.  443  ERROR_KBD_INVALID_CODEPAGE_ID 
  19739.          Code page identity is not valid. 
  19740.  
  19741.  444  ERROR_KBD_NO_CODEPAGE_SUPPORT 
  19742.          No code page support. 
  19743.  
  19744.  445  ERROR_KBD_FOCUS_REQUIRED 
  19745.          Keyboard focus required. 
  19746.  
  19747.  446  ERROR_KBD_FOCUS_ALREADY_ACTIVE 
  19748.          Calling thread has an outstanding focus. 
  19749.  
  19750.  447  ERROR_KBD_KEYBOARD_BUSY 
  19751.          Keyboard is busy. 
  19752.  
  19753.  448  ERROR_KBD_INVALID_CODEPAGE 
  19754.          Code page is not valid. 
  19755.  
  19756.  449  ERROR_KBD_UNABLE_TO_FOCUS 
  19757.          Focus attempt failed. 
  19758.  
  19759.  450  ERROR_SMG_SESSION_NON_SELECT 
  19760.          Session is not selectable. 
  19761.  
  19762.  451  ERROR_SMG_SESSION_NOT_FOREGRND 
  19763.          Parent/child session is not foreground. 
  19764.  
  19765.  452  ERROR_SMG_SESSION_NOT_PARENT 
  19766.          Not parent of requested child. 
  19767.  
  19768.  453  ERROR_SMG_INVALID_START_MODE 
  19769.          Session start mode is not valid. 
  19770.  
  19771.  454  ERROR_SMG_INVALID_RELATED_OPT 
  19772.          Session start related option is not valid. 
  19773.  
  19774.  455  ERROR_SMG_INVALID_BOND_OPTION 
  19775.          Session bond option is not valid. 
  19776.  
  19777.  456  ERROR_SMG_INVALID_SELECT_OPT 
  19778.          Session select option is not valid. 
  19779.  
  19780.  457  ERROR_SMG_START_IN_BACKGROUND 
  19781.          Session started in background. 
  19782.  
  19783.  458  ERROR_SMG_INVALID_STOP_OPTION 
  19784.          Session stop option is not valid. 
  19785.  
  19786.  459  ERROR_SMG_BAD_RESERVE 
  19787.          Reserved parameters are not zero. 
  19788.  
  19789.  460  ERROR_SMG_PROCESS_NOT_PARENT 
  19790.          Session parent process already exists. 
  19791.  
  19792.  461  ERROR_SMG_INVALID_DATA_LENGTH 
  19793.          Data length is not valid. 
  19794.  
  19795.  462  ERROR_SMG_NOT_BOUND 
  19796.          Parent is not bound. 
  19797.  
  19798.  463  ERROR_SMG_RETRY_SUB_ALLOC 
  19799.          Retry request block allocation. 
  19800.  
  19801.  464  ERROR_KBD_DETACHED 
  19802.          This call is not allowed for a detached PID. 
  19803.  
  19804.  465  ERROR_VIO_DETACHED 
  19805.          This call is not allowed for a detached PID. 
  19806.  
  19807.  466  ERROR_MOU_DETACHED 
  19808.          This call is not allowed for a detached PID. 
  19809.  
  19810.  467  ERROR_VIO_FONT 
  19811.          No font is available to support the mode. 
  19812.  
  19813.  468  ERROR_VIO_USER_FONT 
  19814.          User font is active. 
  19815.  
  19816.  469  ERROR_VIO_BAD_CP 
  19817.          Code page specified is not valid. 
  19818.  
  19819.  470  ERROR_VIO_NO_CP 
  19820.          System displays do not support code page. 
  19821.  
  19822.  471  ERROR_VIO_NA_CP 
  19823.          Current display does not support code page. 
  19824.  
  19825.  472  ERROR_INVALID_CODE_PAGE 
  19826.          Code page is not valid. 
  19827.  
  19828.  473  ERROR_CPLIST_TOO_SMALL 
  19829.          Code page list is too small. 
  19830.  
  19831.  474  ERROR_CP_NOT_MOVED 
  19832.          Code page was not moved. 
  19833.  
  19834.  475  ERROR_MODE_SWITCH_INIT 
  19835.          Mode switch initialization error. 
  19836.  
  19837.  476  ERROR_CODE_PAGE_NOT_FOUND 
  19838.          Code page was not found. 
  19839.  
  19840.  477  ERROR_UNEXPECTED_SLOT_RETURNED 
  19841.          Internal error. 
  19842.  
  19843.  478  ERROR_SMG_INVALID_TRACE_OPTION 
  19844.          Start session trace indicator is not valid. 
  19845.  
  19846.  479  ERROR_VIO_INTERNAL_RESOURCE 
  19847.          VIO internal resource error. 
  19848.  
  19849.  480  ERROR_VIO_SHELL_INIT 
  19850.          VIO shell initialization error. 
  19851.  
  19852.  481  ERROR_SMG_NO_HARD_ERRORS 
  19853.          No session manager hard errors. 
  19854.  
  19855.  482  ERROR_CP_SWITCH_INCOMPLETE 
  19856.          DosSetProcessCp is unable to set a KBD or VIO code page. 
  19857.  
  19858.  483  ERROR_VIO_TRANSPARENT_POPUP 
  19859.          Error during VIO pop-up window. 
  19860.  
  19861.  484  ERROR_CRITSEC_OVERFLOW 
  19862.          Critical section overflow. 
  19863.  
  19864.  485  ERROR_CRITSEC_UNDERFLOW 
  19865.          Critical section underflow. 
  19866.  
  19867.  486  ERROR_VIO_BAD_RESERVE 
  19868.          Reserved parameter is not zero. 
  19869.  
  19870.  487  ERROR_INVALID_ADDRESS 
  19871.          Physical address is not valid. 
  19872.  
  19873.  488  ERROR_ZERO_SELECTORS_REQUESTED 
  19874.          At least one selector must be requested. 
  19875.  
  19876.  489  ERROR_NOT_ENOUGH_SELECTORS_AVA 
  19877.          Not enough GDT selectors to satisfy request. 
  19878.  
  19879.  490  ERROR_INVALID_SELECTOR 
  19880.          GDT selector is not valid. 
  19881.  
  19882.  491  ERROR_SMG_INVALID_PROGRAM_TYPE 
  19883.          Program type is not valid. 
  19884.  
  19885.  492  ERROR_SMG_INVALID_PGM_CONTROL 
  19886.          Program control is not valid. 
  19887.  
  19888.  493  ERROR_SMG_INVALID_INHERIT_OPT 
  19889.          Inherit option is not valid. 
  19890.  
  19891.  494  ERROR_VIO_EXTENDED_SG 
  19892.  
  19893.  495  ERROR_VIO_NOT_PRES_MGR_SG 
  19894.  
  19895.  496  ERROR_VIO_SHIELD_OWNED 
  19896.  
  19897.  497  ERROR_VIO_NO_MORE_HANDLES 
  19898.  
  19899.  498  ERROR_VIO_SEE_ERROR_LOG 
  19900.  
  19901.  499  ERROR_VIO_ASSOCIATED_DC 
  19902.  
  19903.  
  19904. ΓòÉΓòÉΓòÉ <hidden> Errors 500 to 599 ΓòÉΓòÉΓòÉ
  19905.  
  19906. The following shows the numerical value of an error, and its symbolic name. 
  19907.  
  19908.  500  ERROR_KBD_NO_CONSOLE 
  19909.  
  19910.  501  ERROR_MOUSE_NO_CONSOLE 
  19911.  
  19912.  502  ERROR_MOUSE_INVALID_HANDLE 
  19913.  
  19914.  503  ERROR_SMG_INVALID_DEBUG_PARMS 
  19915.  
  19916.  504  ERROR_KBD_EXTENDED_SG 
  19917.  
  19918.  505  ERROR_MOU_EXTENDED_SG 
  19919.  
  19920.  506  ERROR_SMG_INVALID_ICON_FILE 
  19921.  
  19922.  507  ERROR_TRC_PID_NON_EXISTENT 
  19923.  
  19924.  508  ERROR_TRC_COUNT_ACTIVE 
  19925.  
  19926.  509  ERROR_TRC_SUSPENDED_BY_COUNT 
  19927.  
  19928.  510  ERROR_TRC_COUNT_INACTIVE 
  19929.  
  19930.  511  ERROR_TRC_COUNT_REACHED 
  19931.  
  19932.  512  ERROR_NO_MC_TRACE 
  19933.  
  19934.  513  ERROR_MC_TRACE 
  19935.  
  19936.  514  ERROR_TRC_COUNT_ZERO 
  19937.  
  19938.  515  ERROR_SMG_TOO_MANY_DDS 
  19939.  
  19940.  516  ERROR_SMG_INVALID_NOTIFICATION 
  19941.  
  19942.  517  ERROR_LF_INVALID_FUNCTION 
  19943.  
  19944.  518  ERROR_LF_NOT_AVAIL 
  19945.  
  19946.  519  ERROR_LF_SUSPENDED 
  19947.  
  19948.  520  ERROR_LF_BUF_TOO_SMALL 
  19949.  
  19950.  521  ERROR_LF_BUFFER_CORRUPTED 
  19951.  
  19952.  521  ERROR_LF_BUFFER_FULL 
  19953.  
  19954.  522  ERROR_LF_INVALID_DAEMON 
  19955.  
  19956.  522  ERROR_LF_INVALID_RECORD 
  19957.  
  19958.  523  ERROR_LF_INVALID_TEMPL 
  19959.  
  19960.  523  ERROR_LF_INVALID_SERVICE 
  19961.  
  19962.  524  ERROR_LF_GENERAL_FAILURE 
  19963.  
  19964.  525  ERROR_LF_INVALID_ID 
  19965.  
  19966.  526  ERROR_LF_INVALID_HANDLE 
  19967.  
  19968.  527  ERROR_LF_NO_ID_AVAIL 
  19969.  
  19970.  528  ERROR_LF_TEMPLATE_AREA_FULL 
  19971.  
  19972.  529  ERROR_LF_ID_IN_USE 
  19973.  
  19974.  530  ERROR_MOU_NOT_INITIALIZED 
  19975.  
  19976.  531  ERROR_MOUINITREAL_DONE 
  19977.  
  19978.  532  ERROR_DOSSUB_CORRUPTED 
  19979.  
  19980.  533  ERROR_MOUSE_CALLER_NOT_SUBSYS 
  19981.  
  19982.  534  ERROR_ARITHMETIC_OVERFLOW 
  19983.  
  19984.  535  ERROR_TMR_NO_DEVICE 
  19985.  
  19986.  536  ERROR_TMR_INVALID_TIME 
  19987.  
  19988.  537  ERROR_PVW_INVALID_ENTITY 
  19989.  
  19990.  538  ERROR_PVW_INVALID_ENTITY_TYPE 
  19991.  
  19992.  539  ERROR_PVW_INVALID_SPEC 
  19993.  
  19994.  540  ERROR_PVW_INVALID_RANGE_TYPE 
  19995.  
  19996.  541  ERROR_PVW_INVALID_COUNTER_BLK 
  19997.  
  19998.  542  ERROR_PVW_INVALID_TEXT_BLK 
  19999.  
  20000.  543  ERROR_PRF_NOT_INITIALIZED 
  20001.  
  20002.  544  ERROR_PRF_ALREADY_INITIALIZED 
  20003.  
  20004.  545  ERROR_PRF_NOT_STARTED 
  20005.  
  20006.  546  ERROR_PRF_ALREADY_STARTED 
  20007.  
  20008.  547  ERROR_PRF_TIMER_OUT_OF_RANGE 
  20009.  
  20010.  548  ERROR_PRF_TIMER_RESET 
  20011.  
  20012.  549-599 Reserved. 
  20013.  
  20014.  
  20015. ΓòÉΓòÉΓòÉ <hidden> Errors 600 to 1999 ΓòÉΓòÉΓòÉ
  20016.  
  20017. The following shows the numerical value of an error, and its symbolic name. 
  20018.  
  20019.  600-638 Reserved. 
  20020.  
  20021.  639  ERROR_VDD_LOCK_USEAGE_DENIED 
  20022.  
  20023.  640  ERROR_TIMEOUT 
  20024.  
  20025.  641  ERROR_VDM_DOWN 
  20026.  
  20027.  642  ERROR_VDM_LIMIT 
  20028.  
  20029.  643  ERROR_VDD_NOT_FOUND 
  20030.  
  20031.  644  ERROR_INVALID_CALLER 
  20032.  
  20033.  645  ERROR_PID_MISMATCH 
  20034.  
  20035.  646  ERROR_INVALID_VDD_HANDLE 
  20036.  
  20037.  647  ERROR_VLPT_NO_SPOOLER 
  20038.  
  20039.  648  ERROR_VCOM_DEVICE_BUSY 
  20040.  
  20041.  649  ERROR_VLPT_DEVICE_BUSY 
  20042.  
  20043.  650  ERROR_NESTING_TOO_DEEP 
  20044.  
  20045.  651  ERROR_VDD_MISSING 
  20046.  
  20047.  691  ERROR_IMP_INVALID_PARM 
  20048.  
  20049.  692  ERROR_IMP_INVALID_LENGTH 
  20050.  
  20051.  693  MSG_HPFS_DISK_ERROR_WARN 
  20052.  
  20053.  730  ERROR_MON_BAD_BUFFER 
  20054.  
  20055.  731  ERROR_MODULE_CORRUPTED 
  20056.  
  20057.  732-1476 Reserved. 
  20058.  
  20059.  1477  ERROR_SM_OUTOF_SWAPFILE 
  20060.  
  20061.  1478-1999 Reserved. 
  20062.  
  20063.  
  20064. ΓòÉΓòÉΓòÉ <hidden> Errors 2000 to 59999 ΓòÉΓòÉΓòÉ
  20065.  
  20066. The following shows the numerical value of an error, and its symbolic name. 
  20067.  
  20068.  2000-2054 Reserved. 
  20069.  
  20070.  2055  ERROR_LF_TIMEOUT 
  20071.  
  20072.  2057  ERROR_LF_SUSPEND_SUCCESS 
  20073.  
  20074.  2058  ERROR_LF_RESUME_SUCCESS 
  20075.  
  20076.  2059  ERROR_LF_REDIRECT_SUCCESS 
  20077.  
  20078.  2060  ERROR_LF_REDIRECT_FAILURE 
  20079.  
  20080.  32768  ERROR_SWAPPER_NOT_ACTIVE 
  20081.  
  20082.  32769  ERROR_INVALID_SWAPID 
  20083.  
  20084.  32770  ERROR_IOERR_SWAP_FILE 
  20085.  
  20086.  32771  ERROR_SWAP_TABLE_FULL 
  20087.  
  20088.  32772  ERROR_SWAP_FILE_FULL 
  20089.  
  20090.  32773  ERROR_CANT_INIT_SWAPPER 
  20091.  
  20092.  32774  ERROR_SWAPPER_ALREADY_INIT 
  20093.  
  20094.  32775  ERROR_PMM_INSUFFICIENT_MEMORY 
  20095.  
  20096.  32776  ERROR_PMM_INVALID_FLAGS 
  20097.  
  20098.  32777  ERROR_PMM_INVALID_ADDRESS 
  20099.  
  20100.  32778  ERROR_PMM_LOCK_FAILED 
  20101.  
  20102.  32779  ERROR_PMM_UNLOCK_FAILED 
  20103.  
  20104.  32780  ERROR_PMM_MOVE_INCOMPLETE 
  20105.  
  20106.  32781  ERROR_UCOM_DRIVE_RENAMED 
  20107.  
  20108.  32782  ERROR_UCOM_FILENAME_TRUNCATED 
  20109.  
  20110.  32783  ERROR_UCOM_BUFFER_LENGTH 
  20111.  
  20112.  32784  ERROR_MON_CHAIN_HANDLE 
  20113.  
  20114.  32785  ERROR_MON_NOT_REGISTERED 
  20115.  
  20116.  32786  ERROR_SMG_ALREADY_TOP 
  20117.  
  20118.  32787  ERROR_PMM_ARENA_MODIFIED 
  20119.  
  20120.  32788  ERROR_SMG_PRINTER_OPEN 
  20121.  
  20122.  32789  ERROR_PMM_SET_FLAGS_FAILED 
  20123.  
  20124.  32790  ERROR_INVALID_DOS_DD 
  20125.  
  20126.  32791  ERROR_BLOCKED 
  20127.  
  20128.  32792  ERROR_NOBLOCK 
  20129.  
  20130.  32793  ERROR_INSTANCE_SHARED 
  20131.  
  20132.  32794  ERROR_NO_OBJECT 
  20133.  
  20134.  32795  ERROR_PARTIAL_ATTACH 
  20135.  
  20136.  32796  ERROR_INCACHE 
  20137.  
  20138.  32797  ERROR_SWAP_IO_PROBLEMS 
  20139.  
  20140.  32798  ERROR_CROSSES_OBJECT_BOUNDARY 
  20141.  
  20142.  32799  ERROR_LONGLOCK 
  20143.  
  20144.  32800  ERROR_SHORTLOCK 
  20145.  
  20146.  32801  ERROR_UVIRTLOCK 
  20147.  
  20148.  32802  ERROR_ALIASLOCK 
  20149.  
  20150.  32803  ERROR_ALIAS 
  20151.  
  20152.  32804  ERROR_NO_MORE_HANDLES 
  20153.  
  20154.  32805  ERROR_SCAN_TERMINATED 
  20155.  
  20156.  32806  ERROR_TERMINATOR_NOT_FOUND 
  20157.  
  20158.  32807  ERROR_NOT_DIRECT_CHILD 
  20159.  
  20160.  32808  ERROR_DELAY_FREE 
  20161.  
  20162.  32809  ERROR_GUARDPAGE 
  20163.  
  20164.  32900  ERROR_SWAPERROR 
  20165.  
  20166.  32901  ERROR_LDRERROR 
  20167.  
  20168.  32902  ERROR_NOMEMORY 
  20169.  
  20170.  32903  ERROR_NOACCESS 
  20171.  
  20172.  32904  ERROR_NO_DLL_TERM 
  20173.  
  20174.  32905-59999 Reserved. 
  20175.  
  20176.  
  20177. ΓòÉΓòÉΓòÉ <hidden> Errors 60000 to 65079 ΓòÉΓòÉΓòÉ
  20178.  
  20179. The following shows the numerical value of an error, and its symbolic name. 
  20180.  
  20181.  60000-65025 Reserved. 
  20182.  
  20183.  65026  ERROR_CPSIO_CODE_PAGE_INVALID 
  20184.  
  20185.  65027  ERROR_CPSIO_NO_SPOOLER 
  20186.  
  20187.  65028  ERROR_CPSIO_FONT_ID_INVALID 
  20188.  
  20189.  65029-65032 Reserved. 
  20190.  
  20191.  65033  ERROR_CPSIO_INTERNAL_ERROR 
  20192.  
  20193.  65034  ERROR_CPSIO_INVALID_PTR_NAME 
  20194.  
  20195.  65035-65036 Reserved. 
  20196.  
  20197.  65037  ERROR_CPSIO_NOT_ACTIVE 
  20198.  
  20199.  65038  Reserved. 
  20200.  
  20201.  65039  ERROR_CPSIO_PID_FULL 
  20202.  
  20203.  65040  ERROR_CPSIO_PID_NOT_FOUND 
  20204.  
  20205.  65041-65042 Reserved. 
  20206.  
  20207.  65043  ERROR_CPSIO_READ_CTL_SEQ 
  20208.  
  20209.  65044  Reserved. 
  20210.  
  20211.  65045  ERROR_CPSIO_READ_FNT_DEF 
  20212.  
  20213.  65046  Reserved. 
  20214.  
  20215.  65047  ERROR_CPSIO_WRITE_ERROR 
  20216.  
  20217.  65048  ERROR_CPSIO_WRITE_FULL_ERROR 
  20218.  
  20219.  65049  ERROR_CPSIO_WRITE_HANDLE_BAD 
  20220.  
  20221.  65050-65073 Reserved. 
  20222.  
  20223.  65074  ERROR_CPSIO_SWIT_LOAD 
  20224.  
  20225.  65075-65076 Reserved. 
  20226.  
  20227.  65077  ERROR_CPSIO_INV_COMMAND 
  20228.  
  20229.  65078  ERROR_CPSIO_NO_FONT_SWIT 
  20230.  
  20231.  65079  ERROR_ENTRY_IS_CALLGATE 
  20232.  
  20233.  
  20234. ΓòÉΓòÉΓòÉ 16. Generic IOCtl Commands ΓòÉΓòÉΓòÉ
  20235.  
  20236. OS/2 device drivers are used to access the I/O hardware. The IOCtl functions 
  20237. provide a method for an application, or subsystem, to send device-specific 
  20238. control commands to a physical device driver. These IOCtls are subfunctions 
  20239. that are issued through the DosDevIOCtl API function request. The DosDevIOCtl 
  20240. function request can be used only by OS/2 applications; the INT 21h IOCtl 
  20241. request can be used only by DOS applications. 
  20242.  
  20243. The category and function fields are as follows. Each code is contained in a 
  20244. byte: 
  20245.  
  20246.  Category  Code 
  20247.  0xxx xxxx OS/2-defined 
  20248.  1xxx xxxx User-defined 
  20249.  _xxx xxxx Code. 
  20250.  
  20251.  Function  Code 
  20252.  0xxx xxxx Return error, if unsupported 
  20253.  1xxx xxxx Ignore, if unsupported 
  20254.  x0xx xxxx Intercepted by the OS/2 operating system 
  20255.  x1xx xxxx Passed to driver 
  20256.  xx0x xxxx Sends data and commands to device 
  20257.  xx1x xxxx Queries data and information from device 
  20258.  ___x xxxx Subfunction. 
  20259.  
  20260.  Notice that the send/query data bit is intended only to standardize the 
  20261.  function set; it plays no critical role. Some functions can contain both 
  20262.  command and query elements. Such commands are defined as sends data. 
  20263.  
  20264.  
  20265. ΓòÉΓòÉΓòÉ 16.1. Category 08h Logical Disk Control IOCtl Commands ΓòÉΓòÉΓòÉ
  20266.  
  20267. The following is a summary of Category 08h IOCtl Commands: 
  20268.  
  20269. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20270. ΓöéFunction            ΓöéDescription                             Γöé
  20271. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20272. Γöé   00h              ΓöéLock Drive                              Γöé
  20273. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20274. Γöé   01h              ΓöéUnlock Drive                            Γöé
  20275. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20276. Γöé   02h              ΓöéRedetermine Media                       Γöé
  20277. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20278. Γöé   03h              ΓöéSet Logical Map                         Γöé
  20279. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20280. Γöé   04h              ΓöéBegin Format                            Γöé
  20281. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20282. Γöé   20h              ΓöéBlock Removable                         Γöé
  20283. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20284. Γöé   21h              ΓöéQuery Logical Map                       Γöé
  20285. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20286. Γöé   22h              ΓöéReserved                                Γöé
  20287. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20288. Γöé   40h              ΓöéRemovable Media Control                 Γöé
  20289. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20290. Γöé   43h              ΓöéSet Device Parameters                   Γöé
  20291. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20292. Γöé   44h              ΓöéWrite Logical Track                     Γöé
  20293. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20294. Γöé   45h              ΓöéFormat and Verify Track                 Γöé
  20295. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20296. Γöé   5Dh              ΓöéDiskette Control                        Γöé
  20297. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20298. Γöé   5Eh              ΓöéReserved                                Γöé
  20299. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20300. Γöé   5Fh              ΓöéReserved                                Γöé
  20301. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20302. Γöé   60h              ΓöéQuery Media Sense                       Γöé
  20303. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20304. Γöé   63h              ΓöéQuery Device Parameters                 Γöé
  20305. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20306. Γöé   64h              ΓöéRead Logical Track                      Γöé
  20307. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20308. Γöé   65h              ΓöéVerify Logical Track                    Γöé
  20309. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20310. Γöé   66h              ΓöéStatus                                  Γöé
  20311. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20312.  
  20313.  
  20314. ΓòÉΓòÉΓòÉ 16.1.1. DSK_LOCKDRIVE (00h) - Lock Drive ΓòÉΓòÉΓòÉ
  20315.  
  20316.  
  20317. ΓòÉΓòÉΓòÉ <hidden> DSK_LOCKDRIVE (00h) - Description ΓòÉΓòÉΓòÉ
  20318.  
  20319. This function locks a drive and is used to exclude I/O by another process on 
  20320. the volume in the drive.  The Lock Drive function succeeds only if there is one 
  20321. file handle open on the volume in the drive (that is, the file handle on which 
  20322. this function is issued).  This is necessary because the desired result is to 
  20323. exclude all other I/O to this volume until "Function 01h - Unlock Drive" is 
  20324. issued. 
  20325.  
  20326.  
  20327. ΓòÉΓòÉΓòÉ <hidden> DSK_LOCKDRIVE (00h) - Command Information ΓòÉΓòÉΓòÉ
  20328.  
  20329.  Command Information 
  20330.       Reserved. Must be set to 0. 
  20331.  
  20332.  
  20333. ΓòÉΓòÉΓòÉ <hidden> DSK_LOCKDRIVE (00h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  20334.  
  20335. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20336. ΓöéField                   Length     C Datatype  Γöé
  20337. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20338. ΓöéCommand Information     BYTE       UCHAR       Γöé
  20339. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20340.  
  20341.  
  20342. ΓòÉΓòÉΓòÉ <hidden> DSK_LOCKDRIVE (00h) - Data Packet Format ΓòÉΓòÉΓòÉ
  20343.  
  20344. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20345. ΓöéField                    Length     C Datatype  Γöé
  20346. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20347. ΓöéReserved.  Set to 0.     BYTE       UCHAR       Γöé
  20348. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20349.  
  20350.  
  20351. ΓòÉΓòÉΓòÉ <hidden> DSK_LOCKDRIVE (00h) - Returns ΓòÉΓòÉΓòÉ
  20352.  
  20353. Possible values are shown in the following list: 
  20354.  
  20355.  0         NO_ERROR 
  20356.  1         ERROR_INVALID_FUNCTION 
  20357.  6         ERROR_INVALID_HANDLE 
  20358.  15        ERROR_INVALID_DRIVE 
  20359.  31        ERROR_GEN_FAILURE 
  20360.  87        ERROR_INVALID_PARAMETER 
  20361.  111       ERROR_BUFFER_OVERFLOW 
  20362.  115       ERROR_PROTECTION_VIOLATION 
  20363.  117       ERROR_INVALID_CATEGORY 
  20364.  119       ERROR_BAD_DRIVER_LEVEL 
  20365.  163       ERROR_UNCERTAIN_MEDIA 
  20366.  165       ERROR_MONITORS_NOT_SUPPORTED 
  20367.  
  20368.  
  20369. ΓòÉΓòÉΓòÉ <hidden> DSK_LOCKDRIVE (00h) - Remarks ΓòÉΓòÉΓòÉ
  20370.  
  20371. This function should be called after obtaining a handle from DosOpen but before 
  20372. actually accessing the drive.  Notice that it is necessary to call 
  20373. DSK_UNLOCKDRIVE before closing the drive. 
  20374.  
  20375.  
  20376. ΓòÉΓòÉΓòÉ <hidden> DSK_LOCKDRIVE (00h) - ΓòÉΓòÉΓòÉ
  20377.  
  20378. Category: 
  20379.    IOCTL_DISK (08h) 
  20380.  Function: 
  20381.    DSK_LOCKDRIVE (00h) 
  20382.  Description: 
  20383.    Lock Drive 
  20384.  
  20385.  Select an item: 
  20386.  
  20387.   Description
  20388.   Parameter Packet Format
  20389.   Data Packet Format
  20390.   Returns
  20391.   Remarks
  20392.  
  20393.  
  20394. ΓòÉΓòÉΓòÉ 16.1.2. DSK_UNLOCKDRIVE (01h) - Unlock Drive ΓòÉΓòÉΓòÉ
  20395.  
  20396.  
  20397. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKDRIVE (01h) - Description ΓòÉΓòÉΓòÉ
  20398.  
  20399. This function locks the drive. 
  20400.  
  20401.  
  20402. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKDRIVE (01h) - Command Information ΓòÉΓòÉΓòÉ
  20403.  
  20404.  Command Information 
  20405.       Reserved.  Must be set to 0. 
  20406.  
  20407.  
  20408. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKDRIVE (01h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  20409.  
  20410. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20411. ΓöéField                   Length     C Datatype  Γöé
  20412. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20413. ΓöéCommand Information     BYTE       UCHAR       Γöé
  20414. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20415.  
  20416.  
  20417. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKDRIVE (01h) - Data Packet Format ΓòÉΓòÉΓòÉ
  20418.  
  20419. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20420. ΓöéField                    Length     C Datatype  Γöé
  20421. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20422. ΓöéReserved.  Set to 0.     BYTE       UCHAR       Γöé
  20423. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20424.  
  20425.  
  20426. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKDRIVE (01h) - Returns ΓòÉΓòÉΓòÉ
  20427.  
  20428. Possible values are shown in the following list: 
  20429.  
  20430.  0         NO_ERROR 
  20431.  1         ERROR_INVALID_FUNCTION 
  20432.  6         ERROR_INVALID_HANDLE 
  20433.  15        ERROR_INVALID_DRIVE 
  20434.  31        ERROR_GEN_FAILURE 
  20435.  87        ERROR_INVALID_PARAMETER 
  20436.  111       ERROR_BUFFER_OVERFLOW 
  20437.  115       ERROR_PROTECTION_VIOLATION 
  20438.  117       ERROR_INVALID_CATEGORY 
  20439.  119       ERROR_BAD_DRIVER_LEVEL 
  20440.  163       ERROR_UNCERTAIN_MEDIA 
  20441.  165       ERROR_MONITORS_NOT_SUPPORTED 
  20442.  
  20443.  
  20444. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKDRIVE (01h) - Remarks ΓòÉΓòÉΓòÉ
  20445.  
  20446. This function releases a lock on a volume in a drive, thereby allowing I/O from 
  20447. other processes to that volume again.  The locked volume represented by the 
  20448. file handle on which this function is issued, must be in the drive. 
  20449.  
  20450. Notice that this function must be called after accessing a drive that was 
  20451. locked with  DSK_LOCKDRIVE before closing the drive with DosClose. 
  20452.  
  20453.  
  20454. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKDRIVE (01h) - ΓòÉΓòÉΓòÉ
  20455.  
  20456. Category: 
  20457.    IOCTL_DISK (08h) 
  20458.  Function: 
  20459.    DSK_UNLOCKDRIVE (01h) 
  20460.  Description: 
  20461.    Unlock Drive 
  20462.  
  20463.  Select an item: 
  20464.  
  20465.   Description
  20466.   Parameter Packet Format
  20467.   Data Packet Format
  20468.   Returns
  20469.   Remarks
  20470.  
  20471.  
  20472. ΓòÉΓòÉΓòÉ 16.1.3. DSK_REDETERMINEMEDIA (02h) - Redetermine Media ΓòÉΓòÉΓòÉ
  20473.  
  20474.  
  20475. ΓòÉΓòÉΓòÉ <hidden> DSK_REDETERMINEMEDIA (02h) - Description ΓòÉΓòÉΓòÉ
  20476.  
  20477. This function redetermines media (ends format). 
  20478.  
  20479.  
  20480. ΓòÉΓòÉΓòÉ <hidden> DSK_REDETERMINEMEDIA (02h) - Command Information ΓòÉΓòÉΓòÉ
  20481.  
  20482.  Command Information 
  20483.       Reserved. Must be set to 0. 
  20484.  
  20485.  
  20486. ΓòÉΓòÉΓòÉ <hidden> DSK_REDETERMINEMEDIA (02h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  20487.  
  20488. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20489. ΓöéField                   Length     C Datatype  Γöé
  20490. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20491. ΓöéCommand Information     BYTE       UCHAR       Γöé
  20492. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20493.  
  20494.  
  20495. ΓòÉΓòÉΓòÉ <hidden> DSK_REDETERMINEMEDIA (02h) - Data Packet Format ΓòÉΓòÉΓòÉ
  20496.  
  20497. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20498. ΓöéField                    Length     C Datatype  Γöé
  20499. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20500. ΓöéReserved.  Set to 0.     BYTE       UCHAR       Γöé
  20501. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20502.  
  20503.  
  20504. ΓòÉΓòÉΓòÉ <hidden> DSK_REDETERMINEMEDIA (02h) - Returns ΓòÉΓòÉΓòÉ
  20505.  
  20506. Possible values are shown in the following list: 
  20507.  
  20508.  0         NO_ERROR 
  20509.  1         ERROR_INVALID_FUNCTION 
  20510.  6         ERROR_INVALID_HANDLE 
  20511.  15        ERROR_INVALID_DRIVE 
  20512.  31        ERROR_GEN_FAILURE 
  20513.  87        ERROR_INVALID_PARAMETER 
  20514.  111       ERROR_BUFFER_OVERFLOW 
  20515.  115       ERROR_PROTECTION_VIOLATION 
  20516.  117       ERROR_INVALID_CATEGORY 
  20517.  119       ERROR_BAD_DRIVER_LEVEL 
  20518.  163       ERROR_UNCERTAIN_MEDIA 
  20519.  165       ERROR_MONITORS_NOT_SUPPORTED 
  20520.  
  20521.  
  20522. ΓòÉΓòÉΓòÉ <hidden> DSK_REDETERMINEMEDIA (02h) - Remarks ΓòÉΓòÉΓòÉ
  20523.  
  20524. This function rebuilds the device parameters (including the Volume Parameter 
  20525. Block (VPB) used by the operating system to identify the volume), simulates a 
  20526. close on the current device handle, and forces a mount on the volume. 
  20527.  
  20528. Function 02h dismounts the volume from the current file system drive (FSD), 
  20529. attaches the new FSD, and reattaches the current handle to the volume's new 
  20530. FSD. It is typically called after a new boot sector has been written to a 
  20531. volume (after a format has been done).  The caller must have the disk or 
  20532. diskette locked when calling this function; otherwise, the function fails with 
  20533. the error ERROR_LOCK_VIOLATION. 
  20534.  
  20535. The caller can have only one file open to refer to the disk or diskette.  If 
  20536. other processes have the volume open or the calling process has opened the 
  20537. volume multiple times, the call fails and ERROR_DRIVE_BUSY is returned. 
  20538.  
  20539.  
  20540. ΓòÉΓòÉΓòÉ <hidden> DSK_REDETERMINEMEDIA (02h) - ΓòÉΓòÉΓòÉ
  20541.  
  20542. Category: 
  20543.    IOCTL_DISK (08h) 
  20544.  Function: 
  20545.    DSK_REDETERMINEMEDIA (02h) 
  20546.  Description: 
  20547.    Redetermine Media 
  20548.  
  20549.  Select an item: 
  20550.  
  20551.   Description
  20552.   Parameter Packet Format
  20553.   Data Packet Format
  20554.   Returns
  20555.   Remarks
  20556.  
  20557.  
  20558. ΓòÉΓòÉΓòÉ 16.1.4. DSK_SETLOGICALMAP (03h) - Set Logical Map ΓòÉΓòÉΓòÉ
  20559.  
  20560.  
  20561. ΓòÉΓòÉΓòÉ <hidden> DSK_SETLOGICALMAP (03h) - Description ΓòÉΓòÉΓòÉ
  20562.  
  20563. This function sets the next logical drive letter than is used to reference the 
  20564. drive. 
  20565.  
  20566.  
  20567. ΓòÉΓòÉΓòÉ <hidden> DSK_SETLOGICALMAP (03h) - Command Information ΓòÉΓòÉΓòÉ
  20568.  
  20569.  Command Information 
  20570.       Reserved. Must be set to 0. 
  20571.  
  20572.  
  20573. ΓòÉΓòÉΓòÉ <hidden> DSK_SETLOGICALMAP (03h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  20574.  
  20575. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20576. ΓöéField                   Length     C Datatype  Γöé
  20577. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20578. ΓöéCommand Information     BYTE       UCHAR       Γöé
  20579. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20580.  
  20581.  
  20582. ΓòÉΓòÉΓòÉ <hidden> DSK_SETLOGICALMAP (03h) - Logical Drive Number ΓòÉΓòÉΓòÉ
  20583.  
  20584.  Logical Drive Number 
  20585.       On entry, a logical drive number (1=A, 2=B, and so forth) is specified. 
  20586.       On return, this byte specifies the logical drive currently mapped to the 
  20587.       drive that the specified file handle is opened on.  A zero is returned if 
  20588.       there is only one logical drive mapped onto this physical drive. 
  20589.  
  20590.  
  20591. ΓòÉΓòÉΓòÉ <hidden> DSK_SETLOGICALMAP (03h) - Data Packet Format ΓòÉΓòÉΓòÉ
  20592.  
  20593. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20594. ΓöéField                    Length     C Datatype  Γöé
  20595. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20596. ΓöéLogical Drive Number     BYTE       UCHAR       Γöé
  20597. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20598.  
  20599.  
  20600. ΓòÉΓòÉΓòÉ <hidden> DSK_SETLOGICALMAP (03h) - Returns ΓòÉΓòÉΓòÉ
  20601.  
  20602. Possible values are shown in the following list: 
  20603.  
  20604.  0         NO_ERROR 
  20605.  1         ERROR_INVALID_FUNCTION 
  20606.  6         ERROR_INVALID_HANDLE 
  20607.  15        ERROR_INVALID_DRIVE 
  20608.  31        ERROR_GEN_FAILURE 
  20609.  87        ERROR_INVALID_PARAMETER 
  20610.  111       ERROR_BUFFER_OVERFLOW 
  20611.  115       ERROR_PROTECTION_VIOLATION 
  20612.  117       ERROR_INVALID_CATEGORY 
  20613.  119       ERROR_BAD_DRIVER_LEVEL 
  20614.  163       ERROR_UNCERTAIN_MEDIA 
  20615.  165       ERROR_MONITORS_NOT_SUPPORTED 
  20616.  
  20617.  
  20618. ΓòÉΓòÉΓòÉ <hidden> DSK_SETLOGICALMAP (03h) - Remarks ΓòÉΓòÉΓòÉ
  20619.  
  20620. When copying diskettes on a drive whose physical drive number has more than one 
  20621. logical drive letter assigned to it, the operating system issues diskette swap 
  20622. prompts to tell the user which logical drive letter is currently referencing 
  20623. the physical drive number. Function 03h is typically used to avoid this prompt 
  20624. by setting a drive number (corresponding to the drive letter) that is 
  20625. referenced in the next I/O request.  The last logical drive letter assigned to 
  20626. the physical drive is determined by calling DSK_GETLOGICALMAP. 
  20627.  
  20628.  
  20629. ΓòÉΓòÉΓòÉ <hidden> DSK_SETLOGICALMAP (03h) - ΓòÉΓòÉΓòÉ
  20630.  
  20631. Category: 
  20632.    IOCTL_DISK (08h) 
  20633.  Function: 
  20634.    DSK_SETLOGICALMAP (03h) 
  20635.  Description: 
  20636.    Set Logical Map 
  20637.  
  20638.  Select an item: 
  20639.  
  20640.   Description
  20641.   Parameter Packet Format
  20642.   Data Packet Format
  20643.   Returns
  20644.   Remarks
  20645.  
  20646.  
  20647. ΓòÉΓòÉΓòÉ 16.1.5. DSK_BEGINFORMAT (04h) - Begin Format ΓòÉΓòÉΓòÉ
  20648.  
  20649.  
  20650. ΓòÉΓòÉΓòÉ <hidden> DSK_BEGINFORMAT (04h) - Description ΓòÉΓòÉΓòÉ
  20651.  
  20652. This function begins the format. 
  20653.  
  20654.  
  20655. ΓòÉΓòÉΓòÉ <hidden> DSK_BEGINFORMAT (04h) - FSD Name ΓòÉΓòÉΓòÉ
  20656.  
  20657.  FSD Name 
  20658.       The file system driver name (that is, the name the FSD exports). A zero 
  20659.       length string is used to indicate the FAT file system. 
  20660.  
  20661.  
  20662. ΓòÉΓòÉΓòÉ <hidden> DSK_BEGINFORMAT (04h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  20663.  
  20664. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20665. ΓöéField        Length            C Datatype  Γöé
  20666. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20667. ΓöéFSD Name     ASCIIZ string     PSZ         Γöé
  20668. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20669.  
  20670.  
  20671. ΓòÉΓòÉΓòÉ <hidden> DSK_BEGINFORMAT (04h) - Command Information ΓòÉΓòÉΓòÉ
  20672.  
  20673.  Command Information 
  20674.       Reserved.  Must be set to 0. 
  20675.  
  20676.  
  20677. ΓòÉΓòÉΓòÉ <hidden> DSK_BEGINFORMAT (04h) - Data Packet Format ΓòÉΓòÉΓòÉ
  20678.  
  20679. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20680. ΓöéField                   Length     C Datatype  Γöé
  20681. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20682. ΓöéCommand Information     BYTE       UCHAR       Γöé
  20683. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20684.  
  20685.  
  20686. ΓòÉΓòÉΓòÉ <hidden> DSK_BEGINFORMAT (04h) - Returns ΓòÉΓòÉΓòÉ
  20687.  
  20688. Possible values are shown in the following list: 
  20689.  
  20690.  0         NO_ERROR 
  20691.  1         ERROR_INVALID_FUNCTION 
  20692.  6         ERROR_INVALID_HANDLE 
  20693.  15        ERROR_INVALID_DRIVE 
  20694.  31        ERROR_GEN_FAILURE 
  20695.  87        ERROR_INVALID_PARAMETER 
  20696.  111       ERROR_BUFFER_OVERFLOW 
  20697.  115       ERROR_PROTECTION_VIOLATION 
  20698.  117       ERROR_INVALID_CATEGORY 
  20699.  119       ERROR_BAD_DRIVER_LEVEL 
  20700.  163       ERROR_UNCERTAIN_MEDIA 
  20701.  165       ERROR_MONITORS_NOT_SUPPORTED 
  20702.  
  20703.  
  20704. ΓòÉΓòÉΓòÉ <hidden> DSK_BEGINFORMAT (04h) - Remarks ΓòÉΓòÉΓòÉ
  20705.  
  20706. This function attaches (mounts) a specified File System Driver (FSD) to a 
  20707. logical disk volume.  Function 04h is typically used to force mount the FSD 
  20708. that is formatting a volume.  It is called before starting a format operation 
  20709. on a volume.  This function also unmounts a current FSD (if any), and forces a 
  20710. mount to the specified FSD. 
  20711.  
  20712. A flag is set in the OS/2 kernel to indicate that a Begin Format 
  20713. (unmount/mount) was done.  DSK_REDETERMINEMEDIA clears this flag. Therefore, 
  20714. Function 02h must be performed before the disk is closed with DosClosed.  The 
  20715. volume is then ready for normal I/O service from the newly mounted FSD. 
  20716.  
  20717.  
  20718. ΓòÉΓòÉΓòÉ <hidden> DSK_BEGINFORMAT (04h) - ΓòÉΓòÉΓòÉ
  20719.  
  20720. Category: 
  20721.    IOCTL_DISK (08h) 
  20722.  Function: 
  20723.    DSK_BEGINFORMAT (04h) 
  20724.  Description: 
  20725.    Begin Format 
  20726.  
  20727.  Select an item: 
  20728.  
  20729.   Description
  20730.   Parameter Packet Format
  20731.   Data Packet Format
  20732.   Returns
  20733.   Remarks
  20734.  
  20735.  
  20736. ΓòÉΓòÉΓòÉ 16.1.6. DSK_BLOCKREMOVABLE (20h) - Block Removable ΓòÉΓòÉΓòÉ
  20737.  
  20738.  
  20739. ΓòÉΓòÉΓòÉ <hidden> DSK_BLOCKREMOVABLE (20h) - Description ΓòÉΓòÉΓòÉ
  20740.  
  20741. This function is used to determine if the media is removable or fixed. 
  20742.  
  20743.  
  20744. ΓòÉΓòÉΓòÉ <hidden> DSK_BLOCKREMOVABLE (20h) - Command Information ΓòÉΓòÉΓòÉ
  20745.  
  20746.  Command Information 
  20747.       Reserved.  Must be set to 0. 
  20748.  
  20749.  
  20750. ΓòÉΓòÉΓòÉ <hidden> DSK_BLOCKREMOVABLE (20h) - Drive Unit ΓòÉΓòÉΓòÉ
  20751.  
  20752.  Drive Unit 
  20753.       This field is used only when this IOCtl is issued without using a 
  20754.       previously allocated file handle.  A file handle of -1 must be used. 
  20755.       Note that that media in the drive is not required.  Drive Unit values are 
  20756.       0 = A, 1 = B, 2 = C, and so forth. 
  20757.  
  20758.  
  20759. ΓòÉΓòÉΓòÉ <hidden> DSK_BLOCKREMOVABLE (20h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  20760.  
  20761. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20762. ΓöéField                   Length     C Datatype  Γöé
  20763. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20764. ΓöéCommand Information     BYTE       UCHAR       Γöé
  20765. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20766. ΓöéDrive Unit              BYTE       UCHAR       Γöé
  20767. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20768.  
  20769.  
  20770. ΓòÉΓòÉΓòÉ <hidden> DSK_BLOCKREMOVABLE (20h) - Data ΓòÉΓòÉΓòÉ
  20771.  
  20772.  Data 
  20773.       On return, the data byte is set accordingly: 
  20774.  
  20775.       0              Removable media 
  20776.       1              Nonremovable media 
  20777.  
  20778.  
  20779. ΓòÉΓòÉΓòÉ <hidden> DSK_BLOCKREMOVABLE (20h) - Data Packet Format ΓòÉΓòÉΓòÉ
  20780.  
  20781. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20782. ΓöéField     Length     C Datatype  Γöé
  20783. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20784. ΓöéData      BYTE       UCHAR       Γöé
  20785. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20786.  
  20787.  
  20788. ΓòÉΓòÉΓòÉ <hidden> DSK_BLOCKREMOVABLE (20h) - Returns ΓòÉΓòÉΓòÉ
  20789.  
  20790. Possible values are shown in the following list: 
  20791.  
  20792.  0         NO_ERROR 
  20793.  1         ERROR_INVALID_FUNCTION 
  20794.  6         ERROR_INVALID_HANDLE 
  20795.  15        ERROR_INVALID_DRIVE 
  20796.  31        ERROR_GEN_FAILURE 
  20797.  87        ERROR_INVALID_PARAMETER 
  20798.  111       ERROR_BUFFER_OVERFLOW 
  20799.  115       ERROR_PROTECTION_VIOLATION 
  20800.  117       ERROR_INVALID_CATEGORY 
  20801.  119       ERROR_BAD_DRIVER_LEVEL 
  20802.  163       ERROR_UNCERTAIN_MEDIA 
  20803.  165       ERROR_MONITORS_NOT_SUPPORTED 
  20804.  
  20805.  
  20806. ΓòÉΓòÉΓòÉ <hidden> DSK_BLOCKREMOVABLE (20h) - ΓòÉΓòÉΓòÉ
  20807.  
  20808. Category: 
  20809.    IOCTL_DISK (08h) 
  20810.  Function: 
  20811.    DSK_BLOCKREMOVABLE (20h) 
  20812.  Description: 
  20813.    Block Removable 
  20814.  
  20815.  Select an item: 
  20816.  
  20817.   Description
  20818.   Parameter Packet Format
  20819.   Data Packet Format
  20820.   Returns
  20821.  
  20822.  
  20823. ΓòÉΓòÉΓòÉ 16.1.7. DSK_GETLOGICALMAP (21h) - Query Logical Map ΓòÉΓòÉΓòÉ
  20824.  
  20825.  
  20826. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOGICALMAP (21h) - Description ΓòÉΓòÉΓòÉ
  20827.  
  20828. This function returns the logical drive letter that was last used to reference 
  20829. (open) the drive. 
  20830.  
  20831.  
  20832. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOGICALMAP (21h) - Command Information ΓòÉΓòÉΓòÉ
  20833.  
  20834.  Command Information 
  20835.       Reserved.  Must be set to 0. 
  20836.  
  20837.  
  20838. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOGICALMAP (21h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  20839.  
  20840. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20841. ΓöéField                   Length     C Datatype  Γöé
  20842. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20843. ΓöéCommand Information     BYTE       UCHAR       Γöé
  20844. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20845.  
  20846.  
  20847. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOGICALMAP (21h) - Logical Drive Number ΓòÉΓòÉΓòÉ
  20848.  
  20849.  Logical Drive Number 
  20850.       On entry, a logical drive number (1=A, 2=B, and so forth) is specified. 
  20851.       On return, if the device has more than one logical drive letter assigned 
  20852.       to it, a drive number corresponding to the last drive letter that was 
  20853.       used to reference the device is returned.  For example, if the entry 
  20854.       drive number was 1 (where 1=A) and the returned drive number was 2 (where 
  20855.       2=B), this drive was last referenced as the B: drive.  If only one drive 
  20856.       letter (logical drive) is assigned to the device, a zero is returned. 
  20857.  
  20858.       Note:  This function works as long as the file handle is valid.  The file 
  20859.              handle can be set to anything other than zero. 
  20860.  
  20861.  
  20862. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOGICALMAP (21h) - Data Packet Format ΓòÉΓòÉΓòÉ
  20863.  
  20864. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20865. ΓöéField                    Length     C Datatype  Γöé
  20866. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20867. ΓöéLogical Drive Number     BYTE       UCHAR       Γöé
  20868. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20869.  
  20870.  
  20871. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOGICALMAP (21h) - Returns ΓòÉΓòÉΓòÉ
  20872.  
  20873. Possible values are shown in the following list: 
  20874.  
  20875.  0         NO_ERROR 
  20876.  1         ERROR_INVALID_FUNCTION 
  20877.  6         ERROR_INVALID_HANDLE 
  20878.  15        ERROR_INVALID_DRIVE 
  20879.  31        ERROR_GEN_FAILURE 
  20880.  87        ERROR_INVALID_PARAMETER 
  20881.  111       ERROR_BUFFER_OVERFLOW 
  20882.  115       ERROR_PROTECTION_VIOLATION 
  20883.  117       ERROR_INVALID_CATEGORY 
  20884.  119       ERROR_BAD_DRIVER_LEVEL 
  20885.  163       ERROR_UNCERTAIN_MEDIA 
  20886.  165       ERROR_MONITORS_NOT_SUPPORTED 
  20887.  
  20888.  
  20889. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOGICALMAP (21h) - ΓòÉΓòÉΓòÉ
  20890.  
  20891. Category: 
  20892.    IOCTL_DISK (08h) 
  20893.  Function: 
  20894.    DSK_GETLOGICALMAP (21h) 
  20895.  Description: 
  20896.    Query Logical Map 
  20897.  
  20898.  Select an item: 
  20899.  
  20900.   Description
  20901.   Parameter Packet Format
  20902.   Data Packet Format
  20903.   Returns
  20904.  
  20905.  
  20906. ΓòÉΓòÉΓòÉ 16.1.8. DSK_UNLOCKEJECTMEDIA (40h) - Removable Media Control ΓòÉΓòÉΓòÉ
  20907.  
  20908.  
  20909. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKEJECTMEDIA (40h) - Description ΓòÉΓòÉΓòÉ
  20910.  
  20911. This function physically locks/unlocks the media in the drive.  It also ejects 
  20912. the media for drives that support these functions. 
  20913.  
  20914.  
  20915. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKEJECTMEDIA (40h) - Length Command Information ΓòÉΓòÉΓòÉ
  20916.  
  20917.  Length Command Information 
  20918.  
  20919.       Bits 0-1       Description 
  20920.  
  20921.       00             Unlock. 
  20922.  
  20923.       01             Lock - drive can be locked with or without media in it. 
  20924.                      If the drive is locked without media in it, the media will 
  20925.                      be ejected when it is inserted until an UnlockIOCtl is 
  20926.                      issued. 
  20927.  
  20928.       10             Eject Media - media will be ejected if the drive is not 
  20929.                      locked. 
  20930.  
  20931.       11             Loads Media. 
  20932.  
  20933.  
  20934. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKEJECTMEDIA (40h) - Drive Unit ΓòÉΓòÉΓòÉ
  20935.  
  20936.  Drive Unit 
  20937.       This field is used only when the IOCtl is issued without using a 
  20938.       previously allocated file handle.  A file handle of -1 must be used. 
  20939.       Notice that media in the drive is not required.  Drive Unit values are 
  20940.       0=A, 1=B, 2=C, and so forth. 
  20941.  
  20942.  
  20943. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKEJECTMEDIA (40h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  20944.  
  20945. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  20946. ΓöéField                          Length     C Datatype  Γöé
  20947. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20948. ΓöéLength Command Information     BYTE       UCHAR       Γöé
  20949. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  20950. ΓöéDrive Unit                     BYTE       UCHAR       Γöé
  20951. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  20952.  
  20953.  
  20954. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKEJECTMEDIA (40h) - Data Packet Format ΓòÉΓòÉΓòÉ
  20955.  
  20956. None. 
  20957.  
  20958.  
  20959. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKEJECTMEDIA (40h) - Returns ΓòÉΓòÉΓòÉ
  20960.  
  20961. Possible values are shown in the following list: 
  20962.  
  20963.  0         NO_ERROR 
  20964.  1         ERROR_INVALID_FUNCTION 
  20965.  6         ERROR_INVALID_HANDLE 
  20966.  15        ERROR_INVALID_DRIVE 
  20967.  31        ERROR_GEN_FAILURE 
  20968.  87        ERROR_INVALID_PARAMETER 
  20969.  111       ERROR_BUFFER_OVERFLOW 
  20970.  115       ERROR_PROTECTION_VIOLATION 
  20971.  117       ERROR_INVALID_CATEGORY 
  20972.  119       ERROR_BAD_DRIVER_LEVEL 
  20973.  163       ERROR_UNCERTAIN_MEDIA 
  20974.  165       ERROR_MONITORS_NOT_SUPPORTED 
  20975.  
  20976.  
  20977. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKEJECTMEDIA (40h) - Remarks ΓòÉΓòÉΓòÉ
  20978.  
  20979. Not all floppy drives support these functions. 
  20980.  
  20981.  
  20982. ΓòÉΓòÉΓòÉ <hidden> DSK_UNLOCKEJECTMEDIA (40h) - ΓòÉΓòÉΓòÉ
  20983.  
  20984. Category: 
  20985.    IOCTL_DISK (08h) 
  20986.  Function: 
  20987.    DSK_UNLOCKEJECTMEDIA (40h) 
  20988.  Description: 
  20989.    Removable Media Control 
  20990.  
  20991.  Select an item: 
  20992.  
  20993.   Description
  20994.   Parameter Packet Format
  20995.   Data Packet Format
  20996.   Returns
  20997.   Remarks
  20998.  
  20999.  
  21000. ΓòÉΓòÉΓòÉ 16.1.9. DSK_SETDEVICEPARAMS (43h) - Set Device Parameters ΓòÉΓòÉΓòÉ
  21001.  
  21002.  
  21003. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - Description ΓòÉΓòÉΓòÉ
  21004.  
  21005. This function sets the parameters for a specified device. 
  21006.  
  21007.  
  21008. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - Command Information ΓòÉΓòÉΓòÉ
  21009.  
  21010.  Command Information 
  21011.       The two low bits of the command byte are used to indicate one of three 
  21012.       possible actions: 
  21013.  
  21014.            Bits  Description 
  21015.  
  21016.       00         Revert to building the BIOS Parameter Block (BPB) off the 
  21017.                  medium for all subsequent Build BPB functions.  This is used 
  21018.                  after a format operation to reset the device parameters to 
  21019.                  their original state. 
  21020.  
  21021.       01         Change the default BPB for the physical device.  This changes 
  21022.                  the physical parameters for the drive as opposed to parameters 
  21023.                  for the media in the drive. 
  21024.  
  21025.       10         Change the BPB for the medium to the specified BPB, and return 
  21026.                  the new BPB for the medium for all subsequent Build BPB calls. 
  21027.                  This is used to prepare the device for a format media 
  21028.                  operation according to the device parameters specified. 
  21029.  
  21030.       All other bits are reserved, and must be set to 0. 
  21031.  
  21032.  
  21033. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - Drive Unit ΓòÉΓòÉΓòÉ
  21034.  
  21035.  Drive Unit 
  21036.       The field is used only when this IOCtl is issued without using a 
  21037.       previously allocated file handle and when Command Information is set to 
  21038.       01. A file handle of -1 must be used.  Note that media in the drive is 
  21039.       not required.  Drive Unit values are 0=A, 1=B, 2=C, and so forth. 
  21040.  
  21041.  
  21042. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  21043.  
  21044. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21045. ΓöéField                   Length     C Datatype  Γöé
  21046. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21047. ΓöéCommand Information     BYTE       UCHAR       Γöé
  21048. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21049. ΓöéDrive Unit              BYTE       UCHAR       Γöé
  21050. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21051.  
  21052.  
  21053. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - Extended BPB for Devices ΓòÉΓòÉΓòÉ
  21054.  
  21055.  Extended BPB for Devices 
  21056.       The term Extended BPB refers to the BIOS Parameter Block. It is a table 
  21057.       that describes the structure of the media and the physical layout of the 
  21058.       drive (heads, tracks, sectors). 
  21059.  
  21060.       The Extended BPB has the following format: 
  21061.  
  21062.             ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21063.             ΓöéField                    ΓöéLength Γöé
  21064.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21065.             ΓöéBytes per Sector         ΓöéWORD   Γöé
  21066.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21067.             ΓöéSectors per Cluster      ΓöéBYTE   Γöé
  21068.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21069.             ΓöéReserved Sectors         ΓöéWORD   Γöé
  21070.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21071.             ΓöéNumber of FATs           ΓöéBYTE   Γöé
  21072.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21073.             ΓöéRoot Directory Entries   ΓöéWORD   Γöé
  21074.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21075.             ΓöéTotal Sectors            ΓöéWORD   Γöé
  21076.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21077.             ΓöéMedia Descriptor         ΓöéBYTE   Γöé
  21078.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21079.             ΓöéSectors per FAT          ΓöéWORD   Γöé
  21080.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21081.             ΓöéSectors per Track        ΓöéWORD   Γöé
  21082.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21083.             ΓöéNumber of Heads          ΓöéWORD   Γöé
  21084.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21085.             ΓöéHidden Sectors           ΓöéDWORD  Γöé
  21086.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21087.             ΓöéLarge Total Sectors      ΓöéDWORD  Γöé
  21088.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21089.             ΓöéReserved                 Γöé6 BYTESΓöé
  21090.             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21091.  
  21092.  
  21093. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - Number of Cylinders ΓòÉΓòÉΓòÉ
  21094.  
  21095.  Number of Cylinders 
  21096.       Indicates the number of cylinders defined for the physical device. 
  21097.  
  21098.  
  21099. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - Device Type ΓòÉΓòÉΓòÉ
  21100.  
  21101.  Device Type 
  21102.       Describes the physical layout of the device specified, and has one of the 
  21103.       following values: 
  21104.  
  21105.       0        48 TPI low-density diskette drive 
  21106.       1        96 TPI high-density diskette drive 
  21107.       2        Small (3.5-inch) 720KB drive 
  21108.       3        8-inch single-density diskette drive 
  21109.       4        8-inch double-density diskette drive 
  21110.       5        Fixed disk 
  21111.       6        Tape drive 
  21112.       7        Other (includes 1.44MB 3.5-inch diskette drive) 
  21113.       8        R/W optical disk 
  21114.       9        3.5-inch 4.0MB diskette drive (2.88MB formatted) 
  21115.  
  21116.  
  21117. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - Device Attributes ΓòÉΓòÉΓòÉ
  21118.  
  21119.  Device Attributes 
  21120.       A bit field that returns flag information about the specified drive: 
  21121.  
  21122.       Bit 0       Removable Media flag.  This bit is set to 1 if the media 
  21123.                   cannot be removed.  It is set to 0 if the media is removable. 
  21124.       Bit 1       Changeline flag.  This bit is set to 1 if the device support 
  21125.                   determines that the media was removed since the last I/O 
  21126.                   operation.  To query whether the media has changed, call the 
  21127.                   device driver Strategy Command "1h - MEDIA CHECK". (See 
  21128.                   "Physical Device Driver Strategy Commands" in the Physical 
  21129.                   Device Driver Reference for more information.) 
  21130.  
  21131.                   If this bit is set to 0, then the physical device driver can 
  21132.                   return the value 0, Unsure if media has changed, from the 
  21133.                   Media Check function. 
  21134.  
  21135.  
  21136. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - Data Packet Format ΓòÉΓòÉΓòÉ
  21137.  
  21138. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21139. ΓöéField                        Length       C Datatype  Γöé
  21140. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21141. ΓöéExtended BPB for Devices     31 BYTES     BYTE[31]    Γöé
  21142. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21143. ΓöéNumber of Cylinders          WORD         USHORT      Γöé
  21144. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21145. ΓöéDevice Type                  BYTE         BYTE        Γöé
  21146. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21147. ΓöéDevice Attributes            WORD         USHORT      Γöé
  21148. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21149.  
  21150. Related C Data Structure 
  21151.  
  21152. The BIOSPARAMETERBLOCK data structure can be used by C programmers. 
  21153.  
  21154. To include this data structure in your file, make sure INCL_DOSDEVIOCTL is 
  21155. defined before you include OS2.H. 
  21156.  
  21157.  
  21158. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - Returns ΓòÉΓòÉΓòÉ
  21159.  
  21160. Possible values are shown in the following list: 
  21161.  
  21162.  0         NO_ERROR 
  21163.  1         ERROR_INVALID_FUNCTION 
  21164.  6         ERROR_INVALID_HANDLE 
  21165.  15        ERROR_INVALID_DRIVE 
  21166.  31        ERROR_GEN_FAILURE 
  21167.  87        ERROR_INVALID_PARAMETER 
  21168.  111       ERROR_BUFFER_OVERFLOW 
  21169.  115       ERROR_PROTECTION_VIOLATION 
  21170.  117       ERROR_INVALID_CATEGORY 
  21171.  119       ERROR_BAD_DRIVER_LEVEL 
  21172.  163       ERROR_UNCERTAIN_MEDIA 
  21173.  165       ERROR_MONITORS_NOT_SUPPORTED 
  21174.  
  21175.  
  21176. ΓòÉΓòÉΓòÉ <hidden> DSK_SETDEVICEPARAMS (43h) - ΓòÉΓòÉΓòÉ
  21177.  
  21178. Category: 
  21179.    IOCTL_DISK (08h) 
  21180.  Function: 
  21181.    DSK_SETDEVICEPARAMS (43h) 
  21182.  Description: 
  21183.    Set Device Parameters 
  21184.  
  21185.  Select an item: 
  21186.  
  21187.   Description
  21188.   Parameter Packet Format
  21189.   Data Packet Format
  21190.   Returns
  21191.  
  21192.  
  21193. ΓòÉΓòÉΓòÉ 16.1.10. DSK_WRITETRACK (44h) - Write Logical Track ΓòÉΓòÉΓòÉ
  21194.  
  21195.  
  21196. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - Description ΓòÉΓòÉΓòÉ
  21197.  
  21198. This function writes a logical track. 
  21199.  
  21200.  
  21201. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - Command Information ΓòÉΓòÉΓòÉ
  21202.  
  21203.  Command Information 
  21204.       A byte with bit 0 defined as follows: 
  21205.  
  21206.       Bit 0       If clear (0), the track layout contains non-consecutive 
  21207.                   sectors or does not start with Sector 1.  If set (1), the 
  21208.                   track layout starts with Sector 1 and contains only 
  21209.                   consecutive sectors. 
  21210.  
  21211.       All other bits are reserved and must be set to 0. 
  21212.  
  21213.  
  21214. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - Head ΓòÉΓòÉΓòÉ
  21215.  
  21216.  Head 
  21217.       The physical head on the drive that performs the operation. 
  21218.  
  21219.  
  21220. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - Cylinder ΓòÉΓòÉΓòÉ
  21221.  
  21222.  Cylinder 
  21223.       The cylinder for the write. 
  21224.  
  21225.  
  21226. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - First Sector ΓòÉΓòÉΓòÉ
  21227.  
  21228.  First Sector 
  21229.       The logical sector number within the Track Layout Table that starts the 
  21230.       I/O operation.  Note that the sector numbers start with 0.  For example, 
  21231.       the third sector is number 2. 
  21232.  
  21233.  
  21234. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - Number of Sectors ΓòÉΓòÉΓòÉ
  21235.  
  21236.  Number of Sectors 
  21237.       The number of sectors to write (up to the maximum specified in the track 
  21238.       table; the IOCtl subfunctions do not step heads/tracks). 
  21239.  
  21240.  
  21241. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - Track Layout Table ΓòÉΓòÉΓòÉ
  21242.  
  21243.  Track Layout Table 
  21244.       Has the following: 
  21245.  
  21246.             ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21247.             ΓöéField                    ΓöéLength Γöé
  21248.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21249.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  21250.             Γöé1                        Γöé       Γöé
  21251.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21252.             ΓöéSector Size for Sector 1 ΓöéWORD   Γöé
  21253.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21254.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  21255.             Γöé2                        Γöé       Γöé
  21256.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21257.             ΓöéSector Size for Sector 2 ΓöéWORD   Γöé
  21258.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21259.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  21260.             Γöé3                        Γöé       Γöé
  21261.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21262.             ΓöéSector Size for Sector 3 ΓöéWORD   Γöé
  21263.             Γöé   .                     Γöé  .    Γöé
  21264.             Γöé   .                     Γöé  .    Γöé
  21265.             Γöé   .                     Γöé  .    Γöé
  21266.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21267.             ΓöéSector number for Sector ΓöéWORD   Γöé
  21268.             Γöén                        Γöé       Γöé
  21269.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21270.             ΓöéSector size for Sector n ΓöéWORD   Γöé
  21271.             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21272.  
  21273.       The sector table that is specified provides information that is used 
  21274.       during the WRITE track operation. 
  21275.  
  21276.  
  21277. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  21278.  
  21279. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21280. ΓöéField                   Length     C Datatype  Γöé
  21281. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21282. ΓöéCommand Information     BYTE       UCHAR       Γöé
  21283. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21284. ΓöéHead                    WORD       USHORT      Γöé
  21285. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21286. ΓöéCylinder                WORD       USHORT      Γöé
  21287. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21288. ΓöéFirst Sector            WORD       USHORT      Γöé
  21289. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21290. ΓöéNumber of Sectors       WORD       USHORT      Γöé
  21291. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21292. ΓöéTrack Layout Table      BYTES      BYTE[]      Γöé
  21293. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21294.  
  21295. Related C Data Structure 
  21296.  
  21297. The TRACKLAYOUT data structure can be used by C programmers. 
  21298.  
  21299. To include this data structure in your file, make sure INCL_DOSDEVIOCTL is 
  21300. defined before you include OS2.H. 
  21301.  
  21302.  
  21303. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - Data Packet Format ΓòÉΓòÉΓòÉ
  21304.  
  21305. The Data Packet is a buffer. It contains the data to be written. 
  21306.  
  21307. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21308. ΓöéField      Length     C Datatype  Γöé
  21309. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21310. ΓöéBuffer     BYTES      UCHAR[]     Γöé
  21311. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21312.  
  21313.  
  21314. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - Returns ΓòÉΓòÉΓòÉ
  21315.  
  21316. Possible values are shown in the following list: 
  21317.  
  21318.  0         NO_ERROR 
  21319.  1         ERROR_INVALID_FUNCTION 
  21320.  6         ERROR_INVALID_HANDLE 
  21321.  15        ERROR_INVALID_DRIVE 
  21322.  31        ERROR_GEN_FAILURE 
  21323.  87        ERROR_INVALID_PARAMETER 
  21324.  111       ERROR_BUFFER_OVERFLOW 
  21325.  115       ERROR_PROTECTION_VIOLATION 
  21326.  117       ERROR_INVALID_CATEGORY 
  21327.  119       ERROR_BAD_DRIVER_LEVEL 
  21328.  163       ERROR_UNCERTAIN_MEDIA 
  21329.  165       ERROR_MONITORS_NOT_SUPPORTED 
  21330.  
  21331.  
  21332. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - Remarks ΓòÉΓòÉΓòÉ
  21333.  
  21334. This function is used to perform a write of sectors on the media and to perform 
  21335. the operations on the device that is specified in this request. The track table 
  21336. passed in on the call is used to determine the sector number, which is passed 
  21337. to the disk controller for the operation. In cases where the sectors are oddly 
  21338. numbered or are non-consecutive, this request breaks into n single sector 
  21339. operations and writes one sector at a time. This DosDevIOCtls is typically used 
  21340. when performing I/O outside of the normal file system data area on the media. 
  21341.  
  21342.  
  21343. ΓòÉΓòÉΓòÉ <hidden> DSK_WRITETRACK (44h) - ΓòÉΓòÉΓòÉ
  21344.  
  21345. Category: 
  21346.    IOCTL_DISK (08h) 
  21347.  Function: 
  21348.    DSK_WRITETRACK (44h) 
  21349.  Description: 
  21350.    Write Logical Track 
  21351.  
  21352.  Select an item: 
  21353.  
  21354.   Description
  21355.   Parameter Packet Format
  21356.   Data Packet Format
  21357.   Returns
  21358.   Remarks
  21359.  
  21360.  
  21361. ΓòÉΓòÉΓòÉ 16.1.11. DSK_FORMATVERIFY (45h) - Format and Verify Track ΓòÉΓòÉΓòÉ
  21362.  
  21363.  
  21364. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Description ΓòÉΓòÉΓòÉ
  21365.  
  21366. This function formats and verifies a track. 
  21367.  
  21368.  
  21369. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Command Information ΓòÉΓòÉΓòÉ
  21370.  
  21371.  Command Information 
  21372.       A byte with bit 0 defined as follows: 
  21373.  
  21374.       Bit 0       If clear (0), the track layout contains nonconsecutive 
  21375.                   sectors or does not start with Sector 1.  If set (1), the 
  21376.                   track layout starts with Sector 1 and contains only 
  21377.                   consecutive sectors. 
  21378.  
  21379.       Bit 1       Indicates that this is a multi-track request. For multi-track 
  21380.                   requests, the track table should contain a single entry. 
  21381.  
  21382.       All other bits are reserved and must be set to 0. 
  21383.  
  21384.  
  21385. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Head ΓòÉΓòÉΓòÉ
  21386.  
  21387.  Head 
  21388.       The physical head on the drive that performs the operation. 
  21389.  
  21390.  
  21391. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Cylinder ΓòÉΓòÉΓòÉ
  21392.  
  21393.  Cylinder 
  21394.       The cylinder for the operation.  Upon return from a multitrack format 
  21395.       request, if a defective spot is encountered on the media, the returned 
  21396.       head and cylinder contain the defective area. 
  21397.  
  21398.  
  21399. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Number of Tracks ΓòÉΓòÉΓòÉ
  21400.  
  21401.  Number of Tracks 
  21402.       The number of tracks to format/verify on a multitrack request.  This is 
  21403.       set to zero for single track requests.  On return from a multitrack 
  21404.       request, Number of Tracks is set to one of the following values: 
  21405.  
  21406.            Value   Description 
  21407.       8000H        Multitrack successful 
  21408.       4000H        Multitrack not supported 
  21409.       2000H        Multitrack failed on FORMAT operation 
  21410.       1000H        Multitrack failed on VERIFY operation 
  21411.  
  21412.  
  21413. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Number of Sectors ΓòÉΓòÉΓòÉ
  21414.  
  21415.  Number of Sectors 
  21416.       The number of sectors on the track being formatted.  On return from a 
  21417.       multitrack request, if a defective spot is found on the media before the 
  21418.       multitrack format operation can complete, this field indicates the number 
  21419.       of tracks remaining (to be formatted) on this multitrack format request. 
  21420.  
  21421.  
  21422. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Format Track Table ΓòÉΓòÉΓòÉ
  21423.  
  21424.  Format Track Table 
  21425.       Contains four-byte tuples.  Each tuple is in the form (c, h, r, n) where 
  21426.       c=cylinder number, h=head number, r=Sector ID, and n=save bytes per 
  21427.       sector: 
  21428.  
  21429.            n   Bytes/Sector 
  21430.       0           128 
  21431.       1           256 
  21432.       2           512 
  21433.       3          1024 
  21434.  
  21435.       There is a 4-tuple for each sector in the track to be formatted. Both the 
  21436.       head and cylinder numbers must be consistent within the tuple and the 
  21437.       corresponding Parameter Packet field. 
  21438.  
  21439.  
  21440. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  21441.  
  21442. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21443. ΓöéField                   Length     C Datatype  Γöé
  21444. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21445. ΓöéCommand Information     BYTE       UCHAR       Γöé
  21446. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21447. ΓöéHead                    WORD       USHORT      Γöé
  21448. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21449. ΓöéCylinder                WORD       USHORT      Γöé
  21450. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21451. ΓöéNumber of Tracks        WORD       USHORT      Γöé
  21452. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21453. ΓöéNumber of Sectors       WORD       USHORT      Γöé
  21454. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21455. ΓöéFormat Track Table      BYTES      BYTE[]      Γöé
  21456. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21457.  
  21458. Related C Data Structure 
  21459.  
  21460. The TRACKLAYOUT data structure can be used by C programmers. 
  21461.  
  21462. To include this data structure in your file, make sure INCL_DOSDEVIOCTL is 
  21463. defined before you include OS2.H. 
  21464.  
  21465.  
  21466. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Starting Sector ΓòÉΓòÉΓòÉ
  21467.  
  21468.  Starting Sector 
  21469.       On input, this is the starting sector on a multitrack request. This is 
  21470.       set to zero for a single track request.  On return from a multitrack 
  21471.       format request, if a defective spot is found on the media, Starting 
  21472.       Sector is the first logical sector number within the head and cylinder of 
  21473.       the defective area. 
  21474.  
  21475.  
  21476. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Data Packet Format ΓòÉΓòÉΓòÉ
  21477.  
  21478. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21479. ΓöéField               Length     C Datatype  Γöé
  21480. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21481. ΓöéStarting Sector     BYTE       BYTE        Γöé
  21482. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21483.  
  21484.  
  21485. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Returns ΓòÉΓòÉΓòÉ
  21486.  
  21487. Possible values are shown in the following list: 
  21488.  
  21489.  0         NO_ERROR 
  21490.  1         ERROR_INVALID_FUNCTION 
  21491.  6         ERROR_INVALID_HANDLE 
  21492.  15        ERROR_INVALID_DRIVE 
  21493.  31        ERROR_GEN_FAILURE 
  21494.  87        ERROR_INVALID_PARAMETER 
  21495.  111       ERROR_BUFFER_OVERFLOW 
  21496.  115       ERROR_PROTECTION_VIOLATION 
  21497.  117       ERROR_INVALID_CATEGORY 
  21498.  119       ERROR_BAD_DRIVER_LEVEL 
  21499.  163       ERROR_UNCERTAIN_MEDIA 
  21500.  165       ERROR_MONITORS_NOT_SUPPORTED 
  21501.  
  21502.  
  21503. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - Remarks ΓòÉΓòÉΓòÉ
  21504.  
  21505. The following describes a format track table for a track layout starting with 
  21506. sector 1 and containing only consecutive sectors (command information Bit 0 set 
  21507. to 1).  This table also describes only a single track request (number of tracks 
  21508. set to 0) for a track with 12 sectors (number of sectors) formatted to 512 
  21509. bytes-per-sector. 
  21510.  
  21511. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21512. ΓöéC              ΓöéH              ΓöéS              ΓöéN              Γöé
  21513. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21514. Γöé10             Γöé0              Γöé1              Γöé2              Γöé
  21515. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21516. Γöé10             Γöé0              Γöé2              Γöé2              Γöé
  21517. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21518. Γöé10             Γöé0              Γöé3              Γöé2              Γöé
  21519. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21520. Γöé10             Γöé0              Γöé4              Γöé2              Γöé
  21521. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21522. Γöé10             Γöé0              Γöé5              Γöé2              Γöé
  21523. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21524. Γöé10             Γöé0              Γöé6              Γöé2              Γöé
  21525. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21526. Γöé10             Γöé0              Γöé7              Γöé2              Γöé
  21527. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21528. Γöé10             Γöé0              Γöé8              Γöé2              Γöé
  21529. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21530. Γöé10             Γöé0              Γöé9              Γöé2              Γöé
  21531. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21532. Γöé10             Γöé0              Γöé10             Γöé2              Γöé
  21533. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21534. Γöé10             Γöé0              Γöé11             Γöé2              Γöé
  21535. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21536. Γöé10             Γöé0              Γöé12             Γöé2              Γöé
  21537. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21538.  
  21539. This routine formats and verifies the track specified according to the 
  21540. information passed in the Format Track Table. The track is passed to the 
  21541. controller, which performs the formatting.  Note that some controllers do not 
  21542. support formatting tracks with varying sector sizes; therefore, applications 
  21543. must ensure that the sector sizes specified in the Track Layout Table are all 
  21544. the same. 
  21545.  
  21546. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21547. Γöé0              Γöé0              Γöé1              Γöé2              Γöé
  21548. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21549.  
  21550.  
  21551. ΓòÉΓòÉΓòÉ <hidden> DSK_FORMATVERIFY (45h) - ΓòÉΓòÉΓòÉ
  21552.  
  21553. Category: 
  21554.    IOCTL_DISK (08h) 
  21555.  Function: 
  21556.    DSK_FORMATVERIFY (45h) 
  21557.  Description: 
  21558.    Format and Verify Track 
  21559.  
  21560.  Select an item: 
  21561.  
  21562.   Description
  21563.   Parameter Packet Format
  21564.   Data Packet Format
  21565.   Returns
  21566.   Remarks
  21567.  
  21568.  
  21569. ΓòÉΓòÉΓòÉ 16.1.12. DSK_DISKETTECONTROL (5Dh) - Diskette Control ΓòÉΓòÉΓòÉ
  21570.  
  21571.  
  21572. ΓòÉΓòÉΓòÉ <hidden> DSK_DISKETTECONTROL (5Dh) - Description ΓòÉΓòÉΓòÉ
  21573.  
  21574. This function allows cooperative sharing of the diskette controller hardware by 
  21575. a separate device driver. 
  21576.  
  21577.  
  21578. ΓòÉΓòÉΓòÉ <hidden> DSK_DISKETTECONTROL (5Dh) - Command Information ΓòÉΓòÉΓòÉ
  21579.  
  21580.  Command Information 
  21581.       Indicates whether the application is requesting or returning exclusive 
  21582.       ownership of the diskette controller, or querying the diskette device 
  21583.       driver. 
  21584.  
  21585.       Bits 0-1       Description 
  21586.  
  21587.       00             Resume - This IOCtl resumes processing of diskette 
  21588.                      requests by the diskette driver. 
  21589.  
  21590.       01             Suspend - When this IOCtl returns without error, the 
  21591.                      diskette driver will have relinquished control of the 
  21592.                      diskette hardware, including the IRQ level. Further 
  21593.                      requests to the diskette device from the operating system 
  21594.                      will be queued. 
  21595.  
  21596.       10             Query - This IOCtl indicates whether the diskette driver 
  21597.                      is idle (no pending requests in the device driver queue). 
  21598.                      A return code of 0 (NO_ERROR) indicates the device driver 
  21599.                      is idle. 
  21600.  
  21601.  
  21602. ΓòÉΓòÉΓòÉ <hidden> DSK_DISKETTECONTROL (5Dh) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  21603.  
  21604. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21605. ΓöéField                   Length     C Datatype  Γöé
  21606. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21607. ΓöéCommand Information     BYTE       UCHAR       Γöé
  21608. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21609.  
  21610.  
  21611. ΓòÉΓòÉΓòÉ <hidden> DSK_DISKETTECONTROL (5Dh) - Reserved ΓòÉΓòÉΓòÉ
  21612.  
  21613.  Reserved 
  21614.       Reserved.  Set to 0. 
  21615.  
  21616.  
  21617. ΓòÉΓòÉΓòÉ <hidden> DSK_DISKETTECONTROL (5Dh) - Data Packet Format ΓòÉΓòÉΓòÉ
  21618.  
  21619. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21620. ΓöéField        Length     C Datatype  Γöé
  21621. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21622. ΓöéReserved     BYTE       UCHAR       Γöé
  21623. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21624.  
  21625.  
  21626. ΓòÉΓòÉΓòÉ <hidden> DSK_DISKETTECONTROL (5Dh) - Returns ΓòÉΓòÉΓòÉ
  21627.  
  21628. Possible values are shown in the following list: 
  21629.  
  21630.  0         NO_ERROR 
  21631.  1         ERROR_INVALID_FUNCTION 
  21632.  6         ERROR_INVALID_HANDLE 
  21633.  15        ERROR_INVALID_DRIVE 
  21634.  31        ERROR_GEN_FAILURE 
  21635.  87        ERROR_INVALID_PARAMETER 
  21636.  111       ERROR_BUFFER_OVERFLOW 
  21637.  115       ERROR_PROTECTION_VIOLATION 
  21638.  117       ERROR_INVALID_CATEGORY 
  21639.  119       ERROR_BAD_DRIVER_LEVEL 
  21640.  163       ERROR_UNCERTAIN_MEDIA 
  21641.  165       ERROR_MONITORS_NOT_SUPPORTED 
  21642.  
  21643.  
  21644. ΓòÉΓòÉΓòÉ <hidden> DSK_DISKETTECONTROL (5Dh) - Remarks ΓòÉΓòÉΓòÉ
  21645.  
  21646. If pending requests are detected, then the handling is up to the tape 
  21647. application.  It is recommended that the tape application do an orderly 
  21648. clean-up of its activities and then issue a RESUME IOCTL to allow diskette 
  21649. requests to proceed and subsequently issue another SUSPEND IOCTL to reclaim the 
  21650. diskette hardware. 
  21651.  
  21652.  
  21653. ΓòÉΓòÉΓòÉ <hidden> DSK_DISKETTECONTROL (5Dh) - ΓòÉΓòÉΓòÉ
  21654.  
  21655. Category: 
  21656.    IOCTL_DISK (08h) 
  21657.  Function: 
  21658.    DSK_DISKETTECONTROL (5Dh) 
  21659.  Description: 
  21660.    Diskette Control 
  21661.  
  21662.  Select an item: 
  21663.  
  21664.   Description
  21665.   Parameter Packet Format
  21666.   Data Packet Format
  21667.   Returns
  21668.   Remarks
  21669.  
  21670.  
  21671. ΓòÉΓòÉΓòÉ 16.1.13. DSK_QUERYMEDIASENSE (60h) - Query Media Sense ΓòÉΓòÉΓòÉ
  21672.  
  21673.  
  21674. ΓòÉΓòÉΓòÉ <hidden> DSK_QUERYMEDIASENSE (60h) - Description ΓòÉΓòÉΓòÉ
  21675.  
  21676. This function returns the media sense information. 
  21677.  
  21678.  
  21679. ΓòÉΓòÉΓòÉ <hidden> DSK_QUERYMEDIASENSE (60h) - Command Information ΓòÉΓòÉΓòÉ
  21680.  
  21681.  Command Information 
  21682.       Reserved.  Must be set to 0. 
  21683.  
  21684.  
  21685. ΓòÉΓòÉΓòÉ <hidden> DSK_QUERYMEDIASENSE (60h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  21686.  
  21687. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21688. ΓöéField                   Length     C Datatype  Γöé
  21689. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21690. ΓöéCommand Information     BYTE       UCHAR       Γöé
  21691. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21692.  
  21693.  
  21694. ΓòÉΓòÉΓòÉ <hidden> DSK_QUERYMEDIASENSE (60h) - Media Sense Information ΓòÉΓòÉΓòÉ
  21695.  
  21696.  Media Sense Information 
  21697.       On return, this field can be interpreted as follows: 
  21698.  
  21699.       0        Unable to determine media type 
  21700.       1        720KB diskette is present in 3.5-inch drive 
  21701.       2        1.44MB diskette is present in 3.5-inch drive 
  21702.       3        2.88MB diskette is present in 3.5-inch drive 
  21703.  
  21704.  
  21705. ΓòÉΓòÉΓòÉ <hidden> DSK_QUERYMEDIASENSE (60h) - Data Packet Format ΓòÉΓòÉΓòÉ
  21706.  
  21707. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21708. ΓöéField                       Length     C Datatype  Γöé
  21709. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21710. ΓöéMedia Sense Information     BYTE       UCHAR       Γöé
  21711. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21712.  
  21713.  
  21714. ΓòÉΓòÉΓòÉ <hidden> DSK_QUERYMEDIASENSE (60h) - Returns ΓòÉΓòÉΓòÉ
  21715.  
  21716. The error return codes for this function are as follows: 
  21717.  
  21718.   0    NO_ERROR 
  21719.   1    ERROR_INVALID_FUNCTION 
  21720.   6    ERROR_INVALID_HANDLE 
  21721.   15   ERROR_INVALID_DRIVE 
  21722.   22   ERROR_BAD_COMMAND 
  21723.   31   ERROR_GEN_FAILURE 
  21724.   87   ERROR_INVALID_PARAMETER 
  21725.  115   ERROR_PROTECTION_VIOLATION 
  21726.  117   ERROR_INVALID_CATEGORY 
  21727.  119   ERROR_BAD_DRIVER_LEVEL 
  21728.  163   ERROR_UNCERTAIN_MEDIA 
  21729.  165   ERROR_MONITORS_NOT_SUPPORTED 
  21730.  
  21731.  
  21732. ΓòÉΓòÉΓòÉ <hidden> DSK_QUERYMEDIASENSE (60h) - ΓòÉΓòÉΓòÉ
  21733.  
  21734. Category: 
  21735.    IOCTL_DISK (08h) 
  21736.  Function: 
  21737.    DSK_QUERYMEDIASENSE (60h) 
  21738.  Description: 
  21739.    Query Media Sense 
  21740.  
  21741.  Select an item: 
  21742.  
  21743.   Description
  21744.   Parameter Packet Format
  21745.   Data Packet Format
  21746.   Returns
  21747.  
  21748.  
  21749. ΓòÉΓòÉΓòÉ 16.1.14. DSK_GETDEVICEPARAMS (63h) - Query Device Parameters ΓòÉΓòÉΓòÉ
  21750.  
  21751.  
  21752. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Description ΓòÉΓòÉΓòÉ
  21753.  
  21754. Returns the device parameters. 
  21755.  
  21756.  
  21757. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Command Information ΓòÉΓòÉΓòÉ
  21758.  
  21759.  Command Information 
  21760.       A byte with bit 0 defined as follows: 
  21761.  
  21762.       0        Return the recommended BPB for the drive, which is the BPB for 
  21763.                the physical device, unless it is a formatted fixed media. 
  21764.                Then, it is the BPB that was on the media when the system was 
  21765.                booted. 
  21766.       1        Return the BPB for the media currently in the drive.  This 
  21767.                always reads the BPB off the current media in the drive.  An 
  21768.                error is returned if the media is unformatted. 
  21769.  
  21770.       All other bits are reserved, and must be set to 0. 
  21771.  
  21772.  
  21773. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Drive Unit ΓòÉΓòÉΓòÉ
  21774.  
  21775.  Drive Unit 
  21776.       Used only when this IOCtl is issued without using a previously allocated 
  21777.       file handle and when Command Information is set to 0. A file handle of -1 
  21778.       must be used.  Notice that media in the drive is not required.  Drive 
  21779.       Unit values are 0=A, 1=B, 2=C, and so forth. 
  21780.  
  21781.  
  21782. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  21783.  
  21784. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21785. ΓöéField                   Length     C Datatype  Γöé
  21786. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21787. ΓöéCommand Information     BYTE       UCHAR       Γöé
  21788. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21789. ΓöéDrive Unit              BYTE       UCHAR       Γöé
  21790. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21791.  
  21792.  
  21793. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Extended BPB for Device ΓòÉΓòÉΓòÉ
  21794.  
  21795.  Extended BPB for Device 
  21796.       The physical device driver maintains two BPBs for each drive.  One is the 
  21797.       current BPB that corresponds to the media in the drive.  The other is a 
  21798.       recommended BPB based on the type of media that corresponds to the 
  21799.       physical device.  (For example, for a high-density drive, the BPB is for 
  21800.       a 96 tracks-per-inch (TPI); for a low-density drive, the BPB is for a 48 
  21801.       TPI).  The low bit of the Command Information field indicates which BPB 
  21802.       the application needs to see. 
  21803.  
  21804.  
  21805. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Number of Cylinders ΓòÉΓòÉΓòÉ
  21806.  
  21807.  Number of Cylinders 
  21808.       Indicates the number of cylinders defined for the physical device. 
  21809.  
  21810.  
  21811. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Device Type ΓòÉΓòÉΓòÉ
  21812.  
  21813.  Device Type 
  21814.       Describes the physical layout of the device specified, and has one of the 
  21815.       following values: 
  21816.  
  21817.       0        48 TPI low-density diskette drive 
  21818.       1        96 TPI high-density diskette drive 
  21819.       2        3.5-inch 720KB diskette drive 
  21820.       3        8-Inch single-density diskette drive 
  21821.       4        8-Inch double-density diskette drive 
  21822.       5        Fixed disk 
  21823.       6        Tape drive 
  21824.       7        Other (includes 1.44MB 3.5-inch diskette drive) 
  21825.       8        R/W optical disk 
  21826.       9        3.5-inch 4.0MB diskette drive (2.88MB formatted) 
  21827.  
  21828.  
  21829. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Device Attributes ΓòÉΓòÉΓòÉ
  21830.  
  21831.  Device Attributes 
  21832.       A bit field that returns flag information about the specified drive: 
  21833.  
  21834.       Bit 0       Removable Media flag.  This bit is set to 1 if the media 
  21835.                   cannot be removed.  It is set to 0 if the media is removable. 
  21836.  
  21837.       Bit 1       Changeline flag.  This bit is set to 1, if the device support 
  21838.                   determines that the media was removed since the last I/O 
  21839.                   operation.  To query whether the media has changed, call the 
  21840.                   physical device driver Strategy Command "1h - MEDIA CHECK". 
  21841.                   (Refer to "Physical Device Driver Strategy Commands" in the 
  21842.                   Physical Device Driver Reference for more information.) 
  21843.  
  21844.                   If this bit is set to 0, then the physical device driver can 
  21845.                   return the value 0, Unsure if media has changed, from the 
  21846.                   Media Check function. 
  21847.  
  21848.       Bit 2       Greater than 16MB Support flag.  If this bit is set to 1, the 
  21849.                   physical device driver supports physical addresses greater 
  21850.                   than 16MB. 
  21851.  
  21852.  
  21853. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Data Packet Format ΓòÉΓòÉΓòÉ
  21854.  
  21855. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21856. ΓöéField                       Length       C Datatype  Γöé
  21857. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21858. ΓöéExtended BPB for Device     31 BYTES     UCHAR[31]   Γöé
  21859. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21860. ΓöéNumber of Cylinders         WORD         USHORT      Γöé
  21861. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21862. ΓöéDevice Type                 BYTE         UCHAR       Γöé
  21863. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21864. ΓöéDevice Attributes           WORD         USHORT      Γöé
  21865. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21866.  
  21867.  
  21868. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Returns ΓòÉΓòÉΓòÉ
  21869.  
  21870. Possible values are shown in the following list: 
  21871.  
  21872.  0         NO_ERROR 
  21873.  1         ERROR_INVALID_FUNCTION 
  21874.  6         ERROR_INVALID_HANDLE 
  21875.  15        ERROR_INVALID_DRIVE 
  21876.  31        ERROR_GEN_FAILURE 
  21877.  87        ERROR_INVALID_PARAMETER 
  21878.  111       ERROR_BUFFER_OVERFLOW 
  21879.  115       ERROR_PROTECTION_VIOLATION 
  21880.  117       ERROR_INVALID_CATEGORY 
  21881.  119       ERROR_BAD_DRIVER_LEVEL 
  21882.  163       ERROR_UNCERTAIN_MEDIA 
  21883.  165       ERROR_MONITORS_NOT_SUPPORTED 
  21884.  
  21885.  
  21886. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - Remarks ΓòÉΓòÉΓòÉ
  21887.  
  21888. This function gets the parameters for a specified device. 
  21889.  
  21890.  
  21891. ΓòÉΓòÉΓòÉ <hidden> DSK_GETDEVICEPARAMS (63h) - ΓòÉΓòÉΓòÉ
  21892.  
  21893. Category: 
  21894.    IOCTL_DISK (08h) 
  21895.  Function: 
  21896.    DSK_GETDEVICEPARAMS (63h) 
  21897.  Description: 
  21898.    Query Device Parameters 
  21899.  
  21900.  Select an item: 
  21901.  
  21902.   Description
  21903.   Parameter Packet Format
  21904.   Data Packet Format
  21905.   Returns
  21906.   Remarks
  21907.  
  21908.  
  21909. ΓòÉΓòÉΓòÉ 16.1.15. DSK_READTRACK (64h) - Read Logical Track ΓòÉΓòÉΓòÉ
  21910.  
  21911.  
  21912. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - Description ΓòÉΓòÉΓòÉ
  21913.  
  21914. Reads a logical track. 
  21915.  
  21916.  
  21917. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - Command Information ΓòÉΓòÉΓòÉ
  21918.  
  21919.  Command Information 
  21920.       A byte with bit 0 defined as follows: 
  21921.  
  21922.       Bit 0       If clear (0), the track layout contains non-consecutive 
  21923.                   sectors or does not start with Sector 1.  If set (1), the 
  21924.                   track layout starts with Sector 1 and contains only 
  21925.                   consecutive sectors. 
  21926.  
  21927.       All other bits are reserved and must be set to 0. 
  21928.  
  21929.  
  21930. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - Head ΓòÉΓòÉΓòÉ
  21931.  
  21932.  Head 
  21933.       The physical head on the drive that performs the operation. 
  21934.  
  21935.  
  21936. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - Cylinder ΓòÉΓòÉΓòÉ
  21937.  
  21938.  Cylinder 
  21939.       The cylinder for the read. 
  21940.  
  21941.  
  21942. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - First Sector ΓòÉΓòÉΓòÉ
  21943.  
  21944.  First Sector 
  21945.       The logical sector number within the Track Layout Table that starts the 
  21946.       I/O operation.  Note that the sector numbers start with 0.  For example, 
  21947.       the third sector is number 2. 
  21948.  
  21949.  
  21950. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - Number of Sectors ΓòÉΓòÉΓòÉ
  21951.  
  21952.  Number of Sectors 
  21953.       The number of sectors to read (up to the maximum specified in the track 
  21954.       table; the IOCtl subfunctions do not step heads/tracks). 
  21955.  
  21956.  
  21957. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - Track Layout Table ΓòÉΓòÉΓòÉ
  21958.  
  21959.  Track Layout Table 
  21960.       Has the following: 
  21961.  
  21962.             ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21963.             ΓöéField                    ΓöéLength Γöé
  21964.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21965.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  21966.             Γöé1                        Γöé       Γöé
  21967.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21968.             ΓöéSector Size for Sector 1 ΓöéWORD   Γöé
  21969.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21970.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  21971.             Γöé2                        Γöé       Γöé
  21972.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21973.             ΓöéSector Size for Sector 2 ΓöéWORD   Γöé
  21974.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21975.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  21976.             Γöé3                        Γöé       Γöé
  21977.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21978.             ΓöéSector Size for Sector 3 ΓöéWORD   Γöé
  21979.             Γöé   .                     Γöé  .    Γöé
  21980.             Γöé   .                     Γöé  .    Γöé
  21981.             Γöé   .                     Γöé  .    Γöé
  21982.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21983.             ΓöéSector number for Sector ΓöéWORD   Γöé
  21984.             Γöén                        Γöé       Γöé
  21985.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21986.             ΓöéSector size for Sector n ΓöéWORD   Γöé
  21987.             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  21988.  
  21989.       The sector table that is specified provides information that is used 
  21990.       during the READ track operation. 
  21991.  
  21992.  
  21993. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  21994.  
  21995. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  21996. ΓöéField                   Length     C Datatype  Γöé
  21997. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  21998. ΓöéCommand Information     BYTE       BYTE        Γöé
  21999. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22000. ΓöéHead                    WORD       USHORT      Γöé
  22001. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22002. ΓöéCylinder                WORD       USHORT      Γöé
  22003. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22004. ΓöéFirst Sector            WORD       USHORT      Γöé
  22005. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22006. ΓöéNumber of Sectors       WORD       USHORT      Γöé
  22007. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22008. ΓöéTrack Layout Table      BYTES      BYTE[]      Γöé
  22009. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22010.  
  22011. Related C Data Structure 
  22012.  
  22013. The TRACKLAYOUT data structure can be used by C programmers. 
  22014.  
  22015. To include this data structure in your file, make sure INCL_DOSDEVIOCTL is 
  22016. defined before you include OS2.H. 
  22017.  
  22018.  
  22019. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - Data Packet Format ΓòÉΓòÉΓòÉ
  22020.  
  22021. The Data Packet is a buffer. The buffer must be large enough to hold requested 
  22022. data. 
  22023.  
  22024. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22025. ΓöéField      Length     C Datatype  Γöé
  22026. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22027. ΓöéBuffer     BYTES      UCHAR[]     Γöé
  22028. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22029.  
  22030.  
  22031. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - Returns ΓòÉΓòÉΓòÉ
  22032.  
  22033. Possible values are shown in the following list: 
  22034.  
  22035.  0         NO_ERROR 
  22036.  1         ERROR_INVALID_FUNCTION 
  22037.  6         ERROR_INVALID_HANDLE 
  22038.  15        ERROR_INVALID_DRIVE 
  22039.  31        ERROR_GEN_FAILURE 
  22040.  87        ERROR_INVALID_PARAMETER 
  22041.  111       ERROR_BUFFER_OVERFLOW 
  22042.  115       ERROR_PROTECTION_VIOLATION 
  22043.  117       ERROR_INVALID_CATEGORY 
  22044.  119       ERROR_BAD_DRIVER_LEVEL 
  22045.  163       ERROR_UNCERTAIN_MEDIA 
  22046.  165       ERROR_MONITORS_NOT_SUPPORTED 
  22047.  
  22048.  
  22049. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - Remarks ΓòÉΓòÉΓòÉ
  22050.  
  22051. This function is used to perform a read of sectors on the media and to perform 
  22052. the operations on the device that is specified in this request. The track table 
  22053. passed in on the call is used to determine the sector number, which is passed 
  22054. to the disk controller for the operation.  In cases where the sectors are oddly 
  22055. numbered or are non-consecutive, this request breaks into n single sector 
  22056. operations and reads one sector at a time. This DosDevIOCtls is typically used 
  22057. when performing I/O outside of the normal file system data area on the media. 
  22058.  
  22059.  
  22060. ΓòÉΓòÉΓòÉ <hidden> DSK_READTRACK (64h) - ΓòÉΓòÉΓòÉ
  22061.  
  22062. Category: 
  22063.    IOCTL_DISK (08h) 
  22064.  Function: 
  22065.    DSK_READTRACK (64h) 
  22066.  Description: 
  22067.    Read Logical Track 
  22068.  
  22069.  Select an item: 
  22070.  
  22071.   Description
  22072.   Parameter Packet Format
  22073.   Data Packet Format
  22074.   Returns
  22075.   Remarks
  22076.  
  22077.  
  22078. ΓòÉΓòÉΓòÉ 16.1.16. DSK_VERIFYTRACK (65h) - Verify Logical Track ΓòÉΓòÉΓòÉ
  22079.  
  22080.  
  22081. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - Description ΓòÉΓòÉΓòÉ
  22082.  
  22083. Verifies a logical track. 
  22084.  
  22085.  
  22086. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - Command Information ΓòÉΓòÉΓòÉ
  22087.  
  22088.  Command Information 
  22089.       A byte with bit 0 defined as follows: 
  22090.  
  22091.       Bit 0       If clear (0), the track layout contains non-consecutive 
  22092.                   sectors or does not start with Sector 1.  If set (1), the 
  22093.                   track layout starts with Sector 1 and contains only 
  22094.                   consecutive sectors. 
  22095.  
  22096.       All other bits are reserved and must be set to 0. 
  22097.  
  22098.  
  22099. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - Head ΓòÉΓòÉΓòÉ
  22100.  
  22101.  Head 
  22102.       The physical head on the drive that performs the operation. 
  22103.  
  22104.  
  22105. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - Cylinder ΓòÉΓòÉΓòÉ
  22106.  
  22107.  Cylinder 
  22108.       The cylinder for the verify. 
  22109.  
  22110.  
  22111. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - First Sector ΓòÉΓòÉΓòÉ
  22112.  
  22113.  First Sector 
  22114.       The logical sector number within the Track Layout Table that starts the 
  22115.       I/O operation.  Note that the sector numbers start with 0.  For example, 
  22116.       the third sector is number 2. 
  22117.  
  22118.  
  22119. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - Number of Sectors ΓòÉΓòÉΓòÉ
  22120.  
  22121.  Number of Sectors 
  22122.       The number of sectors to verify (up to the maximum specified in the track 
  22123.       table; the IOCtl subfunctions do not step heads/tracks). 
  22124.  
  22125.  
  22126. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - Track Layout Table ΓòÉΓòÉΓòÉ
  22127.  
  22128.  Track Layout Table 
  22129.       Has the following: 
  22130.  
  22131.             ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22132.             ΓöéField                    ΓöéLength Γöé
  22133.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22134.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  22135.             Γöé1                        Γöé       Γöé
  22136.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22137.             ΓöéSector Size for Sector 1 ΓöéWORD   Γöé
  22138.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22139.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  22140.             Γöé2                        Γöé       Γöé
  22141.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22142.             ΓöéSector Size for Sector 2 ΓöéWORD   Γöé
  22143.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22144.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  22145.             Γöé3                        Γöé       Γöé
  22146.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22147.             ΓöéSector Size for Sector 3 ΓöéWORD   Γöé
  22148.             Γöé   .                     Γöé  .    Γöé
  22149.             Γöé   .                     Γöé  .    Γöé
  22150.             Γöé   .                     Γöé  .    Γöé
  22151.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22152.             ΓöéSector number for Sector ΓöéWORD   Γöé
  22153.             Γöén                        Γöé       Γöé
  22154.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22155.             ΓöéSector size for Sector n ΓöéWORD   Γöé
  22156.             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22157.  
  22158.       The sector table that is specified provides information that is used 
  22159.       during the VERIFY track operation. 
  22160.  
  22161.  
  22162. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  22163.  
  22164. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22165. ΓöéField                   Length     C Datatype  Γöé
  22166. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22167. ΓöéCommand Information     BYTE       BYTE        Γöé
  22168. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22169. ΓöéHead                    WORD       USHORT      Γöé
  22170. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22171. ΓöéCylinder                WORD       USHORT      Γöé
  22172. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22173. ΓöéFirst Sector            WORD       USHORT      Γöé
  22174. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22175. ΓöéNumber of Sectors       WORD       USHORT      Γöé
  22176. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22177. ΓöéTrack Layout Table      BYTES      BYTE[]      Γöé
  22178. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22179.  
  22180. Related C Data Structure 
  22181.  
  22182. The TRACKLAYOUT data structure can be used by C programmers. 
  22183.  
  22184. To include this data structure in your file, make sure INCL_DOSDEVIOCTL is 
  22185. defined before you include OS2.H. 
  22186.  
  22187.  
  22188. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - Data Packet Format ΓòÉΓòÉΓòÉ
  22189.  
  22190. None. 
  22191.  
  22192.  
  22193. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - Returns ΓòÉΓòÉΓòÉ
  22194.  
  22195. Possible values are shown in the following list: 
  22196.  
  22197.  0         NO_ERROR 
  22198.  1         ERROR_INVALID_FUNCTION 
  22199.  6         ERROR_INVALID_HANDLE 
  22200.  15        ERROR_INVALID_DRIVE 
  22201.  31        ERROR_GEN_FAILURE 
  22202.  87        ERROR_INVALID_PARAMETER 
  22203.  111       ERROR_BUFFER_OVERFLOW 
  22204.  115       ERROR_PROTECTION_VIOLATION 
  22205.  117       ERROR_INVALID_CATEGORY 
  22206.  119       ERROR_BAD_DRIVER_LEVEL 
  22207.  163       ERROR_UNCERTAIN_MEDIA 
  22208.  165       ERROR_MONITORS_NOT_SUPPORTED 
  22209.  
  22210.  
  22211. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - Remarks ΓòÉΓòÉΓòÉ
  22212.  
  22213. This function is used to perform a verify of sectors on the media and to 
  22214. perform the operations on the device that is specified in this request. The 
  22215. track table passed in on the call is used to determine the sector number, which 
  22216. is passed to the disk controller for the operation. In cases where the sectors 
  22217. are oddly numbered or are non-consecutive, this request breaks into n single 
  22218. sector operations and verifies one sector at a time. This DosDevIOCtls is 
  22219. typically used when performing I/O outside of the normal file system data area 
  22220. on the media. 
  22221.  
  22222.  
  22223. ΓòÉΓòÉΓòÉ <hidden> DSK_VERIFYTRACK (65h) - ΓòÉΓòÉΓòÉ
  22224.  
  22225. Category: 
  22226.    IOCTL_DISK (08h) 
  22227.  Function: 
  22228.    DSK_VERIFYTRACK (65h) 
  22229.  Description: 
  22230.    Verify Logical Track 
  22231.  
  22232.  Select an item: 
  22233.  
  22234.   Description
  22235.   Parameter Packet Format
  22236.   Data Packet Format
  22237.   Returns
  22238.   Remarks
  22239.  
  22240.  
  22241. ΓòÉΓòÉΓòÉ 16.1.17. DSK_GETLOCKSTATUS (66h) - Status ΓòÉΓòÉΓòÉ
  22242.  
  22243.  
  22244. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOCKSTATUS (66h) - Description ΓòÉΓòÉΓòÉ
  22245.  
  22246. The output of this function indicates if the drive is locked with or without 
  22247. media in it. 
  22248.  
  22249.  
  22250. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOCKSTATUS (66h) - Command Information ΓòÉΓòÉΓòÉ
  22251.  
  22252.  Command Information 
  22253.       Reserved.  Must be set to 0. 
  22254.  
  22255.  
  22256. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOCKSTATUS (66h) - Drive Unit ΓòÉΓòÉΓòÉ
  22257.  
  22258.  Drive Unit 
  22259.       This field is used only when the IOCtl is issued without using a 
  22260.       previously allocated file handle.  A file handle of -1 must be used. 
  22261.       Notice that media in the drive is not required.  Drive Unit values are 
  22262.       0=A, 1=B, 2=C, and so forth. 
  22263.  
  22264.  
  22265. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOCKSTATUS (66h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  22266.  
  22267. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22268. ΓöéField                   Length     C Datatype  Γöé
  22269. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22270. ΓöéCommand Information     BYTE       UCHAR       Γöé
  22271. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22272. ΓöéDrive Unit              WORD       USHORT      Γöé
  22273. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22274.  
  22275.  
  22276. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOCKSTATUS (66h) - Status ΓòÉΓòÉΓòÉ
  22277.  
  22278.  Status 
  22279.  
  22280.       Bits 0-1       Value 
  22281.  
  22282.       00             Lock/Unlock/Eject/Status functions not supported. 
  22283.  
  22284.       01             Drive locked.  Lock/Unlock/Eject functions supported. 
  22285.  
  22286.       10             Drive unlocked.  Lock/Unlock/Eject functions supported. 
  22287.  
  22288.       11             Lock Status not supported.  Lock/Unlock/Eject functions 
  22289.                      supported. 
  22290.  
  22291.       Bit 2          Value 
  22292.  
  22293.       0              No media in drive 
  22294.  
  22295.       1              Media in drive 
  22296.  
  22297.       Bit 3-31       Reserved 
  22298.  
  22299.  
  22300. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOCKSTATUS (66h) - Data Packet Format ΓòÉΓòÉΓòÉ
  22301.  
  22302. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22303. ΓöéField      Length     C Datatype  Γöé
  22304. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22305. ΓöéStatus     WORD       USHORT      Γöé
  22306. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22307.  
  22308.  
  22309. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOCKSTATUS (66h) - Returns ΓòÉΓòÉΓòÉ
  22310.  
  22311. Possible values are shown in the following list: 
  22312.  
  22313.  0         NO_ERROR 
  22314.  1         ERROR_INVALID_FUNCTION 
  22315.  6         ERROR_INVALID_HANDLE 
  22316.  15        ERROR_INVALID_DRIVE 
  22317.  31        ERROR_GEN_FAILURE 
  22318.  87        ERROR_INVALID_PARAMETER 
  22319.  111       ERROR_BUFFER_OVERFLOW 
  22320.  115       ERROR_PROTECTION_VIOLATION 
  22321.  117       ERROR_INVALID_CATEGORY 
  22322.  119       ERROR_BAD_DRIVER_LEVEL 
  22323.  163       ERROR_UNCERTAIN_MEDIA 
  22324.  165       ERROR_MONITORS_NOT_SUPPORTED 
  22325.  
  22326.  
  22327. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOCKSTATUS (66h) - Remarks ΓòÉΓòÉΓòÉ
  22328.  
  22329. None. 
  22330.  
  22331.  
  22332. ΓòÉΓòÉΓòÉ <hidden> DSK_GETLOCKSTATUS (66h) - ΓòÉΓòÉΓòÉ
  22333.  
  22334. Category: 
  22335.    IOCTL_DISK (08h) 
  22336.  Function: 
  22337.    DSK_GETLOCKSTATUS (66h) 
  22338.  Description: 
  22339.    Status 
  22340.  
  22341.  Select an item: 
  22342.  
  22343.   Description
  22344.   Parameter Packet Format
  22345.   Data Packet Format
  22346.   Returns
  22347.   Remarks
  22348.  
  22349.  
  22350. ΓòÉΓòÉΓòÉ 16.2. Category 09h Physical Disk Control IOCtl Commands ΓòÉΓòÉΓòÉ
  22351.  
  22352. Category 09h is used to access physical partitionable hard disks. The handle 
  22353. used for Category 09h command is returned by the DosPhysicalDisk (Function 2) 
  22354. API function.  (See the OS/2 Control Program Programming Reference for more 
  22355. information).  This handle is used to tell the system which physical disk is 
  22356. accessed by the IOCtl command. 
  22357.  
  22358. The Physical Disk Control commands relate to the entire partitionable hard 
  22359. disk.  Direct track and sector I/O start at the beginning of the physical 
  22360. drive.  PDSK_GETPHYSDEVICEPARAMS, describes the entire physical device. 
  22361.  
  22362. The following is a summary of Category 09h IOCtl Commands: 
  22363.  
  22364. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22365. ΓöéFunction       ΓöéDescription                                  Γöé
  22366. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22367. Γöé   00h         ΓöéLock Physical Drive                          Γöé
  22368. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22369. Γöé   01h         ΓöéUnlock Physical Drive                        Γöé
  22370. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22371. Γöé   44h         ΓöéWrite Physical Track                         Γöé
  22372. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22373. Γöé   63h         ΓöéQuery Physical Device Parameters             Γöé
  22374. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22375. Γöé   64h         ΓöéRead Physical Track                          Γöé
  22376. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22377. Γöé   65h         ΓöéVerify Physical Track                        Γöé
  22378. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22379.  
  22380.  
  22381. ΓòÉΓòÉΓòÉ 16.2.1. PDSK_LOCKPHYSDRIVE (00h) - Lock Physical Drive ΓòÉΓòÉΓòÉ
  22382.  
  22383.  
  22384. ΓòÉΓòÉΓòÉ <hidden> PDSK_LOCKPHYSDRIVE (00h) - Description ΓòÉΓòÉΓòÉ
  22385.  
  22386. This function locks the physical drive. 
  22387.  
  22388.  
  22389. ΓòÉΓòÉΓòÉ <hidden> PDSK_LOCKPHYSDRIVE (00h) - Command Information ΓòÉΓòÉΓòÉ
  22390.  
  22391.  Command Information 
  22392.       Reserved.  Must be set to 0. 
  22393.  
  22394.  
  22395. ΓòÉΓòÉΓòÉ <hidden> PDSK_LOCKPHYSDRIVE (00h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  22396.  
  22397. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22398. ΓöéField                   Length     C Datatype  Γöé
  22399. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22400. ΓöéCommand Information     BYTE       UCHAR       Γöé
  22401. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22402.  
  22403.  
  22404. ΓòÉΓòÉΓòÉ <hidden> PDSK_LOCKPHYSDRIVE (00h) - Data Packet Format ΓòÉΓòÉΓòÉ
  22405.  
  22406. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22407. ΓöéField                    Length       C Datatype  Γöé
  22408. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22409. ΓöéReserved.  Set to 0.     31 BYTES     UCHAR[31]   Γöé
  22410. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22411.  
  22412.  
  22413. ΓòÉΓòÉΓòÉ <hidden> PDSK_LOCKPHYSDRIVE (00h) - Returns ΓòÉΓòÉΓòÉ
  22414.  
  22415. Possible values are shown in the following list: 
  22416.  
  22417.  0         NO_ERROR 
  22418.  1         ERROR_INVALID_FUNCTION 
  22419.  6         ERROR_INVALID_HANDLE 
  22420.  15        ERROR_INVALID_DRIVE 
  22421.  31        ERROR_GEN_FAILURE 
  22422.  87        ERROR_INVALID_PARAMETER 
  22423.  111       ERROR_BUFFER_OVERFLOW 
  22424.  115       ERROR_PROTECTION_VIOLATION 
  22425.  117       ERROR_INVALID_CATEGORY 
  22426.  119       ERROR_BAD_DRIVER_LEVEL 
  22427.  163       ERROR_UNCERTAIN_MEDIA 
  22428.  165       ERROR_MONITORS_NOT_SUPPORTED 
  22429.  
  22430.  
  22431. ΓòÉΓòÉΓòÉ <hidden> PDSK_LOCKPHYSDRIVE (00h) - Remarks ΓòÉΓòÉΓòÉ
  22432.  
  22433. All the logical units on the physical drive are affected as well. 
  22434.  
  22435.  
  22436. ΓòÉΓòÉΓòÉ <hidden> PDSK_LOCKPHYSDRIVE (00h) - ΓòÉΓòÉΓòÉ
  22437.  
  22438. Category: 
  22439.    IOCTL_PHYSICALDISK (09h) 
  22440.  Function: 
  22441.    PDSK_LOCKPHYSDRIVE (00h) 
  22442.  Description: 
  22443.    Lock Physical Drive 
  22444.  
  22445.  Select an item: 
  22446.  
  22447.   Description
  22448.   Parameter Packet Format
  22449.   Data Packet Format
  22450.   Returns
  22451.   Remarks
  22452.  
  22453.  
  22454. ΓòÉΓòÉΓòÉ 16.2.2. PDSK_UNLOCKPHYSDRIVE (01h) - Unlock Physical Drive ΓòÉΓòÉΓòÉ
  22455.  
  22456.  
  22457. ΓòÉΓòÉΓòÉ <hidden> PDSK_UNLOCKPHYSDRIVE (01h) - Description ΓòÉΓòÉΓòÉ
  22458.  
  22459. This function unlocks the physical drive. 
  22460.  
  22461.  
  22462. ΓòÉΓòÉΓòÉ <hidden> PDSK_UNLOCKPHYSDRIVE (01h) - Command Information ΓòÉΓòÉΓòÉ
  22463.  
  22464.  Command Information 
  22465.       Reserved.  Must be set to 0. 
  22466.  
  22467.  
  22468. ΓòÉΓòÉΓòÉ <hidden> PDSK_UNLOCKPHYSDRIVE (01h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  22469.  
  22470. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22471. ΓöéField                   Length     C Datatype  Γöé
  22472. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22473. ΓöéCommand Information     BYTE       UCHAR       Γöé
  22474. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22475.  
  22476.  
  22477. ΓòÉΓòÉΓòÉ <hidden> PDSK_UNLOCKPHYSDRIVE (01h) - Data Packet Format ΓòÉΓòÉΓòÉ
  22478.  
  22479. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22480. ΓöéField                    Length       C Datatype  Γöé
  22481. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22482. ΓöéReserved.  Set to 0.     31 BYTES     UCHAR[31]   Γöé
  22483. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22484.  
  22485.  
  22486. ΓòÉΓòÉΓòÉ <hidden> PDSK_UNLOCKPHYSDRIVE (01h) - Returns ΓòÉΓòÉΓòÉ
  22487.  
  22488. Possible values are shown in the following list: 
  22489.  
  22490.  0         NO_ERROR 
  22491.  1         ERROR_INVALID_FUNCTION 
  22492.  6         ERROR_INVALID_HANDLE 
  22493.  15        ERROR_INVALID_DRIVE 
  22494.  31        ERROR_GEN_FAILURE 
  22495.  87        ERROR_INVALID_PARAMETER 
  22496.  111       ERROR_BUFFER_OVERFLOW 
  22497.  115       ERROR_PROTECTION_VIOLATION 
  22498.  117       ERROR_INVALID_CATEGORY 
  22499.  119       ERROR_BAD_DRIVER_LEVEL 
  22500.  163       ERROR_UNCERTAIN_MEDIA 
  22501.  165       ERROR_MONITORS_NOT_SUPPORTED 
  22502.  
  22503.  
  22504. ΓòÉΓòÉΓòÉ <hidden> PDSK_UNLOCKPHYSDRIVE (01h) - Remarks ΓòÉΓòÉΓòÉ
  22505.  
  22506. All the logical units on the physical drive are affected as well. 
  22507.  
  22508.  
  22509. ΓòÉΓòÉΓòÉ <hidden> PDSK_UNLOCKPHYSDRIVE (01h) - ΓòÉΓòÉΓòÉ
  22510.  
  22511. Category: 
  22512.    IOCTL_PHYSICALDISK (09h) 
  22513.  Function: 
  22514.    PDSK_UNLOCKPHYSDRIVE (01h) 
  22515.  Description: 
  22516.    Unlock Physical Drive 
  22517.  
  22518.  Select an item: 
  22519.  
  22520.   Description
  22521.   Parameter Packet Format
  22522.   Data Packet Format
  22523.   Returns
  22524.   Remarks
  22525.  
  22526.  
  22527. ΓòÉΓòÉΓòÉ 16.2.3. PDSK_WRITEPHYSTRACK (44h) - Write Physical Track ΓòÉΓòÉΓòÉ
  22528.  
  22529.  
  22530. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - Description ΓòÉΓòÉΓòÉ
  22531.  
  22532. This function performs a physical write track. 
  22533.  
  22534.  
  22535. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - Command Information ΓòÉΓòÉΓòÉ
  22536.  
  22537.  Command Information 
  22538.       A bit field as follows: 
  22539.  
  22540.       Bit 0       If clear (0), the track layout contains non-consecutive 
  22541.                   sectors or does not start with Sector 1.  If set (1), the 
  22542.                   track layout starts with Sector 1 and contains only 
  22543.                   consecutive sectors. 
  22544.  
  22545.       All other bits are reserved and must be set to 0. 
  22546.  
  22547.  
  22548. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - Head ΓòÉΓòÉΓòÉ
  22549.  
  22550.  Head 
  22551.       The physical head on the drive that performs the operation. 
  22552.  
  22553.  
  22554. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - Cylinder ΓòÉΓòÉΓòÉ
  22555.  
  22556.  Cylinder 
  22557.       The cylinder for the write. 
  22558.  
  22559.  
  22560. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - First Sector ΓòÉΓòÉΓòÉ
  22561.  
  22562.  First Sector 
  22563.       The logical sector number within the Track Layout Table that starts the 
  22564.       I/O operation.  Note that the sector numbers start with 0.  For example, 
  22565.       the third sector is number 2. 
  22566.  
  22567.  
  22568. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - Number of Sectors ΓòÉΓòÉΓòÉ
  22569.  
  22570.  Number of Sectors 
  22571.       The number of sectors to write (up to the maximum specified in the track 
  22572.       table; the IOCtl subfunctions do not step heads/tracks). 
  22573.  
  22574.  
  22575. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - Track Layout Table ΓòÉΓòÉΓòÉ
  22576.  
  22577.  Track Layout Table 
  22578.       The Track Layout Table is as follows: 
  22579.  
  22580.             ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22581.             ΓöéField                    ΓöéLength Γöé
  22582.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22583.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  22584.             Γöé1                        Γöé       Γöé
  22585.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22586.             ΓöéSector Size for Sector 1 ΓöéWORD   Γöé
  22587.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22588.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  22589.             Γöé2                        Γöé       Γöé
  22590.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22591.             ΓöéSector Size for Sector 2 ΓöéWORD   Γöé
  22592.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22593.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  22594.             Γöé3                        Γöé       Γöé
  22595.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22596.             ΓöéSector Size for Sector 3 ΓöéWORD   Γöé
  22597.             Γöé   .                     Γöé  .    Γöé
  22598.             Γöé   .                     Γöé  .    Γöé
  22599.             Γöé   .                     Γöé  .    Γöé
  22600.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22601.             ΓöéSector number for Sector ΓöéWORD   Γöé
  22602.             Γöén                        Γöé       Γöé
  22603.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22604.             ΓöéSector size for Sector n ΓöéWORD   Γöé
  22605.             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22606.  
  22607.  
  22608. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  22609.  
  22610. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22611. ΓöéField                   Length     C Datatype  Γöé
  22612. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22613. ΓöéCommand Information     BYTE       BYTE        Γöé
  22614. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22615. ΓöéHead                    WORD       USHORT      Γöé
  22616. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22617. ΓöéCylinder                WORD       USHORT      Γöé
  22618. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22619. ΓöéFirst Sector            WORD       USHORT      Γöé
  22620. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22621. ΓöéNumber of Sectors       WORD       USHORT      Γöé
  22622. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22623. ΓöéTrack Layout Table      BYTES      BYTE[]      Γöé
  22624. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22625.  
  22626. Related C Data Structure 
  22627.  
  22628. The TRACKLAYOUT data structure can be used by C programmers. 
  22629.  
  22630. To include this data structure in your file, make sure INCL_DOSDEVIOCTL is 
  22631. defined before you include OS2.H. 
  22632.  
  22633.  
  22634. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - Data Packet Format ΓòÉΓòÉΓòÉ
  22635.  
  22636. The Data Packet is a buffer. It contains the data to be written. 
  22637.  
  22638. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22639. ΓöéField      Length     C Datatype  Γöé
  22640. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22641. ΓöéBuffer     BYTES      UCHAR[]     Γöé
  22642. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22643.  
  22644.  
  22645. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - Returns ΓòÉΓòÉΓòÉ
  22646.  
  22647. Possible values are shown in the following list: 
  22648.  
  22649.  0         NO_ERROR 
  22650.  1         ERROR_INVALID_FUNCTION 
  22651.  6         ERROR_INVALID_HANDLE 
  22652.  15        ERROR_INVALID_DRIVE 
  22653.  31        ERROR_GEN_FAILURE 
  22654.  87        ERROR_INVALID_PARAMETER 
  22655.  111       ERROR_BUFFER_OVERFLOW 
  22656.  115       ERROR_PROTECTION_VIOLATION 
  22657.  117       ERROR_INVALID_CATEGORY 
  22658.  119       ERROR_BAD_DRIVER_LEVEL 
  22659.  163       ERROR_UNCERTAIN_MEDIA 
  22660.  165       ERROR_MONITORS_NOT_SUPPORTED 
  22661.  
  22662.  
  22663. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - Remarks ΓòÉΓòÉΓòÉ
  22664.  
  22665. This function is used to perform the operations specified on the physical drive 
  22666. in this request.  This is similar to the Category 08h commands, except that the 
  22667. I/O is done offset from the beginning of the physical drive instead of from the 
  22668. beginning of the extended volume associated with the unit number (Category 
  22669. 08h). 
  22670.  
  22671. The Track Layout Table passed in the Parameter Packet is used to determine the 
  22672. sector number, which is passed on to the disk controller for the operation.  In 
  22673. cases where the sectors are oddly numbered or are non-consecutive, this request 
  22674. breaks into n single sector operations and writes one sector at a time. The 
  22675. sector table that is specified provides information that is used during the 
  22676. WRITE track operation. 
  22677.  
  22678.  
  22679. ΓòÉΓòÉΓòÉ <hidden> PDSK_WRITEPHYSTRACK (44h) - ΓòÉΓòÉΓòÉ
  22680.  
  22681. Category: 
  22682.    IOCTL_PHYSICALDISK (09h) 
  22683.  Function: 
  22684.    PDSK_WRITEPHYSTRACK (44h) 
  22685.  Description: 
  22686.    Write Physical Track 
  22687.  
  22688.  Select an item: 
  22689.  
  22690.   Description
  22691.   Parameter Packet Format
  22692.   Data Packet Format
  22693.   Returns
  22694.   Remarks
  22695.  
  22696.  
  22697. ΓòÉΓòÉΓòÉ 16.2.4. PDSK_GETPHYSDEVICEPARAMS (63h) - Query Physical Device Parameters ΓòÉΓòÉΓòÉ
  22698.  
  22699.  
  22700. ΓòÉΓòÉΓòÉ <hidden> PDSK_GETPHYSDEVICEPARAMS (63h) - Description ΓòÉΓòÉΓòÉ
  22701.  
  22702. This function returns the physical device parameters. 
  22703.  
  22704.  
  22705. ΓòÉΓòÉΓòÉ <hidden> PDSK_GETPHYSDEVICEPARAMS (63h) - Command Information ΓòÉΓòÉΓòÉ
  22706.  
  22707.  Command Information 
  22708.       Reserved.  Must be set to 0. 
  22709.  
  22710.  
  22711. ΓòÉΓòÉΓòÉ <hidden> PDSK_GETPHYSDEVICEPARAMS (63h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  22712.  
  22713. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22714. ΓöéField                   Length     C Datatype  Γöé
  22715. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22716. ΓöéCommand Information     BYTE       UCHAR       Γöé
  22717. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22718.  
  22719.  
  22720. ΓòÉΓòÉΓòÉ <hidden> PDSK_GETPHYSDEVICEPARAMS (63h) - Number of Cylinders ΓòÉΓòÉΓòÉ
  22721.  
  22722.  Number of Cylinders 
  22723.       The number of cylinders on the physical drive. 
  22724.  
  22725.  
  22726. ΓòÉΓòÉΓòÉ <hidden> PDSK_GETPHYSDEVICEPARAMS (63h) - Number of Heads ΓòÉΓòÉΓòÉ
  22727.  
  22728.  Number of Heads 
  22729.       The number of heads on the physical drive. 
  22730.  
  22731.  
  22732. ΓòÉΓòÉΓòÉ <hidden> PDSK_GETPHYSDEVICEPARAMS (63h) - Number of Sectors per Track ΓòÉΓòÉΓòÉ
  22733.  
  22734.  Number of Sectors per Track 
  22735.       The number of sectors per track on the physical drive. 
  22736.  
  22737.  
  22738. ΓòÉΓòÉΓòÉ <hidden> PDSK_GETPHYSDEVICEPARAMS (63h) - Data Packet Format ΓòÉΓòÉΓòÉ
  22739.  
  22740. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22741. ΓöéField                          Length     C Datatype  Γöé
  22742. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22743. ΓöéReserved                       WORD       USHORT      Γöé
  22744. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22745. ΓöéNumber of Cylinders            WORD       USHORT      Γöé
  22746. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22747. ΓöéNumber of Heads                WORD       USHORT      Γöé
  22748. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22749. ΓöéNumber of Sectors per Track    WORD       USHORT      Γöé
  22750. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22751. ΓöéReserved                       WORD       USHORT      Γöé
  22752. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22753. ΓöéReserved                       WORD       USHORT      Γöé
  22754. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22755. ΓöéReserved                       WORD       USHORT      Γöé
  22756. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22757. ΓöéReserved                       WORD       USHORT      Γöé
  22758. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22759.  
  22760. Related C Data Structure 
  22761.  
  22762. The DEVICEPARAMETERBLOCK data structure can be used by C programmers. 
  22763.  
  22764. To include this data structure in your file, make sure INCL_DOSDEVIOCTL is 
  22765. defined before you include OS2.H. 
  22766.  
  22767.  
  22768. ΓòÉΓòÉΓòÉ <hidden> PDSK_GETPHYSDEVICEPARAMS (63h) - Returns ΓòÉΓòÉΓòÉ
  22769.  
  22770. Possible values are shown in the following list: 
  22771.  
  22772.  0         NO_ERROR 
  22773.  1         ERROR_INVALID_FUNCTION 
  22774.  6         ERROR_INVALID_HANDLE 
  22775.  15        ERROR_INVALID_DRIVE 
  22776.  31        ERROR_GEN_FAILURE 
  22777.  87        ERROR_INVALID_PARAMETER 
  22778.  111       ERROR_BUFFER_OVERFLOW 
  22779.  115       ERROR_PROTECTION_VIOLATION 
  22780.  117       ERROR_INVALID_CATEGORY 
  22781.  119       ERROR_BAD_DRIVER_LEVEL 
  22782.  163       ERROR_UNCERTAIN_MEDIA 
  22783.  165       ERROR_MONITORS_NOT_SUPPORTED 
  22784.  
  22785.  
  22786. ΓòÉΓòÉΓòÉ <hidden> PDSK_GETPHYSDEVICEPARAMS (63h) - Remarks ΓòÉΓòÉΓòÉ
  22787.  
  22788. The data values returned apply to the entire physical disk. 
  22789.  
  22790.  
  22791. ΓòÉΓòÉΓòÉ <hidden> PDSK_GETPHYSDEVICEPARAMS (63h) - ΓòÉΓòÉΓòÉ
  22792.  
  22793. Category: 
  22794.    IOCTL_PHYSICALDISK (09h) 
  22795.  Function: 
  22796.    PDSK_GETPHYSDEVICEPARAMS (63h) 
  22797.  Description: 
  22798.    Query Physical Device Parameters 
  22799.  
  22800.  Select an item: 
  22801.  
  22802.   Description
  22803.   Parameter Packet Format
  22804.   Data Packet Format
  22805.   Returns
  22806.   Remarks
  22807.  
  22808.  
  22809. ΓòÉΓòÉΓòÉ 16.2.5. PDSK_READPHYSTRACK (64h) - Read Physical Track ΓòÉΓòÉΓòÉ
  22810.  
  22811.  
  22812. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - Description ΓòÉΓòÉΓòÉ
  22813.  
  22814. Performs a physical read track. 
  22815.  
  22816.  
  22817. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - Command Information ΓòÉΓòÉΓòÉ
  22818.  
  22819.  Command Information 
  22820.       A bit field as follows: 
  22821.  
  22822.       Bit 0       If clear (0), the track layout contains nonconsecutive 
  22823.                   sectors or does not start with Sector 1.  If set (1), the 
  22824.                   track layout starts with Sector 1 and contains only 
  22825.                   consecutive sectors. 
  22826.  
  22827.       All other bits are reserved and must be set to 0. 
  22828.  
  22829.  
  22830. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - Head ΓòÉΓòÉΓòÉ
  22831.  
  22832.  Head 
  22833.       The physical head on the drive that performs the operation. 
  22834.  
  22835.  
  22836. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - Cylinder ΓòÉΓòÉΓòÉ
  22837.  
  22838.  Cylinder 
  22839.       The cylinder for the read. 
  22840.  
  22841.  
  22842. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - First Sector ΓòÉΓòÉΓòÉ
  22843.  
  22844.  First Sector 
  22845.       The logical sector number within the Track Layout Table that starts the 
  22846.       I/O operation.  Note that the sector numbers start with 0.  For example, 
  22847.       the third sector is number 2. 
  22848.  
  22849.  
  22850. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - Number of Sectors ΓòÉΓòÉΓòÉ
  22851.  
  22852.  Number of Sectors 
  22853.       The number of sectors to read (up to the maximum specified in the track 
  22854.       table; the IOCtl subfunctions do not step heads/tracks). 
  22855.  
  22856.  
  22857. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - Track Layout Table ΓòÉΓòÉΓòÉ
  22858.  
  22859.  Track Layout Table 
  22860.       The Track Layout Table is as follows: 
  22861.  
  22862.             ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22863.             ΓöéField                    ΓöéLength Γöé
  22864.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22865.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  22866.             Γöé1                        Γöé       Γöé
  22867.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22868.             ΓöéSector Size for Sector 1 ΓöéWORD   Γöé
  22869.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22870.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  22871.             Γöé2                        Γöé       Γöé
  22872.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22873.             ΓöéSector Size for Sector 2 ΓöéWORD   Γöé
  22874.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22875.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  22876.             Γöé3                        Γöé       Γöé
  22877.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22878.             ΓöéSector Size for Sector 3 ΓöéWORD   Γöé
  22879.             Γöé   .                     Γöé  .    Γöé
  22880.             Γöé   .                     Γöé  .    Γöé
  22881.             Γöé   .                     Γöé  .    Γöé
  22882.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22883.             ΓöéSector number for Sector ΓöéWORD   Γöé
  22884.             Γöén                        Γöé       Γöé
  22885.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22886.             ΓöéSector size for Sector n ΓöéWORD   Γöé
  22887.             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22888.  
  22889.  
  22890. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  22891.  
  22892. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22893. ΓöéField                   Length     C Datatype  Γöé
  22894. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22895. ΓöéCommand Information     BYTE       BYTE        Γöé
  22896. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22897. ΓöéHead                    WORD       USHORT      Γöé
  22898. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22899. ΓöéCylinder                WORD       USHORT      Γöé
  22900. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22901. ΓöéFirst Sector            WORD       USHORT      Γöé
  22902. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22903. ΓöéNumber of Sectors       WORD       USHORT      Γöé
  22904. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22905. ΓöéTrack Layout Table      BYTES      BYTE[]      Γöé
  22906. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22907.  
  22908. Related C Data Structure 
  22909.  
  22910. The TRACKLAYOUT data structure can be used by C programmers. 
  22911.  
  22912. To include this data structure in your file, make sure INCL_DOSDEVIOCTL is 
  22913. defined before you include OS2.H. 
  22914.  
  22915.  
  22916. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - Data Packet Format ΓòÉΓòÉΓòÉ
  22917.  
  22918. The Data Packet is a buffer. The buffer must be large enough to hold requested 
  22919. data. 
  22920.  
  22921. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22922. ΓöéField      Length     C Datatype  Γöé
  22923. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  22924. ΓöéBuffer     BYTES      UCHAR[]     Γöé
  22925. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  22926.  
  22927.  
  22928. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - Returns ΓòÉΓòÉΓòÉ
  22929.  
  22930. Possible values are shown in the following list: 
  22931.  
  22932.  0         NO_ERROR 
  22933.  1         ERROR_INVALID_FUNCTION 
  22934.  6         ERROR_INVALID_HANDLE 
  22935.  15        ERROR_INVALID_DRIVE 
  22936.  31        ERROR_GEN_FAILURE 
  22937.  87        ERROR_INVALID_PARAMETER 
  22938.  111       ERROR_BUFFER_OVERFLOW 
  22939.  115       ERROR_PROTECTION_VIOLATION 
  22940.  117       ERROR_INVALID_CATEGORY 
  22941.  119       ERROR_BAD_DRIVER_LEVEL 
  22942.  163       ERROR_UNCERTAIN_MEDIA 
  22943.  165       ERROR_MONITORS_NOT_SUPPORTED 
  22944.  
  22945.  
  22946. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - Remarks ΓòÉΓòÉΓòÉ
  22947.  
  22948. This function is used to perform the operations specified on the physical drive 
  22949. in this request.  This is similar to the Category 08h commands, except that the 
  22950. I/O is done offset from the beginning of the physical drive instead of from the 
  22951. beginning of the extended volume associated with the unit number (Category 
  22952. 08h). 
  22953.  
  22954. The Track Layout Table passed in the Parameter Packet is used to determine the 
  22955. sector number, which is passed on to the disk controller for the operation.  In 
  22956. cases where the sectors are oddly numbered or are nonconsecutive, this request 
  22957. breaks into n single sector operations and reads one sector at a time. Note 
  22958. also that the device driver does not correctly read a non-512 byte sector if 
  22959. the READ operation would generate a DMA violation error. Applications should be 
  22960. written so that this error does not occur.  The sector table that is specified 
  22961. provides information that is used during the READ track operation. 
  22962.  
  22963.  
  22964. ΓòÉΓòÉΓòÉ <hidden> PDSK_READPHYSTRACK (64h) - ΓòÉΓòÉΓòÉ
  22965.  
  22966. Category: 
  22967.    IOCTL_PHYSICALDISK (09h) 
  22968.  Function: 
  22969.    PDSK_READPHYSTRACK (64h) 
  22970.  Description: 
  22971.    Read Physical Track 
  22972.  
  22973.  Select an item: 
  22974.  
  22975.   Description
  22976.   Parameter Packet Format
  22977.   Data Packet Format
  22978.   Returns
  22979.   Remarks
  22980.  
  22981.  
  22982. ΓòÉΓòÉΓòÉ 16.2.6. PDSK_VERIFYPHYSTRACK (65h) - Verify Physical Track ΓòÉΓòÉΓòÉ
  22983.  
  22984.  
  22985. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - Description ΓòÉΓòÉΓòÉ
  22986.  
  22987. Performs a physical verify track. 
  22988.  
  22989.  
  22990. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - Command Information ΓòÉΓòÉΓòÉ
  22991.  
  22992.  Command Information 
  22993.       A bit field as follows: 
  22994.  
  22995.       Bit 0       If clear (0), the track layout contains non-consecutive 
  22996.                   sectors or does not start with Sector 1.  If set (1), the 
  22997.                   track layout starts with Sector 1 and contains only 
  22998.                   consecutive sectors. 
  22999.  
  23000.       All other bits are reserved and must be set to 0. 
  23001.  
  23002.  
  23003. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - Head ΓòÉΓòÉΓòÉ
  23004.  
  23005.  Head 
  23006.       The physical head on the drive that performs the operation. 
  23007.  
  23008.  
  23009. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - Cylinder ΓòÉΓòÉΓòÉ
  23010.  
  23011.  Cylinder 
  23012.       The cylinder for the verify. 
  23013.  
  23014.  
  23015. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - First Sector ΓòÉΓòÉΓòÉ
  23016.  
  23017.  First Sector 
  23018.       The logical sector number within the Track Layout Table that starts the 
  23019.       I/O operation.  Note that the sector numbers start with 0.  For example, 
  23020.       the third sector is number 2. 
  23021.  
  23022.  
  23023. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - Number of Sectors ΓòÉΓòÉΓòÉ
  23024.  
  23025.  Number of Sectors 
  23026.       The number of sectors to verify (up to the maximum specified in the track 
  23027.       table; the IOCtl subfunctions do not step heads/tracks). 
  23028.  
  23029.  
  23030. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - Track Layout Table ΓòÉΓòÉΓòÉ
  23031.  
  23032.  Track Layout Table 
  23033.       The Track Layout Table is as follows: 
  23034.  
  23035.             ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  23036.             ΓöéField                    ΓöéLength Γöé
  23037.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23038.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  23039.             Γöé1                        Γöé       Γöé
  23040.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23041.             ΓöéSector Size for Sector 1 ΓöéWORD   Γöé
  23042.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23043.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  23044.             Γöé2                        Γöé       Γöé
  23045.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23046.             ΓöéSector Size for Sector 2 ΓöéWORD   Γöé
  23047.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23048.             ΓöéSector Number for Sector ΓöéWORD   Γöé
  23049.             Γöé3                        Γöé       Γöé
  23050.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23051.             ΓöéSector Size for Sector 3 ΓöéWORD   Γöé
  23052.             Γöé   .                     Γöé  .    Γöé
  23053.             Γöé   .                     Γöé  .    Γöé
  23054.             Γöé   .                     Γöé  .    Γöé
  23055.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23056.             ΓöéSector number for Sector ΓöéWORD   Γöé
  23057.             Γöén                        Γöé       Γöé
  23058.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23059.             ΓöéSector size for Sector n ΓöéWORD   Γöé
  23060.             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  23061.  
  23062.  
  23063. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - Parameter Packet Format ΓòÉΓòÉΓòÉ
  23064.  
  23065. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  23066. ΓöéField                   Length     C Datatype  Γöé
  23067. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23068. ΓöéCommand Information     BYTE       BYTE        Γöé
  23069. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23070. ΓöéHead                    WORD       USHORT      Γöé
  23071. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23072. ΓöéCylinder                WORD       USHORT      Γöé
  23073. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23074. ΓöéFirst Sector            WORD       USHORT      Γöé
  23075. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23076. ΓöéNumber of Sectors       WORD       USHORT      Γöé
  23077. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  23078. ΓöéTrack Layout Table      BYTES      BYTE[]      Γöé
  23079. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  23080.  
  23081. Related C Data Structure 
  23082.  
  23083. The TRACKLAYOUT data structure can be used by C programmers. 
  23084.  
  23085. To include this data structure in your file, make sure INCL_DOSDEVIOCTL is 
  23086. defined before you include OS2.H. 
  23087.  
  23088.  
  23089. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - Data Packet Format ΓòÉΓòÉΓòÉ
  23090.  
  23091. None. 
  23092.  
  23093.  
  23094. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - Returns ΓòÉΓòÉΓòÉ
  23095.  
  23096. Possible values are shown in the following list: 
  23097.  
  23098.  0         NO_ERROR 
  23099.  1         ERROR_INVALID_FUNCTION 
  23100.  6         ERROR_INVALID_HANDLE 
  23101.  15        ERROR_INVALID_DRIVE 
  23102.  31        ERROR_GEN_FAILURE 
  23103.  87        ERROR_INVALID_PARAMETER 
  23104.  111       ERROR_BUFFER_OVERFLOW 
  23105.  115       ERROR_PROTECTION_VIOLATION 
  23106.  117       ERROR_INVALID_CATEGORY 
  23107.  119       ERROR_BAD_DRIVER_LEVEL 
  23108.  163       ERROR_UNCERTAIN_MEDIA 
  23109.  165       ERROR_MONITORS_NOT_SUPPORTED 
  23110.  
  23111.  
  23112. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - Remarks ΓòÉΓòÉΓòÉ
  23113.  
  23114. This function is used to perform the operations specified on the physical drive 
  23115. in this request.  This is similar to the Category 08h commands, except that the 
  23116. I/O is done offset from the beginning of the physical drive instead of from the 
  23117. beginning of the extended volume associated with the unit number (Category 
  23118. 08h). 
  23119.  
  23120. The Track Layout Table passed in the Parameter Packet is used to determine the 
  23121. sector number, which is passed on to the disk controller for the operation.  In 
  23122. cases where the sectors are oddly numbered or are non-consecutive, this request 
  23123. breaks into n single sector operations and verifies one sector at a time. The 
  23124. sector table that is specified provides information that is used during the 
  23125. VERIFY track operation. 
  23126.  
  23127.  
  23128. ΓòÉΓòÉΓòÉ <hidden> PDSK_VERIFYPHYSTRACK (65h) - ΓòÉΓòÉΓòÉ
  23129.  
  23130. Category: 
  23131.    IOCTL_PHYSICALDISK (09h) 
  23132.  Function: 
  23133.    PDSK_VERIFYPHYSTRACK (65h) 
  23134.  Description: 
  23135.    Verify Physical Track 
  23136.  
  23137.  Select an item: 
  23138.  
  23139.   Description
  23140.   Parameter Packet Format
  23141.   Data Packet Format
  23142.   Returns
  23143.   Remarks
  23144.  
  23145.  
  23146. ΓòÉΓòÉΓòÉ 17. Sample Source Code for a PSD ΓòÉΓòÉΓòÉ
  23147.  
  23148. The following is the source code for an actual PSD. 
  23149.  
  23150.  
  23151. ΓòÉΓòÉΓòÉ 17.1. Main program ΓòÉΓòÉΓòÉ
  23152.  
  23153.  
  23154. #define INCL_ERROR_H
  23155.  
  23156. #include <os2.h>
  23157. #include <psd.h>
  23158. #include <alr.h>
  23159.  
  23160.  
  23161. extern ulong_t RMP2Available(void);
  23162.  
  23163.  
  23164. /*
  23165.  *  Global Variables
  23166.  */
  23167.  
  23168. P_F_2   router = 0;
  23169. char   *pParmString = 0;
  23170. int     IODelayCount = 30;
  23171. PLMA   *pPSDPLMA = 0;
  23172. ulong_t sizePLMA = 0;
  23173.  
  23174.  
  23175. /***  Disable - Disable interrupts
  23176.  *
  23177.  *    This function disables interrupts, and returns
  23178.  *    the original state of eflags
  23179.  *
  23180.  *    ENTRY   None
  23181.  *
  23182.  *    EXIT    EFLAGS
  23183.  *
  23184.  */
  23185.  
  23186. ulong_t Disable(void) {
  23187.  
  23188.    ulong_t eflags;
  23189.  
  23190.    _asm {
  23191.       pushfd
  23192.       pop   eax
  23193.       mov   eflags,eax
  23194.       cli
  23195.    };
  23196.  
  23197.    return (eflags);
  23198. }
  23199.  
  23200.  
  23201. /***  Enable - Restore the state of eflags
  23202.  *
  23203.  *    This function restores the state of eflags
  23204.  *
  23205.  *    ENTRY   eflags - state of eflags to restore
  23206.  *
  23207.  *    EXIT    None
  23208.  *
  23209.  */
  23210.  
  23211. void Enable(ulong_t eflags) {
  23212.  
  23213.    _asm {
  23214.       push  eflags
  23215.       popfd
  23216.    };
  23217.  
  23218.    return;
  23219. }
  23220.  
  23221.  
  23222.  /***  InByte - Read a byte from a port
  23223.   *
  23224.   *    This function reads a byte from a specified port
  23225.   *
  23226.   *    ENTRY   port - port number to read from
  23227.   *
  23228.   *    EXIT    data read
  23229.   *
  23230.   */
  23231.  
  23232.  ulong_t InByte(ulong_t port) {
  23233.  
  23234.     ulong_t data;
  23235.  
  23236.     _asm {
  23237.        mov   dx,port
  23238.        in    al,dx
  23239.        movzx eax,al
  23240.        mov   data,eax
  23241.     };
  23242.  
  23243.     return (data);
  23244. }
  23245.  
  23246.  
  23247. /***  OutByte - Writes a byte to a port
  23248.  *
  23249.  *    This function writes a byte to a specified port
  23250.  *
  23251.  *    ENTRY   port - port number to read from
  23252.  *            data - data to write
  23253.  *
  23254.  *    EXIT    None
  23255.  *
  23256.  */
  23257.  
  23258. void OutByte(ulong_t port, ulong_t data) {
  23259.  
  23260.    _asm {
  23261.       mov   dx,port
  23262.       mov   al,byte ptr data
  23263.       out   dx,al
  23264.    };
  23265.  
  23266.    return;
  23267. }
  23268.  
  23269.  
  23270. /***  SendEOI - Send an end of interrupt
  23271.  *
  23272.  *    This function sends an end of interrupt.
  23273.  *
  23274.  *    ENTRY   irq - irq level to end
  23275.  *
  23276.  *    EXIT    None
  23277.  *
  23278.  */
  23279.  
  23280. ulong_t SendEOI(ulong_t irq) {
  23281.  
  23282.    ulong_t flags;
  23283.  
  23284.    flags = Disable();
  23285.  
  23286.    if (irq < NUM_IRQ_PER_PIC)
  23287.       OutByte(PIC1_PORT0, OCW2_NON_SPECIFIC_EOI);
  23288.    else {
  23289.       OutByte(PIC2_PORT0, OCW2_NON_SPECIFIC_EOI);
  23290.       IODelay;
  23291.       OutByte(PIC1_PORT0, OCW2_NON_SPECIFIC_EOI);
  23292.    }
  23293.  
  23294.    Enable(flags);
  23295. }
  23296.  
  23297.  
  23298. /***  WHO_AM_I - Returns the current processor number
  23299.  *
  23300.  *    This function returns the current processor number
  23301.  *
  23302.  *    ENTRY   NONE
  23303.  *
  23304.  *    EXIT    Current processor number (P1 or P2)
  23305.  *
  23306.  */
  23307.  
  23308. ulong_t WHO_AM_I (void) {
  23309.    return(InByte(WHO_AM_I_PORT));
  23310. }
  23311.  
  23312.  
  23313. /***  IPIPresent - Detects the presence of an IPI
  23314.  *
  23315.  *    This function detects the presence of an IPI on the current
  23316.  *    processor
  23317.  *
  23318.  *    ENTRY   None
  23319.  *
  23320.  *    EXIT    NO_ERROR - IPI present
  23321.  *            -1       - IPI not present
  23322.  *
  23323.  */
  23324.  
  23325. ulong_t IPIPresent (void) {
  23326.  
  23327.    ulong_t rc = 0;
  23328.    struct control_s ctrl;
  23329.    ulong_t port;
  23330.  
  23331.    port = pPSDPLMA->controlport;
  23332.  
  23333.    ctrl.b_all = InByte(port);
  23334.    if (ctrl.b_387err)
  23335.    {
  23336.       OutByte (0xf0, 0); // The busy latch for NPX must be cleared.
  23337.                          // When we call the interrupt handler
  23338.                          // (w/ Call16bitDD int.asm), ints. are 1st enabled.
  23339.                          // If the busy latch is not cleared, then we
  23340.                          // will take this interrupt in again and will
  23341.                          // eventually nest until the interrupt stack is
  23342.                          // overrun.
  23343.       rc = -1;
  23344.    }
  23345.    return (rc);
  23346. }
  23347.  
  23348.  
  23349. /***  Install - Install PSD
  23350.  *
  23351.  *    This function checks to see if this PSD is installable on the
  23352.  *    current platform.
  23353.  *
  23354.  *    ENTRY   pinstall - pointer to an INSTALL structure
  23355.  *
  23356.  *    EXIT    NO_ERROR - PSD Installed
  23357.  *            -1       - PSD not valid for this platform
  23358.  *
  23359.  */
  23360.  
  23361. ulong_t Install(INSTALL *pinstall) {
  23362.  
  23363.    VMALLOC vmac;
  23364.    int i;
  23365.    char *p;
  23366.    ulong_t rc = 0;
  23367.    char ALR_String =  "PROVEISA";
  23368.  
  23369. // _asm int 3;
  23370.  
  23371.    /* Setup Global variables */
  23372.  
  23373.    router = pinstall->pPSDHlpRouter;
  23374.    pParmString = pinstall->pParmString;
  23375.    pPSDPLMA = (void *)pinstall->pPSDPLMA;
  23376.    sizePLMA = pinstall->sizePLMA;
  23377.  
  23378.    vmac.addr = BIOS_SEG << 4;
  23379.    vmac.cbsize = _64K;
  23380.    vmac.flags = VMALLOC_PHYS;
  23381.  
  23382.    /* Map BIOS area */
  23383.  
  23384.    if ((rc = PSDHelp(router, PSDHLP_VMALLOC, &vmac)) == NO_ERROR) {
  23385.  
  23386.       /* Check for ALR string */
  23387.  
  23388.       p = (char *)vmac.addr + ALR_STRING_OFFSET;
  23389.  
  23390.       for (i = 0; ALR_String i != '\0'; i++)
  23391.          if (p i  != ALR_String i) {
  23392.             rc = -1;
  23393.             break;
  23394.          }
  23395.  
  23396.       /* Free BIOS mapping */
  23397.  
  23398.       PSDHelp(router, PSDHLP_VMFREE, vmac.addr);
  23399.    }
  23400.  
  23401.    return (rc);
  23402. }
  23403.  
  23404.  
  23405. /***  DeInstall - DeInstall PSD
  23406.  *
  23407.  *    This function deinstalls the PSD.
  23408.  *
  23409.  *    ENTRY   None
  23410.  *
  23411.  *    EXIT    NO_ERROR
  23412.  *
  23413.  */
  23414.  
  23415. ulong_t DeInstall(void) {
  23416.  
  23417.    return (NO_ERROR);
  23418. }
  23419.  
  23420.  
  23421. /***  Init - Initialize the PSD
  23422.  *
  23423.  *    This function initializes the PSD.
  23424.  *
  23425.  *    ENTRY   None
  23426.  *
  23427.  *    EXIT    NO_ERROR - PSD initialized
  23428.  *            -1       - PSD not initialized
  23429.  *
  23430.  */
  23431.  
  23432. ulong_t Init(INIT *pinit) {
  23433.  
  23434.    struct control_s ctrl;
  23435.    SET_IRQ set_irq;
  23436.  
  23437.  
  23438.    /* Initialize P1 control port */
  23439.  
  23440.    ctrl.b_all = 0;
  23441.    ctrl.b_cacheon = 1;
  23442.  
  23443.  
  23444.    OutByte(P1_PROCESSOR_CONTROL_PORT, ctrl.b_all);
  23445.  
  23446.    /* Setup P2 interrupt vector */
  23447.  
  23448.    OutByte(P2_INTERRUPT_VECTOR_CONTROL_PORT, IPI_VECTOR);
  23449.  
  23450.    /* Setup IPI info */
  23451.  
  23452.    set_irq.irq = 13;
  23453.    set_irq.flags = IRQf_IPI;
  23454.    set_irq.vector = 0;
  23455.    set_irq.handler = (P_F_2)IPIPresent;
  23456.  
  23457.    PSDHelp(router, PSDHLP_SET_IRQ, &set_irq);
  23458.  
  23459.    /* Fill init structure */
  23460.  
  23461.    pinit->flags = INIT_EOI_IRQ13_ON_CPU0;           //76422
  23462.    pinit->version = VERSION;
  23463.  
  23464.    return (NO_ERROR);
  23465. }
  23466.  
  23467.  
  23468. /***  ProcInit - Processor initialization
  23469.  *
  23470.  *    This function initializes per processor items.
  23471.  *
  23472.  *    NOTE: This function is called once on each processor
  23473.  *          in the system.
  23474.  *
  23475.  *    ENTRY   None
  23476.  *
  23477.  *    EXIT    NO_ERROR - Processor initialized
  23478.  *            -1       - Processor not initialized
  23479.  *
  23480.  */
  23481.  
  23482. ulong_t ProcInit(void) {
  23483.  
  23484.    if (WHO_AM_I() == P1) {
  23485.       pPSDPLMA->procnum = 0;
  23486.       pPSDPLMA->controlport = P1_PROCESSOR_CONTROL_PORT;
  23487.    }
  23488.    else {
  23489.       pPSDPLMA->procnum = 1;
  23490.       pPSDPLMA->controlport = P2_PROCESSOR_CONTROL_PORT;
  23491.    }
  23492.  
  23493.    return (NO_ERROR);
  23494. }
  23495.  
  23496.  
  23497. /***  StartProcessor - Start a processor
  23498.  *
  23499.  *    This function starts a processor.
  23500.  *
  23501.  *    ENTRY   procnum - processor number to start (0-based)
  23502.  *
  23503.  *    EXIT    Return Code
  23504.  *
  23505.  */
  23506.  
  23507. ulong_t StartProcessor(ulong_t procnum) {
  23508.  
  23509.    CALL_REAL_MODE rm;
  23510.    struct control_s ctrl;
  23511.    ulong_t rc = -1;
  23512.  
  23513.  
  23514.    if (procnum == 1) {
  23515.  
  23516.       rm.function = (ulong_t)&RMP2Available;
  23517.       rm.pdata = 0;
  23518.  
  23519.       rc = PSDHelp(router, PSDHLP_CALL_REAL_MODE, &rm);
  23520.  
  23521.       if (rc & P2_AVAILABLE) {
  23522.  
  23523.          /* Dispatch P2 */
  23524.  
  23525.          ctrl.b_all = 0;
  23526.          ctrl.b_cacheon = 1;
  23527.  
  23528.          OutByte(P2_PROCESSOR_CONTROL_PORT, ctrl.b_all);
  23529.          rc = NO_ERROR;
  23530.       }
  23531.       else
  23532.          rc = -1;
  23533.    }
  23534.  
  23535.    return (rc);
  23536. }
  23537.  
  23538.  
  23539. /***  GetNumOfProcs - Get number of processors
  23540.  *
  23541.  *    This function gets the number of processors which exist on this
  23542.  *    platform.
  23543.  *
  23544.  *    ENTRY   None
  23545.  *
  23546.  *    EXIT    Number of processors
  23547.  *
  23548.  */
  23549.  
  23550. ulong_t GetNumOfProcs(void) {
  23551.  
  23552.    ulong_t cprocs = 2;
  23553.  
  23554.    return (cprocs);
  23555. }
  23556.  
  23557.  
  23558. /***  GenIPI - Generate an inter-processor interrupt
  23559.  *
  23560.  *    This function generates an IPI.
  23561.  *
  23562.  *    ENTRY   procnum - processor number to interrupt (0-based)
  23563.  *
  23564.  *    EXIT    NO_ERROR
  23565.  *
  23566.  */
  23567.  
  23568. ulong_t GenIPI(ulong_t procnum) {
  23569.  
  23570.    struct control_s ctrl;
  23571.    ulong_t port;
  23572.  
  23573.  
  23574.    if (procnum == 0)
  23575.       port = P1_PROCESSOR_CONTROL_PORT;
  23576.    else
  23577.       port = P2_PROCESSOR_CONTROL_PORT;
  23578.  
  23579.  
  23580.    ctrl.b_all = InByte(port);
  23581.    ctrl.b_pint = 1;
  23582.  
  23583.    OutByte(port, ctrl.b_all);
  23584.  
  23585.    return (NO_ERROR);
  23586. }
  23587.  
  23588.  
  23589. /***  EndIPI - End an inter-processor interrupt
  23590.  *
  23591.  *    This function ends an IPI.
  23592.  *
  23593.  *    ENTRY   procnum - processor number to end interrupt on (0-based)
  23594.  *
  23595.  *    EXIT    NO_ERROR
  23596.  *
  23597.  */
  23598.  
  23599. ulong_t EndIPI(ulong_t procnum) {
  23600.  
  23601.    struct control_s ctrl;
  23602.    ulong_t port;
  23603.  
  23604.    if (procnum == 0)
  23605.       port = P1_PROCESSOR_CONTROL_PORT;
  23606.    else
  23607.       port = P2_PROCESSOR_CONTROL_PORT;
  23608.  
  23609.    ctrl.b_all = InByte(port);
  23610.    ctrl.b_pint = 0;
  23611.  
  23612.    OutByte(port, ctrl.b_all);
  23613.  
  23614.    if (procnum == 0)
  23615.       SendEOI(IPI_IRQ);
  23616.  
  23617.    return (NO_ERROR);
  23618. }
  23619.  
  23620.  
  23621. ΓòÉΓòÉΓòÉ 17.2. Entry stub ΓòÉΓòÉΓòÉ
  23622.  
  23623. .386
  23624.  
  23625. _TEXT SEGMENT
  23626.  
  23627. ASSUME CS:_TEXT,DS:NOTHING
  23628.  
  23629.       PUBLIC  _RMP2Available
  23630.  
  23631. _RMP2Available PROC
  23632.  
  23633.       mov   ah,0E2h
  23634.       mov   al,0
  23635.       int   15h
  23636.       movzx eax,ax
  23637.       retf
  23638.  
  23639. _RMP2Available ENDP
  23640.  
  23641. _TEXT ENDS
  23642.  
  23643. END
  23644.  
  23645.  
  23646. ΓòÉΓòÉΓòÉ 17.3. PSD.H ΓòÉΓòÉΓòÉ
  23647.  
  23648. /*static char *SCCSID = "@(#)psd.h 1.0 93/18/08";*/
  23649.  
  23650.  
  23651. // XLATOFF
  23652.  
  23653. #ifndef ulong_t
  23654.  
  23655. typedef unsigned long   ulong_t;
  23656. typedef unsigned short  ushort_t;
  23657. typedef unsigned char   uchar_t;
  23658.  
  23659. #endif
  23660.  
  23661. typedef int (*P_F_1)(ulong_t arg);
  23662. typedef int (*P_F_2)(ulong_t arg1, ulong_t arg2);
  23663.  
  23664. #define PSDHelp(router, function, arg) \
  23665.    ((*router)((function), (ulong_t)(arg)))
  23666.  
  23667. // XLATON
  23668. /* ASM
  23669. P_F_1 struc
  23670. dd ?
  23671. P_F_1 ends
  23672. P_F_2 struc
  23673. dd ?
  23674. P_F_2 ends
  23675. */
  23676.  
  23677.  
  23678. #define WARM_REBOOT_VECTOR_SEG  0x40
  23679. #define WARM_REBOOT_VECTOR_OFF  0x67
  23680.  
  23681.  
  23682. /* PSD Info structure */
  23683.  
  23684. typedef struct info_s {                     /* psd */
  23685.    ulong_t  flags;                          /* PSD flags */
  23686.    ulong_t  version;                        /* PSD version */
  23687.    ulong_t  hmte;                           /* MTE handle of PSD */
  23688.    uchar_t *pParmString;                    /* Pointer to ASCIIZ PSD parameter*/
  23689.    ulong_t  IRQ_IPI;                        /* IRQ for IPI */
  23690.    ulong_t  IRQ_LSI;                        /* IRQ for LSI */
  23691.    ulong_t  IRQ_SPI;                        /* IRQ for SPI */
  23692. } PSDINFO;
  23693.  
  23694.  
  23695. /* PSD flags definition */
  23696.  
  23697. #define PSD_ADV_INT_MODE        0x20000000  /* PSD is in adv int mode #81531 */
  23698. #define PSD_INSTALLED           0x40000000  /* PSD has been installed */
  23699. #define PSD_INITIALIZED         0x80000000  /* PSD has been initialized */
  23700.  
  23701. /* PSD function numbers-structures */
  23702.  
  23703. #define PSD_INSTALL             0x00000000  /* Install PSD */
  23704.  
  23705. typedef struct install_s {                  /* install */
  23706.    P_F_2   pPSDHlpRouter;                   /* Address of PSDHlpRouter */
  23707.    char   *pParmString;                     /* Pointer to parameter string */
  23708.    void   *pPSDPLMA;                        /* Pointer to PSD's PLMA */
  23709.    ulong_t sizePLMA;                        /* Size of PLMA in bytes */
  23710. } INSTALL;
  23711.  
  23712. #define PSD_DEINSTALL           0x00000001  /* DeInstall PSD */
  23713.  
  23714. #define PSD_INIT                0x00000002  /* Initialize PSD */
  23715.  
  23716. typedef struct init_s {                     /* init */
  23717.    ulong_t flags;                           /* Init flags */
  23718.    ulong_t version;                         /* PSD Version number */
  23719. } INIT;
  23720.  
  23721. #define INIT_GLOBAL_IRQ_ACCESS  0x00000001  /* Platform has global IRQ access */
  23722. #define INIT_USE_FPERR_TRAP     0x00000002  /* Use Trap 16 to report FP err's */
  23723. #define INIT_EOI_IRQ13_ON_CPU0  0x00000004  /* eoi IRQ 13 only if on cpu 0    */
  23724. #define INIT_TIMER_CPU0         0x00000008  /* system timer is on CPU 0       */
  23725.  
  23726. #define PSD_PROC_INIT           0x00000003  /* Initialize processor */
  23727.  
  23728. #define PSD_START_PROC          0x00000004  /* Start processor */
  23729.  
  23730. #define PSD_GET_NUM_OF_PROCS    0x00000005  /* Get number of processors */
  23731.  
  23732. #define PSD_GEN_IPI             0x00000006  /* Generate an IPI */
  23733.  
  23734. #define PSD_END_IPI             0x00000007  /* End an IPI */
  23735.  
  23736. #define PSD_PORT_IO             0x00000008  /* Port I/O */
  23737.  
  23738. typedef struct port_io_s {                  /* port_io */
  23739.    ulong_t port;                            /* Port number to access */
  23740.    ulong_t data;                            /* Data read, or data to write */
  23741.    ulong_t flags;                           /* IO Flags */
  23742. } PORT_IO;
  23743.  
  23744. #define IO_READ_BYTE    0x0000              /* Read a byte from the port */
  23745. #define IO_READ_WORD    0x0001              /* Read a word from the port */
  23746. #define IO_READ_DWORD   0x0002              /* Read a dword from the port */
  23747. #define IO_WRITE_BYTE   0x0003              /* Write a byte to the port */
  23748. #define IO_WRITE_WORD   0x0004              /* Write a word to the port */
  23749. #define IO_WRITE_DWORD  0x0005              /* Write a dword to the port */
  23750.  
  23751. #define IO_FLAGMASK     0x0007              /* Flag mask */
  23752.  
  23753. #define PSD_IRQ_MASK            0x00000009  /* Mask/Unmask IRQ levels */
  23754.  
  23755. typedef struct psd_irq_s {                  /* psd_irq */
  23756.    ulong_t flags;                           /* IRQ flags */
  23757.    ulong_t data;                            /* IRQ data */
  23758.                                             /*   depending on type of irq */
  23759.                                             /*   operation, the data field */
  23760.                                             /*   can contain any of the */
  23761.                                             /*   following info: */
  23762.                                             /*   1) Mask or UNMasking data */
  23763.                                             /*   2) IRR or ISR reg values */
  23764.                                             /*   3) IRQ # for EOI operations */
  23765.    ulong_t procnum;                         /* Processor number */
  23766. } PSD_IRQ;
  23767.  
  23768. #define PSD_IRQ_REG             0x0000000A  /* Access IRQ related regs */
  23769.  
  23770. #define PSD_IRQ_EOI             0x0000000B  /* Issue an EOI */
  23771.  
  23772. #define IRQ_MASK                0x00000001  /* Turn on IRQ mask bits */
  23773. #define IRQ_UNMASK              0x00000002  /* Turn off IRQ mask bits */
  23774. #define IRQ_GETMASK             0x00000004  /* Get IRQ mask bits */
  23775. #define IRQ_NEWMASK             0x00000010  /* Set and/or Reset all masks */
  23776. #define IRQ_READ_IRR            0x00000100  /* Read the IRR reg */
  23777. #define IRQ_READ_ISR            0x00000200  /* Read the ISR reg */
  23778.  
  23779. #define PSD_APP_COMM            0x0000000C  /* PSD/APP Communication */
  23780.  
  23781. #define PSD_SET_ADV_INT_MODE    0x0000000D  /* Set advanced int mode */
  23782.  
  23783. #define PSD_SET_PROC_STATE      0x0000000E  /* Set proc state; idle, or busy */
  23784.  
  23785. #define PROC_STATE_IDLE         0x00000000  /* Processor is idle */
  23786. #define PROC_STATE_BUSY         0x00000001  /* Processor is busy */
  23787.  
  23788. #define PSD_QUERY_SYSTEM_TIMER  0x0000000F  /* Query Value of System Timer 0 */
  23789.  
  23790. typedef struct psd_qrytmr_s {               /* psd_qrytmr */
  23791.    ulong_t qw_ulLo_psd;                     /* Timer count */
  23792.    ulong_t qw_ulHi_psd;                     /* Timer count */
  23793.    ulong_t pqwTmr;                          /* 16:16 ptr to qwTmr */
  23794. } PSD_QRYTMR;
  23795.  
  23796. #define PSD_SET_SYSTEM_TIMER    0x00000010  /* Set System Timer 0 counter    */
  23797.  
  23798. typedef struct psd_settmr_s {               /* psd_settmr */
  23799.    ulong_t NewRollOver;                     /* NewRollover*/
  23800.    ulong_t pqwTmrRollover;                  /* 16:16 ptr to qwTmrRollover */
  23801. } PSD_SETTMR;
  23802.  
  23803. /* PSD helper function numbers-structures */
  23804.  
  23805. #define PSDHLP_VMALLOC          0x00000000  /* Allocate memory */
  23806.  
  23807. typedef struct vmalloc_s {                  /* vmalloc */
  23808.    ulong_t addr;                            /* Physical address to map */
  23809.                                             /*  if VMALLOC_PHYS */
  23810.                                             /* Lin addr to alloc at */
  23811.                                             /*  if VMALLOC_LOCSPECIFIC */
  23812.                                             /* on return, addr of allocation */
  23813.    ulong_t cbsize;                          /* Size of mapping in bytes */
  23814.    ulong_t flags;                           /* Allocation flags */
  23815. } VMALLOC;
  23816.  
  23817. #define VMALLOC_FIXED           0x00000001  /* Allocate resident memory */
  23818. #define VMALLOC_CONTIG          0x00000002  /* Allocate contiguous memory */
  23819. #define VMALLOC_LOCSPECIFIC     0x00000004  /* Alloc at a specific lin address */
  23820. #define VMALLOC_PHYS            0x00000008  /* Map physical address */
  23821. #define VMALLOC_1M              0x00000010  /* Allocate below 1M */
  23822.  
  23823. #define VMALLOC_FLAGMASK        0x0000001f  /* Valid flag mask */
  23824.  
  23825. #define PSDHLP_VMFREE           0x00000001  /* Free memory */
  23826.  
  23827. #define PSDHLP_SET_IRQ          0x00000002  /* Set up an IRQ */
  23828.  
  23829. typedef struct set_irq_s {                  /* set_irq */
  23830.    ushort_t irq;                            /* IRQ level */
  23831.    ushort_t flags;                          /* Set IRQ flags */
  23832.    ulong_t  vector;                         /* IRQ interrupt vector */
  23833.    P_F_2    handler;                        /* IRQ handler */
  23834. } SET_IRQ;
  23835.  
  23836. #define IRQf_IPI  0x0020                    /* IRQ for IPI */
  23837. #define IRQf_LSI  0x0040                    /* IRQ for LSI */
  23838. #define IRQf_SPI  0x0080                    /* IRQ for SPI */
  23839.  
  23840. #define PSDHLP_CALL_REAL_MODE   0x00000003  /* Call a function in real mode */
  23841.  
  23842. typedef struct call_real_mode_s {           /* call_real_mode */
  23843.    ulong_t function;                        /* Function address */
  23844.    ulong_t pdata;                           /* Pointer to data area */
  23845. } CALL_REAL_MODE;
  23846.  
  23847. #define PSDHLP_VMLINTOPHYS      0x00000004  /* Convert linear addr to phys */
  23848.  
  23849. #define PSDHLP_ADJ_PG_RANGES    0x00000005  /* Adjust page ranges */
  23850.  
  23851. typedef struct _pagerange_s {               /* pagerange */
  23852.    ulong_t lastframe;                       /* Last valid page in range */
  23853.    ulong_t firstframe;                      /* First valid page in range */
  23854. };
  23855.  
  23856. typedef struct adj_pg_ranges_s{             /* adj_pg_ranges */
  23857.    struct _pagerange_s *pprt;               /* Pointer to page range table */
  23858.    ulong_t nranges;                         /* Num of ranges in range table */
  23859. } ADJ_PG_RANGES;
  23860.  
  23861. /* PSD function prototypes */
  23862.  
  23863. extern void PSDEnter (ulong_t function, ulong_t arg, P_F_2 altEntry);
  23864.  
  23865.  
  23866. ΓòÉΓòÉΓòÉ 17.4. Specific header ΓòÉΓòÉΓòÉ
  23867.  
  23868.  
  23869. /*
  23870.  * Miscellaneous
  23871.  */
  23872.  
  23873. #define VERSION   0x00000010
  23874.  
  23875. #define _64K      (64 * 1024)
  23876.  
  23877. #define BIOS_SEG             0xF000
  23878. #define ALR_STRING_OFFSET   0xEC47
  23879.  
  23880. #define P2_AVAILABLE         0x00008000
  23881.  
  23882.  
  23883. /*
  23884.  * PLMA structure
  23885.  */
  23886.  
  23887. typedef struct plma_s {
  23888.    ulong_t procnum;       /* Current processor number (0-based) */
  23889.    ulong_t controlport;   /* Control port for current processor */
  23890. } PLMA;
  23891.  
  23892.  
  23893. /*
  23894.  * Generate delay between I/O instructions
  23895.  */
  23896.  
  23897. #define IODelay {int i; for(i = 0; i < IODelayCount; i++); }
  23898.  
  23899.  
  23900. /*
  23901.  * IPI info
  23902.  */
  23903.  
  23904. #define IPI_IRQ     0x0d      /* IRQ level for IPI */
  23905. #define IPI_VECTOR  0x75      /* Vector number for IPI */
  23906.  
  23907.  
  23908. /*
  23909.  * PIC Info
  23910.  */
  23911.  
  23912. #define NUM_IRQ_PER_PIC         0x08
  23913. #define OCW2_NON_SPECIFIC_EOI   0x20
  23914. #define PIC1_PORT0              0x20
  23915. #define PIC1_PORT1              0x21
  23916. #define PIC2_PORT0              0xA0
  23917. #define PIC2_PORT1              0xA1
  23918.  
  23919.  
  23920. /*
  23921.  * The contents of the WHO_AM_I port (read-only) can be used
  23922.  * by code to determine which processor we are currently on
  23923.  */
  23924.  
  23925. #define WHO_AM_I_PORT  0xC70
  23926. #define P1             0x00
  23927. #define P2             0xF0
  23928.  
  23929.  
  23930. /*
  23931.  * The processor control port contains the bits used to control
  23932.  * various functions of the associated processor
  23933.  */
  23934.  
  23935. #define P1_PROCESSOR_CONTROL_PORT  0x0C6A
  23936. #define P2_PROCESSOR_CONTROL_PORT  0xFC6A
  23937.  
  23938. struct _b_control_s {
  23939.    ulong_t _reset:1,      /* RESET - (Not implemented for P1) */
  23940.                           /*  1 = Resets processor */
  23941.  
  23942.            _387pres:1,    /* 387PRES - (Read only) */
  23943.                           /*  0 = 80387 is not installed */
  23944.                           /*  1 = 80387 is installed */
  23945.  
  23946.            _cacheon:1,    /* CACHEON - (Not implemented for P1) */
  23947.                           /*  0 = Disables cache */
  23948.                           /*  1 = Enables cache */
  23949.  
  23950.            _mbusaccess:1, /* M Bus Access (Not implemented for P1) */
  23951.                           /*  0 = Allows the processor to gain */
  23952.                           /*      control of the memory bus */
  23953.                           /*  1 = Prohibits the processor from gaining */
  23954.                           /*      access to the memory bus. The */
  23955.                           /*      processor can execute instructions */
  23956.                           /*      from its cache; however, cache read */
  23957.                           /*      misses, I/O, and writes cause the */
  23958.                           /*      processor to cease executing */
  23959.                           /*      instructions until the bit becomes */
  23960.                           /*      a "0" */
  23961.  
  23962.            _flush:1,      /* FLUSH */
  23963.                           /*  Writing a "1" to this bit followed by a "0" */
  23964.                           /*  causes invalidation of all cache address */
  23965.                           /*  information */
  23966.  
  23967.            _387err:1,     /* 387ERR */
  23968.                           /*  0 = No 80387 error */
  23969.                           /*  0 = An 80387 error has occurred. This bit */
  23970.                           /*      must be cleared by software */
  23971.  
  23972.            _pint:1,       /* PINT */
  23973.                           /*  A low-to-high transition of this bit causes */
  23974.                           /*  an interrupt. This bit must be cleared by  */
  23975.                           /*  software, preferably by the interrupt service */
  23976.                           /*  routine. On P2, the value stored in FC68h */
  23977.                           /*  contains the interrupt number. P1 is always */
  23978.                           /*  interrupted with IRQ13 */
  23979.  
  23980.            _intdis:1,     /* INTDIS */
  23981.                           /*  When set to "1", this bit disables interrupts */
  23982.                           /*  sent to the processor by way of the PINT bit. */
  23983.                           /*  The PINT bit can still be changed when */
  23984.                           /*  interrupts are disabled; however, the */
  23985.                           /*  low-to-high transition is not seen by the */
  23986.                           /*  processor until the INTDIS bit is made inactive */
  23987.            _pad:24;
  23988. };
  23989.  
  23990. struct _l_control_s {     /* to treat control as an unsigned long */
  23991.     unsigned long _long;
  23992. };
  23993.  
  23994. union _control_u {
  23995.     struct _b_control_s b_control_s;
  23996.     struct _l_control_s l_control_s;
  23997. };
  23998.  
  23999. struct control_s {
  24000.     union _control_u control_u;
  24001. };
  24002.  
  24003. #define b_reset       control_u.b_control_s._reset
  24004. #define b_387pres     control_u.b_control_s._387pres
  24005. #define b_cacheon     control_u.b_control_s._cacheon
  24006. #define b_mbusaccess  control_u.b_control_s._mbusaccess
  24007. #define b_flush       control_u.b_control_s._flush
  24008. #define b_387err      control_u.b_control_s._387err
  24009. #define b_pint        control_u.b_control_s._pint
  24010. #define b_intdis      control_u.b_control_s._intdis
  24011. #define b_all         control_u.l_control_s._long
  24012.  
  24013.  
  24014. /*
  24015.  * The interrupt vector control port contains the 8-bit interrupt
  24016.  * number that is executed when the PINT bit transitions from "0"
  24017.  * to "1". This vector is only used for P2. P1 is always interrupted
  24018.  * with IRQ 13.
  24019.  */
  24020.  
  24021. #define P2_INTERRUPT_VECTOR_CONTROL_PORT 0xFC68
  24022.  
  24023.  
  24024. /*
  24025.  * The following ports contain the EISA identification of the
  24026.  * system processor boards
  24027.  */
  24028.  
  24029. #define COMPAQ_ID1  0x0000000E
  24030. #define COMPAQ_ID2  0x00000011
  24031.  
  24032. #define P1_EISA_PRODUCT_ID_PORT1  0x0C80  /* Compressed COMPAQ ID - OEh */
  24033. #define P1_EISA_PRODUCT_ID_PORT2  0x0C81  /*                        11h */
  24034. #define P1_EISA_PRODUCT_ID_PORT3  0x0C82  /* Product code for the proc board */
  24035. #define P1_EISA_PRODUCT_ID_PORT4  0x0C83  /* Revision number */
  24036.  
  24037. #define P2_EISA_PRODUCT_ID_PORT1  0xFC80  /* Compressed COMPAQ ID - OEh */
  24038. #define P2_EISA_PRODUCT_ID_PORT2  0xFC81  /*                        11h */
  24039. #define P2_EISA_PRODUCT_ID_PORT3  0xFC82  /* Product code for the proc board */
  24040. #define P2_EISA_PRODUCT_ID_PORT4  0xFC83  /* Revision number */
  24041.  
  24042. /*
  24043.  * Any write to The RAM Relocation Register (memory mapped)
  24044.  * will flush the caches of both P1 and P2
  24045.  */
  24046.  
  24047. #define RAM_RELOCATION_REGISTER       0x80C00000
  24048.  
  24049.  
  24050. /*
  24051.  * The P1 Cache Control Register (memory mapped)
  24052.  */
  24053.  
  24054. #define P1_CACHE_CONTROL_REGISTER     0x80C00002
  24055.  
  24056. struct p1cache_s {
  24057.    ulong_t _reserved1:6,
  24058.            _p1cc:1,       /* P1 Cache Control */
  24059.                           /*  0 = Disables P1 cache */
  24060.                           /*  1 = Enables P1 cache */
  24061.            _reserved2:9;
  24062. };
  24063.  
  24064.  
  24065. /*
  24066.  * Expanision board control ports
  24067.  */
  24068.  
  24069. #define P1_EISA_EXPANSION_BOARD_CONTROL  0x0C84
  24070. #define P2_EISA_EXPANSION_BOARD_CONTROL  0xFC84
  24071.  
  24072.  
  24073. ΓòÉΓòÉΓòÉ 17.5. Makefile ΓòÉΓòÉΓòÉ
  24074.  
  24075. # SCCSID = @(#)makefile 6.7 92/06/03
  24076.  
  24077. #/***********************************************************************/
  24078. #/*                                                                     */
  24079. #/* PSD Name: ALR.PSD - ALR PSD                                         */
  24080. #/*           -----------------------------------                       */
  24081. #/*                                                                     */
  24082. #/* Source File Name: MAKEFILE                                          */
  24083. #/*                                                                     */
  24084. #/* Descriptive Name: MAKEFILE for the ALR PSD                          */
  24085. #/*                                                                     */
  24086. #/* Function:                                                           */
  24087. #/*                                                                     */
  24088. #/*                                                                     */
  24089. #/*---------------------------------------------------------------------*/
  24090. #/*                                                                     */
  24091. #/* Copyright (C) 1992 IBM Corporation                                  */
  24092. #/*                                                                     */
  24093. #/* DISCLAIMER OF WARRANTIES.  The following enclosed code is           */
  24094. #/* provided to you solely for the purpose of assisting you in          */
  24095. #/* the development of your applications. The code is provided          */
  24096. #/* "AS IS", without warranty of any kind. IBM shall not be liable      */
  24097. #/* for any damages arising out of your use of this code, even if       */
  24098. #/* they have been advised of the possibility of such damages.          */
  24099. #/*                                                                     */
  24100. #/*---------------------------------------------------------------------*/
  24101. #/*                                                                     */
  24102. #/* Change Log                                                          */
  24103. #/*                                                                     */
  24104. #/* Mark    Date      Programmer  Comment                               */
  24105. #/* ----    ----      ----------  -------                               */
  24106. #/* @nnnn   mm/dd/yy  NNN                                               */
  24107. #/*                                                                     */
  24108. #/*                                                                     */
  24109. #/***********************************************************************/
  24110.  
  24111. # ******  NOTE  ******
  24112. #
  24113. #       If you are using a SED command with TAB characters, many editors
  24114. #       will expand tabs causing unpredictable results in other programs.
  24115. #
  24116. #       Documentation:
  24117. #
  24118. #       Using SED command with TABS. Besure to invoke set tab save option
  24119. #       on your editor. If you don't, the program 'xyz' will not work
  24120. #       correctly.
  24121. #
  24122.  
  24123. #****************************************************************************
  24124. #  Dot directive definition area (usually just suffixes)
  24125. #****************************************************************************
  24126.  
  24127. .SUFFIXES:
  24128. .SUFFIXES: .com .sys .exe .obj .mbj .asm .inc .def .lnk .lrf .crf .ref
  24129. .SUFFIXES: .lst .sym .map .c .h .lib
  24130.  
  24131. #****************************************************************************
  24132. #  Environment Setup for the component(s).
  24133. #****************************************************************************
  24134.  
  24135. #
  24136. # Conditional Setup Area and User Defined Macros
  24137. #
  24138.  
  24139. #
  24140. # Compiler Location w/ includes, libs and tools
  24141. #
  24142.  
  24143. INC    = ..\..\..\inc
  24144. H      = ..\..\..\h
  24145. LIB    = ..\..\..\lib386;..\..\..\lib
  24146. TOOLSPATH = ..\..\..\tools
  24147.  
  24148. #
  24149. # Because the compiler/linker and other tools use environment
  24150. # variables ( INCLUDE, LIB, etc ) in order to get the location of files,
  24151. # the following line will check the environment for the LIFE of the
  24152. # makefile and will be specific to this set of instructions. All MAKEFILES
  24153. # are requested to use this format to insure that they are using the correct
  24154. # level of files and tools.
  24155. #
  24156.  
  24157. !if set INCLUDE=$(INC) || \
  24158.     set LIB=$(LIB) || set PATH=$(TOOLSPATH);$(DK_TOOLS)
  24159. !endif
  24160.  
  24161.  
  24162. #
  24163. # Compiler/tools Macros
  24164. #
  24165.  
  24166. AS=masm
  24167. CC=cl386
  24168. IMPLIB=implib
  24169. IPF=ipfc
  24170. LIBUTIL=lib
  24171. LINK=link386
  24172. MAPSYM=mapsym
  24173. RC=rc
  24174.  
  24175. #
  24176. # Compiler and Linker Options
  24177. #
  24178.  
  24179. AFLAGS = -MX -T -Z $(ENV)
  24180. AINC   = -I. -I$(INC)
  24181. CINC   = -I$(H) -I$(MAKEDIR)
  24182. CFLAGS = /c /Zp /Gs /AS $(ENV)
  24183. LFLAGS = /map /nod /exepack
  24184.  
  24185. LIBS = os2386.lib
  24186. DEF = ALR.def
  24187.  
  24188. #****************************************************************************
  24189. # Set up Macros that will contain all the different dependencies for the
  24190. # executables and dlls etc. that are generated.
  24191. #****************************************************************************
  24192.  
  24193. #
  24194. #
  24195. #
  24196. OBJ1 =  entry.obj main.obj
  24197.  
  24198. #
  24199. #       LIST Files
  24200. #
  24201. LIST =
  24202.  
  24203. OBJS = $(OBJ1)
  24204.  
  24205. #****************************************************************************
  24206. #   Setup the inference rules for compiling and assembling source code to
  24207. #   object code.
  24208. #****************************************************************************
  24209.  
  24210.  
  24211. .asm.obj:
  24212.         $(AS) $(AFLAGS) $(AINC) $*.asm;
  24213.  
  24214. .asm.mbj:
  24215.         $(AS) $(AFLAGS) -DMMIOPH $(AINC) $*.asm $*.mbj;
  24216.  
  24217. .asm.lst:
  24218.         $(AS) -l -n $(AFLAGS) $(AINC) $*.asm;
  24219.  
  24220. .c.obj:
  24221.         $(CC) $(CFLAGS) $(CINC) $*.c
  24222.  
  24223. .c.lst:
  24224.         $(CC) $(CFLAGS) /Fc $(CINC) $*.c
  24225.         copy $*.cod $*.lst
  24226.         del $*.cod
  24227.  
  24228.  
  24229. #****************************************************************************
  24230. #   Target Information
  24231. #****************************************************************************
  24232. #
  24233. # This is a very important step. The following small amount of code MUST
  24234. # NOT be removed from the program. The following directive will do
  24235. # dependency checking every time this component is built UNLESS the
  24236. # following is performed:
  24237. #               A specific tag is used -- ie. all
  24238. #
  24239. # This allows the developer as well as the B & I group to perform incremental
  24240. # build with a degree of accuracy that has not been used before.
  24241. # There are some instances where certain types of INCLUDE files must be
  24242. # created first. This type of format will allow the developer to require
  24243. # that file to be created first. In order to achieve that, all that has to
  24244. # be done is to make the DEPEND.MAK tag have your required target. Below is
  24245. # an example:
  24246. #
  24247. #    depend.mak:   { your file(s) } dephold
  24248. #
  24249. # Please DON'T remove the following line
  24250. #
  24251.  
  24252. !include      "$(H)\common.mak"
  24253. !include      "$(H)\version.mak"
  24254.  
  24255. #
  24256. # Should be the default tag for all general processing
  24257. #
  24258.  
  24259. all:    ALR.psd
  24260.  
  24261. list: $(LIST)
  24262.  
  24263. clean:
  24264.         if exist *.lnk  del *.lnk
  24265.         if exist *.obj  del *.obj
  24266.         if exist *.mbj  del *.mbj
  24267.         if exist *.map  del *.map
  24268.         if exist *.old  del *.old
  24269.         if exist *.lst  del *.lst
  24270.         if exist *.lsd  del *.lsd
  24271.         if exist *.sym  del *.sym
  24272.         if exist *.sys  del *.sys
  24273.  
  24274.  
  24275.  
  24276.  
  24277. #*****************************************************************************
  24278. #   Specific Description Block Information
  24279. #*****************************************************************************
  24280.  
  24281. # This section would only be for specific direction as to how to create
  24282. # unique elements that are necessary to the build process. This could
  24283. # be compiling or assembling, creation of DEF files and other unique
  24284. # files.
  24285. # If all compiler and assembly rules are the same, use an inference rule to
  24286. # perform the compilation.
  24287. #
  24288.  
  24289. alr.psd:  $(OBJS) makefile
  24290.         Rem Create DEF file <<$(DEF)
  24291. LIBRARY ALR
  24292.  
  24293. EXPORTS
  24294.  
  24295.    PSD_INSTALL          = _Install
  24296.    PSD_DEINSTALL        = _DeInstall
  24297.    PSD_INIT             = _Init
  24298.    PSD_PROC_INIT        = _ProcInit
  24299.    PSD_START_PROC       = _StartProcessor
  24300.    PSD_GET_NUM_OF_PROCS = _GetNumOfProcs
  24301.    PSD_GEN_IPI          = _GenIPI
  24302.    PSD_END_IPI          = _EndIPI
  24303. <<keep
  24304.         $(LINK) $(LFLAGS) @<<$(@B).lnk
  24305. $(OBJ1)
  24306. $*.psd
  24307. $*.map
  24308. $(LIBS)
  24309. $(DEF)
  24310. <<keep
  24311.         $(MAPSYM) $*.map
  24312.  
  24313.  
  24314.  
  24315. #****************************************************************************
  24316. #  Dependency generation and Checking
  24317. #****************************************************************************
  24318.  
  24319. depend.mak:  dephold
  24320.         touch depchk
  24321.         includes -e -sobj -llst -I. -I$(H) -I$(DISKH) -I$(INC) -P$$(H)=$(H) *.c *.asm >$@
  24322.         -del depchk
  24323.  
  24324. dephold:
  24325.         touch $@
  24326.  
  24327. !include depend.mak
  24328.  
  24329.  
  24330. ΓòÉΓòÉΓòÉ 18. Comments, Please! ΓòÉΓòÉΓòÉ
  24331.  
  24332. We're interested in your feedback.  If there is something you like or dislike 
  24333. about the SMP Programming Addendum, or any of the OS/2 Toolkit books, please 
  24334. let us know!  You can use one of the methods listed below to send your comments 
  24335. to IBM.  Include the book title and the name of the topic you are commenting 
  24336. on. 
  24337.  
  24338. The comments you send should pertain only to the information in the book and 
  24339. its presentation.  To request additional publications, ask questions, or make 
  24340. comments about the functions of IBM products or systems, talk to your IBM 
  24341. reseller or IBM marketing representative. 
  24342.  
  24343. When you send comments to IBM, you grant IBM a nonexclusive right to use or 
  24344. distribute your comments in any way it believes appropriate without incurring 
  24345. any obligation to you. 
  24346.  
  24347. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  24348. ΓöéCompuServe          Γöé[72410,624]                   Γöé
  24349. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  24350. ΓöéInternet            Γöédevcon@vnet.ibm.com           Γöé
  24351. Γöé                    Γöéos2books@vnet.ibm.com         Γöé
  24352. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  24353. ΓöéIBMMAIL             ΓöéUSIB66YK at IBMMAIL           Γöé
  24354. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  24355.  
  24356. In addition to sending us electronic mail, you can also participate in these 
  24357. forums monitored by IBM: 
  24358.  
  24359. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  24360. ΓöéProvider            ΓöéForum name                                        Γöé
  24361. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  24362. ΓöéCompuServe          ΓöéOS/2 Developer Forum 1 - Developer Documentation  Γöé
  24363. Γöé                    Γöé(GO OS2DF1)                                       Γöé
  24364. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  24365. ΓöéOS/2 BBS            ΓöéDEVCON CFORUM                                     Γöé
  24366. ΓöéTalkLink            Γöé                                                  Γöé
  24367. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  24368. ΓöéIBM Internal        ΓöéOS2PUBS FORUM                                     Γöé
  24369. Γöé                    Γöé(IBMPC Conferencing Facility)                     Γöé
  24370. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  24371.  
  24372.  
  24373. ΓòÉΓòÉΓòÉ 19. Glossary ΓòÉΓòÉΓòÉ
  24374.  
  24375.  MP-unsafe           Does not provide the necessary serialization to run on 
  24376.                      more than one CPU at a time.  For example, a driver will 
  24377.                      be MP unsafe if it relies upon priorities between threads 
  24378.                      for accessing shared resources, or uses the CLI/STI method 
  24379.                      for protecting resources like semaphores or memory. 
  24380.  
  24381.  MP-safe             Provides the necessary serialization to run properly in a 
  24382.                      system with greater than one processor.  Does not use 
  24383.                      invalid UP serialization techniques.  For example, a 
  24384.                      driver will be MP safe if it does not rely upon priorities 
  24385.                      between threads for accessing shared resources, or use the 
  24386.                      CLI/STI method for protecting resources like semaphores or 
  24387.                      memory. 
  24388.  
  24389.  MP-exploitive       Provides proper MP serialization techniques which allow 
  24390.                      multiple threads to run concurrently on more than one CPU. 
  24391.  
  24392.  
  24393. ΓòÉΓòÉΓòÉ 20. Notices ΓòÉΓòÉΓòÉ
  24394.  
  24395. November 1996 
  24396.  
  24397. The following paragraph does not apply to the United Kingdom or any country 
  24398. where such provisions are inconsistent with local law:  INTERNATIONAL BUSINESS 
  24399. MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY 
  24400. KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
  24401. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states 
  24402. do not allow disclaimer of express or implied warranties in certain 
  24403. transactions, therefore, this statement may not apply to you. 
  24404.  
  24405. This publication could include technical inaccuracies or typographical errors. 
  24406. Changes are periodically made to the information herein; these changes will be 
  24407. incorporated in new editions of the publication. IBM may make improvements 
  24408. and/or changes in the product(s) and/or the program(s) described in this 
  24409. publication at any time. 
  24410.  
  24411. It is possible that this publication may contain reference to, or information 
  24412. about, IBM products (machines and programs), programming, or services that are 
  24413. not announced in your country.  Such references or information must not be 
  24414. construed to mean that IBM intends to announce such IBM products, programming, 
  24415. or services in your country. 
  24416.  
  24417. Requests for technical information about IBM products should be made to your 
  24418. IBM reseller or IBM marketing representative. 
  24419.  
  24420.  
  24421. ΓòÉΓòÉΓòÉ 20.1. Copyright Notices ΓòÉΓòÉΓòÉ
  24422.  
  24423. COPYRIGHT LICENSE: This publication contains printed sample application 
  24424. programs in source language, which illustrate OS/2 programming techniques. You 
  24425. may copy, modify, and distribute these sample programs in any form without 
  24426. payment to IBM, for the purposes of developing, using, marketing or 
  24427. distributing application programs conforming to the OS/2 application 
  24428. programming interface. 
  24429.  
  24430. Each copy of any portion of these sample programs or any derivative work, which 
  24431. is distributed to others, must include a copyright notice as follows: "(C) 
  24432. (your company name) (year).  All rights reserved." 
  24433.  
  24434. (C) Copyright International Business Machines Corporation 1994,1996. All rights 
  24435. reserved. 
  24436. Note to U.S. Government Users - Documentation related to restricted rights - 
  24437. Use, duplication or disclosure is subject to restrictions set forth in GSA ADP 
  24438. Schedule Contract with IBM Corp. 
  24439.  
  24440.  
  24441. ΓòÉΓòÉΓòÉ 20.2. Disclaimers ΓòÉΓòÉΓòÉ
  24442.  
  24443. References in this publication to IBM products, programs, or services do not 
  24444. imply that IBM intends to make these available in all countries in which IBM 
  24445. operates. Any reference to an IBM product, program, or service is not intended 
  24446. to state or imply that only that IBM product, program, or service may be used. 
  24447. Subject to IBM's valid intellectual property or other legally protectable 
  24448. rights, any functionally equivalent product, program, or service may be used 
  24449. instead of the IBM product, program, or service. The evaluation and 
  24450. verification of operation in conjunction with other products, except those 
  24451. expressly designated by IBM, are the responsibility of the user. 
  24452.  
  24453. IBM may have patents or pending patent applications covering subject matter in 
  24454. this document. The furnishing of this document does not give you any license to 
  24455. these patents. You can send license inquiries, in writing, to: 
  24456.  
  24457.       IBM Director of Licensing 
  24458.       IBM Corporation 
  24459.       500 Columbus Avenue 
  24460.       Thornwood, NY  10594 
  24461.       U.S.A. 
  24462.  
  24463.  
  24464. ΓòÉΓòÉΓòÉ 20.3. Trademarks ΓòÉΓòÉΓòÉ
  24465.  
  24466. The following terms are trademarks of the IBM Corporation in the United States 
  24467. or other countries or both: 
  24468.  
  24469. Common User Access
  24470. CICS
  24471. CUA
  24472. DB2/2
  24473. NetView
  24474. OS/2
  24475. Presentation Manager
  24476. Systems Application Architecture
  24477. SAA
  24478. SP
  24479. XGA
  24480.  
  24481. The following terms are trademarks of other companies: 
  24482.  
  24483.  ADD                       Applications Design and Development, Inc. 
  24484.  C++                      American Telephone and Telegraph Company 
  24485.  Compaq                   Compaq Computer Corporation 
  24486.  DDS                      Sony Corporation 
  24487.  Focus                    Information Builders, Inc. 
  24488.  Frame                    Frame Technology, Inc. 
  24489.  Intel                    Intel Corporation 
  24490.  Lotus Notes              Lotus Development Corporation 
  24491.  Novell                   Novell, Inc. 
  24492.  NET                      NCR Corporation 
  24493.  Pentium                  Intel Corporation 
  24494.  Pentium Pro              Intel Corporation 
  24495.  PostScript               Adobe Systems Incorporated 
  24496.  SPEC                     Standard Performance Evaluation Corporation 
  24497.  VDM                      Geographics Systems, Ltd. 
  24498.  Windows NT               Microsoft Corporation 
  24499.  
  24500.  Microsoft, Windows, and the Windows 95 logo are trademarks or registered 
  24501.  trademarks of Microsoft Corporation.