int main(int argc, char **argv) { int ret; uint8_t fru, status, opt; char *option; /* Check for sled-cycle */ if (argc < 2 || argc > 3) { print_usage(); exit (-1); } option = argc == 2 ? argv[1] : argv [2]; ret = get_power_opt(option, &opt); /* If argc is 2, the option is sled-cycle */ if ((ret < 0) || (argc == 2 && opt != PWR_SLED_CYCLE)) { printf("Wrong option: %s\n", option); print_usage(); exit(-1); } if (argc > 2) { ret = pal_get_fru_id(argv[1], &fru); if (ret < 0) { printf("Wrong fru: %s\n", argv[1]); print_usage(); exit(-1); } } else { fru = -1; } if (argc > 2) { ret = pal_is_server_prsnt(fru, &status); if (ret < 0) { printf("pal_is_server_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 = power_util(fru, opt); if (ret < 0) { print_usage(); return ret; } }
/* Spawns a pthread for each fru to monitor all the sensors on it */ static void run_gpiod(int argc, void **argv) { //gpio_monitor(); int i, ret; uint8_t fru_flag, fru; /* Check for which fru do we need to monitor the gpio pins */ fru_flag = 0; for (i = 1; i < argc; i++) { ret = pal_get_fru_id(argv[i], &fru); if (ret < 0) { print_usage(); exit(-1); } fru_flag = SETBIT(fru_flag, fru); } gpio_monitor_poll(fru_flag); }
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; }
/* Utility to just print the FRUID */ int main(int argc, char * argv[]) { int ret; uint8_t fru; char path[64] = {0}; char name[64] = {0}; if (argc != 2) { print_usage(); exit(-1); } 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_fruid_path(fru, path); if (ret < 0) { return ret; } ret = pal_get_fruid_name(fru, name); if (ret < 0) { return ret; } if (fru == FRU_NIC) { printf("fruid-util does not support nic\n"); exit(-1); } get_fruid_info(fru, path, name); fru++; } } else { ret = pal_get_fruid_path(fru, path); if (ret < 0) { return ret; } ret = pal_get_fruid_name(fru, name); if (ret < 0) { return ret; } if (fru == FRU_NIC) { printf("fruid-util does not support nic\n"); exit(-1); } get_fruid_info(fru, path, name); } return 0; }