1211418Skib/*
2211418Skib * This file is in public domain.
3211418Skib * Written by Konstantin Belousov <kib@freebsd.org>
4211418Skib *
5211418Skib * $FreeBSD$
6211418Skib */
7211418Skib
8211418Skib#include <sys/mman.h>
9211418Skib#include <err.h>
10211418Skib#include <stdlib.h>
11211418Skib#include <stdint.h>
12211418Skib#include <stdio.h>
13211418Skib#include <unistd.h>
14211418Skib
15211418Skibstatic void
16211418Skibtest_pagesizes(void)
17211418Skib{
18211418Skib	size_t *ps;
19211418Skib	int i, nelem;
20211418Skib
21211418Skib	nelem = getpagesizes(NULL, 0);
22211418Skib	if (nelem == -1)
23211418Skib		err(1, "getpagesizes(NULL, 0)");
24211418Skib	ps = malloc(nelem * sizeof(size_t));
25211418Skib	if (ps == NULL)
26211418Skib		err(1, "malloc");
27211418Skib	nelem = getpagesizes(ps, nelem);
28211418Skib	if (nelem == -1)
29211418Skib		err(1, "getpagesizes");
30211418Skib	printf("Supported page sizes:");
31211418Skib	for (i = 0; i < nelem; i++)
32211418Skib		printf(" %jd", (intmax_t)ps[i]);
33211418Skib	printf("\n");
34211418Skib}
35211418Skib
36211418Skibstatic void
37211418Skibtest_pagesize(void)
38211418Skib{
39211418Skib
40211418Skib	printf("Pagesize: %d\n", getpagesize());
41211418Skib}
42211418Skib
43211418Skibstatic void
44211418Skibtest_osreldate(void)
45211418Skib{
46211418Skib
47211418Skib	printf("OSRELDATE: %d\n", getosreldate());
48211418Skib}
49211418Skib
50238139Skibstatic void
51238139Skibtest_ncpus(void)
52238139Skib{
53238139Skib
54238139Skib	printf("NCPUs: %ld\n", sysconf(_SC_NPROCESSORS_CONF));
55238139Skib}
56238139Skib
57211418Skibint
58211418Skibmain(int argc __unused, char *argv[] __unused)
59211418Skib{
60211418Skib
61211418Skib	test_pagesizes();
62211418Skib	test_pagesize();
63211418Skib	test_osreldate();
64238139Skib	test_ncpus();
65211418Skib	return (0);
66211418Skib}
67