ENUM RPROC_STATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ enum rproc_state(9) ✨

okay so this is from the Kernel API Manual bestie, and it's literally the whole vibe of "what is my remote processor DOING right now" πŸ’… it's a little enum, it's got states, and it's about to be your whole personality.


🌸 NAME 🌸

enum rproc_state β€” remote processor states 🫢 like, the mood ring of your remote proc.


πŸ¦‹ SYNOPSIS πŸ¦‹

enum rproc_state {
    RPROC_OFFLINE ,
    RPROC_SUSPENDED ,
    RPROC_RUNNING ,
    RPROC_CRASHED ,
    RPROC_ATTACHED ,
    RPROC_DETACHED ,
    RPROC_LAST

};

no cap, that's the whole thing πŸ‘‘ seven little entries, all in a row, and every single one is doing something.


πŸŽ€ Constants πŸŽ€

these are the states, bestie, and each one is iconic in its own way:

  • RPROC_OFFLINE β€” device is powered off πŸ’€ like it's asleep asleep, not just napping.
  • RPROC_SUSPENDED β€” device is suspended; needs to be woken up to receive a message. so it's like, half-here? you gotta poke it awake before you can slide into its DMs 😭
  • RPROC_RUNNING β€” device is up and running πŸ”₯ main character energy, fully alive, no notes.
  • RPROC_CRASHED β€” device has crashed; need to start recovery πŸ™ˆ it fell off the vibe, time to pick it up and put it back together.
  • RPROC_ATTACHED β€” device has been booted by another entity and the core has attached to it ✨ not our boot, but we're holding hands with it now.
  • RPROC_DETACHED β€” device has been booted by another entity and waiting for the core to attach to it πŸ¦‹ sitting there all booted up like "so… are we gonna link or what?"
  • RPROC_LAST β€” just keep this one at the end 🫢 that's literally its whole job, and it does it beautifully.

πŸ’œ Description πŸ’œ

so here's the important part and I need you to actually listen:

Please note that the values of these states are used as indices to rproc_state_string, a state-to-name lookup table, so please keep the two synchronized. RPROC_LAST is used to check the validity of an index before the lookup table is accessed, so please update it as needed too.

ngl that's the whole plot β€” the enum values are indices into rproc_state_string, that state-to-name lookup table, so if you touch one you gotta touch the other. keep them synchronized, fr fr. and RPROC_LAST? it's the bouncer πŸšͺ it checks whether an index is even valid before the lookup table gets accessed, so update it too whenever you add stuff. don't leave the bouncer out of the loop, that's so not slay.


🌈 SEE ALSO 🌈

Kernel file ./include/linux/remoteproc.h β€” and the whole friend group:

  • struct rproc_mem_entry(9)
  • enum rsc_handling_status(9)
  • struct rproc_ops(9)
  • enum rproc_crash_type(9)
  • enum rproc_dump_mechanism(9)
  • struct rproc_dump_segment(9)
  • enum rproc_features(9)
  • struct rproc(9)
  • struct rproc_subdev(9)
  • struct rproc_vring(9)
  • struct rproc_vdev(9)

and that's the page bestie, hope it ate πŸ’… mwah! πŸ“

./include/linux Β· October 2026 Β· enum rproc_state(9) β€” signed, sealed, and slayed by the kernel docs girlies πŸ§šβ€β™€οΈβ­

πŸ“¦ where this page comes from