udi_cb_free(3udi)


Deallocates a previously obtained control block

SYNOPSIS

#include <udi.h>

void udi_cb_free ( udi_cb_t *cb );
 

ARGUMENTS cb is a pointer to the control block to be deallocated. If NULL, this function is a no-op.

DESCRIPTION udi_cb_free releases the specified control block, including any metalanguage-specific parts, along with any associated resources back to the environment. cb must be NULL or must have been previously obtained by a call to udi_cb_alloc, or passed to the driver via a channel operation.

Note that udi_cb_free may be used to free any type of control block.

WARNING The control block must not currently have any service call or callback pending. Any pending requests must first be cancelled with udi_cancel.

Management metalanguage control blocks and channel event control blocks must not be passed to udi_cb_free.

Control block usage must follow the rules described in the "Asynchronous Service Calls" section of "Calling Sequence and Naming Conventions"

REFERENCES udi_cb_alloc, udi_cancel, udi_channel_event_cb_t


UDI Core Specification Contents