|
|
udi_mei_driver_error(3udi)
Metalanguage violation by the driver
#include <udi.h>void udi_mei_driver_error ( udi_cb_t *gcb, udi_mei_init_t *meta_info, udi_index_t meta_ops_num, udi_index_t vec_idx );ARGUMENTS gcb is a pointer to the control blocked passed to the actual channel operation.
meta_info is a pointer to this metalanguage's udi_meta_info structure, which can be used to uniquely identify this metalanguage.
meta_ops_num is the metalanguage-defined identifier for the ops vector type to which this operation belongs.
vec_idx is the index into the ops vector identified by meta_ops_num that corresponds to this operation, starting from zero.
DESCRIPTION This function is called by a metalanguage library when it determines that the driver that issued the specified channel operation has performed an illegal operation. An illegal operation includes one in which the operation parameters for the channel operation are invalid. The metalanguage library is not required to check for invalid parameters or other illegal conditions, and should normally not check for invalid parameter values that would (per the metalanguage definition) be expected to be checked in the target driver. Illegal conditions that are detectable only by a portable metalanguage library (not by either the driver or the environment) should be checked for in untrusting metalanguage library implementations.
The environment may choose to handle the specified operation in several ways, including killing the region or completing the operation via the exception completion operation with a UDI_STAT_NOT_UNDERSTOOD status code. In all cases, ownership of the control block is passed to the environment and the metalanguage should no longer access the control block or operate on behalf of this channel operation after the udi_mei_driver_error call returns.