PR_PopIOLayer ============= Removes a layer from the stack. Syntax ------ .. code:: #include 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.