]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/ledger_get_remote.html
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / man / ledger_get_remote.html
1 <h2>ledger_get_remote</h2>
2 <hr>
3 <p>
4 <strong>Function</strong> - Return send right to specified host's remote ledger port.
5 <h3>SYNOPSIS</h3>
6 <pre>
7 <strong>kern_return_t ledger_get_remote</strong>
8 <strong>(ledger_port_t</strong> <var>ledger</var>,
9 <strong>host_t</strong> <var>host_name</var>,
10 <strong>ledger</strong> <var>service_port</var><strong>);</strong>
11
12
13 <strong>kern_return_t ledger_return_remote</strong>
14 <strong>(ledger_port_t</strong> <var>ledger</var>,
15 <strong>host_t</strong> <var>host_name</var>,
16 <strong>ledger</strong> <var>service_port</var><strong>);</strong>
17 </pre>
18 <h3>PARAMETERS</h3>
19 <dl>
20 <p>
21 <dt> <var>ledger</var>
22 <dd>
23 [in ledger send right]
24 The ledger whose service port is desired.
25 <p>
26 <dt> <var>host_name</var>
27 <dd>
28 [in host-name send right]
29 The name for the host requesting the service
30 port.
31 <p>
32 <dt> <var>service_port</var>
33 <dd>
34 [out ledger-service send right]
35 The ledger service port.
36 </dl>
37 <h3>DESCRIPTION</h3>
38 <p>
39 The <strong>ledger_get_remote</strong> function returns the remote ledger
40 service port for the
41 ledger
42 <h3>NOTES</h3>
43 <p>
44 This interface is not implemented in OSF/1 R1.3.
45 <p>
46 This mechanism supports distributed resource ledgers in the following way:
47 <dl>
48 <dd>
49 With <strong>ledger_set_remote</strong>, a ledger is assigned a remote
50 ledger service port.
51 <dd>
52 This ledger is used as the ledger for a create operation.
53 If the ledger is local to the target kernel, all is fine.
54 <dd>
55 For a non-local creation, the target kernel sees that the supplied
56 ledger is not
57 a local ledger. The kernel sends a <strong>ledger_get_remote</strong> message to it,
58 including the host name.
59 <dd>
60 The (remote) ledger receives this message, ignores the host name and returns
61 the remote ledger service port.
62 <dd>
63 Assuming that the remote ledger service port is not a local ledger, the kernel
64 sends a <strong>ledger_get_remote</strong> message to this service port.
65 <dd>
66 A server receives this request (with the <strong>ledger_return_remote</strong>
67 server interface)
68 and uses the identity of the service port as well as the host name of the
69 target kernel to locate or create a suitable ledger on that kernel.
70 <dd>
71 The port for a ledger on the target kernel is sent to that kernel and used.
72 </dl>
73 <h3>RETURN VALUES</h3>
74 <p>
75 Only generic errors apply.
76 <h3>RELATED INFORMATION</h3>
77 <p>
78 Functions:
79 <a href="ledger_create.html"><strong>ledger_create</strong></a>,
80 <a href="ledger_set_remote.html"><strong>ledger_set_remote</strong></a>.