|
|
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: * @OSF_COPYRIGHT@ ! 24: */ ! 25: ! 26: subsystem ! 27: #if KERNEL_USER ! 28: KernelUser ! 29: #endif /* KERNEL_USER */ ! 30: #if KERNEL_SERVER ! 31: KernelServer ! 32: #endif /* KERNEL_SERVER */ ! 33: ledger 5000; ! 34: ! 35: #ifdef KERNEL_USER ! 36: userprefix r_; ! 37: #endif /* KERNEL_USER */ ! 38: ! 39: #include <mach/std_types.defs> ! 40: #include <mach/mach_types.defs> ! 41: ! 42: /* ! 43: * Create a subordinate ledger ! 44: */ ! 45: routine ledger_create( ! 46: parent_ledger : ledger_t; ! 47: ledger_ledger : ledger_t; ! 48: out new_ledger : ledger_t; ! 49: transfer : ledger_item_t); ! 50: ! 51: /* ! 52: * Get the remote ledger service port ! 53: */ ! 54: routine ledger_get_remote( ! 55: ledger : ledger_t; ! 56: host : host_t; ! 57: out service_ledger : ledger_t); ! 58: ! 59: /* ! 60: * Return the ledger limit and balance ! 61: */ ! 62: routine ledger_read( ! 63: ledger : ledger_t; ! 64: out balance : ledger_item_t; ! 65: out limit : ledger_item_t); ! 66: ! 67: /* ! 68: * Sets the remote ledger service port ! 69: */ ! 70: routine ledger_set_remote( ! 71: ledger : ledger_t; ! 72: service_ledger : ledger_t); ! 73: ! 74: /* ! 75: * Destroy a ledger ! 76: */ ! 77: routine ledger_terminate( ! 78: ledger : ledger_t); ! 79: ! 80: /* ! 81: * Transfer resources from a parent ledger to a child ! 82: */ ! 83: routine ledger_transfer( ! 84: parent_ledger : ledger_t; ! 85: child_ledger : ledger_t; ! 86: transfer : ledger_item_t);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.