fdt_stringlist_contains(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 fdt_stringlist_contains(9) β€” from the Kernel API Manual, bestie πŸ’…

Okay so real talk, this one lives in the kernel docs under fdt_stringlist_contains(9) and honestly? It's a little icon. Let's get into it.


✨ NAME ✨

fdt_stringlist_contains β€” the function that checks a string list property for a string. That's it. That's the whole job. She's focused. She's employed. πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

int fdt_stringlist_contains (const char *strlist , int listlen , const
       char *str );

Look at her. Three params, one int out the door. Main character energy fr fr.


πŸ’– ARGUMENTS πŸ’–

  • strlist β€” the property holding the list of strings you're gonna check, like the little roster of candidates πŸ‘‘
  • listlen β€” the length of that property. Yes, you have to bring it yourself. She's not gonna measure it for you, she trusts you 🫢
  • str β€” the string you're searching for. The one. The sought-after one. πŸ”

⭐ DESCRIPTION ⭐

So this is a utility function provided for convenience β€” it's giving "here bestie, I did the boring part for you" πŸ’…

The list contains one or more strings, each terminated by [a terminator character that literally got swallowed by the source text 😭 no cap, there's just an empty gap there], as is found in a device tree "compatible" property. That's the vibe check: it's the same layout as compatible, so you already know the shape of it.


🌈 RETURN 🌈

  • 1 β€” found her! the string is in the list πŸŽ‰
  • 0 β€” not found, or the list is invalid πŸ’€

That's the entire range, babes. It's a yes, a no, or a nah-invalid. Very decisive.

lowkey important: an invalid list gives you 0 too, so 0 doesn't always mean "nope, not in there" β€” sometimes it means "girl, that's not even a valid list". Handle accordingly 😭

πŸ”₯ SEE ALSO πŸ”₯

Everything she hangs out with, in the kernel file ./scripts/dtc/libfdt/libfdt.h β€” the whole friend group, and I mean the whole friend group:

fdt_offset_ptr(9), fdt_next_tag(9), fdt_first_subnode(9), fdt_next_subnode(9), fdt_for_each_subnode(9), fdt_header_size(9), fdt_header_size_(9), fdt_check_header(9), fdt_move(9), fdt_check_full(9), fdt_get_string(9), fdt_string(9), fdt_find_max_phandle(9), fdt_get_max_phandle(9), fdt_generate_phandle(9), fdt_num_mem_rsv(9), fdt_get_mem_rsv(9), fdt_subnode_offset_namelen(9), fdt_subnode_offset(9), fdt_path_offset_namelen(9), fdt_path_offset(9), fdt_get_name(9), fdt_first_property_offset(9), fdt_next_property_offset(9), fdt_for_each_property_offset(9), fdt_get_property_by_offset(9), fdt_get_property_namelen(9), fdt_get_property(9), fdt_getprop_by_offset(9), fdt_getprop_namelen(9), fdt_getprop(9), fdt_get_phandle(9), fdt_get_alias_namelen(9), fdt_get_alias(9), fdt_get_symbol_namelen(9), fdt_get_symbol(9), fdt_get_path(9), fdt_supernode_atdepth_offset(9), fdt_node_depth(9), fdt_parent_offset(9), fdt_node_offset_by_prop_value(9), fdt_node_offset_by_phandle(9), fdt_node_check_compatible(9), fdt_node_offset_by_compatible(9), fdt_stringlist_count(9), fdt_stringlist_search(9), fdt_stringlist_get(9), FDT_MAX_NCELLS(9), fdt_address_cells(9), fdt_size_cells(9), fdt_setprop_inplace_namelen_partial(9), fdt_setprop_inplace(9), fdt_setprop_inplace_u32(9), fdt_setprop_inplace_u64(9), fdt_setprop_inplace_cell(9), fdt_nop_property(9), fdt_nop_node(9), fdt_create_with_flags(9), fdt_create(9), fdt_resize(9), fdt_add_reservemap_entry(9), fdt_finish_reservemap(9), fdt_begin_node(9), fdt_property(9), fdt_property_placeholder(9), fdt_end_node(9), fdt_finish(9), fdt_create_empty_tree(9), fdt_open_into(9), fdt_pack(9), fdt_add_mem_rsv(9), fdt_del_mem_rsv(9), fdt_set_name(9), fdt_setprop_namelen(9), fdt_setprop(9), fdt_setprop_placeholder_namelen(9), fdt_setprop_placeholder(9), fdt_setprop_u32(9), fdt_setprop_u64(9), fdt_setprop_cell(9), fdt_setprop_string(9), fdt_setprop_namelen_string(9), fdt_setprop_empty(9), fdt_appendprop(9), fdt_appendprop_u32(9), fdt_appendprop_u64(9), fdt_appendprop_cell(9), fdt_appendprop_string(9), fdt_appendprop_addrrange(9), fdt_delprop(9), fdt_add_subnode_namelen(9), fdt_add_subnode(9), fdt_del_node(9), fdt_overlay_apply(9), fdt_overlay_target_offset(9), fdt_strerror(9)

Like I said. The whole group chat. 🫢✨


And that's the page, bestie 🧚 Sourced straight out of ./scripts/dtc/libfdt, dated October 2026, filed under fdt_stringlist_contains(9) β€” go forth and check those string lists, you're gonna slay πŸ’œπŸŽ€

πŸ“¦ where this page comes from