Lines Matching refs:a

155 	DIVA_CAPI_ADAPTER *a;  in find_free_id()  local
158 a = &adapter[num]; in find_free_id()
159 if (!a->Id) in find_free_id()
348 DIVA_CAPI_ADAPTER *a; in clean_adapter() local
351 a = &adapter[id]; in clean_adapter()
352 k = li_total_channels - a->li_channels; in clean_adapter()
359 if (a->li_base < k) { in clean_adapter()
360 memmove(&li_config_table[a->li_base], in clean_adapter()
361 &li_config_table[a->li_base + a->li_channels], in clean_adapter()
362 (k - a->li_base) * sizeof(LI_CONFIG)); in clean_adapter()
364 memmove(&li_config_table[i].flag_table[a->li_base], in clean_adapter()
365 &li_config_table[i].flag_table[a->li_base + a->li_channels], in clean_adapter()
366 k - a->li_base); in clean_adapter()
368 coef_table[a->li_base], in clean_adapter()
369 &li_config_table[i].coef_table[a->li_base + a->li_channels], in clean_adapter()
370 k - a->li_base); in clean_adapter()
377 adapter[i].li_base -= a->li_channels; in clean_adapter()
379 if (a->plci) in clean_adapter()
380 list_add((struct list_head *)a->plci, free_mem_q); in clean_adapter()
382 memset(a, 0x00, sizeof(DIVA_CAPI_ADAPTER)); in clean_adapter()
492 DIVA_CAPI_ADAPTER *a = NULL; in diva_add_card() local
546 a = &adapter[card->Id - 1]; in diva_add_card()
547 card->adapter = a; in diva_add_card()
548 a->os_card = card; in diva_add_card()
558 a->flag_dynamic_l1_down = in diva_add_card()
560 a->group_optimization_enabled = in diva_add_card()
562 a->request = DIRequest; /* card->d.request; */ in diva_add_card()
563 a->max_plci = card->d.channels + 30; in diva_add_card()
564 a->max_listen = (card->d.channels > 2) ? 8 : 2; in diva_add_card()
566 (a->plci = in diva_add_card()
567 (PLCI *) diva_os_malloc(0, sizeof(PLCI) * a->max_plci))) { in diva_add_card()
569 memset(a, 0, sizeof(DIVA_CAPI_ADAPTER)); in diva_add_card()
572 memset(a->plci, 0, sizeof(PLCI) * a->max_plci); in diva_add_card()
574 for (k = 0; k < a->max_plci; k++) { in diva_add_card()
575 a->Id = (byte) card->Id; in diva_add_card()
576 a->plci[k].Sig.callback = sync_callback; in diva_add_card()
577 a->plci[k].Sig.XNum = 1; in diva_add_card()
578 a->plci[k].Sig.X = a->plci[k].XData; in diva_add_card()
579 a->plci[k].Sig.user[0] = (word) (card->Id - 1); in diva_add_card()
580 a->plci[k].Sig.user[1] = (word) k; in diva_add_card()
581 a->plci[k].NL.callback = sync_callback; in diva_add_card()
582 a->plci[k].NL.XNum = 1; in diva_add_card()
583 a->plci[k].NL.X = a->plci[k].XData; in diva_add_card()
584 a->plci[k].NL.user[0] = (word) ((card->Id - 1) | 0x8000); in diva_add_card()
585 a->plci[k].NL.user[1] = (word) k; in diva_add_card()
586 a->plci[k].adapter = a; in diva_add_card()
589 a->profile.Number = card->Id; in diva_add_card()
590 a->profile.Channels = card->d.channels; in diva_add_card()
592 a->profile.Global_Options = 0x71; in diva_add_card()
594 a->profile.Global_Options |= 0x6; in diva_add_card()
596 a->profile.Global_Options |= 0x8; in diva_add_card()
598 a->profile.Global_Options |= 0x80; /* Line Interconnect */ in diva_add_card()
600 a->profile.Global_Options |= 0x100; in diva_add_card()
602 a->profile.B1_Protocols = 0xdf; in diva_add_card()
603 a->profile.B2_Protocols = 0x1fdb; in diva_add_card()
604 a->profile.B3_Protocols = 0xb7; in diva_add_card()
605 a->manufacturer_features = MANUFACTURER_FEATURE_HARDDTMF; in diva_add_card()
607 a->profile.Global_Options = 0x71; in diva_add_card()
609 a->profile.Global_Options |= 0x2; in diva_add_card()
610 a->profile.B1_Protocols = 0x43; in diva_add_card()
611 a->profile.B2_Protocols = 0x1f0f; in diva_add_card()
612 a->profile.B3_Protocols = 0x07; in diva_add_card()
613 a->manufacturer_features = 0; in diva_add_card()
616 a->li_pri = (a->profile.Channels > 2); in diva_add_card()
617 a->li_channels = a->li_pri ? MIXER_CHANNELS_PRI : MIXER_CHANNELS_BRI; in diva_add_card()
618 a->li_base = 0; in diva_add_card()
619 for (i = 0; &adapter[i] != a; i++) { in diva_add_card()
621 a->li_base = adapter[i].li_base + adapter[i].li_channels; in diva_add_card()
623 k = li_total_channels + a->li_channels; in diva_add_card()
628 memset(a, 0, sizeof(DIVA_CAPI_ADAPTER)); in diva_add_card()
637 if ((i >= a->li_base) && (i < a->li_base + a->li_channels)) in diva_add_card()
645 if ((i >= a->li_base) && (i < a->li_base + a->li_channels)) { in diva_add_card()
646 new_li_config_table[i].adapter = a; in diva_add_card()
650 if (a->li_base != 0) { in diva_add_card()
653 a->li_base); in diva_add_card()
656 a->li_base); in diva_add_card()
658 memset(&new_li_config_table[i].flag_table[a->li_base], 0, a->li_channels); in diva_add_card()
659 memset(&new_li_config_table[i].coef_table[a->li_base], 0, a->li_channels); in diva_add_card()
660 if (a->li_base + a->li_channels < k) { in diva_add_card()
661 memcpy(&new_li_config_table[i].flag_table[a->li_base + in diva_add_card()
662 a->li_channels], in diva_add_card()
663 &li_config_table[j].flag_table[a->li_base], in diva_add_card()
664 k - (a->li_base + a->li_channels)); in diva_add_card()
665 memcpy(&new_li_config_table[i].coef_table[a->li_base + in diva_add_card()
666 a->li_channels], in diva_add_card()
667 &li_config_table[j].coef_table[a->li_base], in diva_add_card()
668 k - (a->li_base + a->li_channels)); in diva_add_card()
680 adapter[i].li_base += a->li_channels; in diva_add_card()
683 if (a == &adapter[max_adapter]) in diva_add_card()
687 AutomaticLaw(a); in diva_add_card()
697 if (a->automatic_law > 3) in diva_add_card()
704 ctrl->profile.goptions = a->profile.Global_Options; in diva_add_card()
705 ctrl->profile.support1 = a->profile.B1_Protocols; in diva_add_card()
706 ctrl->profile.support2 = a->profile.B2_Protocols; in diva_add_card()
707 ctrl->profile.support3 = a->profile.B3_Protocols; in diva_add_card()
709 ctrl->profile.manu[0] = a->man_profile.private_options; in diva_add_card()
710 ctrl->profile.manu[1] = a->man_profile.rtp_primary_payloads; in diva_add_card()
711 ctrl->profile.manu[2] = a->man_profile.rtp_additional_payloads; in diva_add_card()
1012 DIVA_CAPI_ADAPTER *a = &(adapter[(byte) e->user[0]]); in DIRequest() local
1013 diva_card *os_card = (diva_card *) a->os_card; in DIRequest()
1015 if (e->Req && (a->FlowControlIdTable[e->ReqCh] == e->Id)) { in DIRequest()
1016 a->FlowControlSkipTable[e->ReqCh] = 1; in DIRequest()