• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/drivers/isdn/hardware/eicon/

Lines Matching defs:Id

101 static void SendSSExtInd(APPL   *, PLCI   * plci, dword Id, byte   * * parms);
103 static void VSwitchReqInd(PLCI *plci, dword Id, byte **parms);
166 static byte SendMultiIE(PLCI * plci, dword Id, byte * * parms, byte ie_type, dword info_mask, byte setupParse);
177 static word adjust_b_process (dword Id, PLCI *plci, byte Rc);
178 static void adjust_b1_resource (dword Id, PLCI *plci, API_SAVE *bp_msg, word b1_facilities, word internal_command);
179 static void adjust_b_restore (dword Id, PLCI *plci, byte Rc);
180 static void reset_b3_command (dword Id, PLCI *plci, byte Rc);
181 static void select_b_command (dword Id, PLCI *plci, byte Rc);
182 static void fax_connect_ack_command (dword Id, PLCI *plci, byte Rc);
183 static void fax_edata_ack_command (dword Id, PLCI *plci, byte Rc);
184 static void fax_connect_info_command (dword Id, PLCI *plci, byte Rc);
185 static void fax_adjust_b23_command (dword Id, PLCI *plci, byte Rc);
186 static void fax_disconnect_command (dword Id, PLCI *plci, byte Rc);
187 static void hold_save_command (dword Id, PLCI *plci, byte Rc);
188 static void retrieve_restore_command (dword Id, PLCI *plci, byte Rc);
192 static void dtmf_command (dword Id, PLCI *plci, byte Rc);
193 static byte dtmf_request (dword Id, word Number, DIVA_CAPI_ADAPTER *a, PLCI *plci, APPL *appl, API_PARSE *msg);
194 static void dtmf_confirmation (dword Id, PLCI *plci);
195 static void dtmf_indication (dword Id, PLCI *plci, byte *msg, word length);
203 static void mixer_command (dword Id, PLCI *plci, byte Rc);
204 static byte mixer_request (dword Id, word Number, DIVA_CAPI_ADAPTER *a, PLCI *plci, APPL *appl, API_PARSE *msg);
205 static void mixer_indication_coefs_set (dword Id, PLCI *plci);
206 static void mixer_indication_xconnect_from (dword Id, PLCI *plci, byte *msg, word length);
207 static void mixer_indication_xconnect_to (dword Id, PLCI *plci, byte *msg, word length);
211 static void ec_command (dword Id, PLCI *plci, byte Rc);
212 static byte ec_request (dword Id, word Number, DIVA_CAPI_ADAPTER *a, PLCI *plci, APPL *appl, API_PARSE *msg);
213 static void ec_indication (dword Id, PLCI *plci, byte *msg, word length);
216 static void rtp_connect_b3_req_command (dword Id, PLCI *plci, byte Rc);
217 static void rtp_connect_b3_res_command (dword Id, PLCI *plci, byte Rc);
229 #define MapId(Id) (((Id) & 0xffffff00L) | MapController ((byte)(Id)))
230 #define UnMapId(Id) (((Id) & 0xffffff00L) | UnMapController ((byte)(Id)))
421 if (plci->Id
428 || ((ncci < MAX_NCCI+1) && (a->ncci_plci[ncci] == plci->Id))))
693 if(adapter[i].plci[j].Sig.Id) plci_remove(&adapter[i].plci[j]);
703 if(adapter[i].plci[j].Sig.Id) return 1;
730 static void start_internal_command (dword Id, PLCI *plci, t_std_internal_command command_function)
735 UnMapId (Id), (char *)(FILE_), __LINE__));
740 (* command_function)(Id, plci, OK);
752 static void next_internal_command (dword Id, PLCI *plci)
757 UnMapId (Id), (char *)(FILE_), __LINE__));
766 (*(plci->internal_command_queue[0]))(Id, plci, OK);
837 a->ncci_plci[ncci] = plci->Id;
859 dword Id;
862 Id = (((dword) ncci) << 16) | (((word)(plci->Id)) << 8) | a->Id;
865 if (a->ncci_plci[ncci] == plci->Id)
871 ncci_mapping_bug, Id));
876 ncci_code = ncci | (((word) a->Id) << 8);
880 && (((byte)(appl->DataFlags[i] >> 8)) == plci->Id))
892 if (a->ncci_plci[ncci] == plci->Id)
898 ncci_mapping_bug, Id));
903 ncci_code = ncci | (((word) a->Id) << 8);
907 && (((byte)(appl->DataFlags[i] >> 8)) == plci->Id))
923 if (ncci && (plci->adapter->ncci_plci[ncci] == plci->Id))
949 dword Id;
953 Id = (((dword) ncci) << 16) | (((word)(plci->Id)) << 8) | a->Id;
958 if (a->ncci_plci[ncci] != plci->Id)
962 ncci_mapping_bug, Id, preserve_ncci));
968 ncci_mapping_bug, Id, preserve_ncci, a->ncci_ch[ncci], ncci));
994 if (a->ncci_plci[ncci] == plci->Id)
998 ncci_mapping_bug, Id, preserve_ncci, a->ncci_ch[ncci], ncci));
1057 dbug(1,dprintf("plci_remove(%x,tel=%x)",plci->Id,plci->tel));
1062 if (plci->Sig.Id == 0xff)
1064 dbug(1,dprintf("D-channel X.25 plci->NL.Id:%0x", plci->NL.Id));
1065 if (plci->NL.Id && !plci->nl_remove_id)
1074 && (plci->Sig.Id
1197 byte connect_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
1225 Id = ((word)1<<8)|a->Id;
1226 sendf(appl,_CONNECT_R|CONFIRM,Id,Number,"w",0);
1227 sendf(appl, _DISCONNECT_I, Id, 0, "w", _L1_ERROR);
1238 if(Id & EXT_CONTROLLER)
1242 plci->Id = 0;
1243 sendf(appl, _CONNECT_R|CONFIRM, Id, Number, "w", _WRONG_IDENTIFIER);
1345 if (a->Info_Mask[appl->Id-1] & 0x200)
1360 plci->Sig.Id = 0xff;
1403 plci->Id = 0;
1408 Id,
1414 byte connect_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
1451 if (a->Info_Mask[appl->Id-1] & 0x200)
1464 clear_c_ind_mask_bit (plci, (word)(appl->Id-1));
1495 sendf(appl, _DISCONNECT_I, Id, 0, "w", _OTHER_APPL_CONNECTED);
1500 if(Id & EXT_CONTROLLER){
1548 if (a->Info_Mask[appl->Id-1] & 0x200)
1562 sendf(&application[i], _DISCONNECT_I, Id, 0, "w", _OTHER_APPL_CONNECTED);
1570 byte connect_a_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * msg)
1576 byte disconnect_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * msg)
1589 clear_c_ind_mask_bit (plci, (word)(appl->Id-1));
1594 sendf(&application[i], _DISCONNECT_I, Id, 0, "w", 0);
1598 if(plci->Sig.Id && plci->appl)
1601 if(plci->Sig.Id!=0xff)
1613 if (plci->NL.Id && !plci->nl_remove_id)
1617 sendf(appl,_DISCONNECT_R|CONFIRM,Id,Number,"w",0);
1618 sendf(appl, _DISCONNECT_I, Id, 0, "w", 0);
1627 sendf(appl, _DISCONNECT_R|CONFIRM, Id, Number, "w",Info);
1631 byte disconnect_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * msg)
1638 clear_c_ind_mask_bit (plci, (word)(appl->Id-1));
1658 byte listen_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
1663 dbug(1,dprintf("listen_req(Appl=0x%x)",appl->Id));
1668 a->Info_Mask[appl->Id-1] = GET_DWORD(parms[0].info);
1669 a->CIP_Mask[appl->Id-1] = GET_DWORD(parms[1].info);
1671 if (a->Info_Mask[appl->Id-1] & 0x200){ /* early B3 connect provides */
1672 a->Info_Mask[appl->Id-1] |= 0x10; /* call progression infos */
1676 if(Id&EXT_CONTROLLER && GET_DWORD(parms[1].info)){
1679 a->codec_listen[appl->Id-1] = &dummy_plci;
1694 a->codec_listen[appl->Id-1] = (PLCI *)0;
1699 Id,
1707 byte info_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * msg)
1809 Id,
1816 byte info_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * msg)
1822 byte alert_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * msg)
1846 Id,
1852 byte facility_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * msg)
1942 a->Notification_Mask[appl->Id-1] = GET_DWORD(ss_parms[2].info);
1943 if(a->Notification_Mask[appl->Id-1] & SMASK_MWI) /* MWI active? */
1981 if(Id & EXT_CONTROLLER)
2043 if(Id & EXT_CONTROLLER)
2047 rplci->Id = 0;
2057 rplci->Id = 0;
2065 if (a->Info_Mask[appl->Id-1] & 0x200)
2193 if(relatedadapter->plci[i].Id == (byte)relatedPLCIvalue)
2220 dbug(1,dprintf("rplci->Id:%x",rplci->Id));
2256 cai[2] = plci->Sig.Id;
2568 return (dtmf_request (Id, Number, a, plci, appl, msg));
2573 return (mixer_request (Id, Number, a, plci, appl, msg));
2579 return (ec_request (Id, Number, a, plci, appl, msg));
2583 return (ec_request (Id, Number, a, plci, appl, msg));
2596 Id,
2602 byte facility_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * msg)
2608 byte connect_b3_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
2637 if (!plci->NL.Id
2643 dbug(1,dprintf("B3 already connected=%d or no NL.Id=0x%x, dir=%d sstate=0x%x",
2644 plci->channels,plci->NL.Id,plci->call_dir,plci->SuppState));
2648 Id,
2678 if (plci->NL.Id && !plci->nl_remove_id)
2726 if ((plci->requested_options_conn | plci->requested_options | a->requested_options_table[appl->Id-1])
2733 if ((plci->requested_options_conn | plci->requested_options | a->requested_options_table[appl->Id-1])
2760 if ((plci->requested_options_conn | plci->requested_options | a->requested_options_table[appl->Id-1])
2799 start_internal_command (Id, plci, fax_connect_info_command);
2804 start_internal_command (Id, plci, fax_adjust_b23_command);
2821 start_internal_command (Id, plci, rtp_connect_b3_req_command);
2836 Id,
2842 byte connect_b3_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
2858 ncci = (word)(Id>>16);
2877 if ((plci->requested_options_conn | plci->requested_options | a->requested_options_table[plci->appl->Id-1])
2910 start_internal_command (Id, plci, fax_connect_ack_command);
2920 sendf(appl,_CONNECT_B3_ACTIVE_I,Id,0,"s","");
2922 sendf(appl,_CONNECT_B3_ACTIVE_I,Id,0,"S",plci->ncpi_buffer);
2933 start_internal_command (Id, plci, rtp_connect_b3_res_command);
2944 sendf(appl,_CONNECT_B3_ACTIVE_I,Id,0,"s","");
2948 start_internal_command (Id, plci, adjust_b_restore);
2957 byte connect_b3_a_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
2961 ncci = (word)(Id>>16);
2977 byte disconnect_b3_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
2986 ncci = (word)(Id>>16);
3027 Id,
3033 byte disconnect_b3_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
3038 ncci = (word)(Id>>16);
3061 Id & 0xffffL,
3064 sendf(plci->appl, _DISCONNECT_I, Id & 0xffffL, 0, "w", 0);
3081 start_internal_command (Id, plci, fax_disconnect_command);
3089 byte data_b3_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
3100 ncci = (word)(Id>>16);
3159 Id,
3166 byte data_b3_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
3174 ncci = (word)(Id>>16);
3178 NCCIcode = ncci | (((word) a->Id) << 8);
3181 (byte)(appl->DataFlags[n]>>8)==plci->Id) {
3199 byte reset_b3_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
3207 ncci = (word)(Id>>16);
3225 start_internal_command (Id, plci, reset_b3_command);
3234 Id,
3240 byte reset_b3_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
3246 ncci = (word)(Id>>16);
3264 byte connect_b3_t90_a_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
3272 ncci = (word)(Id>>16);
3298 byte select_b_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * msg)
3312 msg->length,plci->Id,plci->tel,plci->NL.Id,plci->appl,plci->SuppState));
3331 if(Id & EXT_CONTROLLER)
3333 sendf(appl, _SELECT_B_REQ|CONFIRM, Id, Number, "w", 0x2002); /* wrong controller */
3338 clear_c_ind_mask_bit (plci, (word)(appl->Id-1));
3343 sendf(&application[i], _DISCONNECT_I, Id, 0, "w", _OTHER_APPL_CONNECTED);
3349 if(Id & EXT_CONTROLLER)
3408 start_internal_command (Id, plci, select_b_command);
3413 sendf(appl, _SELECT_B_REQ|CONFIRM, Id, Number, "w", Info);
3417 byte manufacturer_req(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * parms)
3462 Id = ( ((word)plci->Id<<8)|plci->adapter->Id|0x80);
3463 dbug(1,dprintf("ManCMD,plci=0x%x",Id));
3536 Id,
3582 if (plci->NL.Id && !plci->nl_remove_id)
3588 if ((a->ncci_plci[ncci] == plci->Id) && (a->ncci_state[ncci] == CONNECTED))
3725 a->requested_options_table[appl->Id-1] = GET_DWORD (m_parms[0].info);
3738 Id,
3745 byte manufacturer_res(dword Id, word Number, DIVA_CAPI_ADAPTER * a, PLCI * plci, APPL * appl, API_PARSE * msg)
3809 start_internal_command (Id, plci, fax_edata_ack_command);
3834 (e->user[0]+1)&0x7fff,e->Id,e->Req,e->Rc,e->Ind));
3856 return code with Id set to zero arrives.
3861 if (e->Id)
3880 a->FlowControlIdTable[ch] = e->Id;
3884 a->ch_flow_plci[ch] = plci->Id;
3892 if (no_cancel_rc && (a->FlowControlIdTable[ch] == e->Id) && e->Id) {
3895 dbug(3,dprintf ("XDI CAPI: RC cancelled Id:0x02, Ch:%02x", e->Id, ch));
3926 e->Id = 0;
3956 return code with Id set to zero arrives.
3961 if (e->Id)
3974 e->Id = 0;
4002 (a->ch_flow_plci[Ch] == plci->Id)) {
4010 (a->ch_flow_plci[Ch] == plci->Id) &&
4079 dword Id;
4113 Id = (((dword)(ncci ? ncci : ch)) << 16) | ((word)plci->Id << 8) | a->Id;
4114 if(plci->tel && plci->SuppState!=CALL_HELD) Id|=EXT_CONTROLLER;
4116 dbug(1,dprintf("Contr_RC-Id=%08lx,plci=%x,tel=%x, entity=0x%x, command=0x%x, int_command=0x%x",Id,plci->Id,plci->tel,plci->Sig.Id,plci->command,plci->internal_command));
4138 sendf(appl,_FACILITY_R|CONFIRM,Id,Number,"wws",Info,3,SSparms);
4149 sendf(appl,_FACILITY_R|CONFIRM,Id,Number,"wws",Info,3,SSparms);
4155 sendf(appl,_INFO_R|CONFIRM,Id,Number,"w",Info);
4162 if(plci->Sig.Id!=0xff)
4168 sendf(appl,_CONNECT_R|CONFIRM,Id&0xffL,Number,"w",_OUT_OF_PLCI);
4174 sendf(appl,_CONNECT_R|CONFIRM,Id,Number,"w",0);
4181 sendf(appl,_CONNECT_R|CONFIRM,Id&0xffL,Number,"w",_OUT_OF_PLCI);
4186 sendf(appl,_CONNECT_R|CONFIRM,Id,Number,"w",0);
4187 sendf(plci->appl,_CONNECT_ACTIVE_I,Id,0,"sss","","","");
4200 if(plci->Sig.Id!=0xff)
4203 sendf(appl,_DISCONNECT_R|CONFIRM,Id,Number,"w",0);
4216 sendf(appl,_CONNECT_B3_R|CONFIRM,Id,Number,"w",_WRONG_IDENTIFIER);
4220 Id = (Id & 0xffff) | (((dword) ncci) << 16);
4225 sendf(appl,_CONNECT_B3_R|CONFIRM,Id,Number,"w",0);
4226 sendf(appl,_CONNECT_B3_ACTIVE_I,Id,0,"s","");
4231 sendf(appl,_CONNECT_B3_R|CONFIRM,Id,Number,"w",0);
4239 /* sendf(appl,_RESET_B3_R|CONFIRM,Id,Number,"w",0);*/
4243 sendf(appl,_DISCONNECT_B3_R|CONFIRM,Id,Number,"w",0);
4253 sendf(plci->appl,_CONNECT_R|CONFIRM,Id,Number,"w",Info);
4257 sendf(plci->appl,_CONNECT_R|CONFIRM,Id,Number,"w",Info);
4287 sendf(appl, _FACILITY_R|CONFIRM, Id, Number, "wws",0,3,SSstruct);
4336 sendf(plci->appl,_FACILITY_R|CONFIRM,Id&0x7,
4346 rId = ((word)rplci->Id<<8)|rplci->adapter->Id;
4367 rId = ((word)rplci->Id<<8)|rplci->adapter->Id;
4387 sendf(appl,_MANUFACTURER_R|CONFIRM,Id,Number,"dww",_DI_MANU_ID,_MANUFACTURER_R,_OUT_OF_PLCI);
4397 sendf(appl,_CONNECT_R|CONFIRM,Id&0xffL,Number,"w",_OUT_OF_PLCI);
4429 sendf(appl,_INFO_R|CONFIRM,Id&0xf,Number,"w",_WRONG_STATE);
4438 sendf(appl,_INFO_R|CONFIRM,Id&0xf,Number,"w",0);
4442 sendf(appl,_INFO_R|CONFIRM,Id&0xf,Number,"w",_WRONG_STATE);
4504 Id&0xf,
4513 Id,
4528 rId = Id;
4537 rId = ((word)rplci->Id<<8)|rplci->adapter->Id;
4596 sendf(plci->appl,_FACILITY_R|CONFIRM,Id,
4604 Id = (Id & 0xffff) | (((dword) ncci) << 16);
4612 (*(plci->internal_command_queue[0]))(Id, plci, rc);
4618 next_internal_command (Id, plci);
4623 Id = ((word)plci->Id<<8)|plci->adapter->Id;
4624 if(plci->tel) Id|=EXT_CONTROLLER;
4657 if(!application[i].Id) application[i].CDEnable = 0;
4660 sendf(&application[i],_FACILITY_R|CONFIRM,Id,
4690 dbug(1,dprintf("ListenCheck, new SIG_ID = 0x%x",plci->Sig.Id));
4745 dword Id;
4756 if (ncci && (a->ncci_plci[ncci] == plci->Id))
4765 Id = (((dword)ncci)<<16)|((word)plci->Id<<8)|a->Id;
4766 if(plci->tel) Id|=EXT_CONTROLLER;
4767 sendf(plci->appl,_DATA_B3_R|CONFIRM,Id,data->Number,
4781 dword Id;
4791 if (a->ncci_state[ncci] && (a->ncci_plci[ncci] == plci->Id))
4793 Id = (((dword)ncci)<<16)|((word)plci->Id<<8)|a->Id;
4794 if(plci->tel) Id|=EXT_CONTROLLER;
4795 sendf(plci->appl,_DATA_B3_R|CONFIRM,Id,ncci_ptr->DataAck[ncci_ptr->data_ack_out].Number,
4808 dword Id;
4870 Id = ((word)plci->Id<<8)|a->Id;
4879 if(plci->tel && plci->SuppState!=CALL_HELD) Id|=EXT_CONTROLLER;
4880 dbug(1,dprintf("SigInd-Id=%08lx,plci=%x,tel=%x,state=0x%x,channels=%d,Discflowcl=%d",
4881 Id,plci->Id,plci->tel,plci->State,plci->channels,plci->hangup_flow_ctrl_timer));
4899 if (a->ncci_plci[ncci] == plci->Id)
4904 sendf(plci->appl,_DISCONNECT_B3_I, (((dword) ncci) << 16) | Id,0,"ws",0,"");
4908 sendf(plci->appl, _DISCONNECT_I, Id, 0, "w", 0);
4947 Id,
4983 UnMapController (a->Id), GET_DWORD (&esc_profile[6]),
5060 UnMapController (a->Id), a->profile.Global_Options,
5067 force_mt_info = SendMultiIE(plci,Id,multi_fac_parms, FTY, 0x20, 0);
5068 force_mt_info |= SendMultiIE(plci,Id,multi_pi_parms, PI, 0x210, 0);
5069 SendSSExtInd(NULL,plci,Id,multi_ssext_parms);
5070 SendInfo(plci,Id, parms, force_mt_info);
5072 VSwitchReqInd(plci,Id,multi_vswitch_parms);
5103 sendf(plci->appl,_FACILITY_R|CONFIRM,Id&0x7,plci->number, "wws",0,3,CF_Ind);
5118 rId = ( (word)tplci->Id<<8)|tplci->adapter->Id;
5159 if(application[i].Id) sendf(&application[i],_FACILITY_I,Id,0,"ws",3, SS_Ind);
5231 sendf(plci->appl,_FACILITY_I,Id&0x7,0,"ws",3, Interr_Err_Ind);
5253 sendf(plci->appl,_FACILITY_I,Id&0xf,0,"ws",3, SS_Ind);
5258 sendf(plci->appl,_FACILITY_I,Id,0,"ws",3, SS_Ind);
5312 sendf(plci->appl,_FACILITY_I,Id,0,"ws",3, CONF_Ind);
5328 rId = ( (word)tplci->Id<<8)|tplci->adapter->Id;
5376 if(application[i].Id) sendf(&application[i],_FACILITY_I,Id,0,"ws",3, SS_Ind);
5387 sendf(plci->appl,_FACILITY_I,Id&0x7,0,"ws",3, CF_Ind);
5431 sendf(plci->appl,_FACILITY_I,Id&0x7,0,"wS",3, pty_cai);
5444 sendf(plci->appl,_FACILITY_I,Id&0xf,0,"ws",3, SS_Ind);
5449 sendf(plci->appl,_FACILITY_I,Id,0,"ws",3, SS_Ind);
5458 if(plci->appl && (a->Notification_Mask[plci->appl->Id-1]&SMASK_MWI))
5462 sendf(plci->appl,_FACILITY_I,Id&0xf,0,"wS",3, &pty_cai[2]);
5466 else sendf(plci->appl,_FACILITY_I,Id,0,"wS",3, &pty_cai[2]);
5475 sendf(&application[i],_FACILITY_I,Id&0x7,0,"wS",3, &pty_cai[2]);
5499 next_internal_command (Id, plci);
5554 sendf(plci->appl,_FACILITY_I,Id,0,"ws",3, CONF_Ind);
5580 if(plci->appl && (a->Notification_Mask[plci->appl->Id-1]&SMASK_CCBS))
5582 sendf(plci->appl,_FACILITY_I,Id,0,"ws",3, CONF_Ind);
5588 sendf(&application[i],_FACILITY_I,Id&0x7,0,"ws",3, CONF_Ind);
5609 sendf(plci->appl,_FACILITY_I,Id,0,"ws",3, SS_Ind);
5618 start_internal_command (Id, plci, hold_save_command);
5639 sendf(plci->appl,_FACILITY_I,Id,0,"ws",3, SS_Ind);
5658 start_internal_command (Id, plci, retrieve_restore_command);
5661 sendf(plci->appl,_FACILITY_I,Id,0,"ws",3, SS_Ind);
5664 start_internal_command (Id, plci, retrieve_restore_command);
5683 if(application[i].Id
5704 if(plci->tel) Id|=EXT_CONTROLLER;
5708 sendf(&application[i],_CONNECT_I,Id,0,
5726 Id,
5730 Id,
5732 SendMultiIE(plci,Id,multi_pi_parms, PI, 0x210, true));
5770 x_Id = ((word)tplci->Id<<8)|tplci->adapter->Id | 0x80;
5777 if (tplci->adapter->Info_Mask[tplci->appl->Id-1] & 0x200)
5796 if(!tplci->Sig.Id)
5822 if(!tplci->Sig.Id)
5825 sendf(tplci->appl,_CONNECT_R|CONFIRM,tplci->adapter->Id,0,"w",_OUT_OF_PLCI);
5849 next_internal_command (Id, plci);
5868 sendf(plci->appl,_CONNECT_ACTIVE_I,Id,0,"Sss",parms[21],"","");
5884 next_internal_command (Id, plci);
5916 if (a->Info_Mask[a->AdvSignalAppl->Id-1] & 0x200){
5937 Id = ((word)tplci->Id<<8)|a->Id;
5938 Id|=EXT_CONTROLLER;
5941 Id,
5952 next_internal_command (Id, plci);
5962 Id = ((word)a->AdvSignalPLCI->Id<<8)|a->Id;
5963 if(plci->tel) Id|=EXT_CONTROLLER;
5966 Id,
5980 clear_c_ind_mask_bit (plci, (word)(plci->appl->Id-1));
5982 sendf(plci->appl,_FACILITY_I,Id,0,"ws", (word)3, resume_cau);
5988 if (plci->NL.Id && !plci->nl_remove_id) {
5998 sendf(plci->appl,_FACILITY_I,Id,0,"ws", (word)3, "\x05\x04\x00\x02\x00\x00");
5999 sendf(plci->appl, _DISCONNECT_I, Id, 0, "w", 0);
6026 sendf(&application[i], _DISCONNECT_I, Id, 0, "w", 0);
6044 if (plci->NL.Id && !plci->nl_remove_id)
6067 sendf(plci->appl,_FACILITY_I,Id,0,"ws", (word)3, resume_cau);
6070 sendf(plci->appl,_DISCONNECT_I,Id,0,"w",i);
6076 SendSSExtInd(NULL,plci,Id,multi_ssext_parms);
6080 VSwitchReqInd(plci,Id,multi_vswitch_parms);
6092 else VSwitchReqInd(plci,Id,multi_vswitch_parms);
6099 static void SendSetupInfo(APPL * appl, PLCI * plci, dword Id, byte * * parms, byte Info_Sent_Flag)
6127 case 16: /* Channel Id */
6165 if(plci->adapter->Info_Mask[appl->Id-1] & Info_Mask) {
6166 sendf(appl,_INFO_I,Id,0,"wS",Info_Number,Info_Element);
6173 void SendInfo(PLCI * plci, dword Id, byte * * parms, byte iesent)
6256 case 16: /* Channel Id */
6310 && appl->Id
6311 && plci->adapter->Info_Mask[appl->Id-1] &Info_Mask)
6315 sendf(&application[j],_INFO_I,Id&0x0f,0,"wS",Info_Number,Info_Element);
6333 sendf(&application[j],_INFO_I,Id,0,"wS",Info_Number,Info_Element);
6339 && plci->adapter->Info_Mask[plci->appl->Id-1] &Info_Mask)
6343 sendf(plci->appl,_INFO_I,Id,0,"wS",Info_Number,Info_Element);
6349 byte SendMultiIE(PLCI * plci, dword Id, byte * * parms, byte ie_type, dword info_mask, byte setupParse)
6390 && appl->Id
6391 && plci->adapter->Info_Mask[appl->Id-1] &Info_Mask)
6395 sendf(&application[j],_INFO_I,Id&0x0f,0,"wS",Info_Number,Info_Element);
6407 sendf(&application[j],_INFO_I,Id,0,"wS",Info_Number,Info_Element);
6412 && plci->adapter->Info_Mask[plci->appl->Id-1] &Info_Mask)
6416 sendf(plci->appl,_INFO_I,Id,0,"wS",Info_Number,Info_Element);
6422 static void SendSSExtInd(APPL * appl, PLCI * plci, dword Id, byte * * parms)
6447 Id,
6458 Id,
6472 dword Id;
6552 Id = (((dword)(ncci ? ncci : ch)) << 16) | (((word) plci->Id) << 8) | a->Id;
6553 if(plci->tel) Id|=EXT_CONTROLLER;
6555 dbug(1,dprintf("NL_IND-Id(NL:0x%x)=0x%08lx,plci=%x,tel=%x,state=0x%x,ch=0x%x,chs=%d,Ind=%x",
6556 plci->NL.Id,Id,plci->Id,plci->tel,plci->State,ch,plci->channels,plci->NL.Ind &0x0f));
6654 sendf(plci->appl,_CONNECT_B3_ACTIVE_I,Id,0,"S",plci->ncpi_buffer);
6659 if (!((plci->requested_options_conn | plci->requested_options | plci->adapter->requested_options_table[plci->appl->Id-1])
6680 sendf(plci->appl, _FACILITY_I, Id & 0xffffL, 0,"ws", SELECTOR_DTMF, "\x01X");
6684 sendf(plci->appl, _FACILITY_I, Id & 0xffffL, 0,"ws", SELECTOR_DTMF, "\x01Y");
6687 dtmf_indication (Id, plci, plci->RData[0].P, plci->RData[0].PLength);
6690 dtmf_confirmation (Id, plci);
6700 dtmf_indication (Id, plci, dtmf_code_buffer, (word)(i + 1));
6706 mixer_indication_coefs_set (Id, plci);
6709 mixer_indication_xconnect_from (Id, plci, plci->RData[0].P, plci->RData[0].PLength);
6712 mixer_indication_xconnect_to (Id, plci, plci->RData[0].P, plci->RData[0].PLength);
6717 ec_indication (Id, plci, plci->RData[0].P, plci->RData[0].PLength);
6734 sendf(plci->appl,_DATA_B3_I,Id,0,
6745 sendf(plci->appl,_DATA_B3_I,Id,0,
6820 if ((plci->requested_options_conn | plci->requested_options | a->requested_options_table[plci->appl->Id-1])
6885 sendf(plci->appl,_MANUFACTURER_I,Id,0,"dwbS",_DI_MANU_ID,_DI_NEGOTIATE_B3,
6904 sendf(plci->appl,_CONNECT_B3_ACTIVE_I,Id,0,"s","");
6906 sendf(plci->appl,_CONNECT_B3_ACTIVE_I,Id,0,"S",plci->ncpi_buffer);
6917 sendf(plci->appl,_CONNECT_B3_ACTIVE_I,Id,0,"s","");
6919 sendf(plci->appl,_CONNECT_B3_ACTIVE_I,Id,0,"S",plci->ncpi_buffer);
6927 sendf(plci->appl,_DISCONNECT_B3_I,Id,0,"wS",GOOD,plci->ncpi_buffer);
6945 sendf(plci->appl,_CONNECT_B3_ACTIVE_I,Id,0,"s","");
6947 sendf(plci->appl,_CONNECT_B3_ACTIVE_I,Id,0,"S",plci->ncpi_buffer);
6957 start_internal_command (Id, plci, fax_edata_ack_command);
6969 Id = (Id & 0xffff) | (((dword) ncci) << 16);
6972 ch, a->ncci_state[ncci], a->ncci_plci[ncci], plci->Id, plci->State));
6982 sendf(plci->appl,msg,Id,0,"s","");
6984 sendf(plci->appl,msg,Id,0,"S",plci->ncpi_buffer);
6993 (*(plci->internal_command_queue[0]))(Id, plci, 0);
6995 next_internal_command (Id, plci);
7004 sendf(plci->appl,msg,Id,0,"S",plci->ncpi_buffer);
7014 sendf(plci->appl,msg,Id,0,"s","");
7016 sendf(plci->appl,msg,Id,0,"S",plci->ncpi_buffer);
7023 sendf(plci->appl,msg,Id,0,"S",plci->ncpi_buffer);
7028 start_internal_command (Id, plci, adjust_b_restore);
7038 (*(plci->internal_command_queue[0]))(Id, plci, 0);
7040 next_internal_command (Id, plci);
7067 sendf(plci->appl,_CONNECT_B3_I,Id,0,"s","");
7071 if ((plci->requested_options_conn | plci->requested_options | a->requested_options_table[plci->appl->Id-1])
7080 sendf(plci->appl,_CONNECT_B3_I,Id,0,"S",plci->ncpi_buffer);
7082 sendf(plci->appl,_DISCONNECT_B3_I,Id,0,"wS",info,plci->ncpi_buffer);
7101 Id & 0xffffL,
7104 sendf(plci->appl, _DISCONNECT_I, Id & 0xffffL, 0, "w", 0);
7113 sendf(plci->appl,_DISCONNECT_B3_I,Id,0,"wS",info,plci->ncpi_buffer);
7126 sendf(plci->appl,_RESET_B3_I,Id,0,"S",plci->ncpi_buffer);
7130 sendf(plci->appl,_RESET_B3_I,Id,0,"S",plci->ncpi_buffer);
7161 NCCIcode = ncci | (((word)a->Id) << 8);
7201 APPLptr->DataFlags[Num] = (plci->Id<<8) | (plci->NL.Ind>>4);
7256 for(i=0;i<a->max_plci && a->plci[i].Id;i++);
7262 plci->Id = (byte)(i+1);
7264 plci->Sig.Id = 0;
7265 plci->NL.Id = 0;
7320 dbug(1,dprintf("get_plci(%x)",plci->Id));
7724 if ((plci->requested_options_conn | plci->requested_options | plci->adapter->requested_options_table[plci->appl->Id-1])
8345 if ((plci->requested_options_conn | plci->requested_options | plci->adapter->requested_options_table[plci->appl->Id-1])
8440 if ((plci->requested_options_conn | plci->requested_options | plci->adapter->requested_options_table[plci->appl->Id-1])
8443 if ((plci->requested_options_conn | plci->requested_options | plci->adapter->requested_options_table[plci->appl->Id-1])
8466 if ((plci->requested_options_conn | plci->requested_options | plci->adapter->requested_options_table[plci->appl->Id-1])
8687 void sig_req(PLCI * plci, byte req, byte Id)
8693 plci->sig_remove_id = plci->Sig.Id;
8699 plci->RBuffer[plci->req_in++] = Id; /* sig/nl flag */
8713 dbug(1,dprintf("nl_req %02x %02x %02x", plci->Id, req, ncci));
8716 plci->nl_remove_id = plci->NL.Id;
8757 if(!(e->Id & 0x1f))
8759 e->Id = NL_ID;
8762 plci->RBuffer[plci->req_out-2] = (plci->Sig.Id==0xff) ? 0 : plci->Sig.Id;
8767 dbug(1,dprintf("%x:NLREQ(%x:%x:%x)",plci->adapter->Id,e->Id,e->Req,e->ReqCh));
8773 e->Id = plci->RBuffer[plci->req_out];
8777 if(!(e->Id & 0x1f))
8779 dbug(1,dprintf("%x:SIGREQ(%x:%x:%x)",plci->adapter->Id,e->Id,e->Req,e->ReqCh));
8841 dbug(1,dprintf("%x:DREQ(%x:%x)",a->Id,plci->NL.Id,plci->NL.Req));
9228 e->user[0] = a->Id - 1;
9236 dbug(3,dprintf("A(%d) SDRAM BAR = %08x", a->Id, a->sdram_bar));
9254 e->user[0] = a->Id - 1;
9316 word CapiRelease(word Id)
9323 if (!Id)
9325 dbug(0,dprintf("A: CapiRelease(Id==0)"));
9329 this = &application[Id-1]; /* get application pointer */
9333 if(application[i].Id) /* an application has been found */
9344 a->Info_Mask[Id-1] = 0;
9345 a->CIP_Mask[Id-1] = 0;
9346 a->Notification_Mask[Id-1] = 0;
9347 a->codec_listen[Id-1] = NULL;
9348 a->requested_options_table[Id-1] = 0;
9352 if(plci->Id) /* if plci owns no application */
9357 if(test_c_ind_mask_bit (plci, (word)(Id-1)))
9359 clear_c_ind_mask_bit (plci, (word)(Id-1));
9368 if(test_c_ind_mask_bit (plci, (word)(Id-1)))
9370 clear_c_ind_mask_bit (plci, (word)(Id-1));
9428 this->Id = 0;
9436 if(!plci->NL.Id && c_ind_mask_empty (plci))
9438 if(plci->Sig.Id == 0xff)
9439 plci->Sig.Id = 0;
9440 if(!plci->Sig.Id)
9442 dbug(1,dprintf("plci_remove_complete(%x)",plci->Id));
9443 dbug(1,dprintf("tel=0x%x,Sig=0x%x",plci->tel,plci->Sig.Id));
9444 if (plci->Id)
9451 plci->Id = 0;
9574 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
9612 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
9644 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
9660 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
9669 static void dtmf_prepare_switch (dword Id, PLCI *plci)
9673 UnMapId (Id), (char *)(FILE_), __LINE__));
9676 dtmf_confirmation (Id, plci);
9680 static word dtmf_save_config (dword Id, PLCI *plci, byte Rc)
9684 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
9690 static word dtmf_restore_config (dword Id, PLCI *plci, byte Rc)
9695 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
9716 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
9727 static void dtmf_command (dword Id, PLCI *plci, byte Rc)
9734 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command,
9756 adjust_b1_resource (Id, plci, NULL, (word)(plci->B1_facilities |
9759 if (adjust_b_process (Id, plci, Rc) != GOOD)
9762 UnMapId (Id), (char *)(FILE_), __LINE__));
9781 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
9825 UnMapId (Id), (char far *)(FILE_), __LINE__, Rc));
9830 adjust_b1_resource (Id, plci, NULL, (word)(plci->B1_facilities &
9833 if (adjust_b_process (Id, plci, Rc) != GOOD)
9836 UnMapId (Id), (char *)(FILE_), __LINE__));
9856 adjust_b1_resource (Id, plci, NULL, (word)(plci->B1_facilities |
9860 if (adjust_b_process (Id, plci, Rc) != GOOD)
9863 UnMapId (Id), (char *)(FILE_), __LINE__));
9883 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
9893 sendf (plci->appl, _FACILITY_R | CONFIRM, Id & 0xffffL, plci->number,
9898 static byte dtmf_request (dword Id, word Number, DIVA_CAPI_ADAPTER *a, PLCI *plci, APPL *appl, API_PARSE *msg)
9907 UnMapId (Id), (char *)(FILE_), __LINE__));
9915 UnMapId (Id), (char *)(FILE_), __LINE__));
9921 UnMapId (Id), (char *)(FILE_), __LINE__));
9928 if (!((a->requested_options_table[appl->Id-1])
9932 UnMapId (Id), (char *)(FILE_), __LINE__, GET_WORD (dtmf_parms[0].info)));
9963 UnMapId (Id), (char *)(FILE_), __LINE__));
9969 || !plci->NL.Id || plci->nl_remove_id)
9972 UnMapId (Id), (char *)(FILE_), __LINE__));
9989 if (!((plci->requested_options_conn | plci->requested_options | plci->adapter->requested_options_table[appl->Id-1])
9993 UnMapId (Id), (char *)(FILE_), __LINE__, GET_WORD (dtmf_parms[0].info)));
10004 UnMapId (Id), (char *)(FILE_), __LINE__));
10021 start_internal_command (Id, plci, dtmf_command);
10029 if (!((plci->requested_options_conn | plci->requested_options | plci->adapter->requested_options_table[appl->Id-1])
10033 UnMapId (Id), (char *)(FILE_), __LINE__, GET_WORD (dtmf_parms[0].info)));
10042 UnMapId (Id), (char *)(FILE_), __LINE__));
10067 UnMapId (Id), (char *)(FILE_), __LINE__, dtmf_parms[3].info[i]));
10074 UnMapId (Id), (char *)(FILE_), __LINE__));
10079 start_internal_command (Id, plci, dtmf_command);
10084 UnMapId (Id), (char *)(FILE_), __LINE__, plci->dtmf_cmd));
10089 sendf (appl, _FACILITY_R | CONFIRM, Id & 0xffffL, Number,
10095 static void dtmf_confirmation (dword Id, PLCI *plci)
10102 UnMapId (Id), (char *)(FILE_), __LINE__));
10109 sendf (plci->appl, _FACILITY_R | CONFIRM, Id & 0xffffL, plci->dtmf_msg_number_queue[0],
10118 static void dtmf_indication (dword Id, PLCI *plci, byte *msg, word length)
10123 UnMapId (Id), (char *)(FILE_), __LINE__));
10159 sendf (plci->appl, _FACILITY_I, Id & 0xffffL, 0, "wS", SELECTOR_DTMF, msg);
10174 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
10191 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
10198 static void dtmf_parameter_prepare_switch (dword Id, PLCI *plci)
10202 UnMapId (Id), (char *)(FILE_), __LINE__));
10207 static word dtmf_parameter_save_config (dword Id, PLCI *plci, byte Rc)
10211 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
10217 static word dtmf_parameter_restore_config (dword Id, PLCI *plci, byte Rc)
10222 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
10244 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
10409 (dword)((splci->Id << 8) | UnMapController (splci->adapter->Id)),
10423 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
10467 (dword)((splci->Id << 8) | UnMapController (splci->adapter->Id)),
10482 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
10497 (dword)(UnMapController (a->Id)), (char *)(FILE_), __LINE__));
10684 (dword)(UnMapController (a->Id)), (char *) hex_line));
10695 (dword)(UnMapController (a->Id)), (char *) hex_line));
10706 (dword)(UnMapController (a->Id)), (char *) hex_line));
10719 (dword)(UnMapController (a->Id)), i, (char *) hex_line));
10733 (dword)(UnMapController (a->Id)), i, (char *) hex_line));
10857 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
10865 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
10891 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
10899 static byte xconnect_write_coefs_process (dword Id, PLCI *plci, byte Rc)
10909 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->li_write_channel));
10916 UnMapId (Id), (char *)(FILE_), __LINE__));
10927 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
11245 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
11276 && notify_plci->NL.Id && !notify_plci->nl_remove_id)
11280 ((CAPI_MSG *) msg)->header.appl_id = notify_plci->appl->Id;
11283 ((CAPI_MSG *) msg)->header.controller = notify_plci->adapter->Id;
11284 ((CAPI_MSG *) msg)->header.plci = notify_plci->Id;
11296 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
11298 (dword)((notify_plci->Id << 8) | UnMapController (notify_plci->adapter->Id)), w));
11316 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
11374 static void mixer_prepare_switch (dword Id, PLCI *plci)
11378 UnMapId (Id), (char *)(FILE_), __LINE__));
11382 mixer_indication_coefs_set (Id, plci);
11387 static word mixer_save_config (dword Id, PLCI *plci, byte Rc)
11393 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
11412 static word mixer_restore_config (dword Id, PLCI *plci, byte Rc)
11418 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
11449 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
11477 if (!xconnect_write_coefs_process (Id, plci, Rc))
11480 UnMapId (Id), (char *)(FILE_), __LINE__));
11495 static void mixer_command (dword Id, PLCI *plci, byte Rc)
11501 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command,
11518 adjust_b1_resource (Id, plci, NULL, (word)(plci->B1_facilities |
11524 if (adjust_b_process (Id, plci, Rc) != GOOD)
11527 UnMapId (Id), (char *)(FILE_), __LINE__));
11546 mixer_indication_coefs_set (Id, plci);
11555 if (!xconnect_write_coefs_process (Id, plci, Rc))
11558 UnMapId (Id), (char *)(FILE_), __LINE__));
11578 adjust_b1_resource (Id, plci, NULL, (word)(plci->B1_facilities &
11584 if (adjust_b_process (Id, plci, Rc) != GOOD)
11587 UnMapId (Id), (char *)(FILE_), __LINE__));
11602 UnMapId (Id), (char *)(FILE_), __LINE__, (int)(plci->li_bchannel_id)));
11622 static void li_update_connect (dword Id, DIVA_CAPI_ADAPTER *a, PLCI *plci,
11633 && (plci == a->AdvSignalPLCI) && (Id & EXT_CONTROLLER))
11765 static void li2_update_connect (dword Id, DIVA_CAPI_ADAPTER *a, PLCI *plci,
11776 && (plci == a->AdvSignalPLCI) && (Id & EXT_CONTROLLER))
11873 static word li_check_main_plci (dword Id, PLCI *plci)
11878 UnMapId (Id), (char *)(FILE_), __LINE__));
11882 || !plci->NL.Id || plci->nl_remove_id
11886 UnMapId (Id), (char *)(FILE_), __LINE__));
11894 static PLCI *li_check_plci_b (dword Id, PLCI *plci,
11904 UnMapId (Id), (char *)(FILE_), __LINE__));
11920 UnMapId (Id), (char *)(FILE_), __LINE__, plci_b_id));
11926 || !plci_b->NL.Id || plci_b->nl_remove_id
11930 UnMapId (Id), (char *)(FILE_), __LINE__, plci_b_id));
11936 ((byte)(UnMapController (plci->adapter->Id) & ~EXT_CONTROLLER))
11941 UnMapId (Id), (char *)(FILE_), __LINE__, plci_b_id));
11949 UnMapId (Id), (char *)(FILE_), __LINE__, plci_b->B1_resource));
11957 static PLCI *li2_check_plci_b (dword Id, PLCI *plci,
11967 UnMapId (Id), (char *)(FILE_), __LINE__));
11983 UnMapId (Id), (char *)(FILE_), __LINE__, plci_b_id));
11989 || !plci_b->NL.Id || plci_b->nl_remove_id
11994 UnMapId (Id), (char *)(FILE_), __LINE__, plci_b_id));
11999 ((byte)(UnMapController (plci->adapter->Id) & ~EXT_CONTROLLER))
12004 UnMapId (Id), (char *)(FILE_), __LINE__, plci_b_id));
12012 UnMapId (Id), (char *)(FILE_), __LINE__, plci_b->B1_resource));
12020 static byte mixer_request (dword Id, word Number, DIVA_CAPI_ADAPTER *a, PLCI *plci, APPL *appl, API_PARSE *msg)
12037 UnMapId (Id), (char *)(FILE_), __LINE__));
12045 UnMapId (Id), (char *)(FILE_), __LINE__));
12051 UnMapId (Id), (char *)(FILE_), __LINE__));
12140 UnMapId (Id), (char *)(FILE_), __LINE__));
12146 Info = li_check_main_plci (Id, plci);
12157 plci_b = li_check_plci_b (Id, plci, plci_b_id, plci_b_write_pos, &result[8]);
12160 li_update_connect (Id, a, plci, plci_b_id, true, li_flags);
12171 UnMapId (Id), (char *)(FILE_), __LINE__));
12176 Info = li_check_main_plci (Id, plci);
12189 li2_update_connect (Id, a, plci, UnMapId (Id), true, li_flags);
12200 UnMapId (Id), (char *)(FILE_), __LINE__));
12208 UnMapId (Id), (char *)(FILE_), __LINE__));
12218 UnMapId (Id), (char *)(FILE_), __LINE__));
12222 plci_b = li2_check_plci_b (Id, plci, plci_b_id, plci_b_write_pos, &result[result_pos - 2]);
12225 li2_update_connect (Id, a, plci, plci_b_id, true, li_flags);
12251 sendf (appl, _FACILITY_R | CONFIRM, Id & 0xffffL, Number,
12255 start_internal_command (Id, plci, mixer_command);
12265 UnMapId (Id), (char *)(FILE_), __LINE__));
12270 Info = li_check_main_plci (Id, plci);
12281 plci_b = li_check_plci_b (Id, plci, plci_b_id, plci_b_write_pos, &result[8]);
12284 li_update_connect (Id, a, plci, plci_b_id, false, 0);
12295 UnMapId (Id), (char *)(FILE_), __LINE__));
12299 Info = li_check_main_plci (Id, plci);
12322 UnMapId (Id), (char *)(FILE_), __LINE__));
12330 UnMapId (Id), (char *)(FILE_), __LINE__));
12339 UnMapId (Id), (char *)(FILE_), __LINE__));
12343 plci_b = li2_check_plci_b (Id, plci, plci_b_id, plci_b_write_pos, &result[result_pos - 2]);
12346 li2_update_connect (Id, a, plci, plci_b_id, false, 0);
12370 sendf (appl, _FACILITY_R | CONFIRM, Id & 0xffffL, Number,
12374 start_internal_command (Id, plci, mixer_command);
12379 || !plci->NL.Id || plci->nl_remove_id
12384 UnMapId (Id), (char *)(FILE_), __LINE__));
12392 UnMapId (Id), (char *)(FILE_), __LINE__));
12408 start_internal_command (Id, plci, mixer_command);
12413 UnMapId (Id), (char *)(FILE_), __LINE__, GET_WORD (li_parms[0].info)));
12417 sendf (appl, _FACILITY_R | CONFIRM, Id & 0xffffL, Number,
12423 static void mixer_indication_coefs_set (dword Id, PLCI *plci)
12430 UnMapId (Id), (char *)(FILE_), __LINE__));
12475 sendf (plci->appl, _FACILITY_I, Id & 0xffffL, 0,
12485 static void mixer_indication_xconnect_from (dword Id, PLCI *plci, byte *msg, word length)
12492 UnMapId (Id), (char *)(FILE_), __LINE__, (int) length));
12520 (*(plci->internal_command_queue[0]))(Id, plci, 0);
12522 next_internal_command (Id, plci);
12528 static void mixer_indication_xconnect_to (dword Id, PLCI *plci, byte *msg, word length)
12532 UnMapId (Id), (char *)(FILE_), __LINE__, (int) length));
12546 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
12565 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
12569 plci_b_id = (plci->Id << 8) | UnMapController (plci->adapter->Id);
12589 && notify_plci->NL.Id && !notify_plci->nl_remove_id)
12617 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
12636 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
12645 static void ec_prepare_switch (dword Id, PLCI *plci)
12649 UnMapId (Id), (char *)(FILE_), __LINE__));
12654 static word ec_save_config (dword Id, PLCI *plci, byte Rc)
12658 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
12664 static word ec_restore_config (dword Id, PLCI *plci, byte Rc)
12669 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
12690 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
12701 static void ec_command (dword Id, PLCI *plci, byte Rc)
12707 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command,
12734 adjust_b1_resource (Id, plci, NULL, (word)(plci->B1_facilities |
12737 if (adjust_b_process (Id, plci, Rc) != GOOD)
12740 UnMapId (Id), (char *)(FILE_), __LINE__));
12759 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
12788 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
12792 adjust_b1_resource (Id, plci, NULL, (word)(plci->B1_facilities &
12795 if (adjust_b_process (Id, plci, Rc) != GOOD)
12798 UnMapId (Id), (char *)(FILE_), __LINE__));
12808 sendf (plci->appl, _FACILITY_R | CONFIRM, Id & 0xffffL, plci->number,
12814 static byte ec_request (dword Id, word Number, DIVA_CAPI_ADAPTER *a, PLCI *plci, APPL *appl, API_PARSE *msg)
12822 UnMapId (Id), (char *)(FILE_), __LINE__));
12829 UnMapId (Id), (char *)(FILE_), __LINE__));
12839 UnMapId (Id), (char *)(FILE_), __LINE__));
12847 UnMapId (Id), (char *)(FILE_), __LINE__));
12850 else if (!plci->State || !plci->NL.Id || plci->nl_remove_id)
12853 UnMapId (Id), (char *)(FILE_), __LINE__));
12883 start_internal_command (Id, plci, ec_command);
12890 start_internal_command (Id, plci, ec_command);
12895 start_internal_command (Id, plci, ec_command);
12900 start_internal_command (Id, plci, ec_command);
12905 start_internal_command (Id, plci, ec_command);
12910 UnMapId (Id), (char *)(FILE_), __LINE__, plci->ec_cmd));
12921 UnMapId (Id), (char *)(FILE_), __LINE__));
12939 UnMapId (Id), (char *)(FILE_), __LINE__));
12942 else if (!plci->State || !plci->NL.Id || plci->nl_remove_id)
12945 UnMapId (Id), (char *)(FILE_), __LINE__));
12978 start_internal_command (Id, plci, ec_command);
12985 start_internal_command (Id, plci, ec_command);
12990 UnMapId (Id), (char *)(FILE_), __LINE__, plci->ec_cmd));
12997 sendf (appl, _FACILITY_R | CONFIRM, Id & 0xffffL, Number,
13004 static void ec_indication (dword Id, PLCI *plci, byte *msg, word length)
13009 UnMapId (Id), (char *)(FILE_), __LINE__));
13049 sendf (plci->appl, _FACILITY_I, Id & 0xffffL, 0, "ws", (plci->appl->appl_flags & APPL_FLAG_PRIV_EC_SPEC) ?
13072 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
13099 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
13107 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
13223 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
13277 static void adv_voice_prepare_switch (dword Id, PLCI *plci)
13281 UnMapId (Id), (char *)(FILE_), __LINE__));
13286 static word adv_voice_save_config (dword Id, PLCI *plci, byte Rc)
13290 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
13296 static word adv_voice_restore_config (dword Id, PLCI *plci, byte Rc)
13302 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
13325 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
13395 || (plci->appl && (plci->adapter->requested_options_table[plci->appl->Id-1] & (1L << PRIVATE_DTMF_TONE)))))
13411 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
13464 || (plci->appl && (plci->adapter->requested_options_table[plci->appl->Id-1] & (1L << PRIVATE_DTMF_TONE)))))
13516 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
13528 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
13561 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
13568 static word adjust_b_process (dword Id, PLCI *plci, byte Rc)
13576 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->adjust_b_state));
13597 UnMapId (Id), (char *)(FILE_), __LINE__,
13606 mixer_prepare_switch (Id, plci);
13609 dtmf_prepare_switch (Id, plci);
13610 dtmf_parameter_prepare_switch (Id, plci);
13613 ec_prepare_switch (Id, plci);
13615 adv_voice_prepare_switch (Id, plci);
13623 Info = mixer_save_config (Id, plci, Rc);
13634 Info = dtmf_save_config (Id, plci, Rc);
13642 && plci->NL.Id && !plci->nl_remove_id)
13668 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
13686 Info = ec_save_config (Id, plci, Rc);
13697 Info = dtmf_parameter_save_config (Id, plci, Rc);
13707 Info = adv_voice_save_config (Id, plci, Rc);
13730 UnMapId (Id), (char *)(FILE_), __LINE__,
13746 UnMapId (Id), (char *)(FILE_), __LINE__,
13757 Info = adv_voice_restore_config (Id, plci, Rc);
13768 Info = dtmf_parameter_restore_config (Id, plci, Rc);
13780 Info = ec_restore_config (Id, plci, Rc);
13804 UnMapId (Id), (char *)(FILE_), __LINE__, Info));
13819 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
13856 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
13864 get_ncci (plci, (byte)(Id >> 16), plci->adjust_b_ncci);
13865 Id = (Id & 0xffff) | (((dword)(plci->adjust_b_ncci)) << 16);
13890 Info = dtmf_restore_config (Id, plci, Rc);
13907 Info = mixer_restore_config (Id, plci, Rc);
13920 static void adjust_b1_resource (dword Id, PLCI *plci, API_SAVE *bp_msg, word b1_facilities, word internal_command)
13924 UnMapId (Id), (char *)(FILE_), __LINE__,
13930 plci->adjust_b_ncci = (word)(Id >> 16);
13937 UnMapId (Id), (char *)(FILE_), __LINE__,
13942 static void adjust_b_restore (dword Id, PLCI *plci, byte Rc)
13947 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
13965 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
13970 plci->adjust_b_ncci = (word)(Id >> 16);
13974 UnMapId (Id), (char *)(FILE_), __LINE__));
13976 if (adjust_b_process (Id, plci, Rc) != GOOD)
13979 UnMapId (Id), (char *)(FILE_), __LINE__));
13988 static void reset_b3_command (dword Id, PLCI *plci, byte Rc)
13994 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14006 plci->adjust_b_ncci = (word)(Id >> 16);
14010 UnMapId (Id), (char *)(FILE_), __LINE__));
14012 Info = adjust_b_process (Id, plci, Rc);
14016 UnMapId (Id), (char *)(FILE_), __LINE__));
14023 /* sendf (plci->appl, _RESET_B3_R | CONFIRM, Id, plci->number, "w", Info);*/
14024 sendf(plci->appl,_RESET_B3_I,Id,0,"s","");
14028 static void select_b_command (dword Id, PLCI *plci, byte Rc)
14035 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14050 plci->adjust_b_ncci = (word)(Id >> 16);
14063 UnMapId (Id), (char *)(FILE_), __LINE__));
14065 Info = adjust_b_process (Id, plci, Rc);
14069 UnMapId (Id), (char *)(FILE_), __LINE__));
14083 sendf (plci->appl, _SELECT_B_REQ | CONFIRM, Id, plci->number, "w", Info);
14087 static void fax_connect_ack_command (dword Id, PLCI *plci, byte Rc)
14093 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14120 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
14128 sendf(plci->appl,_CONNECT_B3_ACTIVE_I,Id,0,"s","");
14130 sendf(plci->appl,_CONNECT_B3_ACTIVE_I,Id,0,"S",plci->ncpi_buffer);
14136 static void fax_edata_ack_command (dword Id, PLCI *plci, byte Rc)
14142 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14169 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
14176 static void fax_connect_info_command (dword Id, PLCI *plci, byte Rc)
14182 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14209 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
14223 sendf (plci->appl, _CONNECT_B3_R | CONFIRM, Id, plci->number, "w", Info);
14227 static void fax_adjust_b23_command (dword Id, PLCI *plci, byte Rc)
14233 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14245 plci->adjust_b_ncci = (word)(Id >> 16);
14249 UnMapId (Id), (char *)(FILE_), __LINE__));
14251 Info = adjust_b_process (Id, plci, Rc);
14255 UnMapId (Id), (char *)(FILE_), __LINE__));
14271 sendf (plci->appl, _CONNECT_B3_R | CONFIRM, Id, plci->number, "w", Info);
14275 static void fax_disconnect_command (dword Id, PLCI *plci, byte Rc)
14280 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14296 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
14318 static void rtp_connect_b3_req_command (dword Id, PLCI *plci, byte Rc)
14324 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14347 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
14367 sendf (plci->appl, _CONNECT_B3_R | CONFIRM, Id, plci->number, "w", Info);
14371 static void rtp_connect_b3_res_command (dword Id, PLCI *plci, byte Rc)
14377 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14393 nl_req_ncci (plci, N_CONNECT_ACK, (byte)(Id >> 16));
14400 UnMapId (Id), (char *)(FILE_), __LINE__, Rc));
14409 sendf (plci->appl, _CONNECT_B3_ACTIVE_I, Id, 0, "s", "");
14425 static void hold_save_command (dword Id, PLCI *plci, byte Rc)
14432 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14440 if (!plci->NL.Id)
14446 plci->adjust_b_ncci = (word)(Id >> 16);
14450 UnMapId (Id), (char *)(FILE_), __LINE__));
14452 Info = adjust_b_process (Id, plci, Rc);
14456 UnMapId (Id), (char *)(FILE_), __LINE__));
14462 sendf (plci->appl, _FACILITY_I, Id & 0xffffL, 0, "ws", 3, SS_Ind);
14466 static void retrieve_restore_command (dword Id, PLCI *plci, byte Rc)
14473 UnMapId (Id), (char *)(FILE_), __LINE__, Rc, plci->internal_command));
14485 plci->adjust_b_ncci = (word)(Id >> 16);
14489 UnMapId (Id), (char *)(FILE_), __LINE__));
14491 Info = adjust_b_process (Id, plci, Rc);
14495 UnMapId (Id), (char *)(FILE_), __LINE__));
14501 sendf (plci->appl, _FACILITY_I, Id & 0xffffL, 0, "ws", 3, SS_Ind);
14509 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
14535 (dword)((plci->Id << 8) | UnMapController (plci->adapter->Id)),
14569 if (a->ch_flow_plci[i] == plci->Id) {
14587 a->ch_flow_plci[ch] = plci->Id;
14607 if ((!plci) || (!plci->Id) || ((a = plci->adapter) == 0)) {
14614 (plci->Id == a->ch_flow_plci[i])) {
14641 (plci->Id == a->ch_flow_plci[i])) {
14649 (plci->Id == a->ch_flow_plci[i])) {
14662 if (plci->nl_req || !plci->NL.Id || plci->nl_remove_id) {
14695 NCCIcode = a->ch_ncci[ch] | (((word) a->Id) << 8);
14759 if(application[i].Id && (application[i].MaxNCCI) > 1 && (a->CIP_Mask[i]) && (a->group_optimization_enabled ==1) )
14767 if(application[i].Id && a->CIP_Mask[i] )
14771 if(a->plci[k].Id)
14855 if( application[i].Id && (application[i].Id!=id) )
14897 static void VSwitchReqInd(PLCI *plci, dword Id, byte **parms)
15001 e.user[0] = plci->adapter->Id - 1;
15009 plci->adapter->Id,
15035 e.user[0] = plci->adapter->Id - 1;