libipmi_fru.h 2.4 KB

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