libipmi_fru.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. #include "libipmi_session.h"
  22. #include "libipmi_errorcodes.h"
  23. #include "libipmi_AppDevice.h"
  24. #include "libipmi_StorDevice.h"
  25. #include "libipmi_sensor.h"
  26. #include "com_IPMI_SDRRecord.h"
  27. #include "com_IPMI_FRU.h"
  28. typedef struct
  29. {
  30. int present; //! 1 means yes..
  31. char MfrName[60];
  32. char ProductName[60];
  33. char ProductVersion[60];
  34. char ProductPartNum[60];
  35. char ProductSerialNum[60];
  36. char AssetTag[60];
  37. char FRUFileID[60];
  38. //! Custom fileds.......
  39. }ProductInfo;
  40. typedef struct
  41. {
  42. int present; //! 1 means yes..
  43. char BoardMfr[60];
  44. char Language[60];
  45. char BoardProductName[60];
  46. char BoardSerialNum[60];
  47. char BoardPartNum[60];
  48. char FRUFileID[60];
  49. //! Custom fileds.......
  50. }BoardInfo;
  51. typedef struct
  52. {
  53. int present; //! 1 means yes..
  54. uint8_t ChassisType;
  55. char ChassisPartNum[60];
  56. char ChassisSerialNum[60];
  57. //! Custom fileds.......
  58. char GUID[60]; //! chassis info area offset 36
  59. }ChassisInfo;
  60. //! FRU Data
  61. typedef struct fru_t
  62. {
  63. uint8_t fruDeviceID;
  64. ProductInfo pInfo;
  65. BoardInfo bInfo;
  66. ChassisInfo cInfo;
  67. }FRU_T;
  68. uint16_t LIBIPMI_HL_GetFRUData(IPMI20_UDS_SESSION_T *pUDSSession,
  69. uint8_t fru_device_id,
  70. uint32_t* p_fru_size,
  71. FRUData_T* fru_data,
  72. int timeout);
  73. void LIBIPMI_HL_FreeFRUData(FRUData_T* fru_data);
  74. #endif