fdt_offset_ptr(9)
hi bestie π this is the fdt_offset_ptr(9) page from the Kernel API Manual, and itβs lowkey a safety baddie. no cap.
π NAME π
fdt_offset_ptrβ safely get a byte range within the device tree blob. periodt. β¨
β¨ SYNOPSIS β¨
const void * fdt_offset_ptr (const void *fdt , int offset , unsigned int checklen );
π«Ά ARGUMENTS π«Ά
fdtβ pointer to the device tree blob, bestie.offsetβ offset within the blob to the desired byte range.checklenβ required length of the byte range. like, how many bytes u need, fr fr.
πΈ DESCRIPTION πΈ
okay so fdt_offset_ptr returns a pointer to the byte range of length checklen at the given offset within the device tree blob. but first it does the vibe check: it verifies that the byte range fits entirely within the blob and does not overflow. the safety of it all is the main character energy π
π RETURN π
on success, u get a pointer to the byte range. if the requested range does not fit within the blob, u get NULL. thatβs the whole return situation, no cap. π«Ά
π SEE ALSO π
Kernel file ./scripts/dtc/libfdt/libfdt.h β plus the whole fdt friend group:
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_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)
p.s. this page comes from ./scripts/dtc/libfdt, dated October 2026 β source/version and date noted, 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