iofunc_close_ocb()

QNX SDP8.0C Library ReferenceAPIDeveloper

Return the memory allocated for an OCB

Synopsis:

#include <sys/iofunc.h>

int iofunc_close_ocb( resmgr_context_t* ctp,
                      iofunc_ocb_t* ocb,
                      iofunc_attr_t* attr );

Arguments:

ctp
A pointer to a resmgr_context_t structure that the resource-manager library uses to pass context information between functions.
ocb
A pointer to the iofunc_ocb_t structure for the Open Control Block that was created when the client opened the resource.
attr
A pointer to the iofunc_attr_t structure that describes the characteristics of the device that's associated with your resource manager.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The iofunc_close_ocb() function detaches the OCB specified by ocb, and releases the memory associated with it.

Note:
This function assumes that ocb points to an iofunc_ocb_t. If you encapsulate iofunc_ocb_t in your own OCB it must be the first field of your OCB; otherwise, you can't call this function. If you provide an ocb_free() function in the mount structure then it's called at this point. This means that at least the iofunc_ocb_t portion of your OCB is no longer valid after iofunc_close_ocb() returns.

The iofunc_close_ocb() function calls iofunc_ocb_detach() on your behalf.

Returns:

EOK
Success.
Anything else
An error occurred.
The function only returns failure if it fails to lock the attribute structure associated with the OCB. By default, a failure returns any error from iofunc_attr_lock(). But if the attribute lock implementation is overridden in the mount structure, it returns any error returned by the attribute lock that is supplied by that implementation.

Classification:

QNX OS

Safety:
Cancellation pointNo
Signal handlerYes
ThreadYes
Page updated: