summaryrefslogtreecommitdiffstats
path: root/tools/test/auxinfo/auxinfo.c
blob: a855b543f27055ab67a09f8b4ac8a7d8dc89ddb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
 * This file is in public domain.
 * Written by Konstantin Belousov <kib@freebsd.org>
 *
 * $FreeBSD$
 */

#include <sys/mman.h>
#include <err.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdio.h>
#include <unistd.h>

static void
test_pagesizes(void)
{
	size_t *ps;
	int i, nelem;

	nelem = getpagesizes(NULL, 0);
	if (nelem == -1)
		err(1, "getpagesizes(NULL, 0)");
	ps = malloc(nelem * sizeof(size_t));
	if (ps == NULL)
		err(1, "malloc");
	nelem = getpagesizes(ps, nelem);
	if (nelem == -1)
		err(1, "getpagesizes");
	printf("Supported page sizes:");
	for (i = 0; i < nelem; i++)
		printf(" %jd", (intmax_t)ps[i]);
	printf("\n");
}

static void
test_pagesize(void)
{

	printf("Pagesize: %d\n", getpagesize());
}

static void
test_osreldate(void)
{

	printf("OSRELDATE: %d\n", getosreldate());
}

static void
test_ncpus(void)
{

	printf("NCPUs: %ld\n", sysconf(_SC_NPROCESSORS_CONF));
}

int
main(int argc __unused, char *argv[] __unused)
{

	test_pagesizes();
	test_pagesize();
	test_osreldate();
	test_ncpus();
	return (0);
}
OpenPOWER on IntegriCloud