osfmk/man/ledger_create.html
Function - Create a subordinate ledger.
**kern\_return\_t ledger\_create**** (ledger\_port\_t **parent\_ledger,** ledger\_port\_t **ledger\_ledger,** ledger\_port\_t **child\_ledger,** ledger\_item\_t **transfer** );**
parent_ledger[in ledger send right] The parent ledger.
ledger_ledger[in ledger send right] The wired kernel memory ledger providing the space from which the ledger itself is drawn.
child_ledger[out ledger send right] The new child ledger, of the same resource type as the parent ledger.
transfer[in scalar] The resource amount to transfer to the new ledger.
The ledger_create function creates a subordinate ledger. Resource limits can be transferred from the parent ledger. The child ledger itself is accounted against the ledger_ledger. A new ledger inherits the remote service port.
This interface is not implemented in OSF/1 R1.3.
A ledger limit of LEDGER_ITEM_INFINITE allows any amount (even infinity) to be withdrawn. The root ledger has such a limit.
KERN_RESOURCE_SHORTAGE Transferring the resources would cause the parent ledger to exceed its limits.
KERN_INVALID_LEDGER ledger_ledger is not a wired kernel memory ledger.
Functions: ledger_transfer, ledger_terminate, ledger_read, ledger_set_remote.