int sm_channel_set_event(struct sm_channel_set_event_parms *eventp)
typedef struct sm_channel_set_event_parms {
tSMChannelId channel; /* in */
tSM_INT event_type; /* in */
tSM_INT issue_events; /* in */
tSMEventId event; /* in */
} SM_CHANNEL_SET_EVENT_PARMS;
This call may be used to control read/write and/or recognition event notification for channels.
Channel associated events must be allocated through a call to smd_ev_create().
In general an application can hibernate in an operating system specific way waiting for data activity on specific channels, or on any channel.
A channel may have events associated with reading data, writing data and recognition. The event_type parameter should be set to the type required as follows:
| Type | Associated with |
|---|---|
| kSMEventTypeReadData | Recording of data |
| kSMEventTypeWriteData | Replay of data, dial completion, tone generation |
| kSMEventTypeRecog | Recognition of tone, digit etc |
To enable channel specific event notification for a particular
channel, set
channel
to the required channel,
issue_events
to kSMChannelSpecificEvent, and
event
to an operating system specific event handle.
To specify the event to be used when waiting for
read/write/recognition activity on any channel, set
channel
to kSMNullChannelId,
issue_events
to kSMAnyChannelEvent, and
event
to an operating system specific event handle. To disable further
use of this event make the same call but with
issue_events
set to kSMChannelNoEvent.
To enable "any channel" event notification for a
particular channel, set
channel
to the required channel,
issue_events
to kSMAnyChannelEvent, the
event
parameter is not used.
To disable read/write/recognition event notification for a
particular channel, set
channel
to the required channel, and
issue_events
to kSMChannelNoEvent.
By default, no events are associated with a channel.
kSMEventTypeReadData,
kSMEventTypeWriteData, or
kSMEventTypeRecog.
kSMChannelNoEvent,
kSMChannelSpecificEventNonIdle,
kSMChannelSpecificEvent, or
kSMAnyChannelEvent.
0 if call completed successfully, otherwise a standard error such as:
This function is part of the Prosody generic API.