You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.0 KiB
52 lines
1.0 KiB
// 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;
|
|
}
|