ENUM UNSOLICITED_FRAME_STATE(9)
β¨ enum unsolicited_frame_state β a Kernel API Manual moment β¨
okay bestie, so this one's from the Kernel API Manual, and it's genuinely one of the shorter ones β a little enum with a big job. let's get into it π
πΈ NAME πΈ
enum unsolicited_frame_state β and that's literally it, that's the whole name, no elaboration, the docs said "figure it out" π (don't worry, the Description section below actually does explain it, we're fine).
π¦ SYNOPSIS π¦
enum unsolicited_frame_state {
UNSOLICITED_FRAME_EMPTY ,
UNSOLICITED_FRAME_IN_USE ,
UNSOLICITED_FRAME_RELEASED ,
UNSOLICITED_FRAME_MAX_STATES
};
look at her. four little constants, all lined up, so organized. we stan a tidy enum π
π Constants π
so here's the thing β the source doc has nothing written for any of these. no notes. no vibes. just vibes-adjacent emptiness. but they ARE the members, and you gotta know they exist:
UNSOLICITED_FRAME_EMPTYβ no description in the docs whatsoever, it's giving mystery πUNSOLICITED_FRAME_IN_USEβ also-- undescribed --in the original, so I'm not gonna make stuff up for you, bestie π«ΆUNSOLICITED_FRAME_RELEASEDβ yep, undescribed too. iconic of the docs honestly πUNSOLICITED_FRAME_MAX_STATESβ the last one, and yup, also undescribed π
real talk: all four say -- undescribed -- in the source material. I'm being so fr fr with you. no cap, no invented behaviour. π
π₯ Description π₯
okay so here's the actual tea β β this enumeration represents the current unsolicited frame state. that's the whole concept. it's a state machine vibe check for unsolicited frames β¨
and here's the important bit, so listen up: the controller object can not update the hardware unsolicited frame put pointer unless it has already processed the prior unsolicited frames. π
like, no skipping ahead. you can't just move the put pointer whenever you feel like it β the earlier unsolicited frames gotta be handled first. it's giving "do your homework before you go out" energy, and honestly? fair. π€
β οΈ heads up: the original page has some typos in this sentence (updtate and priror) β I fixed the spelling for readability but the meaning is exactly the same: process the prior frames first, then the put pointer can be updated. no behaviour was added or changed. π«‘
π SEE ALSO π
go read these next, bestie, they're all in the same little family π§
- Kernel file
./drivers/scsi/isci/unsolicited_frame_control.h struct scu_unsolicited_frame_header(9)struct sci_unsolicited_frame(9)struct sci_uf_header_array(9)struct sci_uf_buffer_array(9)struct sci_uf_address_table_array(9)struct sci_unsolicited_frame_control(9)
and that's the page!! short and sweet, just how we like it π this little gem lives over in ./drivers/scsi/isci, dated October 2026, and the manpage itself is titled enum unsolic..._frame_state(9) in the footer (yes, truncated with ... β the terminal did its best, we love her anyway). mwah, go process those prior frames first, ily, bye! π
β¨π
π¦ 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