int main(int argc, char **argv) { int i; int ret; int sensor_cnt; uint8_t *sensor_list; uint8_t fru; uint8_t num = 0; bool threshold = false; if (argc < 2 || argc > 4) { print_usage(); exit(-1); } i = 3; /* Starting at argument 3*/ while (argc > 2 && i <= argc) { if (!(strcmp(argv[i-1], "--threshold"))) { threshold = true; } else { errno = 0; num = (uint8_t) strtol(argv[i-1], NULL, 0); if (errno) { print_usage(); exit(-1); } } i++; } ret = pal_get_fru_id(argv[1], &fru); if (ret < 0) { print_usage(); return ret; } if (fru == 0) { fru = 1; while (fru <= MAX_NUM_FRUS) { ret = pal_get_fru_sensor_list(fru, &sensor_list, &sensor_cnt); if (ret < 0) { return ret; } calculate_sensor_reading(fru, sensor_list, sensor_cnt, num, threshold); fru++; printf("\n"); } } else { ret = pal_get_fru_sensor_list(fru, &sensor_list, &sensor_cnt); if (ret < 0) { return ret; } calculate_sensor_reading(fru, sensor_list, sensor_cnt, num, threshold); } return 0; }
int main(int argc, char **argv) { int i; int ret; int sensor_cnt; uint8_t status; uint8_t *sensor_list; uint8_t fru; uint8_t num = 0; char fruname[16]; bool threshold = false; if (argc < 2 || argc > 4) { print_usage(); exit(-1); } i = 3; /* Starting at argument 3*/ while (argc > 2 && i <= argc) { if (!(strcmp(argv[i-1], "--threshold"))) { threshold = true; } else { errno = 0; num = (uint8_t) strtol(argv[i-1], NULL, 0); if (errno) { print_usage(); exit(-1); } } i++; } ret = pal_get_fru_id(argv[1], &fru); if (ret < 0) { print_usage(); return ret; } if (fru == 0) { fru = 1; while (fru <= MAX_NUM_FRUS) { ret = pal_is_fru_prsnt(fru, &status); if (ret < 0) { printf("pal_is_server_fru failed for fru: %d\n", fru); } if (status == 0) { pal_get_fru_name(fru, fruname); printf("%s is empty!\n\n", fruname); fru++; continue; } ret = pal_get_fru_sensor_list(fru, &sensor_list, &sensor_cnt); if (ret < 0) { return ret; } get_sensor_reading(fru, sensor_list, sensor_cnt, num, threshold); fru++; printf("\n"); } } else { ret = pal_is_fru_prsnt(fru, &status); if (ret < 0) { printf("pal_is_fru_prsnt failed for fru: %d\n", fru); print_usage(); exit(-1); } if (status == 0) { printf("%s is empty!\n", argv[1]); print_usage(); exit(-1); } ret = pal_get_fru_sensor_list(fru, &sensor_list, &sensor_cnt); if (ret < 0) { return ret; } get_sensor_reading(fru, sensor_list, sensor_cnt, num, threshold); } return 0; }