libipmi_fru.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /****************************************************************
  2. ****************************************************************
  3. ** **
  4. ** (C)Copyright 2005-2007, American Megatrends Inc. **
  5. ** **
  6. ** All Rights Reserved. **
  7. ** **
  8. ** 6145-F, Northbelt Parkway, Norcross, **
  9. ** **
  10. ** Georgia - 30071, USA. Phone-(770)-246-8600. **
  11. ** **
  12. ****************************************************************
  13. ****************************************************************
  14. ****************************************************************
  15. ****************************************************************
  16. *
  17. * libipmi_fru.h
  18. ******************************************************************/
  19. #ifndef _LIBIPMI_FRU_
  20. #define _LIBIPMI_FRU_
  21. #pragma pack(1)
  22. #include "libipmi_session.h"
  23. #include "libipmi_errorcodes.h"
  24. #include "libipmi_AppDevice.h"
  25. #include "libipmi_StorDevice.h"
  26. #include "libipmi_sensor.h"
  27. #include "com_IPMI_SDRRecord.h"
  28. #include "com_IPMI_FRU.h"
  29. #include "com_BmcType.h"
  30. typedef struct
  31. {
  32. int present; //! 1 means yes..
  33. char MfrName[60];
  34. char ProductName[60];
  35. char ProductVersion[60];
  36. char ProductPartNum[60];
  37. char ProductSerialNum[60];
  38. char AssetTag[60];
  39. char FRUFileID[60];
  40. //! Custom fileds.......
  41. }ProductInfo;
  42. typedef struct
  43. {
  44. int present; //! 1 means yes..
  45. char BoardMfr[60];
  46. char Language[60];
  47. char BoardProductName[60];
  48. char BoardSerialNum[60];
  49. char BoardPartNum[60];
  50. char FRUFileID[60];
  51. //! Custom fileds.......
  52. }BoardInfo;
  53. typedef struct
  54. {
  55. int present; //! 1 means yes..
  56. uint8_t ChassisType;
  57. char ChassisPartNum[60];
  58. char ChassisSerialNum[60];
  59. //! Custom fileds.......
  60. char GUID[60]; //! chassis info area offset 36
  61. }ChassisInfo;
  62. //! FRU Data
  63. typedef struct fru_t
  64. {
  65. uint8_t fruDeviceID;
  66. ProductInfo pInfo;
  67. BoardInfo bInfo;
  68. ChassisInfo cInfo;
  69. }FRU_T;
  70. // uint16_t LIBIPMI_HL_GetFRUData(IPMI20_UDS_SESSION_T *pUDSSession,
  71. // uint8_t fru_device_id,
  72. // uint32_t* p_fru_size,
  73. // OemFRUData_T* fru_data,
  74. // int timeout);
  75. uint16_t LIBIPMI_HL_GetFRUChassisData(IPMI20_UDS_SESSION_T *pUDSSession,
  76. uint8_t fru_device_id,
  77. uint32_t* p_fru_size,
  78. OemFRUChassisInfo_T* chassis_data,
  79. int timeout);
  80. uint16_t LIBIPMI_HL_GetFRUBoardData(IPMI20_UDS_SESSION_T *pUDSSession,
  81. uint8_t fru_device_id,
  82. uint32_t* p_fru_size,
  83. OemFRUBoardInfo_T* board_data,
  84. int timeout);
  85. uint16_t LIBIPMI_HL_GetFRUProductData(IPMI20_UDS_SESSION_T *pUDSSession,
  86. uint8_t fru_device_id,
  87. uint32_t* p_fru_size,
  88. OemFRUProductInfo_T* product_data,
  89. int timeout);
  90. #pragma pack()
  91. #endif