nlmsgerr
struct nlmsgerr *nlerr = (struct nlmsgerr *)NLMSG_DATA(nh);
if (nh->nlmsg_len < NLMSG_LENGTH(sizeof(struct nlmsgerr)))
struct nlmsgerr *nlerr;
nlerr = nlmsg_copy_next_header(hdr, nw, struct nlmsgerr);
int copied_len = sizeof(struct nlmsghdr) + sizeof(struct nlmsgerr);
struct nlmsgerr *errmsg;
payload_len = sizeof(struct nlmsgerr);
errmsg = nlmsg_reserve_data(nw, payload_len, struct nlmsgerr);
#define _IN(_field) offsetof(struct nlmsgerr, _field)
SNL_DECLARE_PARSER(snl_errmsg_parser, struct nlmsgerr, nlf_p_errmsg, nla_p_errmsg);
#define _IN(_field) offsetof(struct nlmsgerr, _field)
SNL_DECLARE_FIELD_PARSER(snl_donemsg_parser, struct nlmsgerr, nlf_p_donemsg);
struct nlmsgerr *errmsg = (struct nlmsgerr *)(hdr + 1);
ATF_CHECK(rx_hdr->nlmsg_len == sizeof(struct nlmsghdr) + sizeof(struct nlmsgerr));