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 * @OSF_COPYRIGHT@ 24 */ 25/* 26 * File: mach/clock.defs 27 * Purpose: Kernel clock subsystem definitions. This 28 * file defines the clock request interface. 29 */ 30 31subsystem 32#if KERNEL_SERVER 33 KernelServer 34#endif /* KERNEL_SERVER */ 35 clock 1000; 36 37#include <mach/std_types.defs> 38#include <mach/mach_types.defs> 39#include <mach/clock_types.defs> 40 41/* 42 * References to clock objects are returned by: 43 * host_get_clock_service(host_t,...) 44 * host_get_clock_control(host_priv_t,...) - Priviledged subclass 45 */ 46 47/* 48 * Get the clock time. 49 * Available to all. 50 */ 51routine clock_get_time( 52 clock_serv : clock_serv_t; 53 out cur_time : mach_timespec_t); 54 55/* 56 * Get clock attributes. 57 * Available to all. 58 */ 59routine clock_get_attributes( 60 clock_serv : clock_serv_t; 61 in flavor : clock_flavor_t; 62 out clock_attr : clock_attr_t, CountInOut); 63 64/* 65 * Setup a clock alarm. 66 * Available to all. 67 */ 68routine clock_alarm( 69 clock_serv : clock_serv_t; 70 alarm_type : alarm_type_t; 71 alarm_time : mach_timespec_t; 72 alarm_port : clock_reply_t = 73 MACH_MSG_TYPE_MAKE_SEND_ONCE|polymorphic); 74

