link              143 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              146 src/isdn/Q921.c 	if(Q921_CHECK_FLAG(link, Q921_FLAG_RECV_BUSY)) {
link              155 src/isdn/Q921.c 	Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link              169 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              172 src/isdn/Q921.c 	if(Q921_CHECK_FLAG(link, Q921_FLAG_RECV_BUSY)) {
link              180 src/isdn/Q921.c 		Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link              195 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              198 src/isdn/Q921.c 	Q921_CLEAR_FLAG(link, Q921_FLAG_PEER_RECV_BUSY);
link              201 src/isdn/Q921.c 	Q921_CLEAR_FLAG(link, Q921_FLAG_REJECT);
link              204 src/isdn/Q921.c 	Q921_CLEAR_FLAG(link, Q921_FLAG_RECV_BUSY);
link              207 src/isdn/Q921.c 	Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link              221 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              227 src/isdn/Q921.c 	link->N200 = 0;
link              248 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              256 src/isdn/Q921.c 	Q921_CLEAR_FLAG(link, Q921_FLAG_L3_INITIATED);
link              272 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              276 src/isdn/Q921.c 	qnum = MFIFOGetMesCount(link->IFrameResendQueue);
link              300 src/isdn/Q921.c 	while(link->vs != nr && qpos > 0) {	/* ???? */
link              302 src/isdn/Q921.c 		Q921_DEC_COUNTER(link->vs);	/* huh? backwards? */
link              311 src/isdn/Q921.c 	if(link->vs != nr && !qpos) {
link              322 src/isdn/Q921.c 		mes = MFIFOGetMesPtrOffset(link->IFrameResendQueue, &size, qpos);
link              325 src/isdn/Q921.c 			MFIFOWriteMes(link->IFrameQueue, mes, size);
link              339 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              341 src/isdn/Q921.c 	switch(link->state) {
link              344 src/isdn/Q921.c 		if(Q921_CHECK_FLAG(link, Q921_FLAG_ACK_PENDING)) {
link              346 src/isdn/Q921.c 			Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link              604 src/isdn/Q921.c 		struct Q921_Link *link;
link              617 src/isdn/Q921.c 		link  = Q921_LINK_CONTEXT(trunk, tei);
link              634 src/isdn/Q921.c 						(tei == link->tei || tei == Q921_TEI_BCAST) ? "" : ", Ignored" );
link              651 src/isdn/Q921.c 														link->va, link->vr, link->vs);
link              654 src/isdn/Q921.c 			if(tei != link->tei) {
link              690 src/isdn/Q921.c 														link->va, link->vr, link->vs);
link              802 src/isdn/Q921.c 		APPEND_MSG(pbuf, poffset, pleft, "\n    Q.921 state: \"%s\" (%d) [flags: %c%c%c%c]\n", Q921State2Name(link->state), link->state,
link              803 src/isdn/Q921.c 											Q921_CHECK_FLAG(link, Q921_FLAG_ACK_PENDING) ? 'A' : '-',
link              804 src/isdn/Q921.c 											Q921_CHECK_FLAG(link, Q921_FLAG_REJECT) ? 'R' : '-',
link              805 src/isdn/Q921.c 											Q921_CHECK_FLAG(link, Q921_FLAG_PEER_RECV_BUSY) ? 'P' : '-',
link              806 src/isdn/Q921.c 											Q921_CHECK_FLAG(link, Q921_FLAG_RECV_BUSY) ? 'B' : '-');
link              866 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              868 src/isdn/Q921.c 	if (!link->T200) {
link              869 src/isdn/Q921.c 		link->T200 = Q921GetTime() + trunk->T200Timeout;
link              877 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              879 src/isdn/Q921.c 	link->T200 = 0;
link              886 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              888 src/isdn/Q921.c 	link->T200 = Q921GetTime() + trunk->T200Timeout;
link              898 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              900 src/isdn/Q921.c 	if (!link->T203) {
link              901 src/isdn/Q921.c 		link->T203 = Q921GetTime() + trunk->T203Timeout;
link              909 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              911 src/isdn/Q921.c 	link->T203 = 0;
link              918 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              920 src/isdn/Q921.c 	link->T203 = Q921GetTime() + trunk->T203Timeout;
link              956 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              958 src/isdn/Q921.c 	if (!link->T201) {
link              959 src/isdn/Q921.c 		link->T201 = Q921GetTime() + trunk->T201Timeout;
link              967 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              969 src/isdn/Q921.c 	link->T201 = 0;
link              977 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              979 src/isdn/Q921.c 	link->T201 = Q921GetTime() + trunk->T201Timeout;
link              990 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link              992 src/isdn/Q921.c 	if (!link->TM01) {
link              993 src/isdn/Q921.c 		link->TM01 = Q921GetTime() + trunk->TM01Timeout;
link             1002 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             1004 src/isdn/Q921.c 	link->TM01 = 0;
link             1012 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             1014 src/isdn/Q921.c 	link->TM01 = Q921GetTime() + trunk->TM01Timeout;
link             1024 src/isdn/Q921.c 	struct Q921_Link *link   = Q921_LINK_CONTEXT(trunk, tei);
link             1032 src/isdn/Q921.c 	switch(link->state) {
link             1034 src/isdn/Q921.c 		if(link->N200 >= trunk->N200Limit) {
link             1036 src/isdn/Q921.c 			MFIFOClear(link->IFrameQueue);
link             1039 src/isdn/Q921.c 			Q921Log(trunk, Q921_LOG_ERROR, "Failed to establish Q.921 link in %d retries\n", link->N200);
link             1048 src/isdn/Q921.c 			link->N200++;
link             1063 src/isdn/Q921.c 		link->N200 = 0;
link             1065 src/isdn/Q921.c 		if(!Q921_CHECK_FLAG(link, Q921_FLAG_PEER_RECV_BUSY)) {
link             1069 src/isdn/Q921.c 			Q921_DEC_COUNTER(link->vs);
link             1077 src/isdn/Q921.c 			Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link             1087 src/isdn/Q921.c 		link->N200++;
link             1094 src/isdn/Q921.c 		if(link->N200 == trunk->N200Limit) {
link             1101 src/isdn/Q921.c 			Q921_CLEAR_FLAG(link, Q921_FLAG_L3_INITIATED);
link             1106 src/isdn/Q921.c 			if(link->vs == link->va) {
link             1110 src/isdn/Q921.c 			} else if(!Q921_CHECK_FLAG(link, Q921_FLAG_PEER_RECV_BUSY)) {
link             1114 src/isdn/Q921.c 				Q921_DEC_COUNTER(link->vs);
link             1122 src/isdn/Q921.c 				Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link             1129 src/isdn/Q921.c 			link->N200++;
link             1142 src/isdn/Q921.c 	struct Q921_Link *link   = Q921_LINK_CONTEXT(trunk, tei);
link             1150 src/isdn/Q921.c 	switch(link->state) {
link             1156 src/isdn/Q921.c 		link->N200 = 0;
link             1168 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
link             1172 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T202 expired for Q.921 trunk with TEI %d\n", link->tei);
link             1176 src/isdn/Q921.c 	switch(link->state) {
link             1199 src/isdn/Q921.c 	struct Q921_Link *link   = Q921_LINK_CONTEXT(trunk, tei);
link             1207 src/isdn/Q921.c 	if(link->N202 < trunk->N202Limit) {
link             1212 src/isdn/Q921.c 		link->N202++;
link             1218 src/isdn/Q921.c 		memset(link, 0, sizeof(struct Q921_Link));
link             1228 src/isdn/Q921.c 	struct Q921_Link *link   = Q921_LINK_CONTEXT(trunk, tei);
link             1236 src/isdn/Q921.c 	switch(link->state) {
link             1247 src/isdn/Q921.c 		MFIFOClear(link->IFrameQueue);
link             1265 src/isdn/Q921.c 	struct Q921_Link *link;
link             1271 src/isdn/Q921.c 		link = Q921_LINK_CONTEXT(trunk, x);
link             1274 src/isdn/Q921.c 		if(link->state == Q921_STATE_STOPPED)
link             1277 src/isdn/Q921.c 		if (link->T200 && tNow > link->T200) {
link             1278 src/isdn/Q921.c 			Q921T200TimerExpire(trunk, link->tei);
link             1280 src/isdn/Q921.c 		if (link->T203 && tNow > link->T203) {
link             1281 src/isdn/Q921.c 			Q921T203TimerExpire(trunk, link->tei);		
link             1284 src/isdn/Q921.c 		if(Q921_IS_PTMP_NT(trunk) && link->tei) {
link             1285 src/isdn/Q921.c 			if (link->T201 && tNow > link->T201) {
link             1286 src/isdn/Q921.c 				Q921T201TimerExpire(trunk, link->tei);
link             1297 src/isdn/Q921.c 		Q921SendQueuedIFrame(trunk, link->tei);
link             1300 src/isdn/Q921.c 		Q921AcknowledgePending(trunk, link->tei);
link             1341 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, Tei);
link             1349 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "Enqueueing I frame for TEI %d [%d]\n", link->tei, Tei);
link             1352 src/isdn/Q921.c 	MFIFOWriteMes(link->IFrameQueue, mes, size);
link             1355 src/isdn/Q921.c 	Q921SendQueuedIFrame(trunk, link->tei);
link             1366 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             1371 src/isdn/Q921.c 	if(MFIFOGetMesCount(link->IFrameQueue) == 0) {
link             1376 src/isdn/Q921.c 	if(link->state != Q921_STATE_MULTIPLE_FRAME_ESTABLISHED) {
link             1381 src/isdn/Q921.c 	if(Q921_CHECK_FLAG(link, Q921_FLAG_PEER_RECV_BUSY)) {
link             1386 src/isdn/Q921.c 	if(link->vs == ((link->va + trunk->k) % 128)) {
link             1391 src/isdn/Q921.c 	mes = MFIFOGetMesPtr(link->IFrameQueue, &size);
link             1394 src/isdn/Q921.c 		mes[trunk->Q921HeaderSpace+2]  = link->vs << 1;
link             1395 src/isdn/Q921.c 		mes[trunk->Q921HeaderSpace+3] |= link->vr << 1;
link             1397 src/isdn/Q921.c 		if(MFIFOGetMesCount(link->IFrameQueue) == 0) {
link             1405 src/isdn/Q921.c 		Q921_INC_COUNTER(link->vs);
link             1408 src/isdn/Q921.c 		Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link             1411 src/isdn/Q921.c 		if(!link->T200) {
link             1418 src/isdn/Q921.c 		MFIFOWriteMesOverwrite(link->IFrameResendQueue, mes, size);
link             1421 src/isdn/Q921.c 		MFIFOKillNext(link->IFrameQueue);
link             1441 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, Tei);
link             1443 src/isdn/Q921.c 	if(!Q921_IS_READY(link)) {
link             1453 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+3] = (link->vr << 1) | (pf & 0x01);
link             1465 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, Tei);
link             1473 src/isdn/Q921.c 	if(m == 0x00 && Sapi != Q921_SAPI_TEI && link->state < Q921_STATE_TEI_ASSIGNED) {
link             1476 src/isdn/Q921.c 		MFIFOWriteMes(link->UIFrameQueue, mes, size);
link             1490 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);	/* TODO: need real link tei for NT mode */
link             1500 src/isdn/Q921.c 		switch(link->state) {
link             1504 src/isdn/Q921.c 				Q921EstablishDataLink(trunk, link->tei);
link             1507 src/isdn/Q921.c 				Q921_SET_FLAG(link, Q921_FLAG_L3_INITIATED);
link             1510 src/isdn/Q921.c 				Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, link->tei);
link             1517 src/isdn/Q921.c 				MFIFOClear(link->IFrameQueue);
link             1520 src/isdn/Q921.c 				Q921_SET_FLAG(link, Q921_FLAG_L3_INITIATED);
link             1528 src/isdn/Q921.c 				MFIFOClear(link->IFrameQueue);
link             1531 src/isdn/Q921.c 				Q921EstablishDataLink(trunk, link->tei);
link             1534 src/isdn/Q921.c 				Q921_SET_FLAG(link, Q921_FLAG_L3_INITIATED);
link             1537 src/isdn/Q921.c 				Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, link->tei);
link             1547 src/isdn/Q921.c 		switch(link->state) {
link             1557 src/isdn/Q921.c 				MFIFOClear(link->IFrameQueue);
link             1560 src/isdn/Q921.c 				link->N200 = 0;
link             1563 src/isdn/Q921.c 				Q921SendDISC(trunk, trunk->sapi, Q921_COMMAND(trunk), link->tei, 1);
link             1566 src/isdn/Q921.c 				if(link->state == Q921_STATE_MULTIPLE_FRAME_ESTABLISHED) {
link             1567 src/isdn/Q921.c 					Q921T203TimerStop(trunk, link->tei);
link             1569 src/isdn/Q921.c 				Q921T200TimerReset(trunk, link->tei);
link             1572 src/isdn/Q921.c 				Q921ChangeState(trunk, Q921_STATE_AWAITING_RELEASE, link->tei);
link             1585 src/isdn/Q921.c 				link->tei,
link             1590 src/isdn/Q921.c 		if(link->state < Q921_STATE_MULTIPLE_FRAME_ESTABLISHED) {
link             1594 src/isdn/Q921.c 			Q921EstablishDataLink(trunk, link->tei);
link             1597 src/isdn/Q921.c 			Q921_SET_FLAG(link, Q921_FLAG_L3_INITIATED);
link             1600 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, link->tei);
link             1720 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
link             1729 src/isdn/Q921.c 		link = Q921_LINK_CONTEXT(trunk, x);
link             1731 src/isdn/Q921.c 		link->state = Q921_STATE_TEI_UNASSIGNED;
link             1732 src/isdn/Q921.c 		link->tei   = 0;
link             1735 src/isdn/Q921.c 		MFIFOCreate(link->UIFrameQueue, Q921MAXHDLCSPACE, 10);
link             1736 src/isdn/Q921.c 		MFIFOCreate(link->IFrameQueue,  Q921MAXHDLCSPACE, 10);
link             1737 src/isdn/Q921.c 		MFIFOCreate(link->IFrameResendQueue, Q921MAXHDLCSPACE, 10);
link             1741 src/isdn/Q921.c 		link->state = Q921_STATE_TEI_UNASSIGNED;
link             1742 src/isdn/Q921.c 		link->tei   = 0;
link             1745 src/isdn/Q921.c 		link = Q921_TRUNK_CONTEXT(trunk);
link             1747 src/isdn/Q921.c 		link->state = Q921_STATE_TEI_ASSIGNED;
link             1748 src/isdn/Q921.c 		link->tei   = trunk->tei;
link             1754 src/isdn/Q921.c 		link->state = Q921_STATE_TEI_ASSIGNED;
link             1755 src/isdn/Q921.c 		link->tei   = trunk->tei;
link             1761 src/isdn/Q921.c 				 link->tei,
link             1771 src/isdn/Q921.c 					link->tei, 
link             1798 src/isdn/Q921.c 	struct Q921_Link *link;
link             1804 src/isdn/Q921.c 	link = Q921_TRUNK_CONTEXT(trunk);
link             1807 src/isdn/Q921.c 	if(Q921_IS_STOPPED(link))
link             1816 src/isdn/Q921.c 		link->tei  = 0;
link             1829 src/isdn/Q921.c 		MFIFOClear(link->UIFrameQueue);
link             1830 src/isdn/Q921.c 		MFIFOClear(link->IFrameQueue);
link             1831 src/isdn/Q921.c 		MFIFOClear(link->IFrameResendQueue);
link             1926 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             1928 src/isdn/Q921.c 	switch(link->state) {
link             1937 src/isdn/Q921.c 		link->vr=0;
link             1938 src/isdn/Q921.c 		link->vs=0;
link             1939 src/isdn/Q921.c 		link->va=0;
link             1985 src/isdn/Q921.c 		if(link->vs != link->va) {
link             1987 src/isdn/Q921.c 			MFIFOClear(link->IFrameQueue);
link             1994 src/isdn/Q921.c 		link->vr=0;
link             1995 src/isdn/Q921.c 		link->vs=0;
link             1996 src/isdn/Q921.c 		link->va=0;
link             2003 src/isdn/Q921.c 		if(link->state == Q921_STATE_TIMER_RECOVERY)
link             2027 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             2029 src/isdn/Q921.c 	switch(link->state) {
link             2040 src/isdn/Q921.c 			if(link->state == Q921_STATE_AWAITING_ESTABLISHMENT) {
link             2042 src/isdn/Q921.c 				MFIFOClear(link->IFrameQueue);
link             2068 src/isdn/Q921.c 			Q921_CLEAR_FLAG(link, Q921_FLAG_L3_INITIATED);
link             2086 src/isdn/Q921.c 		Q921_CLEAR_FLAG(link, Q921_FLAG_L3_INITIATED);
link             2111 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             2113 src/isdn/Q921.c 	switch(link->state) {
link             2123 src/isdn/Q921.c 			if(Q921_CHECK_FLAG(link, Q921_FLAG_L3_INITIATED)) {	/* layer3 initiated */
link             2124 src/isdn/Q921.c 				link->vr = 0;
link             2129 src/isdn/Q921.c 			} else if(link->vs != link->va) {
link             2132 src/isdn/Q921.c 				MFIFOClear(link->IFrameQueue);
link             2142 src/isdn/Q921.c 			link->vs = 0;
link             2143 src/isdn/Q921.c 			link->va = 0;
link             2200 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             2202 src/isdn/Q921.c 	switch(link->state) {
link             2226 src/isdn/Q921.c 		MFIFOClear(link->IFrameQueue);
link             2240 src/isdn/Q921.c 		if(link->state == Q921_STATE_MULTIPLE_FRAME_ESTABLISHED) {
link             2250 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_ERROR, "Invalid DISC received in state \"%s\" (%d)", Q921State2Name(link->state), link->state);
link             2273 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             2275 src/isdn/Q921.c 	switch(link->state) {
link             2278 src/isdn/Q921.c 		Q921_CLEAR_FLAG(link, Q921_FLAG_PEER_RECV_BUSY);
link             2292 src/isdn/Q921.c 		if(link->va <= nr && nr <= link->vs) {
link             2294 src/isdn/Q921.c 			if(nr == link->vs) {
link             2296 src/isdn/Q921.c 				link->va = nr;
link             2302 src/isdn/Q921.c 			} else if(nr == link->va) {
link             2308 src/isdn/Q921.c 				link->va = nr;
link             2326 src/isdn/Q921.c 		Q921_CLEAR_FLAG(link, Q921_FLAG_PEER_RECV_BUSY);
link             2335 src/isdn/Q921.c 		if(link->va <= nr && nr <= link->vs) {
link             2337 src/isdn/Q921.c 			link->va = nr;
link             2382 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             2384 src/isdn/Q921.c 	switch(link->state) {
link             2387 src/isdn/Q921.c 		Q921_CLEAR_FLAG(link, Q921_FLAG_PEER_RECV_BUSY);
link             2402 src/isdn/Q921.c 		if(link->va <= nr && nr <= link->vs) {
link             2405 src/isdn/Q921.c 			link->va = nr;
link             2426 src/isdn/Q921.c 		Q921_CLEAR_FLAG(link, Q921_FLAG_PEER_RECV_BUSY);
link             2435 src/isdn/Q921.c 		if(link->va <= nr && nr <= link->vs) {
link             2438 src/isdn/Q921.c 			link->va = nr;
link             2484 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             2486 src/isdn/Q921.c 	switch(link->state) {
link             2489 src/isdn/Q921.c 		Q921_SET_FLAG(link, Q921_FLAG_PEER_RECV_BUSY);
link             2504 src/isdn/Q921.c 		if(link->va <= nr && nr <= link->vs) {
link             2507 src/isdn/Q921.c 			link->va = nr;
link             2525 src/isdn/Q921.c 		Q921_SET_FLAG(link, Q921_FLAG_PEER_RECV_BUSY);
link             2534 src/isdn/Q921.c 		if(link->va <= nr && nr <= link->vs) {
link             2537 src/isdn/Q921.c 			link->va = nr;
link             2569 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             2571 src/isdn/Q921.c 	switch(link->state) {
link             2573 src/isdn/Q921.c 		if(!Q921_CHECK_FLAG(link, Q921_FLAG_RECV_BUSY)) {
link             2575 src/isdn/Q921.c 			Q921_SET_FLAG(link, Q921_FLAG_RECV_BUSY);
link             2578 src/isdn/Q921.c 			Q921SendRR(trunk, trunk->sapi, Q921_RESPONSE(trunk), link->tei, 0);
link             2581 src/isdn/Q921.c 			Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link             2586 src/isdn/Q921.c 		if(!Q921_CHECK_FLAG(link, Q921_FLAG_RECV_BUSY)) {
link             2588 src/isdn/Q921.c 			Q921_SET_FLAG(link, Q921_FLAG_RECV_BUSY);
link             2591 src/isdn/Q921.c 			Q921SendRNR(trunk, trunk->sapi, Q921_RESPONSE(trunk), link->tei, 0);
link             2594 src/isdn/Q921.c 			Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link             2607 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             2609 src/isdn/Q921.c 	switch(link->state) {
link             2612 src/isdn/Q921.c 		if(Q921_CHECK_FLAG(link, Q921_FLAG_RECV_BUSY)) {
link             2614 src/isdn/Q921.c 			Q921_CLEAR_FLAG(link, Q921_FLAG_RECV_BUSY);
link             2617 src/isdn/Q921.c 			Q921SendRNR(trunk, trunk->sapi, Q921_RESPONSE(trunk), link->tei, 0);
link             2620 src/isdn/Q921.c 			Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link             2642 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             2645 src/isdn/Q921.c 	if(link->state < Q921_STATE_MULTIPLE_FRAME_ESTABLISHED) {
link             2651 src/isdn/Q921.c 	if(Q921_CHECK_FLAG(link, Q921_FLAG_RECV_BUSY)) {
link             2660 src/isdn/Q921.c 			Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link             2664 src/isdn/Q921.c 		if(ns != link->vr) {
link             2668 src/isdn/Q921.c 			if(Q921_CHECK_FLAG(link, Q921_FLAG_REJECT) && pf) {
link             2674 src/isdn/Q921.c 				Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link             2676 src/isdn/Q921.c 			else if(!Q921_CHECK_FLAG(link, Q921_FLAG_REJECT)){
link             2679 src/isdn/Q921.c 				Q921_SET_FLAG(link, Q921_FLAG_REJECT);
link             2685 src/isdn/Q921.c 				Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link             2690 src/isdn/Q921.c 			Q921_INC_COUNTER(link->vr);
link             2693 src/isdn/Q921.c 			Q921_CLEAR_FLAG(link, Q921_FLAG_REJECT);
link             2703 src/isdn/Q921.c 				Q921_CLEAR_FLAG(link, Q921_FLAG_ACK_PENDING);
link             2705 src/isdn/Q921.c 			else if(!Q921_CHECK_FLAG(link, Q921_FLAG_ACK_PENDING)) {
link             2712 src/isdn/Q921.c 				Q921_SET_FLAG(link, Q921_FLAG_ACK_PENDING);
link             2718 src/isdn/Q921.c 	switch(link->state) {
link             2720 src/isdn/Q921.c 		if(link->va <= nr && nr <= link->vs) {
link             2721 src/isdn/Q921.c 			if(Q921_CHECK_FLAG(link, Q921_FLAG_PEER_RECV_BUSY)) {
link             2722 src/isdn/Q921.c 				link->va = nr;
link             2724 src/isdn/Q921.c 			else if(nr == link->vs) {
link             2726 src/isdn/Q921.c 				link->va = nr;
link             2732 src/isdn/Q921.c 			else if(nr != link->va) {
link             2734 src/isdn/Q921.c 				link->va = nr;
link             2755 src/isdn/Q921.c 		if(link->va <= nr && nr <= link->vs) {
link             2757 src/isdn/Q921.c 			link->va = nr;
link             2920 src/isdn/Q921.c 		struct Q921_Link *link;
link             2933 src/isdn/Q921.c 		link  = Q921_LINK_CONTEXT(trunk, tei);
link             2936 src/isdn/Q921.c 			 (link->state >= Q921_STATE_TEI_ASSIGNED && tei != link->tei && tei != Q921_TEI_BCAST) ||			/* Assigned TEI: Only BCAST and directed */
link             2937 src/isdn/Q921.c 			 (link->state == Q921_STATE_TEI_UNASSIGNED && tei != Q921_TEI_BCAST)))					/* No assigned TEI: Only BCAST */
link             3021 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             3022 src/isdn/Q921.c 	Q921State_t oldstate = link->state;
link             3073 src/isdn/Q921.c 	link->state = state;
link             3109 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
link             3116 src/isdn/Q921.c 		link->ri = (L2USHORT)(random() % 0xffff);
link             3118 src/isdn/Q921.c 		link->ri = (L2USHORT)(rand() % 0xffff); //todo
link             3122 src/isdn/Q921.c 	res = Q921TeiSend(trunk, Q921_TEI_ID_REQUEST, link->ri, Q921_TEI_BCAST);
link             3143 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
link             3152 src/isdn/Q921.c 	if(ri != link->ri) {
link             3160 src/isdn/Q921.c 		link->tei      = mes[offset + 4] >> 1;
link             3162 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "Assigned TEI %d, setting state to TEI_ASSIGNED\n", link->tei);
link             3164 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_TEI_ASSIGNED, link->tei);
link             3180 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_TEI_UNASSIGNED, link->tei);
link             3204 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
link             3215 src/isdn/Q921.c 	res = Q921TeiSend(trunk, Q921_TEI_ID_VERIFY, link->ri, link->tei);
link             3236 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
link             3246 src/isdn/Q921.c 	if (tei == Q921_TEI_BCAST || tei == link->tei) {
link             3252 src/isdn/Q921.c 		res = Q921TeiSend(trunk, Q921_TEI_ID_CHECKRESP, link->ri, link->tei);
link             3273 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
link             3283 src/isdn/Q921.c 	if (tei == Q921_TEI_BCAST || tei == link->tei) {
link             3289 src/isdn/Q921.c 		link->tei  = 0;
link             3292 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_TEI_UNASSIGNED, link->tei);
link             3346 src/isdn/Q921.c 		struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
link             3352 src/isdn/Q921.c 		link->tei = tei;
link             3403 src/isdn/Q921.c 	struct Q921_Link *link;
link             3418 src/isdn/Q921.c 	link       = Q921_LINK_CONTEXT(trunk, tei);
link             3419 src/isdn/Q921.c 	link->N202 = 0;
link             3431 src/isdn/Q921.c 		memset(link, 0, sizeof(struct Q921_Link));