fdt_appendprop_string(9)
π fdt_appendprop_string β the Kernel API Manual, bestie edition π
okay so picture this: you're deep in the device tree blob, right, and you just need to add a string to a property. not replace it, not overwrite it β append. that's literally this function's whole personality. it's giving "yes, andβ¦" energy. β¨
πΈ NAME πΈ
fdt_appendprop_string β append a string to a property π
π¦ SYNOPSIS π¦
fdt_appendprop_string (fdt , nodeoffset , name , str );
that's it. four things. you got this, bestie. π«Ά
π ARGUMENTS π
fdtβ pointer to the device tree blob. the main character of the whole operation, honestly πnodeoffsetβ offset of the node whose property to change. like, which node are we touching today πnameβ name of the property to change. yes, that one β¨strβ string value to append to the property. the new content, the fresh material, the added lore π
π DESCRIPTION π
so fdt_appendprop_string appends the given string to the value of the named property in the given node β or it creates a brand-new property with that value if it doesn't already exist. no cap, it really does both. two modes, zero drama. π
β οΈ okay important thing, listen up: this function may insert data into the blob, and will therefore change the offsets of some existing nodes. so if you were holding onto a nodeoffset like it's your emotional support numberβ¦ it might be stale now. like, trauma. π
π₯ RETURN π₯
0β on success. slay! π-FDT_ERR_NOSPACEβ there is insufficient free space in the blob to contain the new property value. not enough room, the vibes have nowhere to go π-FDT_ERR_BADOFFSETβnodeoffsetdid not point toFDT_BEGIN_NODEtag. wrong address, bestie πΈ-FDT_ERR_BADLAYOUT,-FDT_ERR_BADMAGIC,-FDT_ERR_BADVERSION,-FDT_ERR_BADSTATE,-FDT_ERR_BADSTRUCTURE,-FDT_ERR_BADLAYOUT,-FDT_ERR_TRUNCATEDβ standard meanings. yes,-FDT_ERR_BADLAYOUTis listed twice, and yes, we're reporting that faithfully because the facts are sacred even when the docs are a little extra. π
π SEE ALSO π
Kernel file ./scripts/dtc/libfdt/libfdt.h, plus a frankly iconic 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_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_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 β go forth and append responsibly π β¨
this gem lives in ./scripts/dtc/libfdt, dated October 2026, and it's from the fdt_appendprop_string(9) Kernel API Manual. mwah. ππ
π¦ 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