1*a1e26a70SApple OSS Distributions<h2>default_pager_add_segment</h2> 2*a1e26a70SApple OSS Distributions<hr> 3*a1e26a70SApple OSS Distributions<p> 4*a1e26a70SApple OSS Distributions<strong>Server Interface</strong> - Add additional backing storage for a default pager. 5*a1e26a70SApple OSS Distributions<h3>SYNOPSIS</h3> 6*a1e26a70SApple OSS Distributions<pre> 7*a1e26a70SApple OSS Distributions<strong>#include< mach/default_pager_object.h></strong> 8*a1e26a70SApple OSS Distributions 9*a1e26a70SApple OSS Distributions<strong>kern_return_t default_pager_add_segment</strong> 10*a1e26a70SApple OSS Distributions <strong>(mach_port_t</strong> <var>backing_store</var>, 11*a1e26a70SApple OSS Distributions <strong>mach_port_t</strong> <var>device</var>, 12*a1e26a70SApple OSS Distributions <strong>recnum_t</strong> <var>offset</var>, 13*a1e26a70SApple OSS Distributions <strong>recnum_t</strong> <var>count</var>, 14*a1e26a70SApple OSS Distributions <strong>int</strong> <var>record_size</var><strong>);</strong> 15*a1e26a70SApple OSS Distributions</pre> 16*a1e26a70SApple OSS Distributions<h3>PARAMETERS</h3> 17*a1e26a70SApple OSS Distributions<dl> 18*a1e26a70SApple OSS Distributions<p> 19*a1e26a70SApple OSS Distributions<dt> <var>backing_store</var> 20*a1e26a70SApple OSS Distributions<dd> 21*a1e26a70SApple OSS Distributions[in backing store (receive) right] The backing store port. 22*a1e26a70SApple OSS Distributions<p> 23*a1e26a70SApple OSS Distributions<dt> <var>device</var> 24*a1e26a70SApple OSS Distributions<dd> 25*a1e26a70SApple OSS Distributions[in device port] The port for the device containing the backing storage 26*a1e26a70SApple OSS Distributionspartition. 27*a1e26a70SApple OSS Distributions<p> 28*a1e26a70SApple OSS Distributions<dt> <var>offset</var> 29*a1e26a70SApple OSS Distributions<dd> 30*a1e26a70SApple OSS Distributions[in scalar] The offset, in <var>record_size units</var>, to the beginning of the 31*a1e26a70SApple OSS Distributionsbacking storage on the device. 32*a1e26a70SApple OSS Distributions<p> 33*a1e26a70SApple OSS Distributions<dt> <var>count</var> 34*a1e26a70SApple OSS Distributions<dd> 35*a1e26a70SApple OSS Distributions[in scalar] The number of <var>record_size</var> units 36*a1e26a70SApple OSS Distributionsin the partition/segment. 37*a1e26a70SApple OSS Distributions<p> 38*a1e26a70SApple OSS Distributions<dt> <var>record_size</var> 39*a1e26a70SApple OSS Distributions<dd> 40*a1e26a70SApple OSS Distributions[in scalar] The size, in bytes, of the storage device record. 41*a1e26a70SApple OSS Distributions</dl> 42*a1e26a70SApple OSS Distributions<h3>DESCRIPTION</h3> 43*a1e26a70SApple OSS Distributions<p> 44*a1e26a70SApple OSS DistributionsThe <strong>default_pager_add_segment</strong> function is called to add a partition to 45*a1e26a70SApple OSS Distributionsa default pager's backing storage (i.e. expand the amount of backing 46*a1e26a70SApple OSS Distributionsstorage available to a memory manager). The kernel does not make 47*a1e26a70SApple OSS Distributionsthis call itself (which is why it can be a synchronous call); this 48*a1e26a70SApple OSS Distributionsrequest is only issued by tasks holding the backing store port, 49*a1e26a70SApple OSS Distributionscreated with <strong>default_pager_backing_store_create</strong>, for a default memory 50*a1e26a70SApple OSS Distributionsmanager. 51*a1e26a70SApple OSS DistributionsThe result is that the pager may use count records on device starting 52*a1e26a70SApple OSS Distributionsat offset for paging, and each record is record_size bytes in length 53*a1e26a70SApple OSS Distributions(note that the device_* calls are, or can be, record oriented). 54*a1e26a70SApple OSS Distributions<h3>RETURN VALUES</h3> 55*a1e26a70SApple OSS Distributions<dl> 56*a1e26a70SApple OSS Distributions<p> 57*a1e26a70SApple OSS Distributions<dt> <strong>KERN_FAILURE</strong> 58*a1e26a70SApple OSS Distributions<dd> 59*a1e26a70SApple OSS DistributionsThe default pager does not support this operation. 60*a1e26a70SApple OSS Distributions<p> 61*a1e26a70SApple OSS Distributions<dt> <strong>KERN_INVALID_ARGUMENT</strong> 62*a1e26a70SApple OSS Distributions<dd> 63*a1e26a70SApple OSS DistributionsThe <var>backing_store</var> port does not represent a valid backing store or the 64*a1e26a70SApple OSS Distributionsspecified segment overlaps an existing partition. 65*a1e26a70SApple OSS Distributions<p> 66*a1e26a70SApple OSS Distributions<dt> <strong>KERN_RESOURCE_SHORTAGE</strong> 67*a1e26a70SApple OSS Distributions<dd> 68*a1e26a70SApple OSS DistributionsThe default pager is unable to allocate internal resources 69*a1e26a70SApple OSS Distributions to manage the new backing storage. 70*a1e26a70SApple OSS Distributions<p> 71*a1e26a70SApple OSS Distributions<dt> <strong>KERN_SUCCESS</strong> 72*a1e26a70SApple OSS Distributions<dd> 73*a1e26a70SApple OSS DistributionsThe operation was successful. 74*a1e26a70SApple OSS Distributions</dl> 75*a1e26a70SApple OSS Distributions<h3>RELATED INFORMATION</h3> 76*a1e26a70SApple OSS Distributions<p> 77*a1e26a70SApple OSS DistributionsFunctions: 78*a1e26a70SApple OSS Distributions<a href="DP_backing_store_create.html"><strong>default_pager_backing_store_create</strong></a>, 79*a1e26a70SApple OSS Distributions<a href="DP_backing_store_delete.html"><strong>default_pager_backing_store_delete</strong></a>, 80*a1e26a70SApple OSS Distributions<a href="DP_backing_store_info.html"><strong>default_pager_backing_store_info</strong></a>. 81