00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef dIpmiMcVendorFixSdr_h
00016 #define dIpmiMcVendorFixSdr_h
00017
00018
00019 #ifndef dIpmiMcVendor_h
00020 #include "ipmi_mc_vendor.h"
00021 #endif
00022
00023 #define ENTITY_DONT_CARE 0xff
00024
00025 typedef struct
00026 {
00027 unsigned char old_entity_id;
00028 unsigned char old_entity_instance;
00029 unsigned char new_entity_id;
00030 unsigned char new_entity_instance;
00031 bool last_entry;
00032 } mc_sdr_patch_t;
00033
00034 typedef struct
00035 {
00036 unsigned int manufacturer_id;
00037 unsigned int product_id;
00038 mc_sdr_patch_t *sdr_patch;
00039 } mc_patch_t;
00040
00041 extern mc_patch_t mc_patch[];
00042
00043
00044 class cIpmiMcVendorFixSdr : public cIpmiMcVendor
00045 {
00046 mc_sdr_patch_t *m_sdr_patch;
00047 public:
00048 cIpmiMcVendorFixSdr( unsigned int manufacturer_id, unsigned int product_id );
00049 virtual ~cIpmiMcVendorFixSdr();
00050
00051 virtual bool InitMc( cIpmiMc *mc, const cIpmiMsg &devid );
00052 bool ProcessSdr( cIpmiDomain *domain, cIpmiMc *mc, cIpmiSdrs *sdrs );
00053 };
00054
00055 #endif