1/*
2 * This file is in public domain.
3 * Written by Konstantin Belousov <kib@freebsd.org>
4 *
5 * $FreeBSD$
6 */
7
8#include <sys/mman.h>
9#include <err.h>
10#include <stdlib.h>
11#include <stdint.h>
12#include <stdio.h>
13#include <unistd.h>
14
15static void
16test_pagesizes(void)
17{
18	size_t *ps;
19	int i, nelem;
20
21	nelem = getpagesizes(NULL, 0);
22	if (nelem == -1)
23		err(1, "getpagesizes(NULL, 0)");
24	ps = malloc(nelem * sizeof(size_t));
25	if (ps == NULL)
26		err(1, "malloc");
27	nelem = getpagesizes(ps, nelem);
28	if (nelem == -1)
29		err(1, "getpagesizes");
30	printf("Supported page sizes:");
31	for (i = 0; i < nelem; i++)
32		printf(" %jd", (intmax_t)ps[i]);
33	printf("\n");
34}
35
36static void
37test_pagesize(void)
38{
39
40	printf("Pagesize: %d\n", getpagesize());
41}
42
43static void
44test_osreldate(void)
45{
46
47	printf("OSRELDATE: %d\n", getosreldate());
48}
49
50static void
51test_ncpus(void)
52{
53
54	printf("NCPUs: %ld\n", sysconf(_SC_NPROCESSORS_CONF));
55}
56
57int
58main(int argc __unused, char *argv[] __unused)
59{
60
61	test_pagesizes();
62	test_pagesize();
63	test_osreldate();
64	test_ncpus();
65	return (0);
66}
67