unsigned short reason, unsigned int __nocast gfp, 
unsigned short reason, gfp_t gfp, 
static __inline__ void dn_nsp_do_disc(struct sock *sk, unsigned char msgflg, 			unsigned short reason, unsigned int __nocast gfp,			struct dst_entry *dst,			int ddl, unsigned char *dd, __u16 rem, __u16 loc){	struct sk_buff *skb = NULL;	int size = 7 + ddl + ((msgflg == NSP_DISCINIT) ? 1 : 0);	unsigned char *msg;	if ((dst == NULL) || (rem == 0)) {		if (net_ratelimit())			printk(KERN_DEBUG "DECnet: dn_nsp_do_disc: BUG! Please report this to SteveW@ACM.org rem=%u dst=%p\n", (unsigned)rem, dst);		return;	}	if ((skb = dn_alloc_skb(sk, size, gfp)) == NULL)		return;	msg = skb_put(skb, size);	*msg++ = msgflg;	*(__u16 *)msg = rem;	msg += 2;	*(__u16 *)msg = loc;	msg += 2;	*(__u16 *)msg = dn_htons(reason);	msg += 2;	if (msgflg == NSP_DISCINIT)		*msg++ = ddl;	if (ddl) {		memcpy(msg, dd, ddl);	}	/*	 * This doesn't go via the dn_nsp_send() function since we need	 * to be able to send disc packets out which have no socket	 * associations.	 */	skb->dst = dst_clone(dst);	dst_output(skb);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7/dn_nsp_out.c/clean/net/decnet/dn_nsp_out.c