fdt_appendprop(9)
β¨ fdt_appendprop(9) β Kernel API Manual β¨
okay so bestie, we're in <pink>fdt_appendprop(9)</pink> territory, from the Kernel API Manual, and honestly this one is kind of a slay. Device tree blob surgery, but make it append. π
πΈ NAME πΈ
fdt_appendprop β append to or create a property
π SYNOPSIS π
int fdt_appendprop (void *fdt , int nodeoffset , const char *name ,
const void *val , int len );
π¦ ARGUMENTS π¦
fdtβ pointer to the device tree blob. like, the whole vibe container, the thing you're editing π«Άnodeoffsetβ offset of the node whose property to change. you gotta know exactly which node you're messing with, iykyknameβ name of the property to append to πΈvalβ pointer to data to append to the property value β¨lenβ length of the data to append to the property value. yes bestie, you have to tell it how many bytes π
π DESCRIPTION π
fdt_appendprop appends the value to the named property in the given node, creating the property if it does not already exist. literally "add on if it's there, make it if it's not." main character energy π₯
vibe check, and it's lowkey a real one: this function may insert data into the blob, and will therefore change the offsets of some existing nodes. so any offsets you were holding onto? yeah, they might not be valid anymore. not me forgetting that and having a whole breakdown π
π RETURN π
0β on success. we love to see it π-FDT_ERR_NOSPACEβ there is insufficient free space in the blob to contain the new property value π the blob said "no room bestie"-FDT_ERR_BADOFFSETβnodeoffsetdid not point toFDT_BEGIN_NODEtag π-FDT_ERR_BADLAYOUTβ standard meaning-FDT_ERR_BADMAGICβ standard meaning-FDT_ERR_BADVERSIONβ standard meaning-FDT_ERR_BADSTATEβ standard meaning-FDT_ERR_BADSTRUCTUREβ standard meaning-FDT_ERR_BADLAYOUTβ yep, again, standard meaning (it's listed twice in the original, and we are NOT editing the queen's list) π-FDT_ERR_TRUNCATEDβ standard meaning
(it literally says "standard meanings" for that whole lil cluster, so go check the standard, i'm just the messenger π§)
π SEE ALSO π
Kernel file ./scripts/dtc/libfdt/libfdt.h, and the whole extended family, no cap:
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_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, go append something iconic π¦π
sign-off szn: this one lives in ./scripts/dtc/libfdt, dated October 2026. 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