kernels/linux-2.4.0/net/decnet/dn_nsp_in.c
/*
 * For this function we've flipped the cross-subchannel bit
 * if the message is an otherdata or linkservice message. Thus
 * we can use it to work out what to update.
 */
For this function we've flipped the cross-subchannel bit
if the message is an otherdata or linkservice message. Thus
we can use it to work out what to update.
For this function we ' ve flipped the cross - subchannel bit if the message is an otherdata or linkservice message . Thus we can use it to work out what to update .
static void dn_ack(struct sock *sk, struct sk_buff *skb, unsigned short ack)
{
	struct dn_scp *scp = &sk->protinfo.dn;
	unsigned short type = ((ack >> 12) & 0x0003);
	int wakeup = 0;
	switch(type) {
		case 0: 
			if (after(ack, scp->ackrcv_dat)) {
				scp->ackrcv_dat = ack & 0x0fff;
				wakeup |= dn_nsp_check_xmit_queue(sk, skb, &scp->data_xmit_queue, ack);
			}
			break;
		case 1: 
			break;
		case 2: 
			if (after(ack, scp->ackrcv_oth)) {
				scp->ackrcv_oth = ack & 0x0fff;
				wakeup |= dn_nsp_check_xmit_queue(sk, skb, &scp->other_xmit_queue, ack);
			}
			break;
		case 3: 
			break;
	}
	if (wakeup && !sk->dead)
		sk->state_change(sk);
}
static void dn_ack ( struct sock * sk , struct sk_buff * skb , unsigned short ack ) { struct dn_scp * scp = & sk -> protinfo . dn ; unsigned short type = ( ( ack >> 12 ) & 0x0003 ) ; int wakeup = 0 ; switch ( type ) { case 0 : if ( after ( ack , scp -> ackrcv_dat ) ) { scp -> ackrcv_dat = ack & 0x0fff ; wakeup |= dn_nsp_check_xmit_queue ( sk , skb , & scp -> data_xmit_queue , ack ) ; } break ; case 1 : break ; case 2 : if ( after ( ack , scp -> ackrcv_oth ) ) { scp -> ackrcv_oth = ack & 0x0fff ; wakeup |= dn_nsp_check_xmit_queue ( sk , skb , & scp -> other_xmit_queue , ack ) ; } break ; case 3 : break ; } if ( wakeup && ! sk -> dead ) sk -> state_change ( sk ) ; }
For this function we've flipped the cross-subchannel bit
 if the message is an otherdata or linkservice message.
For this function we ' ve flipped the cross - subchannel bit if the message is an otherdata or linkservice message .
/* ACK - Data */ /* NAK - Data */ /* ACK - OtherData */ /* NAK - OtherData */