69,373
社区成员
发帖
与我相关
我的任务
分享
struct dmi_eps {
uint8_t anchor[4];
int8_t checksum;
uint8_t length;
uint8_t majorversion;
uint8_t minorversion;
uint16_t maxstructsize;
uint8_t revision;
uint8_t pad[5];
uint8_t intanchor[5];
int8_t intchecksum;
uint16_t tablelength;
uint32_t tableaddress;
uint16_t numstructs;
uint8_t SMBIOSrev;
};
char *dmi, *dmi_search_start, *dmi_start;
int found=0;
struct dmi_eps *eps;
//find anchor
for(dmi = dmi_search_start; dmi < dmi_search_start + 0xf0000; dmi +=16){
if( *dmi == '_' &&
*(dmi+1) == 'S' &&
*(dmi+2) == 'M' &&
*(dmi+3) == '_'){
found =1;
break;
}
}
if (!found) {
return -1;
}
dmi_start=dmi;、
eps=(struct dmi_eps *)dmi; /* 问题点1:这段代码的作用是什么呀?*/
}