Lines Matching refs:cmsg
504 static void send_message(capidrv_contr *card, _cmsg *cmsg) in send_message() argument
509 if (capi_cmsg2message(cmsg, cmsg->buf)) { in send_message()
513 len = CAPIMSG_LEN(cmsg->buf); in send_message()
519 memcpy(skb_put(skb, len), cmsg->buf, len); in send_message()
661 static _cmsg cmsg; variable
667 capi_fill_DISCONNECT_REQ(&cmsg, in n0()
677 send_message(card, &cmsg); in n0()
965 static void handle_controller(_cmsg *cmsg) in handle_controller() argument
967 capidrv_contr *card = findcontrbynumber(cmsg->adr.adrController & 0x7f); in handle_controller()
971 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_controller()
972 cmsg->adr.adrController & 0x7f); in handle_controller()
975 switch (CAPICMD(cmsg->Command, cmsg->Subcommand)) { in handle_controller()
980 card->contrnr, cmsg->Info, capi_info2str(cmsg->Info), card->cipmask); in handle_controller()
981 if (cmsg->Info) { in handle_controller()
991 if (cmsg->ManuID == 0x214D5641 in handle_controller()
992 && cmsg->Class == 0 in handle_controller()
993 && cmsg->Function == 1) { in handle_controller()
994 u8 *data = cmsg->ManuData + 3; in handle_controller()
995 u16 len = cmsg->ManuData[0]; in handle_controller()
999 len = (cmsg->ManuData[1] | (cmsg->ManuData[2] << 8)); in handle_controller()
1018 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_controller()
1019 cmsg->adr.adrController, layer); in handle_controller()
1024 if (cmsg->ManuID == 0x214D5641) { in handle_controller()
1026 switch (cmsg->Class) { in handle_controller()
1035 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_controller()
1036 cmsg->adr.adrController, in handle_controller()
1037 cmsg->Function, s); in handle_controller()
1053 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_controller()
1054 cmsg->adr.adrController); in handle_controller()
1061 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_controller()
1062 cmsg->adr.adrController); in handle_controller()
1065 static void handle_incoming_call(capidrv_contr *card, _cmsg *cmsg) in handle_incoming_call() argument
1082 plcip->plci = cmsg->adr.adrPLCI; in handle_incoming_call()
1090 cmsg->CallingPartyNumber + 3, in handle_incoming_call()
1091 cmsg->CallingPartyNumber[0] - 2); in handle_incoming_call()
1093 cmsg->CalledPartyNumber + 2, in handle_incoming_call()
1094 cmsg->CalledPartyNumber[0] - 1); in handle_incoming_call()
1095 cmd.parm.setup.si1 = cip2si1(cmsg->CIPValue); in handle_incoming_call()
1096 cmd.parm.setup.si2 = cip2si2(cmsg->CIPValue); in handle_incoming_call()
1097 cmd.parm.setup.plan = cmsg->CallingPartyNumber[1]; in handle_incoming_call()
1098 cmd.parm.setup.screen = cmsg->CallingPartyNumber[2]; in handle_incoming_call()
1122 capi_cmsg_answer(cmsg); in handle_incoming_call()
1123 cmsg->Reject = 1; /* ignore */ in handle_incoming_call()
1125 send_message(card, cmsg); in handle_incoming_call()
1150 capi_fill_ALERT_REQ(cmsg, in handle_incoming_call()
1159 plcip->msgid = cmsg->Messagenumber; in handle_incoming_call()
1160 send_message(card, cmsg); in handle_incoming_call()
1172 capi_cmsg_answer(cmsg); in handle_incoming_call()
1173 cmsg->Reject = 2; /* reject call, normal call clearing */ in handle_incoming_call()
1175 send_message(card, cmsg); in handle_incoming_call()
1180 capi_cmsg_answer(cmsg); in handle_incoming_call()
1181 cmsg->Reject = 8; /* reject call, in handle_incoming_call()
1184 send_message(card, cmsg); in handle_incoming_call()
1190 static void handle_plci(_cmsg *cmsg) in handle_plci() argument
1192 capidrv_contr *card = findcontrbynumber(cmsg->adr.adrController & 0x7f); in handle_plci()
1199 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_plci()
1200 cmsg->adr.adrController & 0x7f); in handle_plci()
1203 switch (CAPICMD(cmsg->Command, cmsg->Subcommand)) { in handle_plci()
1206 if (cmsg->Reason) { in handle_plci()
1209 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_plci()
1210 cmsg->Reason, capi_info2str(cmsg->Reason), cmsg->adr.adrPLCI); in handle_plci()
1212 if (!(plcip = find_plci_by_plci(card, cmsg->adr.adrPLCI))) { in handle_plci()
1213 capi_cmsg_answer(cmsg); in handle_plci()
1214 send_message(card, cmsg); in handle_plci()
1219 capi_cmsg_answer(cmsg); in handle_plci()
1221 send_message(card, cmsg); in handle_plci()
1225 if (cmsg->Info) { in handle_plci()
1228 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_plci()
1229 cmsg->Info, capi_info2str(cmsg->Info), in handle_plci()
1230 cmsg->adr.adrPLCI); in handle_plci()
1232 if (!(plcip = find_plci_by_plci(card, cmsg->adr.adrPLCI))) in handle_plci()
1239 if (cmsg->Info) { in handle_plci()
1242 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_plci()
1243 cmsg->Info, capi_info2str(cmsg->Info), in handle_plci()
1244 cmsg->adr.adrPLCI); in handle_plci()
1249 handle_incoming_call(card, cmsg); in handle_plci()
1253 if (cmsg->Info) { in handle_plci()
1256 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_plci()
1257 cmsg->Info, capi_info2str(cmsg->Info), in handle_plci()
1258 cmsg->adr.adrPLCI); in handle_plci()
1260 if (!(plcip = find_plci_by_msgid(card, cmsg->Messagenumber))) in handle_plci()
1263 plcip->plci = cmsg->adr.adrPLCI; in handle_plci()
1264 if (cmsg->Info) { in handle_plci()
1273 if (!(plcip = find_plci_by_plci(card, cmsg->adr.adrPLCI))) in handle_plci()
1277 capi_cmsg_answer(cmsg); in handle_plci()
1279 send_message(card, cmsg); in handle_plci()
1282 capi_cmsg_answer(cmsg); in handle_plci()
1283 send_message(card, cmsg); in handle_plci()
1285 nccip = new_ncci(card, plcip, cmsg->adr.adrPLCI); in handle_plci()
1291 capi_fill_CONNECT_B3_REQ(cmsg, in handle_plci()
1297 nccip->msgid = cmsg->Messagenumber; in handle_plci()
1301 send_message(card, cmsg); in handle_plci()
1311 if (!(plcip = find_plci_by_plci(card, cmsg->adr.adrPLCI))) in handle_plci()
1314 if (cmsg->InfoNumber == 0x4000) { in handle_plci()
1315 if (cmsg->InfoElement[0] == 4) { in handle_plci()
1321 ((u32) cmsg->InfoElement[1] in handle_plci()
1322 | ((u32) (cmsg->InfoElement[2]) << 8) in handle_plci()
1323 | ((u32) (cmsg->InfoElement[3]) << 16) in handle_plci()
1324 | ((u32) (cmsg->InfoElement[4]) << 24))); in handle_plci()
1329 cdb = capi_cmsg2str(cmsg); in handle_plci()
1336 card->contrnr, cmsg->InfoNumber); in handle_plci()
1355 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_plci()
1356 cmsg->adr.adrPLCI); in handle_plci()
1362 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_plci()
1363 cmsg->adr.adrPLCI); in handle_plci()
1368 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_plci()
1369 cmsg->adr.adrPLCI); in handle_plci()
1373 static void handle_ncci(_cmsg *cmsg) in handle_ncci() argument
1375 capidrv_contr *card = findcontrbynumber(cmsg->adr.adrController & 0x7f); in handle_ncci()
1383 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_ncci()
1384 cmsg->adr.adrController & 0x7f); in handle_ncci()
1387 switch (CAPICMD(cmsg->Command, cmsg->Subcommand)) { in handle_ncci()
1390 if (!(nccip = find_ncci(card, cmsg->adr.adrNCCI))) in handle_ncci()
1393 capi_cmsg_answer(cmsg); in handle_ncci()
1395 send_message(card, cmsg); in handle_ncci()
1411 plcip = find_plci_by_ncci(card, cmsg->adr.adrNCCI); in handle_ncci()
1413 nccip = new_ncci(card, plcip, cmsg->adr.adrNCCI); in handle_ncci()
1416 capi_fill_CONNECT_B3_RESP(cmsg, in handle_ncci()
1424 send_message(card, cmsg); in handle_ncci()
1431 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_ncci()
1432 cmsg->adr.adrNCCI); in handle_ncci()
1434 capi_fill_CONNECT_B3_RESP(cmsg, in handle_ncci()
1437 cmsg->adr.adrNCCI, in handle_ncci()
1441 send_message(card, cmsg); in handle_ncci()
1447 cmsg->adr.adrNCCI, in handle_ncci()
1448 cmsg->Messagenumber))) in handle_ncci()
1451 nccip->ncci = cmsg->adr.adrNCCI; in handle_ncci()
1452 if (cmsg->Info) { in handle_ncci()
1455 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_ncci()
1456 cmsg->Info, capi_info2str(cmsg->Info), in handle_ncci()
1457 cmsg->adr.adrNCCI); in handle_ncci()
1460 if (cmsg->Info) in handle_ncci()
1467 capi_cmsg_answer(cmsg); in handle_ncci()
1468 send_message(card, cmsg); in handle_ncci()
1476 if (cmsg->Info) { in handle_ncci()
1478 cmsg->Info, capi_info2str(cmsg->Info)); in handle_ncci()
1480 if (!(nccip = find_ncci(card, cmsg->adr.adrNCCI))) in handle_ncci()
1483 len = capidrv_del_ack(nccip, cmsg->DataHandle); in handle_ncci()
1494 if (!(nccip = find_ncci(card, cmsg->adr.adrNCCI))) in handle_ncci()
1499 capi_cmsg_answer(cmsg); in handle_ncci()
1501 send_message(card, cmsg); in handle_ncci()
1505 if (!(nccip = find_ncci(card, cmsg->adr.adrNCCI))) in handle_ncci()
1507 if (cmsg->Info) { in handle_ncci()
1510 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_ncci()
1511 cmsg->Info, capi_info2str(cmsg->Info), in handle_ncci()
1512 cmsg->adr.adrNCCI); in handle_ncci()
1518 if (!(nccip = find_ncci(card, cmsg->adr.adrNCCI))) in handle_ncci()
1521 capi_cmsg_answer(cmsg); in handle_ncci()
1522 send_message(card, cmsg); in handle_ncci()
1536 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_ncci()
1537 cmsg->adr.adrNCCI); in handle_ncci()
1543 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_ncci()
1544 cmsg->adr.adrNCCI); in handle_ncci()
1549 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_ncci()
1550 cmsg->adr.adrNCCI); in handle_ncci()
1554 static void handle_data(_cmsg *cmsg, struct sk_buff *skb) in handle_data() argument
1556 capidrv_contr *card = findcontrbynumber(cmsg->adr.adrController & 0x7f); in handle_data()
1561 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_data()
1562 cmsg->adr.adrController & 0x7f); in handle_data()
1566 if (!(nccip = find_ncci(card, cmsg->adr.adrNCCI))) { in handle_data()
1569 capi_cmd2str(cmsg->Command, cmsg->Subcommand), in handle_data()
1570 cmsg->adr.adrNCCI); in handle_data()
1576 capi_cmsg_answer(cmsg); in handle_data()
1577 send_message(card, cmsg); in handle_data()