xas_prev(9)
π NAME π
okay so this is xas_prev(9) from the Kernel API Manual, and its whole name-line vibe is: xas_prev β Move iterator to previous index. bestie, it literally walks your iterator backward and I'm obsessed. π
β¨ SYNOPSIS β¨
the signature is giving exactly this, no edits:
void * xas_prev (struct xa_state *xas );
π«Ά ARGUMENTS π«Ά
xasβ the XArray operation state. that's the little state bestie you're moving around. π¦
π DESCRIPTION π
okay so picture your iterator state, the xas π. If the xas was in an error state, it will remain in an error state and this function will return NULL β no cap, it stays in its error-era. If the xas has never been walked, it will have the effect of calling xas_load. Otherwise, one will be subtracted from the index, and the state will be walked to the correct location in the array for the next operation. and if the iterator was referencing index 0, this function wraps around to ULONG_MAX β yes, the full wrap, periodt. π
π₯ RETURN π₯
The entry at the new index. This may be NULL or an internal entry. so like, don't assume it's always a cute little normal pointer β it can be NULL or an internal entry, iykyk. π
π SEE ALSO π
Kernel file ./include/linux/xarray.h is home base, and the full SEE ALSO roll call is: xa_mk_value(9), xa_to_value(9), xa_is_value(9), xa_tag_pointer(9), xa_untag_pointer(9), xa_pointer_tag(9), xa_is_zero(9), xa_is_err(9), xa_err(9), struct xa_limit(9), struct xarray(9), DEFINE_XARRAY_FLAGS(9), DEFINE_XARRAY(9), DEFINE_XARRAY_ALLOC(9), DEFINE_XARRAY_ALLOC1(9), xa_init_flags(9), xa_init(9), xa_empty(9), xa_marked(9), xa_for_each_range(9), xa_for_each_start(9), xa_for_each(9), xa_for_each_marked(9), xa_store_bh(9), xa_store_irq(9), xa_erase_bh(9), xa_erase_irq(9), xa_cmpxchg(9), xa_cmpxchg_bh(9), xa_cmpxchg_irq(9), xa_insert(9), xa_insert_bh(9), xa_insert_irq(9), xa_alloc(9), xa_alloc_bh(9), xa_alloc_irq(9), xa_alloc_cyclic(9), xa_alloc_cyclic_bh(9), xa_alloc_cyclic_irq(9), xa_reserve(9), xa_reserve_bh(9), xa_reserve_irq(9), xa_release(9), xa_is_sibling(9), xa_is_retry(9), xa_is_advanced(9), xa_update_node_t(9), XA_STATE(9), XA_STATE_ORDER(9), xas_error(9), xas_set_err(9), xas_invalid(9), xas_valid(9), xas_is_node(9), xas_reset(9), xas_retry(9), xas_reload(9), xas_set(9), xas_advance(9), xas_set_order(9), xas_set_update(9), xas_next_entry(9), xas_next_marked(9), xas_for_each(9), xas_for_each_marked(9), xas_for_each_conflict(9), xas_next(9). π«Άβ¨
π source/version: ./include/linux Β· date: October 2026 β mwah, that's the whole xas_prev(9) story, bestie π
π¦ 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