|
|
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.