libnvme(9)
π libnvme(9) β struct nvme_mi_aem_occ_data
okay bestie, buckle up π this is a page from the API Manual that ships with libnvme, and it's literally just one little struct β but she's iconic and she has lore. Let's get into it β¨
πΈ NAME πΈ
struct nvme_mi_aem_occ_data β the AEM Message definition. yes that's her full government name π«Ά
β¨ SYNOPSIS β¨
struct nvme_mi_aem_occ_data {
__u8 aelhlen;
__u8 aeosil;
__u8 aeovsil;
struct {
__u8 aeoi;
__le32 aeocidi;
__u8 aessi;
} aeoui;
};
look at her. so structured. so valid π₯
π¦ Members π¦
aelhlenβ the AE Occurrence Header Length. the header's header, iykyk πaeosilβ the AE Occurrence Specific Info Length. how much "specific" info we're talking about πΈaeovsilβ the AE Occurrence Vendor Specific Info Length. the vendor's own personal little corner, measured to the byte πaeouiβ the AE Occurrence Unique ID, and no cap, she's made up of other subfields β the squad isaeoi,__le32 aeocidi, andaessi, all nested up in there together like a group chat π
π Description π
So struct nvme_mi_aem_occ_data is a single entry of ae occurrence data that comes along with an nvme_aem_msg. main character energy fr fr π
Following this structure you get a variable length AEOSI (occurrence specific info) and a variable length AEVSI (vendor specific info). The length of AEOSI is specified by aeosil, and the length of AEVSI is specified by AEVSI π β yes, that's what the page says, we're just reporting the vibes ngl.
Neither field is mandatory, and they shall be omitted if their length parameter is set to zero. so if the length is 0, they're not showing up to the party, periodt π
lowkey important bestie: these are variable length tails hanging off the struct β don't go assuming fixed sizes, the length fields are the whole point π
π okay that's the whole page, go forth and parse your AEM occurrence data with confidence π§π
π cute sign-off time: this was struct nvme_mi_aem_occ_data from the libnvme API Manual, dated October 2026. mwah, stan forever πβ
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms