powermanagement.defs   [plain text]


/*
 * Copyright (c) 1999-2008 Apple Computer, Inc.  All Rights Reserved.
 * 
 * @APPLE_LICENSE_HEADER_START@
 * 
 * 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, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 * Please see the License for the specific language governing rights and
 * limitations under the License.
 * 
 * @APPLE_LICENSE_HEADER_END@
 */
#include <mach/std_types.defs>
#include <mach/mach_types.defs>

type string_t = c_string[*:1024] ctype:string_t;

import <IOKit/pwr_mgt/powermanagement_mig.h>;

subsystem powermanagement 73000; 
serverprefix _;

// PM Settings
routine io_pm_force_active_settings(
            server      : mach_port_t;
        in  profiles    : pointer_t;
        out return_val  : int);

routine io_pm_set_active_profile(
            server      : mach_port_t;
        in  profiles    : pointer_t;
        out return_val  : int);

// PM Bookkeeping
routine io_pm_last_wake_time(
            server      : mach_port_t;
        out wakeData    : pointer_t;
        out deltaData   : pointer_t;
        out return_val  : int);

// IOPMAssertion
routine io_pm_assertion_create(
            server      : mach_port_t;
        in task_t       : mach_port_t;
        in  name        : string_t;
        in  profile     : string_t;
        in  level       : int;
        out assertion_id: int;
        out return_code : int);
        
routine io_pm_assertion_settimeout(
            server      : mach_port_t;
        in  task_t      : mach_port_t;
        in  assertion_id: int;
        in  interval    : int;
        out return_code : int);

routine io_pm_assertion_release(
            server      : mach_port_t;
        in  task_t      : mach_port_t;
        in  assertion_id: int;
        out return_code : int);

// IOPMConnection
routine io_pm_connection_create(
            server      : mach_port_t;
        in task_in       : mach_port_t;
        in name         : string_t;
        in interests    : int;
        out connection_id : uint32_t;
        out return_code :int);

routine io_pm_connection_schedule_notification(
            server      : mach_port_t;
        in connection_id : uint32_t;
        in notify_port  : mach_port_t;
        in disable      : int;
        out return_code : int);
        
routine io_pm_connection_release(
            server      : mach_port_t;
        in connection_id : uint32_t;
        out return_code : int);

routine io_pm_connection_acknowledge_event(
           server       : mach_port_t;
        in connection_id : uint32_t;
        in messageToken : int;
        in options      : pointer_t;
        out return_code : int);

routine io_pm_connection_copy_status(
           server       : mach_port_t;
        in status_index : int;
        out status_data : pointer_t;
        out return_val  : int);
        
routine io_pm_new_pspowersource(
            server      : mach_port_t;
        in  clientport  : mach_port_t;
        in  clienttype  : string_t;
        out dskey       : string_t;
        out return_code : int);