Lines Matching refs:nlattr
56 #define NLA_HDRLEN ((int)sizeof(struct nlattr))
63 #define NLA_NEXT(_attr) (struct nlattr *)(void *)((char *)_attr + NLA_ALIGN(_attr->nla_len))
67 for (_attr = (struct nlattr *)(_start); \
137 typedef bool snl_parse_attr_f(struct snl_state *ss, struct nlattr *attr,
457 snl_parse_attrs_raw(struct snl_state *ss, struct nlattr *nla_head, int len, in snl_parse_attrs_raw()
460 struct nlattr *nla; in snl_parse_attrs_raw()
463 if (nla->nla_len < sizeof(struct nlattr)) in snl_parse_attrs_raw()
482 struct nlattr *nla_head = (struct nlattr *)(void *)((char *)hdr + off); in snl_parse_attrs()
504 struct nlattr *nla_head; in snl_parse_header()
510 nla_head = (struct nlattr *)(void *)((char *)hdr + parser->in_hdr_size); in snl_parse_header()
528 snl_attr_get_flag(struct snl_state *ss __unused, struct nlattr *nla, const void *arg __unused, in snl_attr_get_flag()
539 snl_attr_get_bytes(struct snl_state *ss __unused, struct nlattr *nla, const void *arg, in snl_attr_get_bytes()
551 snl_attr_get_bool(struct snl_state *ss __unused, struct nlattr *nla, in snl_attr_get_bool()
562 snl_attr_get_uint8(struct snl_state *ss __unused, struct nlattr *nla, in snl_attr_get_uint8()
573 snl_attr_get_uint16(struct snl_state *ss __unused, struct nlattr *nla, in snl_attr_get_uint16()
584 snl_attr_get_uint32(struct snl_state *ss __unused, struct nlattr *nla, in snl_attr_get_uint32()
595 snl_attr_get_uint64(struct snl_state *ss __unused, struct nlattr *nla, in snl_attr_get_uint64()
606 snl_attr_get_int8(struct snl_state *ss, struct nlattr *nla, const void *arg, in snl_attr_get_int8()
613 snl_attr_get_int16(struct snl_state *ss, struct nlattr *nla, const void *arg, in snl_attr_get_int16()
620 snl_attr_get_int32(struct snl_state *ss, struct nlattr *nla, const void *arg, in snl_attr_get_int32()
627 snl_attr_get_int64(struct snl_state *ss, struct nlattr *nla, const void *arg, in snl_attr_get_int64()
634 snl_attr_get_string(struct snl_state *ss __unused, struct nlattr *nla, in snl_attr_get_string()
647 snl_attr_get_stringn(struct snl_state *ss, struct nlattr *nla, in snl_attr_get_stringn()
663 snl_attr_copy_string(struct snl_state *ss, struct nlattr *nla, in snl_attr_copy_string()
676 snl_attr_dup_string(struct snl_state *ss __unused, struct nlattr *nla, in snl_attr_dup_string()
693 snl_attr_get_nested(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) in snl_attr_get_nested()
707 snl_attr_get_parray_sz(struct snl_state *ss, struct nlattr *container_nla, in snl_attr_get_parray_sz()
712 struct nlattr *nla; in snl_attr_get_parray_sz()
732 data_off = sizeof(struct nlattr); in snl_attr_get_parray_sz()
768 snl_attr_get_parray(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) in snl_attr_get_parray()
774 snl_attr_get_nla(struct snl_state *ss __unused, struct nlattr *nla, in snl_attr_get_nla()
777 *((struct nlattr **)target) = nla; in snl_attr_get_nla()
782 snl_attr_dup_nla(struct snl_state *ss, struct nlattr *nla, in snl_attr_dup_nla()
796 snl_attr_copy_struct(struct snl_state *ss, struct nlattr *nla, in snl_attr_copy_struct()
810 snl_attr_dup_struct(struct snl_state *ss, struct nlattr *nla, in snl_attr_dup_struct()
866 struct nlattr *nla = (struct nlattr *)target->nla_bitset_mask; in _cb_p_bitset()
875 struct nlattr *nla = (struct nlattr *)target->nla_bitset_value; in _cb_p_bitset()
893 snl_attr_get_bitset_c(struct snl_state *ss, struct nlattr *nla, in snl_attr_get_bitset_c()
936 struct nlattr *cookie;
973 struct nlattr *attr_head = (struct nlattr *)(void *)((char *)errmsg + hdrlen); in snl_parse_errmsg()
1017 return (snl_parse_attrs_raw(ss, (struct nlattr *)data, len, ps->np, ps->np_size, attrs)); in parse_cmsg()
1121 static inline struct nlattr *
1124 struct nlattr *nla; in snl_reserve_msg_attr_raw()
1126 sz += sizeof(struct nlattr); in snl_reserve_msg_attr_raw()
1127 nla = snl_reserve_msg_data(nw, sz, struct nlattr); in snl_reserve_msg_attr_raw()
1141 int required_len = NLA_ALIGN(attr_len + sizeof(struct nlattr)); in snl_add_msg_attr()
1148 struct nlattr *nla = (struct nlattr *)(void *)(&nw->base[nw->offset]); in snl_add_msg_attr()
1150 nla->nla_len = attr_len + sizeof(struct nlattr); in snl_add_msg_attr()
1164 snl_add_msg_attr_raw(struct snl_writer *nw, const struct nlattr *nla_src) in snl_add_msg_attr_raw()
1166 int attr_len = nla_src->nla_len - sizeof(struct nlattr); in snl_add_msg_attr_raw()
1257 struct nlattr *nla = snl_reserve_msg_data(nw, sizeof(struct nlattr), struct nlattr); in snl_add_msg_attr_nested()
1268 struct nlattr *nla = snl_restore_msg_offset(nw, off, struct nlattr); in snl_end_attr_nested()