// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright (c) 2018 Mylène Josserand <mylene.josserand@bootlin.com>
*
*/
#include <stdio.h>
#include <unistd.h>
#include <string.h>
static void print_help(void)
{
printf("Usage: tst_getconf variable\n\n");
printf(" variable: can be PAGESIZE/PAGE_SIZE");
printf(" or _NPROCESSORS_ONLN (for the moment)\n\n");
printf("example: tst_getconf PAGESIZE\n");
}
int main(int argc, char *argv[])
{
int opt;
while ((opt = getopt(argc, argv, ":h")) != -1) {
switch (opt) {
case 'h':
print_help();
return 0;
default:
print_help();
return 1;
}
}
if (argc != 2) {
print_help();
return 1;
}
if (!strcmp(argv[optind], "_NPROCESSORS_ONLN")) {
printf("%ld\n", sysconf(_SC_NPROCESSORS_ONLN));
} else if (!strcmp(argv[optind], "PAGESIZE") ||
!strcmp(argv[optind], "PAGE_SIZE")) {
printf("%ld\n", sysconf(_SC_PAGE_SIZE));
} else {
printf("tst_getconf: Unrecognized variable \'%s\'\n",
argv[optind]);
return -1;
}
return 0;
}