ioport.h 2.3 KB

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