]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/kern/clock_oldops.c
xnu-2782.20.48.tar.gz
[apple/xnu.git] / osfmk / kern / clock_oldops.c
index ac03a7d9e1d2917dd44023900c83a194d724cd50..cdb1bf6700058de6298f9558175264141f0d9bb7 100644 (file)
@@ -1,23 +1,29 @@
 /*
- * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2008 Apple Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
+ * @APPLE_OSREFERENCE_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.
+ * 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. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
  * 
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * 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@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  * @OSF_COPYRIGHT@
@@ -33,7 +39,6 @@
 
 #include <mach/mach_types.h>
 
-#include <kern/lock.h>
 #include <kern/host.h>
 #include <kern/spl.h>
 #include <kern/sched_prim.h>
@@ -122,8 +127,6 @@ static kern_return_t        clock_sleep_internal(
                                                        sleep_type_t            sleep_type,
                                                        mach_timespec_t         *sleep_time);
 
-int            rtclock_config(void);
-
 int            rtclock_init(void);
 
 kern_return_t  rtclock_gettime(
@@ -135,7 +138,7 @@ kern_return_t       rtclock_getattr(
        mach_msg_type_number_t  *count);
 
 struct clock_ops sysclk_ops = {
-       rtclock_config,                 rtclock_init,
+       NULL,                   rtclock_init,
        rtclock_gettime,
        rtclock_getattr,
 };
@@ -149,7 +152,7 @@ kern_return_t       calend_getattr(
        mach_msg_type_number_t  *count);
 
 struct clock_ops calend_ops = {
-       0,                                      0,
+       NULL, NULL,
        calend_gettime,
        calend_getattr,
 };
@@ -182,7 +185,7 @@ clock_oldconfig(void)
                clock = &clock_list[i];
                if (clock->cl_ops && clock->cl_ops->c_config) {
                        if ((*clock->cl_ops->c_config)() == 0)
-                               clock->cl_ops = 0;
+                               clock->cl_ops = NULL;
                }
        }
 
@@ -292,7 +295,12 @@ kern_return_t
 rtclock_gettime(
        mach_timespec_t         *time)  /* OUT */
 {
-       clock_get_system_nanotime(&time->tv_sec, (uint32_t *)&time->tv_nsec);
+       clock_sec_t             secs;
+       clock_nsec_t    nsecs;
+
+       clock_get_system_nanotime(&secs, &nsecs);
+       time->tv_sec = (unsigned int)secs;
+       time->tv_nsec = nsecs;
 
        return (KERN_SUCCESS);
 }
@@ -301,7 +309,12 @@ kern_return_t
 calend_gettime(
        mach_timespec_t         *time)  /* OUT */
 {
-       clock_get_calendar_nanotime(&time->tv_sec, (uint32_t *)&time->tv_nsec);
+       clock_sec_t             secs;
+       clock_nsec_t    nsecs;
+
+       clock_get_calendar_nanotime(&secs, &nsecs);
+       time->tv_sec = (unsigned int)secs;
+       time->tv_nsec = nsecs;
 
        return (KERN_SUCCESS);
 }
@@ -639,7 +652,7 @@ alarm_expire(void)
                 * which issued the clock_sleep() call.
                 */
                if (alrm2->al_status == ALARM_SLEEP) {
-                       alrm2->al_next = 0;
+                       alrm2->al_next = NULL;
                        alrm2->al_status = ALARM_DONE;
                        alrm2->al_time = clock_time;
                        thread_wakeup((event_t)alrm2);
@@ -750,7 +763,7 @@ set_alarm(
        uint64_t        abstime;
 
        nanotime_to_absolutetime(alarm_time->tv_sec, alarm_time->tv_nsec, &abstime);
-       timer_call_enter(&alarm_expire_timer, abstime);
+       timer_call_enter_with_leeway(&alarm_expire_timer, NULL, abstime, 0, TIMER_CALL_USER_NORMAL, FALSE);
 }
 
 /*
@@ -779,6 +792,8 @@ check_time(
        return ((result >= 0)? result: 0);
 }
 
+#ifndef        __LP64__
+
 mach_timespec_t
 clock_get_system_value(void)
 {
@@ -800,3 +815,5 @@ clock_get_calendar_value(void)
 
        return value;
 }
+
+#endif /* __LP64__ */