Lines Matching refs:card
91 actcapi_chkhdr(act2000_card *card, actcapi_msghdr *hdr) in actcapi_chkhdr() argument
115 m->hdr.msgnum = actcapi_nextsmsg(card); \
126 skb_queue_tail(&card->sndq, skb); \
127 act2000_schedule_tx(card); \
131 actcapi_listen_req(act2000_card *card) in actcapi_listen_req() argument
139 eazmask |= card->bch[i].eazmask; in actcapi_listen_req()
154 actcapi_connect_req(act2000_card *card, act2000_chan *chan, char *phone, in actcapi_connect_req() argument
181 actcapi_connect_b3_req(act2000_card *card, act2000_chan *chan) in actcapi_connect_b3_req() argument
200 actcapi_manufacturer_req_net(act2000_card *card) in actcapi_manufacturer_req_net() argument
212 m->msg.manufacturer_req_net.nettype = (card->ptype == ISDN_PTYPE_EURO) ? 1 : 0; in actcapi_manufacturer_req_net()
215 card->interface.id, (card->ptype == ISDN_PTYPE_EURO) ? "euro" : "1tr6"); in actcapi_manufacturer_req_net()
216 card->interface.features &= in actcapi_manufacturer_req_net()
218 card->interface.features |= in actcapi_manufacturer_req_net()
219 ((card->ptype == ISDN_PTYPE_EURO) ? ISDN_FEATURE_P_EURO : ISDN_FEATURE_P_1TR6); in actcapi_manufacturer_req_net()
228 actcapi_manufacturer_req_v42(act2000_card *card, ulong arg)
251 actcapi_manufacturer_req_errh(act2000_card *card) in actcapi_manufacturer_req_errh() argument
272 actcapi_manufacturer_req_msn(act2000_card *card) in actcapi_manufacturer_req_msn() argument
274 msn_entry *p = card->msn_list; in actcapi_manufacturer_req_msn()
302 actcapi_select_b2_protocol_req(act2000_card *card, act2000_chan *chan) in actcapi_select_b2_protocol_req() argument
337 actcapi_select_b3_protocol_req(act2000_card *card, act2000_chan *chan) in actcapi_select_b3_protocol_req() argument
358 actcapi_listen_b3_req(act2000_card *card, act2000_chan *chan) in actcapi_listen_b3_req() argument
370 actcapi_disconnect_req(act2000_card *card, act2000_chan *chan) in actcapi_disconnect_req() argument
383 actcapi_disconnect_b3_req(act2000_card *card, act2000_chan *chan) in actcapi_disconnect_b3_req() argument
400 actcapi_connect_resp(act2000_card *card, act2000_chan *chan, __u8 cause) in actcapi_connect_resp() argument
418 actcapi_connect_active_resp(act2000_card *card, act2000_chan *chan) in actcapi_connect_active_resp() argument
432 actcapi_connect_b3_resp(act2000_card *card, act2000_chan *chan, __u8 rejectcause) in actcapi_connect_b3_resp() argument
452 actcapi_connect_b3_active_resp(act2000_card *card, act2000_chan *chan) in actcapi_connect_b3_active_resp() argument
465 actcapi_info_resp(act2000_card *card, act2000_chan *chan) in actcapi_info_resp() argument
477 actcapi_disconnect_b3_resp(act2000_card *card, act2000_chan *chan) in actcapi_disconnect_b3_resp() argument
491 actcapi_disconnect_resp(act2000_card *card, act2000_chan *chan) in actcapi_disconnect_resp() argument
504 new_plci(act2000_card *card, __u16 plci) in new_plci() argument
508 if (card->bch[i].plci == 0x8000) { in new_plci()
509 card->bch[i].plci = plci; in new_plci()
516 find_plci(act2000_card *card, __u16 plci) in find_plci() argument
520 if (card->bch[i].plci == plci) in find_plci()
526 find_ncci(act2000_card *card, __u16 ncci) in find_ncci() argument
530 if (card->bch[i].ncci == ncci) in find_ncci()
536 find_dialing(act2000_card *card, __u16 callref) in find_dialing() argument
540 if ((card->bch[i].callref == callref) && in find_dialing()
541 (card->bch[i].fsm_state == ACT2000_STATE_OCALL)) in find_dialing()
547 actcapi_data_b3_ind(act2000_card *card, struct sk_buff *skb) { in actcapi_data_b3_ind() argument
556 chan = find_ncci(card, ncci); in actcapi_data_b3_ind()
559 if (card->bch[chan].fsm_state != ACT2000_STATE_ACTIVE) in actcapi_data_b3_ind()
561 if (card->bch[chan].plci != plci) in actcapi_data_b3_ind()
565 card->interface.rcvcallb_skb(card->myid, chan, skb); in actcapi_data_b3_ind()
575 msg->hdr.msgnum = actcapi_nextsmsg(card); in actcapi_data_b3_ind()
588 handle_ack(act2000_card *card, act2000_chan *chan, __u8 blocknr) { in handle_ack() argument
595 spin_lock_irqsave(&card->lock, flags); in handle_ack()
596 skb = skb_peek(&card->ackq); in handle_ack()
597 spin_unlock_irqrestore(&card->lock, flags); in handle_ack()
608 skb_unlink(tmp, &card->ackq); in handle_ack()
617 spin_lock_irqsave(&card->lock, flags); in handle_ack()
619 spin_unlock_irqrestore(&card->lock, flags); in handle_ack()
631 struct act2000_card *card = in actcapi_dispatch() local
642 while ((skb = skb_dequeue(&card->rcvq))) { in actcapi_dispatch()
649 if (actcapi_data_b3_ind(card, skb)) in actcapi_dispatch()
654 chan = find_ncci(card, msg->msg.data_b3_conf.ncci); in actcapi_dispatch()
655 if ((chan >= 0) && (card->bch[chan].fsm_state == ACT2000_STATE_ACTIVE)) { in actcapi_dispatch()
659 len = handle_ack(card, &card->bch[chan], in actcapi_dispatch()
662 cmd.driver = card->myid; in actcapi_dispatch()
666 card->interface.statcallb(&cmd); in actcapi_dispatch()
672 chan = find_dialing(card, msg->hdr.msgnum); in actcapi_dispatch()
675 card->bch[chan].fsm_state = ACT2000_STATE_NULL; in actcapi_dispatch()
676 cmd.driver = card->myid; in actcapi_dispatch()
679 card->interface.statcallb(&cmd); in actcapi_dispatch()
681 card->bch[chan].fsm_state = ACT2000_STATE_OWAIT; in actcapi_dispatch()
682 card->bch[chan].plci = msg->msg.connect_conf.plci; in actcapi_dispatch()
688 chan = new_plci(card, msg->msg.connect_ind.plci); in actcapi_dispatch()
692 actcapi_connect_resp(card, ctmp, 0x11); /* All Card-Cannels busy */ in actcapi_dispatch()
694 card->bch[chan].fsm_state = ACT2000_STATE_ICALL; in actcapi_dispatch()
695 cmd.driver = card->myid; in actcapi_dispatch()
700 if (card->ptype == ISDN_PTYPE_EURO) in actcapi_dispatch()
702 act2000_find_eaz(card, msg->msg.connect_ind.eaz)); in actcapi_dispatch()
712 if (card->interface.statcallb(&cmd) == 2) in actcapi_dispatch()
713 actcapi_connect_resp(card, &card->bch[chan], 0x15); /* Reject Call */ in actcapi_dispatch()
718 chan = find_plci(card, msg->msg.connect_active_ind.plci); in actcapi_dispatch()
720 switch (card->bch[chan].fsm_state) { in actcapi_dispatch()
722 actcapi_connect_active_resp(card, &card->bch[chan]); in actcapi_dispatch()
725 actcapi_connect_active_resp(card, &card->bch[chan]); in actcapi_dispatch()
726 actcapi_select_b2_protocol_req(card, &card->bch[chan]); in actcapi_dispatch()
732 chan = find_plci(card, msg->msg.connect_b3_ind.plci); in actcapi_dispatch()
733 if ((chan >= 0) && (card->bch[chan].fsm_state == ACT2000_STATE_IBWAIT)) { in actcapi_dispatch()
734 card->bch[chan].ncci = msg->msg.connect_b3_ind.ncci; in actcapi_dispatch()
735 actcapi_connect_b3_resp(card, &card->bch[chan], 0); in actcapi_dispatch()
739 actcapi_connect_b3_resp(card, ctmp, 0x11); /* All Card-Cannels busy */ in actcapi_dispatch()
744 chan = find_ncci(card, msg->msg.connect_b3_active_ind.ncci); in actcapi_dispatch()
745 if ((chan >= 0) && (card->bch[chan].fsm_state == ACT2000_STATE_BWAIT)) { in actcapi_dispatch()
746 actcapi_connect_b3_active_resp(card, &card->bch[chan]); in actcapi_dispatch()
747 cmd.driver = card->myid; in actcapi_dispatch()
750 card->interface.statcallb(&cmd); in actcapi_dispatch()
755 chan = find_ncci(card, msg->msg.disconnect_b3_ind.ncci); in actcapi_dispatch()
757 ctmp = &card->bch[chan]; in actcapi_dispatch()
758 actcapi_disconnect_b3_resp(card, ctmp); in actcapi_dispatch()
762 cmd.driver = card->myid; in actcapi_dispatch()
765 card->interface.statcallb(&cmd); in actcapi_dispatch()
768 actcapi_disconnect_req(card, ctmp); in actcapi_dispatch()
770 cmd.driver = card->myid; in actcapi_dispatch()
773 card->interface.statcallb(&cmd); in actcapi_dispatch()
780 chan = find_plci(card, msg->msg.disconnect_ind.plci); in actcapi_dispatch()
782 ctmp = &card->bch[chan]; in actcapi_dispatch()
783 actcapi_disconnect_resp(card, ctmp); in actcapi_dispatch()
785 cmd.driver = card->myid; in actcapi_dispatch()
788 card->interface.statcallb(&cmd); in actcapi_dispatch()
792 actcapi_disconnect_resp(card, ctmp); in actcapi_dispatch()
797 chan = find_plci(card, msg->msg.select_b2_protocol_conf.plci); in actcapi_dispatch()
799 switch (card->bch[chan].fsm_state) { in actcapi_dispatch()
802 ctmp = &card->bch[chan]; in actcapi_dispatch()
804 actcapi_select_b3_protocol_req(card, ctmp); in actcapi_dispatch()
807 cmd.driver = card->myid; in actcapi_dispatch()
810 card->interface.statcallb(&cmd); in actcapi_dispatch()
817 chan = find_plci(card, msg->msg.select_b3_protocol_conf.plci); in actcapi_dispatch()
819 switch (card->bch[chan].fsm_state) { in actcapi_dispatch()
822 ctmp = &card->bch[chan]; in actcapi_dispatch()
824 actcapi_listen_b3_req(card, ctmp); in actcapi_dispatch()
827 cmd.driver = card->myid; in actcapi_dispatch()
830 card->interface.statcallb(&cmd); in actcapi_dispatch()
836 chan = find_plci(card, msg->msg.listen_b3_conf.plci); in actcapi_dispatch()
838 switch (card->bch[chan].fsm_state) { in actcapi_dispatch()
840 ctmp = &card->bch[chan]; in actcapi_dispatch()
842 actcapi_connect_resp(card, ctmp, 0); in actcapi_dispatch()
845 cmd.driver = card->myid; in actcapi_dispatch()
848 card->interface.statcallb(&cmd); in actcapi_dispatch()
852 ctmp = &card->bch[chan]; in actcapi_dispatch()
854 actcapi_connect_b3_req(card, ctmp); in actcapi_dispatch()
856 cmd.driver = card->myid; in actcapi_dispatch()
859 card->interface.statcallb(&cmd); in actcapi_dispatch()
862 cmd.driver = card->myid; in actcapi_dispatch()
865 card->interface.statcallb(&cmd); in actcapi_dispatch()
872 chan = find_plci(card, msg->msg.connect_b3_conf.plci); in actcapi_dispatch()
873 if ((chan >= 0) && (card->bch[chan].fsm_state == ACT2000_STATE_OBWAIT)) { in actcapi_dispatch()
874 ctmp = &card->bch[chan]; in actcapi_dispatch()
877 cmd.driver = card->myid; in actcapi_dispatch()
880 card->interface.statcallb(&cmd); in actcapi_dispatch()
889 chan = find_ncci(card, msg->msg.disconnect_b3_conf.ncci); in actcapi_dispatch()
890 if ((chan >= 0) && (card->bch[chan].fsm_state == ACT2000_STATE_BHWAIT)) in actcapi_dispatch()
891 card->bch[chan].fsm_state = ACT2000_STATE_BHWAIT2; in actcapi_dispatch()
895 chan = find_plci(card, msg->msg.info_ind.plci); in actcapi_dispatch()
898 actcapi_info_resp(card, &card->bch[chan]); in actcapi_dispatch()
920 card->flags |= ACT2000_FLAGS_RUNNING; in actcapi_dispatch()
922 cmd.driver = card->myid; in actcapi_dispatch()
924 actcapi_manufacturer_req_net(card); in actcapi_dispatch()
925 actcapi_manufacturer_req_msn(card); in actcapi_dispatch()
926 actcapi_listen_req(card); in actcapi_dispatch()
927 card->interface.statcallb(&cmd); in actcapi_dispatch()