fbnic_tlv_attr_parse_array(9)
π fbnic_tlv_attr_parse_array β a whole kernel API manual page, bestie
okay so real quick, this is from the Kernel API Manual (section 9, the kernel one, iykyk) and it's about fbnic_tlv_attr_parse_array. buckle up π
β¨ NAME β¨
fbnic_tlv_attr_parse_array β literally parses an array of attributes straight into your results array. that's the whole vibe. π¦
πΈ SYNOPSIS πΈ
int fbnic_tlv_attr_parse_array (struct fbnic_tlv_msg *attr , int len ,
struct fbnic_tlv_msg **results , const struct fbnic_tlv_index *tlv_index
, u16 tlv_attr_id , size_t array_len );
she takes six arguments and returns an int, no cap. π«Ά
π ARGUMENTS π
so here's the cast of characters, and yes every single one matters:
attrβ the start of the attributes in the message. like, where the good stuff begins. π«lenβ the length of the attributes in the message. how far you're allowed to wander.resultsβ an array of pointers where the parsed results get stashed. this is where the magic lands. πtlv_indexβ the list of TLV attributes that should be parsed out of the message. the to-do list, basically.tlv_attr_idβ the specific ID that's repeated in the array. she's the one being looped over, main character energy. πarray_lenβ the number of results to store in theresultsarray. don't overflow her, bestie π
β RETURN β
zero on success, or a negative value on error. that's it, that's the whole contract. π
π DESCRIPTION π
so what she does is take a list of attributes plus a parser definition, and then capture the results into the results array so you can go back and have the data extracted later. it's giving "store now, deal with it later" and honestly? obsessed. β¨ lowkey the whole point is that the extraction happens after the fact. π§
π¦ SEE ALSO π¦
the kernel file lives at ./drivers/net/ethernet/meta/fbnic/fbnic_tlv.c β that's the home base, fr fr. π
and here's the whole friend group, every single one of them:
fbnic_tlv_msg_alloc(9)fbnic_tlv_attr_put_flag(9)fbnic_tlv_attr_put_value(9)__fbnic_tlv_attr_put_int(9)fbnic_tlv_attr_put_mac_addr(9)fbnic_tlv_attr_put_string(9)fbnic_tlv_attr_get_unsigned(9)fbnic_tlv_attr_get_signed(9)fbnic_tlv_attr_get_string(9)fbnic_tlv_attr_nest_start(9)fbnic_tlv_attr_nest_stop(9)fbnic_tlv_attr_parse(9)fbnic_tlv_msg_parse(9)fbnic_tlv_parser_error(9)fbnic_tlv_test_create(9)fbnic_tlv_parser_test_attr(9)fbnic_tlv_parser_test(9)
go read those too, bestie, i'm not doing all the work for you π
okay that's the page!! π this came out of ./drivers/net/ethernet/meta/fbnic and it's dated October 2026, and the page itself is fbnic_tlv_attr_parse_array(9) β mwah, slay, 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