nla_put_sint(9)
π nla_put_sint π
okay so bestie, welcome to nla_put_sint(9) from the Kernel API Manual β yes that manual, the kernel one, and yes we're gonna read it together, it's fine, I've got you π«Ά
β¨ NAME β¨
nla_put_sint β add a variable-size signed int to a socket buffer. that's it. that's the whole job. iconic honestly π
πΈ SYNOPSIS πΈ
int nla_put_sint (struct sk_buff *skb , int attrtype , s64 value );
look at her. three args. clean. no notes. β¨
π¦ ARGUMENTS π¦
skbβ the socket buffer you're adding the attribute to. your canvas, your stage, your main character location πattrtypeβ the attribute type, aka what kind of attribute this is. the label on the lil gift box πvalueβ the numeric value. a signeds64, so it can be negative, it can be positive, it's flexible like that π
π§ SEE ALSO π§
okay so this part is LONG, like long long, but we do not gatekeep around here, so here's the entire friend group, all of them, no cap π
the kernel file itself: ./include/net/netlink.h
the structs and enums: struct nla_policy(9), struct nl_info(9), enum netlink_validation(9)
message sizing & layout besties: 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)
parsing squad: 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)
validation crew: nla_validate_deprecated(9), nla_validate(9), nlmsg_validate_deprecated(9)
message bookkeeping girlies: 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)
sending it out into the world: nlmsg_multicast_filtered(9), nlmsg_multicast(9), nlmsg_unicast(9), nlmsg_for_each_msg(9), nl_dump_check_consistent(9)
attribute sizing & access: 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)
nested vibes: nla_find_nested(9), nla_parse_nested(9), nla_parse_nested_deprecated(9)
the putter family (our girl's whole lineage, tbh): 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_string(9), nla_put_flag(9), nla_put_msecs(9), nla_put_in_addr(9), nla_put_in6_addr(9), nla_put_bitfield32(9)
the getter family (the readers, the receivers, the ones who actually listen π): 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)
misc icons & nesting helpers: 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)
alignment & iteration besties: nla_need_padding_for_64bit(9), nla_align_64bit(9), nla_total_size_64bit(9), nla_for_each_attr(9), nla_for_each_attr_type(9), nla_for_each_nested(9), nla_for_each_nested_type(9), nla_is_last(9)
like I said. a lot of friends. and every single one of them got an invite π
heads up bestie: nla_put_sint is the variable-size signed int putter β that's literally what the NAME says. don't go assuming it's a fixed-width situation, okay? iykyk π
and that's the whole page!! π source section <pink>./include/net</pink>, dated October 2026 β mwah, kisses, go forth and put your signed ints, periodt πβ¨π
π¦ 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