Page MenuHomeFreeBSD

D43918.1787862765.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D43918.1787862765.diff

diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h
--- a/sys/netlink/netlink_snl.h
+++ b/sys/netlink/netlink_snl.h
@@ -186,6 +186,17 @@
SNL_DECLARE_ATTR_PARSER_EXT(_name, 0, _np, NULL)
+#define SNL_DECLARE_FIELD_PARSER_EXT(_name, _sz_h_in, _fp, _cb) \
+static const struct snl_hdr_parser _name = { \
+ .in_hdr_size = _sz_h_in, \
+ .fp = &((_fp)[0]), \
+ .fp_size = NL_ARRAY_LEN(_fp), \
+ .cb_post = _cb, \
+}
+
+#define SNL_DECLARE_FIELD_PARSER(_name, _t, _fp) \
+ SNL_DECLARE_FIELD_PARSER_EXT(_name, sizeof(_t), _fp, NULL)
+
static inline void *
snl_allocz(struct snl_state *ss, int len)
{
@@ -921,14 +932,12 @@
#define _IN(_field) offsetof(struct nlmsgerr, _field)
#define _OUT(_field) offsetof(struct snl_errmsg_data, _field)
-static const struct snl_attr_parser nla_p_donemsg[] = {};
-
static const struct snl_field_parser nlf_p_donemsg[] = {
{ .off_in = _IN(error), .off_out = _OUT(error), .cb = snl_field_get_uint32 },
};
#undef _IN
#undef _OUT
-SNL_DECLARE_PARSER(snl_donemsg_parser, struct nlmsgerr, nlf_p_donemsg, nla_p_donemsg);
+SNL_DECLARE_FIELD_PARSER(snl_donemsg_parser, struct nlmsgerr, nlf_p_donemsg);
static inline bool
snl_parse_errmsg(struct snl_state *ss, struct nlmsghdr *hdr, struct snl_errmsg_data *e)

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 27, 8:32 PM (9 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29474726
Default Alt Text
D43918.1787862765.diff (1 KB)

Event Timeline