[BACK]Return to hertz.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / gprof

Annotation of src/usr.bin/gprof/hertz.c, Revision 1.7

1.7     ! deraadt     1: /*     $OpenBSD: hertz.c,v 1.6 2006/03/25 19:06:36 espie Exp $ */
1.1       deraadt     2:
                      3: /*
1.5       art         4:  * Copyright (c) 2005 Artur Grabowski <art@openbsd.org>
1.1       deraadt     5:  *
1.5       art         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.
1.1       deraadt     9:  *
1.5       art        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.
1.1       deraadt    17:  */
                     18:
                     19:
                     20: #include <sys/time.h>
1.5       art        21: #include <sys/sysctl.h>
1.6       espie      22:
                     23: #include "gprof.h"
1.1       deraadt    24:
1.5       art        25: /*
                     26:  * Return the tick frequency on the machine or 0 if we can't find out.
                     27:  */
1.1       deraadt    28:
1.3       mickey     29: int
1.5       art        30: hertz(void)
1.1       deraadt    31: {
1.5       art        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);
1.1       deraadt    41:
1.5       art        42:        return (cinfo.hz);
1.1       deraadt    43: }