fdt_check_full(9)
β¨ fdt_check_full π
okay so bestie, welcome to fdt_check_full(9) β a page straight out of the Kernel API Manual, and she is the vibe check for your device tree. πΈ
π NAME
fdt_check_full β check device tree validity β¨
π SYNOPSIS
int fdt_check_full (const void *fdt , size_t bufsize );
like literally that's the whole function signature, no cap π«Ά
π¦ ARGUMENTS
fdtβ pointer to the device tree blob. yes, that blob. the flattened one. πbufsizeβ size of the buffer containing the device tree. gotta tell her how much room she's working with π
π DESCRIPTION
okay so fdt_check_full checks that the given buffer contains a valid flattened device tree and that the tree structure is internally consistent. π₯
this is a more thorough check than fdt_check_header, bestie. like, fdt_check_header glances at the outfit, and fdt_check_full does the full mirror check, the spin, the lighting test, all of it. π
β¨
β RETURN
0β on success, slay π-FDT_ERR_BADMAGIC-FDT_ERR_BADVERSION-FDT_ERR_BADSTATE-FDT_ERR_BADSTRUCTURE-FDT_ERR_TRUNCATED
these are all standard meanings, iykyk π
π§ SEE ALSO
okay this is the whole group chat, buckle up π
- Kernel file
./scripts/dtc/libfdt/libfdt.hβ the source material, the blueprint, the mothership π 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_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_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)
ok and one last thing β this whole page lives under ./scripts/dtc/libfdt, and it's dated October 2026. so yeah, she's from the future and she's still iconic. periodt. ππβ¨
π¦ 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