• Home
  • Raw
  • Download

Lines Matching refs:ic

206   isdn_ctrl ic;  in deflect_extern_action()  local
218 ic.driver = cs->ics.driver; in deflect_extern_action()
219 ic.arg = cs->ics.arg; in deflect_extern_action()
225 ic.command = ISDN_CMD_HANGUP; in deflect_extern_action()
226 i = divert_if.ll_cmd(&ic); in deflect_extern_action()
238 ic.command = ISDN_CMD_ALERT; in deflect_extern_action()
239 if ((i = divert_if.ll_cmd(&ic))) in deflect_extern_action()
255 ic.command = ISDN_CMD_REDIR; in deflect_extern_action()
256 if ((i = divert_if.ll_cmd(&ic))) in deflect_extern_action()
387 static int isdn_divert_icall(isdn_ctrl *ic) in isdn_divert_icall() argument
398 if (((dv->rule.callopt == 1) && (ic->command == ISDN_STAT_ICALLW)) || in isdn_divert_icall()
399 ((dv->rule.callopt == 2) && (ic->command == ISDN_STAT_ICALL))) in isdn_divert_icall()
401 if (!(dv->rule.drvid & (1L << ic->driver))) in isdn_divert_icall()
403 if ((dv->rule.si1) && (dv->rule.si1 != ic->parm.setup.si1)) in isdn_divert_icall()
405 if ((dv->rule.si2) && (dv->rule.si2 != ic->parm.setup.si2)) in isdn_divert_icall()
409 p1 = ic->parm.setup.eazmsn; in isdn_divert_icall()
424 if ((strcmp(dv->rule.caller,"0")) || (ic->parm.setup.phone[0])) in isdn_divert_icall()
426 p1 = ic->parm.setup.phone; in isdn_divert_icall()
461 cs->ics = *ic; /* copy incoming data */ in isdn_divert_icall()
480 { strcpy(ic->parm.setup.eazmsn,"Testtext direct"); in isdn_divert_icall()
481 ic->parm.setup.screen = dv->rule.screen; in isdn_divert_icall()
482 strcpy(ic->parm.setup.phone,dv->rule.to_nr); in isdn_divert_icall()
498 (ic->command == ISDN_STAT_ICALLW) ? "1":"0", in isdn_divert_icall()
599 static int interrogate_success(isdn_ctrl *ic, struct call_struc *cs) in interrogate_success() argument
600 { char *src = ic->parm.dss1_io.data; in interrogate_success()
601 int restlen = ic->parm.dss1_io.datalen; in interrogate_success()
654 sprintf(stp,"%d 0x%lx %d %s ",DIVERT_REPORT, ic->parm.dss1_io.ll_id, in interrogate_success()
655 cnt++,divert_if.drv_to_name(ic->driver)); in interrogate_success()
693 static int prot_stat_callback(isdn_ctrl *ic) in prot_stat_callback() argument
701 { if (ic->driver == cs->ics.driver) in prot_stat_callback()
704 if ((cs->ics.parm.dss1_io.ll_id == ic->parm.dss1_io.ll_id) && in prot_stat_callback()
705 (cs->ics.parm.dss1_io.hl_id == ic->parm.dss1_io.hl_id)) in prot_stat_callback()
706 { switch (ic->arg) in prot_stat_callback()
709 ic->parm.dss1_io.ll_id, in prot_stat_callback()
710 ic->parm.dss1_io.timeout); in prot_stat_callback()
722 i = interrogate_success(ic,cs); in prot_stat_callback()
725 ic->parm.dss1_io.ll_id,i); in prot_stat_callback()
738 printk(KERN_WARNING "dss1_divert unknown invoke answer %lx\n",ic->arg); in prot_stat_callback()
785 static int isdn_divert_stat_callback(isdn_ctrl *ic) in isdn_divert_stat_callback() argument
793 { if ((ic->driver == cs->ics.driver) && (ic->arg == cs->ics.arg)) in isdn_divert_stat_callback()
794 { switch (ic->command) in isdn_divert_stat_callback()
802 sprintf(cs->info,"130 0x%lx %s\n",cs->divert_id,ic->parm.num); in isdn_divert_stat_callback()
812 sprintf(cs->info,"999 0x%lx 0x%x\n",cs->divert_id,(int)(ic->command)); in isdn_divert_stat_callback()
840 int ll_callback(isdn_ctrl *ic) in ll_callback() argument
842 switch (ic->command) in ll_callback()
845 return(isdn_divert_icall(ic)); in ll_callback()
849 if ((ic->arg & 0xFF) == ISDN_PTYPE_EURO) in ll_callback()
850 { if (ic->arg != DSS1_STAT_INVOKE_BRD) in ll_callback()
851 return(prot_stat_callback(ic)); in ll_callback()
859 return(isdn_divert_stat_callback(ic)); in ll_callback()