Pnm.h 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*******************************************************************
  2. *********************************************************************
  3. ***** **
  4. ***** (C)Copyright 2008-2009, American Megatrends Inc. **
  5. ***** **
  6. ***** All Rights Reserved. **
  7. ***** **
  8. ***** 5555 , Oakbrook Pkwy, Norcross, **
  9. ***** **
  10. ***** Georgia - 30093, USA. Phone-(770)-246-8600. **
  11. ***** **
  12. *********************************************************************
  13. *********************************************************************
  14. *********************************************************************
  15. ***
  16. *** Pnm.h
  17. *** Pnm Command Handler.
  18. ***
  19. *** Author: JCChiu@ami.com.tw
  20. ********************************************************************/
  21. #ifndef _PNM_H_
  22. #define _PNM_H_
  23. #include "Types.h"
  24. #include "MsgHndlr.h"
  25. //#include "hal_defs.h"
  26. /*------------------ PNM Command Numbers -------------------------*/
  27. #define CMD_PNM_OEM_GET_READING 0xE2
  28. #define CMD_PNM_OEM_ME_POWER_STATE_CHANGE 0xE3
  29. /*------------------ PNM Reading Type -------------------------*/
  30. #define PNM_PLATFORM_POWER_CONSUMPTION 0
  31. #define PNM_INLET_AIR_TEMPERATURE 1
  32. #define PNM_ICC_TDC 2
  33. #define NM_IPMB_MSG_Q MSG_PIPES_PATH "NMIPMBQ"
  34. #define INVALID_RECORD 0xff
  35. #define MAX_PDK_NM_Sensor 80
  36. /*PNM Command Handler table */
  37. extern const CmdHndlrMap_T g_PNM_CmdHndlr[];
  38. /* PnmOemGetReadingReq_T */
  39. typedef struct
  40. {
  41. INT8U ReadingType;
  42. INT8U reserved1;
  43. INT8U reserved2;
  44. } PnmOemGetReadingReq_T;
  45. /* PnmOemGetReadingrRes_T */
  46. typedef struct
  47. {
  48. INT8U CompletionCode;
  49. INT8U ReadingType;
  50. INT8U ReadingData1;
  51. INT8U ReadingData2;
  52. } PnmOemGetReadingrRes_T;
  53. /* PnmMePowerStateChangeRes_T */
  54. typedef struct
  55. {
  56. INT8U CompletionCode;
  57. } PnmMePowerStateChangeRes_T;
  58. typedef struct
  59. {
  60. INT8U TYPE_ENUM;
  61. INT8U ID;
  62. INT8U valid;
  63. } SensorInfoSYS_T;
  64. typedef int (*Fill_handler) (MsgPkt_T *pMsgPkt ,INT16U *byte_counter );
  65. typedef int (*Parse_handler)(MsgPkt_T *pMsgPkt, INT8U NM_SensorID, INT8U res_par, int BMCInst);
  66. typedef struct
  67. {
  68. INT8U TYPE_ENUM;
  69. INT8U BMC_SensorID;
  70. INT8U NetFnLUN;
  71. INT8U cmd;
  72. INT8U NM_SensorID;
  73. INT8U res_par;
  74. Fill_handler fill_package_hndlr;
  75. Parse_handler parse_package_hndlr;
  76. } SensorInfoCUST_T;
  77. extern int PnmOemGetReading (_NEAR_ INT8U* pReq,INT8U ReqLen,_NEAR_ INT8U* pRes,int BMCInst);
  78. extern int PnmOemMePowerStateChange (_NEAR_ INT8U* pReq,INT8U ReqLen,_NEAR_ INT8U* pRes,int BMCInst);
  79. // generic function for NodeManager
  80. extern int NM_RegisterOneSensor(hal_t *phal);
  81. #endif //_PNM_H_