GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: usr.bin/gprof/hertz.c Lines: 0 9 0.0 %
Date: 2017-11-07 Branches: 0 2 0.0 %

Line Branch Exec Source
1
/*	$OpenBSD: hertz.c,v 1.7 2015/01/16 06:40:08 deraadt Exp $	*/
2
3
/*
4
 * Copyright (c) 2005 Artur Grabowski <art@openbsd.org>
5
 *
6
 * Permission to use, copy, modify, and distribute this software for any
7
 * purpose with or without fee is hereby granted, provided that the above
8
 * copyright notice and this permission notice appear in all copies.
9
 *
10
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
 */
18
19
20
#include <sys/time.h>
21
#include <sys/sysctl.h>
22
23
#include "gprof.h"
24
25
/*
26
 * Return the tick frequency on the machine or 0 if we can't find out.
27
 */
28
29
int
30
hertz(void)
31
{
32
	struct clockinfo cinfo;
33
	int mib[2];
34
	size_t len;
35
36
	mib[0] = CTL_KERN;
37
	mib[1] = KERN_CLOCKRATE;
38
	len = sizeof(cinfo);
39
	if (sysctl(mib, 2, &cinfo, &len, NULL, 0) == -1)
40
		return (0);
41
42
	return (cinfo.hz);
43
}