diff options
| author | Wim Van Sebroeck <wim@iguana.be> | 2007-05-01 02:53:01 -0400 |
|---|---|---|
| committer | Wim Van Sebroeck <wim@iguana.be> | 2007-05-01 02:53:01 -0400 |
| commit | 48a7afe314bfc4d7f50e1608632f503dbba7e013 (patch) | |
| tree | 4a80e6b96321a71affd1bacea817de93be08894b /include/linux/rtnetlink.h | |
| parent | fb8f7ba077b5c665432082ab205bcd2cb01f6a3c (diff) | |
| parent | dc87c3985e9b442c60994308a96f887579addc39 (diff) | |
Merge /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'include/linux/rtnetlink.h')
| -rw-r--r-- | include/linux/rtnetlink.h | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index 4a629ea70cc4..1fae30af91f3 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h | |||
| @@ -574,13 +574,6 @@ extern int rtattr_parse(struct rtattr *tb[], int maxattr, struct rtattr *rta, in | |||
| 574 | #define rtattr_parse_nested(tb, max, rta) \ | 574 | #define rtattr_parse_nested(tb, max, rta) \ |
| 575 | rtattr_parse((tb), (max), RTA_DATA((rta)), RTA_PAYLOAD((rta))) | 575 | rtattr_parse((tb), (max), RTA_DATA((rta)), RTA_PAYLOAD((rta))) |
| 576 | 576 | ||
| 577 | struct rtnetlink_link | ||
| 578 | { | ||
| 579 | int (*doit)(struct sk_buff *, struct nlmsghdr*, void *attr); | ||
| 580 | int (*dumpit)(struct sk_buff *, struct netlink_callback *cb); | ||
| 581 | }; | ||
| 582 | |||
| 583 | extern struct rtnetlink_link * rtnetlink_links[NPROTO]; | ||
| 584 | extern int rtnetlink_send(struct sk_buff *skb, u32 pid, u32 group, int echo); | 577 | extern int rtnetlink_send(struct sk_buff *skb, u32 pid, u32 group, int echo); |
| 585 | extern int rtnl_unicast(struct sk_buff *skb, u32 pid); | 578 | extern int rtnl_unicast(struct sk_buff *skb, u32 pid); |
| 586 | extern int rtnl_notify(struct sk_buff *skb, u32 pid, u32 group, | 579 | extern int rtnl_notify(struct sk_buff *skb, u32 pid, u32 group, |
| @@ -605,7 +598,7 @@ extern void __rta_fill(struct sk_buff *skb, int attrtype, int attrlen, const voi | |||
| 605 | 598 | ||
| 606 | #define RTA_PUT_NOHDR(skb, attrlen, data) \ | 599 | #define RTA_PUT_NOHDR(skb, attrlen, data) \ |
| 607 | ({ RTA_APPEND(skb, RTA_ALIGN(attrlen), data); \ | 600 | ({ RTA_APPEND(skb, RTA_ALIGN(attrlen), data); \ |
| 608 | memset(skb->tail - (RTA_ALIGN(attrlen) - attrlen), 0, \ | 601 | memset(skb_tail_pointer(skb) - (RTA_ALIGN(attrlen) - attrlen), 0, \ |
| 609 | RTA_ALIGN(attrlen) - attrlen); }) | 602 | RTA_ALIGN(attrlen) - attrlen); }) |
| 610 | 603 | ||
| 611 | #define RTA_PUT_U8(skb, attrtype, value) \ | 604 | #define RTA_PUT_U8(skb, attrtype, value) \ |
| @@ -637,12 +630,12 @@ extern void __rta_fill(struct sk_buff *skb, int attrtype, int attrlen, const voi | |||
| 637 | RTA_PUT(skb, attrtype, 0, NULL); | 630 | RTA_PUT(skb, attrtype, 0, NULL); |
| 638 | 631 | ||
| 639 | #define RTA_NEST(skb, type) \ | 632 | #define RTA_NEST(skb, type) \ |
| 640 | ({ struct rtattr *__start = (struct rtattr *) (skb)->tail; \ | 633 | ({ struct rtattr *__start = (struct rtattr *)skb_tail_pointer(skb); \ |
| 641 | RTA_PUT(skb, type, 0, NULL); \ | 634 | RTA_PUT(skb, type, 0, NULL); \ |
| 642 | __start; }) | 635 | __start; }) |
| 643 | 636 | ||
| 644 | #define RTA_NEST_END(skb, start) \ | 637 | #define RTA_NEST_END(skb, start) \ |
| 645 | ({ (start)->rta_len = ((skb)->tail - (unsigned char *) (start)); \ | 638 | ({ (start)->rta_len = skb_tail_pointer(skb) - (unsigned char *)(start); \ |
| 646 | (skb)->len; }) | 639 | (skb)->len; }) |
| 647 | 640 | ||
| 648 | #define RTA_NEST_CANCEL(skb, start) \ | 641 | #define RTA_NEST_CANCEL(skb, start) \ |
