fdt_first_property_offset(9)
π fdt_first_property_offset β a.k.a. the Kernel API Manual page you're about to slay
okay so bestie, welcome to fdt_first_property_offset(9) β yes that's the whole name, she's long but she's worth it π. This is the Kernel API Manual entry, and no cap, it's the little function that finds the offset of a node's first property. Let's get into it β¨
πΈ NAME πΈ
fdt_first_property_offset β finds the offset of a node's first property. that's literally her whole job and she does it flawlessly π
β¨ SYNOPSIS β¨
int fdt_first_property_offset (const void *fdt , int nodeoffset );
look at that signature. iconic. two args, returns an int, no drama π¦
π«Ά ARGUMENTS π«Ά
fdtβ pointer to the device tree blob. your whole tree lives here, so treat her with respect πnodeoffsetβ structure block offset of a node. that's the specific node you're poking at π
π DESCRIPTION π
so here's the tea β: fdt_first_property_offset finds the first property of the node sitting at the given structure block offset. that's it, that's the vibe. you hand her a node, she hands you back where its first property begins. main character energy, zero wasted motion π
π₯ RETURN π₯
bestie, the return value is where it gets juicy β she'll give you one of these:
- structure block offset of the property (
>=0), on success β periodt, that's the good ending π -FDT_ERR_NOTFOUND, if the requested node has no properties β she looked, it's empty, moving on π-FDT_ERR_BADOFFSET, ifnodeoffsetdid not point to anFDT_BEGIN_NODEtag β wrong door, try again π-FDT_ERR_BADMAGIC,-FDT_ERR_BADVERSION,-FDT_ERR_BADSTATE,-FDT_ERR_BADSTRUCTURE,-FDT_ERR_TRUNCATEDβ the standard meanings, iykyk π
π SEE ALSO π
the whole friend group came out for this one π«Ά β and also the kernel file ./scripts/dtc/libfdt/libfdt.h:
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_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_contains(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)
and that's the whole page, bestie π mwah π β this one came from the source ./scripts/dtc/libfdt, dated October 2026. go forth and find those properties π§ββοΈβ
π¦ 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