Esempio n. 1
0
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;
}
Esempio n. 2
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;
}