![]() |
![]() |
![]() |
![]() |
![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Allocate an iofunc Open Control Block
#include <sys/iofunc.h>
iofunc_ocb_t * iofunc_ocb_calloc(
resmgr_context_t * ctp,
iofunc_attr_t * attr );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The iofunc_ocb_calloc() function allocates an iofunc OCB. It has a number of uses:
![]() |
You should fill in the attribute's mount structure (i.e. the attr->mount pointer)
instead of replacing this function.
If you specify iofunc_ocb_calloc() and iofunc_ocb_free() callouts in the attribute's mount structure, then you should use the callouts instead of calling the standard iofunc_ocb_calloc() and iofunc_ocb_free() functions. |
A pointer to an iofunc_ocb_t OCB structure.
Override iofunc_ocb_calloc() and iofunc_ocb_free() to manage an extended OCB:
typedef struct
{
iofunc_ocb_t iofuncOCB; /* the OCB used by iofunc_* */
int myFlags;
char moreOfMyStuff;
} MyOCBT;
MyOCBT *iofunc_ocb_calloc (resmgr_context_t *ctp,
iofunc_attr_t *attr)
{
return ((MyOCBT *) calloc (1, sizeof (MyOCBT));
}
void iofunc_ocb_free (MyOCBT *ocb)
{
free (ocb);
}
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
iofunc_ocb_free(), iofunc_ocb_t
Writing a Resource Manager chapter of the Programmer's Guide.
![]() |
![]() |
![]() |
![]() |