|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * The contents of this file constitute Original Code as defined in and ! 7: * are subject to the Apple Public Source License Version 1.1 (the ! 8: * "License"). You may not use this file except in compliance with the ! 9: * License. Please obtain a copy of the License at ! 10: * http://www.apple.com/publicsource and read it before using this file. ! 11: * ! 12: * This Original Code and all software distributed under the License are ! 13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 17: * License for the specific language governing rights and limitations ! 18: * under the License. ! 19: * ! 20: * @APPLE_LICENSE_HEADER_END@ ! 21: */ ! 22: /* ! 23: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. ! 24: * ! 25: * HISTORY ! 26: * ! 27: */ ! 28: ! 29: #include <mach/mach_types.h> ! 30: ! 31: #include <kern/clock.h> ! 32: ! 33: #include <mach/MKTraps.h> ! 34: ! 35: void ! 36: MKGetTimeBaseInfo( ! 37: UInt32* minAbsoluteTimeDelta, ! 38: UInt32* theAbsoluteTimeToNanosecondNumerator, ! 39: UInt32* theAbsoluteTimeToNanosecondDenominator, ! 40: UInt32* theProcessorToAbsoluteTimeNumerator, ! 41: UInt32* theProcessorToAbsoluteTimeDenominator) ! 42: { ! 43: UInt32 result[5]; ! 44: ! 45: clock_get_timebase_info( ! 46: &result[0], ! 47: &result[1], &result[2], ! 48: &result[3], &result[4]); ! 49: ! 50: copyout((void *)&result[0], (void *)minAbsoluteTimeDelta, ! 51: sizeof (UInt32)); ! 52: ! 53: copyout((void *)&result[1], (void *)theAbsoluteTimeToNanosecondNumerator, ! 54: sizeof (UInt32)); ! 55: copyout((void *)&result[2], (void *)theAbsoluteTimeToNanosecondDenominator, ! 56: sizeof (UInt32)); ! 57: ! 58: copyout((void *)&result[3], (void *)theProcessorToAbsoluteTimeNumerator, ! 59: sizeof (UInt32)); ! 60: copyout((void *)&result[4], (void *)theProcessorToAbsoluteTimeDenominator, ! 61: sizeof (UInt32)); ! 62: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.