Lines Matching defs:rta
60 extern int rta_addattr32(struct rtattr *rta, int maxlen, int type, __u32 data);
61 extern int rta_addattr_l(struct rtattr *rta, int maxlen, int type, const void *data, int alen);
63 extern int parse_rtattr(struct rtattr *tb[], int max, struct rtattr *rta, int len);
64 extern int parse_rtattr_byindex(struct rtattr *tb[], int max, struct rtattr *rta, int len);
65 extern int __parse_rtattr_nested_compat(struct rtattr *tb[], int max, struct rtattr *rta, int len);
67 #define parse_rtattr_nested(tb, max, rta) \
68 (parse_rtattr((tb), (max), RTA_DATA(rta), RTA_PAYLOAD(rta)))
70 #define parse_rtattr_nested_compat(tb, max, rta, data, len) \
71 ({ data = RTA_PAYLOAD(rta) >= len ? RTA_DATA(rta) : NULL; \
72 __parse_rtattr_nested_compat(tb, max, rta, len); })
74 static inline __u8 rta_getattr_u8(const struct rtattr *rta)
76 return *(__u8 *)RTA_DATA(rta);
78 static inline __u16 rta_getattr_u16(const struct rtattr *rta)
80 return *(__u16 *)RTA_DATA(rta);
82 static inline __u32 rta_getattr_u32(const struct rtattr *rta)
84 return *(__u32 *)RTA_DATA(rta);
86 static inline __u64 rta_getattr_u64(const struct rtattr *rta)
89 memcpy(&tmp, RTA_DATA(rta), sizeof(__u64));
92 static inline const char *rta_getattr_str(const struct rtattr *rta)
94 return (const char *)RTA_DATA(rta);