X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/0b4e3aa066abc0728aacb4bbeb86f53f9737156e..55e303ae13a4cf49d70f2294092726f2fffb9ef2:/osfmk/kern/clock.h diff --git a/osfmk/kern/clock.h b/osfmk/kern/clock.h index 58c78efd5..dd32f211b 100644 --- a/osfmk/kern/clock.h +++ b/osfmk/kern/clock.h @@ -3,19 +3,22 @@ * * @APPLE_LICENSE_HEADER_START@ * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. + * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. * - * This Original Code and all software distributed under the License are - * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. * * @APPLE_LICENSE_HEADER_END@ */ @@ -36,7 +39,12 @@ #include #include -#ifdef MACH_KERNEL_PRIVATE +#include + +#ifdef __APPLE_API_PRIVATE + +#ifdef MACH_KERNEL_PRIVATE + #include /* @@ -124,11 +132,14 @@ typedef struct clock clock_data_t; * Configure the clock system. */ extern void clock_config(void); + /* * Initialize the clock system. */ extern void clock_init(void); +extern void clock_timebase_init(void); + /* * Initialize the clock ipc service facility. */ @@ -164,8 +175,50 @@ extern void mk_timebase_info( uint32_t *proc_to_abs_numer, uint32_t *proc_to_abs_denom); +extern uint32_t clock_set_calendar_adjtime( + int32_t *secs, + int32_t *microsecs); + +extern uint32_t clock_adjust_calendar(void); + #endif /* MACH_KERNEL_PRIVATE */ +extern void clock_get_calendar_microtime( + uint32_t *secs, + uint32_t *microsecs); + +extern void clock_get_calendar_nanotime( + uint32_t *secs, + uint32_t *nanosecs); + +extern void clock_set_calendar_microtime( + uint32_t secs, + uint32_t microsecs); + +extern void clock_get_system_microtime( + uint32_t *secs, + uint32_t *microsecs); + +extern void clock_get_system_nanotime( + uint32_t *secs, + uint32_t *nanosecs); + +extern void clock_adjtime( + int32_t *secs, + int32_t *microsecs); + +extern void clock_initialize_calendar(void); + +extern void clock_wakeup_calendar(void); + +extern void clock_gettimeofday( + uint32_t *secs, + uint32_t *microsecs); + +#endif /* __APPLE_API_PRIVATE */ + +#ifdef __APPLE_API_UNSTABLE + #define MACH_TIMESPEC_SEC_MAX (0 - 1) #define MACH_TIMESPEC_NSEC_MAX (NSEC_PER_SEC - 1) @@ -189,20 +242,12 @@ extern void mk_timebase_info( } \ } while (0) +#endif /* __APPLE_API_UNSTABLE */ + extern mach_timespec_t clock_get_system_value(void); extern mach_timespec_t clock_get_calendar_value(void); -extern void clock_set_calendar_value( - mach_timespec_t value); - -extern void clock_adjust_calendar( - clock_res_t nsec); - -extern void clock_initialize_calendar(void); - -extern mach_timespec_t clock_get_calendar_offset(void); - extern void clock_timebase_info( mach_timebase_info_t info);