home *** CD-ROM | disk | FTP | other *** search
/ C/C++ User's Journal & Wi…eveloper's Journal Tools / C-C__Users_Journal_and_Windows_Developers_Journal_Tools_1997.iso / sysembed / address.edh next >
Encoding:
Text File  |  1995-03-30  |  3.4 KB  |  113 lines

  1. [ 9. Kernel Addressing Functions]
  2.                  EMBEDDED DOS ADDRESSABILITY FUNCTIONS
  3. ════════════════════════════════════════════════════════════════════════
  4. The kernel provides functions through its interface that allow access to
  5. the various components of the DOS kernel and executive.  This section
  6. describes those functions.
  7.  
  8. 1.  GetFsHelpAddress
  9.  
  10. Installable device drivers or even application programs may
  11. obtain the Embedded DOS file system helper API function address
  12. by calling this kernel function.  This allows non-system code to
  13. interact with the file system helpers to register file system
  14. support and interact with the base block drivers, SDTEs, and
  15. SHTEs in the system that are associated with drives supported by
  16. those drivers.
  17.  
  18. The file system helper address is returned as a 16:16 address in
  19. the (DX:AX) register pair, and is typically stored in the calling
  20. FSD's header.  This storing process is not provided by this
  21. function.
  22.  
  23. Upon return, the macro instruction call clears the carry flag if
  24. the operation was successful, and sets it if the operation was
  25. not performed.
  26.  
  27. Assembly Language Format:
  28.  
  29.      mov  dl, SYS_GET_FSHELP_ADDRESS
  30.      int  2dh                 ; (DX:AX) = FWA, FsHelp dispatcher.
  31.  
  32. Macro Instruction Format:
  33.  
  34.      none.
  35.  
  36. Portable Request Format:
  37.  
  38. STATUS GetFsHelpAddress(
  39.      OUT PVOID * FsHelpRtnPtr
  40.      );
  41.  
  42. Parameters:
  43.  
  44.      FsHelpRtnPtr - Specifies a pointer to a 32-bit storage
  45.           location where the 32-bit pointer to the FSHELP
  46.           dispatcher will be returned by this function.  The
  47.           caller can then use this value as a function pointer to
  48.           indirectly call to the FSHELP dispatcher.
  49.  
  50. 2.  GetIoHelpAddress
  51.  
  52. Installable device drivers, file system drivers, and application
  53. programs may submit requests directly to the Embedded DOS I/O
  54. helper API, thereby bypassing the DOS process handling associated
  55. with the "current PSP".  The address of the I/O helper API
  56. function dispatcher is returned by this function.
  57.  
  58. The I/O system helper address is returned as a 16:16 address in
  59. the (DX:AX) register pair, and may be stored anywhere by the
  60. calling program.
  61.  
  62. Upon return, the macro instruction call clears the carry flag if
  63. the operation was successful, and sets it if the operation was
  64. not performed.
  65.  
  66. Assembly Language Format:
  67.  
  68.      mov  dl, SYS_GET_IOHELP_ADDRESS
  69.      int  2dh                 ; (DX:AX) = FWA, IoHelp dispatcher.
  70.  
  71. Macro Instruction Format:
  72.  
  73.      none.
  74.  
  75. Portable Request Format:
  76.  
  77. STATUS GetIoHelpAddress(
  78.      OUT PVOID * IoHelpRtnPtr
  79.      );
  80.  
  81. Parameters:
  82.  
  83.      IoHelpRtnPtr - Specifies a pointer to a 32-bit storage
  84.           location where the 32-bit pointer to the IOHELP
  85.           dispatcher will be returned by this function.  The
  86.           caller can then use this value as a function pointer to
  87.           indirectly call to the IOHELP dispatcher.
  88.  
  89. 3.  GetDosDataDs
  90.  
  91. Any system component may retrieve the DOSDATA segment value with
  92. the GetDosDataDs kernel function.  This allows quick access to
  93. central data structures and pool objects.
  94.  
  95. In the assembly language and macro instruction forms, the DS
  96. register is initialized with the DOSDATA segment value.
  97.  
  98. Assembly Language Format:
  99.  
  100.      mov  dl, SYS_USEDOSDATA_DS
  101.      int  2dh                 ; (DS) = DOSDATA segment.
  102.  
  103. Macro Instruction Format:
  104.  
  105.      USEDOSDATA ds
  106.  
  107. Portable Request Format:
  108.  
  109.      none.
  110.  
  111. Parameters:
  112.  
  113.      none.