nlh = NLMSG_PUT(skb, pid, seq, event, sizeof(*ifm)); if (pid) nlh->nlmsg_flags |= NLM_F_MULTI; 
nlh = NLMSG_NEW(skb, pid, seq, event, sizeof(*ifm), flags); 
static int inet6_fill_ifacaddr(struct sk_buff *skb, struct ifacaddr6 *ifaca,				u32 pid, u32 seq, int event){	struct ifaddrmsg *ifm;	struct nlmsghdr  *nlh;	struct ifa_cacheinfo ci;	unsigned char	 *b = skb->tail;	nlh = NLMSG_PUT(skb, pid, seq, event, sizeof(*ifm));	if (pid) nlh->nlmsg_flags |= NLM_F_MULTI;	ifm = NLMSG_DATA(nlh);	ifm->ifa_family = AF_INET6;		ifm->ifa_prefixlen = 128;	ifm->ifa_flags = IFA_F_PERMANENT;	ifm->ifa_scope = RT_SCOPE_UNIVERSE;	if (ipv6_addr_scope(&ifaca->aca_addr)&IFA_SITE)		ifm->ifa_scope = RT_SCOPE_SITE;	ifm->ifa_index = ifaca->aca_idev->dev->ifindex;	RTA_PUT(skb, IFA_ANYCAST, 16, &ifaca->aca_addr);	ci.cstamp = (__u32)(TIME_DELTA(ifaca->aca_cstamp, INITIAL_JIFFIES) / HZ		    * 100 + TIME_DELTA(ifaca->aca_cstamp, INITIAL_JIFFIES) % HZ		    * 100 / HZ);	ci.tstamp = (__u32)(TIME_DELTA(ifaca->aca_tstamp, INITIAL_JIFFIES) / HZ		    * 100 + TIME_DELTA(ifaca->aca_tstamp, INITIAL_JIFFIES) % HZ		    * 100 / HZ);	ci.ifa_prefered = INFINITY_LIFE_TIME;	ci.ifa_valid = INFINITY_LIFE_TIME;	RTA_PUT(skb, IFA_CACHEINFO, sizeof(ci), &ci);	nlh->nlmsg_len = skb->tail - b;	return skb->len;nlmsg_failure:rtattr_failure:	skb_trim(skb, b - skb->data);	return -1;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b6544c0b4cf2bd96195f3cdb7cebfb35090fc557/addrconf.c/buggy/net/ipv6/addrconf.c