libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct nvme\_mi\_aem\_occ\_data - AEM Message definition.

# [SYNOPSIS](#SYNOPSIS)

struct nvme\_mi\_aem\_occ\_data {  
**\_\_u8 aelhlen;**  
**\_\_u8 aeosil;**  
**\_\_u8 aeovsil;**  
**struct {**  
**\_\_u8 aeoi;**  
**\_\_le32 aeocidi;**  
**\_\_u8 aessi;**  
**} aeoui;**  
};

# [Members](#Members)

[aelhlen](#aelhlen)

AE Occurrence Header Length

[aeosil](#aeosil)

AE Occurrence Specific Info Length

[aeovsil](#aeovsil)

AE Occurrence Vendor Specific Info Length

[aeoui](#aeoui)

AE Occurrence Unique ID made up of other subfields

# [Description](#Description)

A single entry of ae occurrence data that comes with an nvme\_aem\_msg. Following this structure is variable length AEOSI (occurrence specific info) and variable length AEVSI (vendor specific info). The length of AEOSI is specified by aeosil and the length of AEVSI is specified by AEVSI. Neither field is mandatory and shall be omitted if their length parameter is set to zero.

struct nvme\_mi\_aem\_occ\_data September 2026

---

Document: nvme_mi_aem_occ_data-libnvme3(2) from nvme-cli 3.1-r1 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
