Lines Matching defs:rta
495 struct rtattr *rta;
498 rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
499 rta->rta_type = type;
500 rta->rta_len = len;
501 memcpy(RTA_DATA(rta), &data, 4);
509 struct rtattr *rta;
513 rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
514 rta->rta_type = type;
515 rta->rta_len = len;
516 memcpy(RTA_DATA(rta), data, alen);
521 int rta_addattr32(struct rtattr *rta, int maxlen, int type, __u32 data)
526 if (RTA_ALIGN(rta->rta_len) + len > maxlen)
528 subrta = (struct rtattr*)(((char*)rta) + RTA_ALIGN(rta->rta_len));
532 rta->rta_len = NLMSG_ALIGN(rta->rta_len) + len;
536 int rta_addattr_l(struct rtattr *rta, int maxlen, int type, void *data, int alen)
541 if (RTA_ALIGN(rta->rta_len) + len > maxlen)
543 subrta = (struct rtattr*)(((char*)rta) + RTA_ALIGN(rta->rta_len));
547 rta->rta_len = NLMSG_ALIGN(rta->rta_len) + len;
552 int parse_rtattr(struct rtattr *tb[], int max, struct rtattr *rta, int len)
554 while (RTA_OK(rta, len)) {
555 if (rta->rta_type <= max)
556 tb[rta->rta_type] = rta;
557 rta = RTA_NEXT(rta,len);
560 fprintf(stderr, "!!!Deficit %d, rta_len=%d\n", len, rta->rta_len);