static FIO_SPAN_DESTROY_FUNCTION(m3ua_span_destroy)
{
- m3ua_span_data_t *span_data = (m3ua_span_data_t *) span->mod_data;
+ m3ua_span_data_t *span_data = (m3ua_span_data_t *) span->io_data;
if (span_data) {
ftdm_safe_free(span_data);
}
static FIO_CHANNEL_DESTROY_FUNCTION(m3ua_channel_destroy)
{
- m3ua_chan_data_t *chan_data = (m3ua_chan_data_t *) ftdmchan->mod_data;
- m3ua_span_data_t *span_data = (m3ua_span_data_t *) ftdmchan->span->mod_data;
+ m3ua_chan_data_t *chan_data = (m3ua_chan_data_t *) ftdmchan->io_data;
+ m3ua_span_data_t *span_data = (m3ua_span_data_t *) ftdmchan->span->io_data;
if (!chan_data) {
return FTDM_FAIL;
isdn_data->channels_remote_crv[gen->CRV] = ftdmchan;
memset(&ftdmchan->caller_data, 0, sizeof(ftdmchan->caller_data));
- if (ftdmchan->mod_data) {
- memset(ftdmchan->mod_data, 0, sizeof(ftdm_isdn_bchan_data_t));
+ if (ftdmchan->call_data) {
+ memset(ftdmchan->call_data, 0, sizeof(ftdm_isdn_bchan_data_t));
}
/* copy number readd prefix as needed */
* overlap dial digit indication
*/
if (Q931IsIEPresent(gen->CalledNum)) {
- ftdm_isdn_bchan_data_t *data = (ftdm_isdn_bchan_data_t *)ftdmchan->mod_data;
+ ftdm_isdn_bchan_data_t *data = (ftdm_isdn_bchan_data_t *)ftdmchan->call_data;
Q931ie_CalledNum *callednum = Q931GetIEPtr(gen->CalledNum, gen->buf);
int pos;
break;
case FTDM_CHANNEL_STATE_DIALTONE:
{
- ftdm_isdn_bchan_data_t *data = (ftdm_isdn_bchan_data_t *)ftdmchan->mod_data;
+ ftdm_isdn_bchan_data_t *data = (ftdm_isdn_bchan_data_t *)ftdmchan->call_data;
if (data) {
data->digit_timeout = ftdm_time_now() + isdn_data->digit_timeout;
switch (ftdm_channel_get_state(chan)) {
case FTDM_CHANNEL_STATE_DIALTONE:
{
- ftdm_isdn_bchan_data_t *data = (ftdm_isdn_bchan_data_t *)chan->mod_data;
+ ftdm_isdn_bchan_data_t *data = (ftdm_isdn_bchan_data_t *)chan->call_data;
ftdm_caller_data_t *caller_data = ftdm_channel_get_caller_data(chan);
/* check overlap dial timeout first before generating tone */
ftdm_channel_t *chan = ftdm_span_get_channel(span, i);
if (ftdm_channel_get_type(chan) == FTDM_CHAN_TYPE_B) {
- chan->mod_data = data;
+ chan->call_data = data;
memset(data, 0, sizeof(ftdm_isdn_bchan_data_t));
}
}
{
PK_STATUS pk_status;
ftdm_channel_t *ftdmchan = event->userData;
- pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
+ pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->io_data;
//PK_CHAR event_text[PKH_EVENT_MAX_NAME_LENGTH];
//PKH_EVENT_GetText(event->id, event_text, sizeof(event_text));
}
- if (span->mod_data) {
- span_data = span->mod_data;
+ if (span->io_data) {
+ span_data = span->io_data;
} else {
span_data = ftdm_malloc(sizeof(*span_data));
assert(span_data != NULL);
//PKH_QUEUE_Attach(span_data->event_queue, globals.open_boards[boardno], NULL);
- span->mod_data = span_data;
+ span->io_data = span_data;
}
if (type == FTDM_CHAN_TYPE_FXS || type == FTDM_CHAN_TYPE_FXO) {
assert(chan_data);
memset(chan_data, 0, sizeof(*chan_data));
ftdm_span_add_channel(span, 0, type, &chan);
- chan->mod_data = chan_data;
+ chan->io_data = chan_data;
if ((type == FTDM_CHAN_TYPE_B || type == FTDM_CHAN_TYPE_DQ921) && !span_data->handle) {
PKH_TBoardConfig boardConfig;
*/
static FIO_OPEN_FUNCTION(pika_open)
{
- pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
+ pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->io_data;
if (!chan_data && !ftdm_test_flag(chan_data, PK_FLAG_READY)) {
return FTDM_FAIL;
*/
static FIO_WAIT_FUNCTION(pika_wait)
{
- pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
+ pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->io_data;
PK_STATUS status;
ftdm_wait_flag_t myflags = *flags;
PK_CHAR event_text[PKH_EVENT_MAX_NAME_LENGTH];
*/
static FIO_READ_FUNCTION(pika_read)
{
- pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
+ pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->io_data;
PK_STATUS status;
PK_CHAR event_text[PKH_EVENT_MAX_NAME_LENGTH];
uint32_t len;
*/
static FIO_WRITE_FUNCTION(pika_write)
{
- pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
+ pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->io_data;
PK_STATUS status;
if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921) {
*/
static FIO_COMMAND_FUNCTION(pika_command)
{
- pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
- //pika_span_data_t *span_data = (pika_span_data_t *) ftdmchan->span->mod_data;
+ pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->io_data;
+ //pika_span_data_t *span_data = (pika_span_data_t *) ftdmchan->span->io_data;
PK_STATUS pk_status;
ftdm_status_t status = FTDM_SUCCESS;
*/
static FIO_SPAN_POLL_EVENT_FUNCTION(pika_poll_event)
{
- pika_span_data_t *span_data = (pika_span_data_t *) span->mod_data;
+ pika_span_data_t *span_data = (pika_span_data_t *) span->io_data;
PK_STATUS status;
PK_CHAR event_text[PKH_EVENT_MAX_NAME_LENGTH];
for(x = 1; x <= span->chan_count; x++) {
ftdmchan = span->channels[x];
assert(ftdmchan != NULL);
- chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
+ chan_data = (pika_chan_data_t *) ftdmchan->io_data;
assert(chan_data != NULL);
//ftdm_log(FTDM_LOG_DEBUG, "Event: %s\n", event_text);
if (ftdmchan) {
- pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
+ pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->io_data;
assert(chan_data != NULL);
ftdm_set_flag(ftdmchan, FTDM_CHANNEL_EVENT);
for(i = 1; i <= span->chan_count; i++) {
if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_EVENT)) {
- pika_chan_data_t *chan_data = (pika_chan_data_t *) span->channels[i]->mod_data;
+ pika_chan_data_t *chan_data = (pika_chan_data_t *) span->channels[i]->io_data;
PK_CHAR event_text[PKH_EVENT_MAX_NAME_LENGTH];
ftdm_clear_flag(span->channels[i], FTDM_CHANNEL_EVENT);
*/
static FIO_SPAN_DESTROY_FUNCTION(pika_span_destroy)
{
- pika_span_data_t *span_data = (pika_span_data_t *) span->mod_data;
+ pika_span_data_t *span_data = (pika_span_data_t *) span->io_data;
if (span_data) {
PKH_QUEUE_Destroy(span_data->event_queue);
*/
static FIO_CHANNEL_DESTROY_FUNCTION(pika_channel_destroy)
{
- pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
- pika_span_data_t *span_data = (pika_span_data_t *) ftdmchan->span->mod_data;
+ pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->io_data;
+ pika_span_data_t *span_data = (pika_span_data_t *) ftdmchan->span->io_data;
if (!chan_data) {
return FTDM_FAIL;
#ifdef LIBSANGOMA_VERSION
int err;
- uint32_t inflags = *flags;
- uint32_t outflags = 0;
- sangoma_wait_obj_t *sangoma_wait_obj = ftdmchan->mod_data;
+ uint32_t inflags = *flags;
+ uint32_t outflags = 0;
+ sangoma_wait_obj_t *sangoma_wait_obj = ftdmchan->io_data;
err = sangoma_waitfor(sangoma_wait_obj, inflags, &outflags, timeout);
*flags = 0;
- if (err == SANG_STATUS_SUCCESS) {
- *flags = outflags;
- err = 1; /* ideally should be the number of file descriptors with something to read */
- }
- if (err == SANG_STATUS_APIPOLL_TIMEOUT) {
- err = 0;
- }
- return err;
+ if (err == SANG_STATUS_SUCCESS) {
+ *flags = outflags;
+ err = 1; /* ideally should be the number of file descriptors with something to read */
+ }
+ if (err == SANG_STATUS_APIPOLL_TIMEOUT) {
+ err = 0;
+ }
+ return err;
#else
struct pollfd pfds[1];
- int res;
+ int res;
- memset(&pfds[0], 0, sizeof(pfds[0]));
- pfds[0].fd = ftdmchan->sockfd;
- pfds[0].events = *flags;
- res = poll(pfds, 1, timeout);
+ memset(&pfds[0], 0, sizeof(pfds[0]));
+ pfds[0].fd = ftdmchan->sockfd;
+ pfds[0].events = *flags;
+ res = poll(pfds, 1, timeout);
*flags = 0;
if (pfds[0].revents & POLLERR) {
*flags = pfds[0].revents;
}
- return res;
+ return res;
#endif
}
ftdm_log(FTDM_LOG_ERROR, "failure create waitable object for s%dc%d\n", spanno, x);
continue;
}
- chan->mod_data = sangoma_wait_obj;
+ chan->io_data = sangoma_wait_obj;
#endif
chan->physical_span_id = spanno;
static FIO_CLOSE_FUNCTION(wanpipe_close)
{
#ifdef LIBSANGOMA_VERSION
- sangoma_wait_obj_t *waitobj = ftdmchan->mod_data;
+ sangoma_wait_obj_t *waitobj = ftdmchan->io_data;
/* kick any I/O waiters */
sangoma_wait_obj_signal(waitobj);
#endif
for(i = 1; i <= span->chan_count; i++) {
ftdm_channel_t *ftdmchan = span->channels[i];
#ifdef LIBSANGOMA_VERSION
- if (!ftdmchan->mod_data) {
+ if (!ftdmchan->io_data) {
continue; /* should never happen but happens when shutting down */
}
- pfds[j] = ftdmchan->mod_data;
+ pfds[j] = ftdmchan->io_data;
inflags[j] = poll_events ? poll_events[j] : POLLPRI;
#else
memset(&pfds[j], 0, sizeof(pfds[j]));
static FIO_CHANNEL_DESTROY_FUNCTION(wanpipe_channel_destroy)
{
#ifdef LIBSANGOMA_VERSION
- if (ftdmchan->mod_data) {
+ if (ftdmchan->io_data) {
sangoma_wait_obj_t *sangoma_wait_obj;
- sangoma_wait_obj = ftdmchan->mod_data;
- ftdmchan->mod_data = NULL;
+ sangoma_wait_obj = ftdmchan->io_data;
+ ftdmchan->io_data = NULL;
sangoma_wait_obj_delete(&sangoma_wait_obj);
}
#endif
ftdm_fsk_data_state_t fsk;
uint8_t fsk_buf[80];
uint32_t ring_count;
- void *mod_data;
+ /* Private I/O data. Do not touch unless you are an I/O module */
+ void *io_data;
+ /* Private signaling data. Do not touch unless you are a signaling module */
void *call_data;
struct ftdm_caller_data caller_data;
struct ftdm_span *span;
ftdm_trunk_type_t trunk_type;
ftdm_analog_start_type_t start_type;
ftdm_signal_type_t signal_type;
+ /* Private signaling data. Do not touch unless you are a signaling module */
void *signal_data;
fio_signal_cb_t signal_cb;
ftdm_event_t event_header;
ftdm_span_start_t start;
ftdm_span_stop_t stop;
ftdm_channel_sig_read_t sig_read;
- void *mod_data;
+ /* Private I/O data per span. Do not touch unless you are an I/O module */
+ void *io_data;
char *type;
char *dtmf_hangup;
size_t dtmf_hangup_len;