nla_for_each_attr_type(9)
β¨ NAME β¨
okay bestie, welcome to the Kernel API Manual page for nla_for_each_attr_type(9) π«Ά this one is literally about how to iterate over a stream of attributes β that's the whole NAME, no cap π
π¦ SYNOPSIS π¦
nla_for_each_attr_type (pos , type , head , len , rem );
yup, that's the whole call, spaces and all π
π ARGUMENTS π
bestie, here's the cast β five little slots, no skips:
posβ loop counter, set to current attributetypeβ required attribute type forposheadβ head of attribute streamlenβ length of attribute streamremβ initialized tolen, holds bytes currently remaining in stream
that's it, that's the whole argument list, periodt π
π SEE ALSO π
okay this is the iconic part: the netlink extended family reunion π every single reference from the page is here, no cap, not one dropped:
Kernel file ./include/net/netlink.h struct nla_policy(9), struct nl_info(9), enum netlink_validation(9), nlmsg_msg_size(9),
nlmsg_total_size(9), nlmsg_padlen(9), nlmsg_data(9), nlmsg_len(9), nlmsg_payload(9), nlmsg_attrdata(9), nlmsg_attrlen(9),
nlmsg_ok(9), nlmsg_next(9), nla_parse(9), nla_parse_deprecated(9), nla_parse_deprecated_strict(9), __nlmsg_parse(9),
nlmsg_parse(9), nlmsg_parse_deprecated(9), nlmsg_parse_deprecated_strict(9), nlmsg_find_attr(9), nla_validate_deprecated(9),
nla_validate(9), nlmsg_validate_deprecated(9), nlmsg_report(9), nlmsg_seq(9), nlmsg_for_each_attr(9), nlmsg_for_each_attr_type(9),
nlmsg_put(9), nlmsg_append(9), nlmsg_put_answer(9), nlmsg_new(9), nlmsg_new_large(9), nlmsg_end(9), nlmsg_get_pos(9),
nlmsg_trim(9), nlmsg_cancel(9), nlmsg_free(9), nlmsg_consume(9), nlmsg_multicast_filtered(9), nlmsg_multicast(9),
nlmsg_unicast(9), nlmsg_for_each_msg(9), nl_dump_check_consistent(9), nla_attr_size(9), nla_total_size(9), nla_padlen(9),
nla_type(9), nla_data(9), nla_len(9), nla_ok(9), nla_next(9), nla_find_nested(9), nla_parse_nested(9),
nla_parse_nested_deprecated(9), nla_put_u8(9), nla_put_u16(9), nla_put_be16(9), nla_put_net16(9), nla_put_le16(9),
nla_put_u32(9), nla_put_uint(9), nla_put_be32(9), nla_put_net32(9), nla_put_le32(9), nla_put_u64_64bit(9),
nla_put_be64(9), nla_put_net64(9), nla_put_le64(9), nla_put_s8(9), nla_put_s16(9), nla_put_s32(9), nla_put_s64(9),
nla_put_sint(9), nla_put_string(9), nla_put_flag(9), nla_put_msecs(9), nla_put_in_addr(9), nla_put_in6_addr(9),
nla_put_bitfield32(9), nla_get_u32(9), nla_get_u32_default(9), nla_get_be32(9), nla_get_be32_default(9),
nla_get_le32(9), nla_get_le32_default(9), nla_get_u16(9), nla_get_u16_default(9), nla_get_be16(9),
nla_get_be16_default(9), nla_get_le16(9), nla_get_le16_default(9), nla_get_u8(9), nla_get_u8_default(9),
nla_get_u64(9), nla_get_u64_default(9), nla_get_uint(9), nla_get_uint_default(9), nla_get_be64(9),
nla_get_be64_default(9), nla_get_le64(9), nla_get_le64_default(9), nla_get_s32(9), nla_get_s32_default(9),
nla_get_s16(9), nla_get_s16_default(9), nla_get_s8(9), nla_get_s8_default(9), nla_get_s64(9),
nla_get_s64_default(9), nla_get_sint(9), nla_get_sint_default(9), nla_get_flag(9), nla_get_msecs(9),
nla_get_msecs_default(9), nla_get_in_addr(9), nla_get_in_addr_default(9), nla_get_in6_addr(9),
nla_get_bitfield32(9), nla_memdup(9), nla_nest_start_noflag(9), nla_nest_start(9), nla_nest_end(9),
nla_nest_end_safe(9), nla_nest_cancel(9), nla_put_empty_nest(9), __nla_validate_nested(9),
nla_need_padding_for_64bit(9), nla_align_64bit(9), nla_total_size_64bit(9), nla_for_each_attr(9),
nla_for_each_nested(9), nla_for_each_nested_type(9), nla_is_last(9)
and that's the whole page, bestie π this one comes from ./include/net and is dated October 2026 β nla_for_each_attr_type(9) in the Kernel API Manual, signing off with main character energy π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms