53 lines
1.3 KiB
ReStructuredText
53 lines
1.3 KiB
ReStructuredText
PR_PopIOLayer
|
|
=============
|
|
|
|
Removes a layer from the stack.
|
|
|
|
|
|
Syntax
|
|
------
|
|
|
|
.. code::
|
|
|
|
#include <prio.h>
|
|
|
|
PRFileDesc *PR_PopIOLayer(
|
|
PRFileDesc *stack,
|
|
PRDescIdentity id);
|
|
|
|
|
|
Parameters
|
|
~~~~~~~~~~
|
|
|
|
The function has the following parameters:
|
|
|
|
``stack``
|
|
A pointer to a :ref:`PRFileDesc` object representing the stack from
|
|
which the specified layer is to be removed.
|
|
``id``
|
|
Identity of the layer to be removed from the stack.
|
|
|
|
|
|
Returns
|
|
~~~~~~~
|
|
|
|
The function returns one of the following values:
|
|
|
|
- If the layer is successfully removed from the stack, a pointer to the
|
|
removed layer.
|
|
- If the layer is not found in the stack or cannot be popped (for
|
|
example, the bottommost layer), the function returns ``NULL`` with
|
|
the error code ``PR_INVALID_ARGUMENT_ERROR``.
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
:ref:`PR_PopIOLayer` pops the specified layer from the stack. If the object
|
|
to be removed is found, :ref:`PR_PopIOLayer` returns a pointer to the
|
|
removed object The object then becomes the responsibility of the caller.
|
|
|
|
Even if the identity indicates the top layer of the stack, the reference
|
|
returned is not the file descriptor for the stack and that file
|
|
descriptor remains valid. In other words, ``stack`` continues to point
|
|
to the top of the stack after the function returns.
|