ioport.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. /*++
  2. Copyright (c) 2012 Minoca Corp.
  3. This file is licensed under the terms of the GNU General Public License
  4. version 3. Alternative licensing terms are available. Contact
  5. info@minocacorp.com for details. See the LICENSE file at the root of this
  6. project for complete licensing information.
  7. Module Name:
  8. ioport.h
  9. Abstract:
  10. This header contains definitions for legacy I/O port control.
  11. Author:
  12. Evan Green 3-Jul-2012
  13. --*/
  14. //
  15. // ---------------------------------------------------------------- Definitions
  16. //
  17. KERNEL_API
  18. UCHAR
  19. HlIoPortInByte (
  20. USHORT InputPort
  21. );
  22. /*++
  23. Routine Description:
  24. This routine gets one byte from the specified legacy I/O port.
  25. Arguments:
  26. InputPort - Supplies the port to receive a byte from.
  27. Return Value:
  28. Returns the data at that port.
  29. --*/
  30. KERNEL_API
  31. VOID
  32. HlIoPortOutByte (
  33. USHORT OutputPort,
  34. BYTE OutputData
  35. );
  36. /*++
  37. Routine Description:
  38. This routine sends one byte to the specified legacy I/O port.
  39. Arguments:
  40. OutputPort - Supplies the port to send a byte to.
  41. OutputData - Supplies the data to send.
  42. Return Value:
  43. None.
  44. --*/
  45. KERNEL_API
  46. USHORT
  47. HlIoPortInShort (
  48. USHORT InputPort
  49. );
  50. /*++
  51. Routine Description:
  52. This routine gets one 16 bit value from the specified legacy I/O port.
  53. Arguments:
  54. InputPort - Supplies the port to receive a byte from.
  55. Return Value:
  56. Returns the data at that port.
  57. --*/
  58. KERNEL_API
  59. VOID
  60. HlIoPortOutShort (
  61. USHORT OutputPort,
  62. USHORT OutputData
  63. );
  64. /*++
  65. Routine Description:
  66. This routine sends one 16-bit value to the specified legacy I/O port.
  67. Arguments:
  68. OutputPort - Supplies the port to send a byte to.
  69. OutputData - Supplies the data to send.
  70. Return Value:
  71. None.
  72. --*/
  73. KERNEL_API
  74. ULONG
  75. HlIoPortInLong (
  76. USHORT InputPort
  77. );
  78. /*++
  79. Routine Description:
  80. This routine gets a 32-bit value from the specified legacy I/O port.
  81. Arguments:
  82. InputPort - Supplies the port to receive a long from.
  83. Return Value:
  84. Returns the data at that port.
  85. --*/
  86. KERNEL_API
  87. VOID
  88. HlIoPortOutLong (
  89. USHORT OutputPort,
  90. ULONG OutputData
  91. );
  92. /*++
  93. Routine Description:
  94. This routine sends one 32-bit to the specified legacy I/O port.
  95. Arguments:
  96. OutputPort - Supplies the port to send a long to.
  97. OutputData - Supplies the data to send.
  98. Return Value:
  99. None.
  100. --*/
  101. //
  102. // ------------------------------------------------------ Data Type Definitions
  103. //
  104. //
  105. // ----------------------------------------------- Internal Function Prototypes
  106. //