fdt_setprop_placeholder(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… fdt_setprop_placeholder β€” Kernel API Manual, bestie edition ✨

Okay so this one is from the kernel API manual, and it's literally the "make room for a property" girlie. Let's get into it 🫢


NAME 🌸

fdt_setprop_placeholder β€” allocate space for a property


SYNOPSIS πŸŽ€

int fdt_setprop_placeholder (void *fdt , int nodeoffset , const char *name , int len , void **prop_data );

ARGUMENTS πŸ’–

  • fdt β€” pointer to the device tree blob. it's giving "the whole vibe", the actual blob you're messing with ✨
  • nodeoffset β€” offset of the node whose property to change. like, which node are we doing a glow-up on πŸ’…
  • name β€” name of the property to change. the label on the thing, yk?
  • len β€” length of the property value. how many bytes we're reserving, no cap πŸ“
  • prop_data β€” return pointer to property data. it hands you back a pointer so you can fill in the goods 🎁

DESCRIPTION πŸ¦‹

So fdt_setprop_placeholder allocates the named property in the given node. If the property already exists, it gets resized β€” iconic behaviour, honestly. In either case, a pointer to the property data is returned. 🫢

⚠️ Real talk: this function may insert or delete data from the blob, and will therefore change the offsets of some existing nodes. so like… don't be out here holding onto old offsets like they're still valid, bestie 😭

RETURN πŸ’€

  • 0 β€” on success, slay πŸ’…
  • -FDT_ERR_NOSPACE β€” there is insufficient free space in the blob to contain the new property value. it's giving "no room at the function", sorry πŸ₯²
  • -FDT_ERR_BADOFFSET β€” nodeoffset did not point to FDT_BEGIN_NODE tag. wrong node, wrong vibe 🚩
  • -FDT_ERR_BADLAYOUT, -FDT_ERR_BADMAGIC, -FDT_ERR_BADVERSION, -FDT_ERR_BADSTATE, -FDT_ERR_BADSTRUCTURE, -FDT_ERR_BADLAYOUT, -FDT_ERR_TRUNCATED β€” standard meanings ✨

SEE ALSO πŸ‘‘

Kernel file ./scripts/dtc/libfdt/libfdt.h, plus the whole squad:

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_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 πŸ’œ source is ./scripts/dtc/libfdt, and this one's dated October 2026 β€” go off, calendar queen πŸ‘‘βœ¨

πŸ“¦ where this page comes from