GELF_GETNOTE(3) Libelf Programmer's Manual GELF_GETNOTE(3) NAME gelf_getnote - Get class-independent note information at the supplied off- set SYNOPSIS #include size_t gelf_getnote (Elf_Data *data, size_t offset, GElf_Nhdr *result, size_t *name_offset, size_t *desc_offset); DESCRIPTION Retrieve the ELF note header from data at offset offset and store it in a class-independent representation pointed to by result. The note name and note descriptor offsets relative to the start of data are stored in *name_offset and *desc_offset, respectively. GElf_Nhdr fields n_namesz, n_descsz, and n_type describe the note's name length, descriptor length and type, respectively. Alignment and padding of the note data entry are han- dled automatically by this function. See elf(5) for more information re- garding ELF notes. PARAMETERS data Pointer to an Elf_Data associated with a SHT_NOTE section or a PT_NOTE segment. data->d_type should be ELF_T_NHDR or ELF_T_NHDR8. offset Offset of a note header within data. result Pointer to a caller-provided GElf_Nhdr structure for storing the re- quested note header. result must not be NULL. name_offset Pointer to a caller-provided size_t for storing the name offset of the requested note. This offset is relative to data->d_buf. name_offset must not be NULL. desc_offset Pointer to a caller-provided size_t for storing the descriptor off- set of the requested note. This offset is relative to data->d_buf. desc_offset must not be NULL. RETURN VALUE On success, this function updates *result, *name_offset, and *desc_offset and returns the offset of the next note. If there are no notes remaining then the return value will be greater than or equal to the d_size of data. On failure, this function returns zero and sets elf_errno. If data is NULL then zero is returned without setting elf_errno. EXAMPLE size_t offset = 0; GElf_Nhdr nhdr; size_t name_offset; size_t desc_offset; while (offset < data->d_size && (offset = gelf_getnote (data, offset, &nhdr, &name_offset, &desc_offset)) > 0) { const char *name = nhdr.n_namesz == 0 ? "" : data->d_buf + name_offset; const char *desc = nhdr.n_descsz == 0 ? "" : data->d_buf + desc_offset; /* Process note here. name and desc are not guaranteed to be zero-terminated. The presence of null characters should be verified using n_namesz and n_descsz. */ [...] } SEE ALSO libelf(3), elf(5) ATTRIBUTES allbox; lbx lb lb l l l. Interface Attribute Value T{ gelf_getnote() T} Thread safety MT-Safe REPORTING BUGS Report bugs to or https://source- ware.org/bugzilla/. HISTORY gelf_getnote first appeared in elfutils 0.130. This function is an elfu- tils libelf extension and may not be available in other libelf implementa- tions. Libelf 2025-12-31 GELF_GETNOTE(3)