Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.0 KiB

  1. /*++
  2. Module Name:
  3. appmca.h
  4. Abstract:
  5. Defines related to MCA for app and driver - device names, function codes
  6. and ioctls
  7. Author:
  8. Revision History:
  9. --*/
  10. #ifndef APPMCA_H
  11. #define APPMCA_H
  12. //
  13. // 16 bit device type definition.
  14. // Device types 0-32767 are reserved by Microsoft.
  15. //
  16. #define FILE_DEVICE_MCA 0xb000
  17. //
  18. // 12 bit function codes
  19. // Function codes 0-2047 are reserved by Microsoft.
  20. //
  21. #define FUNCTION_READ_BANKS 0xb00
  22. #define FUNCTION_READ_BANKS_ASYNC 0xb01
  23. #define IOCTL_READ_BANKS (CTL_CODE(FILE_DEVICE_MCA, FUNCTION_READ_BANKS,\
  24. (METHOD_BUFFERED),(FILE_READ_ACCESS|FILE_WRITE_ACCESS)))
  25. #define IOCTL_READ_BANKS_ASYNC (CTL_CODE(FILE_DEVICE_MCA, \
  26. FUNCTION_READ_BANKS_ASYNC,(METHOD_BUFFERED), \
  27. (FILE_READ_ACCESS|FILE_WRITE_ACCESS)))
  28. //
  29. // IA64 uses MCA log terminology instead of banks.
  30. //
  31. #define FUNCTION_READ_MCALOG FUNCTION_READ_BANKS
  32. #define FUNCTION_READ_MCALOG_ASYNC FUNCTION_READ_BANKS_ASYNC
  33. #define IOCTL_READ_MCALOG (CTL_CODE(FILE_DEVICE_MCA, FUNCTION_READ_MCALOG,\
  34. (METHOD_BUFFERED),(FILE_READ_ACCESS|FILE_WRITE_ACCESS)))
  35. #define IOCTL_READ_MCALOG_ASYNC (CTL_CODE(FILE_DEVICE_MCA, \
  36. FUNCTION_READ_MCALOG_ASYNC,(METHOD_BUFFERED), \
  37. (FILE_READ_ACCESS|FILE_WRITE_ACCESS)))
  38. #if defined(_X86_)
  39. //
  40. // HalMcaRegisterDriver:
  41. // Define x86 ERROR_SEVERITY as VOID for compatibility with IA64 prototype.
  42. //
  43. // 10/21/2000:
  44. // It is being proposed to modify PDRIVER_EXCPTN_CALLBACK definition for x86 to match
  45. // the IA64 definition as a function pointer type returning an ERROR_SEVERITY value.
  46. // This change was created to allow OEM MCA handlers to return information to the HAL
  47. // as a hint how to continue the processing of the MCA event.
  48. //
  49. #define ERROR_SEVERITY VOID
  50. #endif // _X86_
  51. //
  52. // Name that Win32 front end will use to open the MCA device
  53. //
  54. #define MCA_DEVICE_NAME_WIN32 "\\\\.\\imca"
  55. #endif // APPMCA_H