nla_put_sint(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 signed s64, 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