fdt_appendprop_u32(9)
β¨ fdt_appendprop_u32(9) π
Okay so bestie, welcome to the fdt_appendprop_u32 page from the Kernel API Manual β this is the little libfdt icon that appends a 32-bit integer value onto a property, and honestly? It eats. π
πΈ SYNOPSIS πΈ
int fdt_appendprop_u32 (void *fdt , int nodeoffset , const char *name ,
uint32_t val );
That's the whole vibe. Four args, one int back. No cap. β¨
π ARGUMENTS π
fdtβ pointer to the device tree blob, aka the main character of literally every libfdt function ever.nodeoffsetβ offset of the node whose property you're changing. You gotta know where you're at, iykyk.nameβ name of the property to change.valβ the 32-bit integer value to append to the property (native endian, so don't stress about byte order yourself, she handles it π₯).
π¦ DESCRIPTION π¦
So here's the tea: fdt_appendprop_u32 takes that 32-bit integer value you handed it and appends it to the value of the named property in the given node. Converting to big-endian if necessary? Yeah, she does that too, unprompted, because she's thoughtful like that. π«Ά
And if the property doesn't already exist? Not a problem β she just creates a new property with that value. Not me being generous with my time, it's giving β¨flexibleβ¨.
β οΈ Heads up bestie: this function may insert data into the blob, and will therefore change the offsets of some existing nodes. So like, don't go holding onto old offsets and acting surprised, okay? π
π RETURN π
0β on success, slay π-FDT_ERR_NOSPACEβ there's insufficient free space in the blob to contain the new property value. She's full, babe.-FDT_ERR_BADOFFSETβnodeoffsetdid not point toFDT_BEGIN_NODEtag.-FDT_ERR_BADLAYOUT,-FDT_ERR_BADMAGIC,-FDT_ERR_BADVERSION,-FDT_ERR_BADSTATE,-FDT_ERR_BADSTRUCTURE,-FDT_ERR_BADLAYOUT,-FDT_ERR_TRUNCATEDβ standard meanings. Yeah-FDT_ERR_BADLAYOUTshows up twice in the list, and yes we're leaving it exactly like that because facts are facts. π
π SEE ALSO π
Kernel file ./scripts/dtc/libfdt/libfdt.h
And now the full friend group, in original order, no one left out:
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_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_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, that's the whole group chat. π§
And that's the page, bestie! Brought to you by ./scripts/dtc/libfdt, dated October 2026, and titled fdt_appendprop_u32(9) β go forth and append those u32s responsibly. πππ¦πΈ
π¦ 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