2025-10-11 01:35:43 +01:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en-US" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=11" / >
< meta name = "generator" content = "Doxygen 1.14.0" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< title > libaaruformat: include/aaruformat/context.h File Reference< / title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< script type = "text/javascript" src = "clipboard.js" > < / script >
< link href = "navtree.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "navtreedata.js" > < / script >
< script type = "text/javascript" src = "navtree.js" > < / script >
< script type = "text/javascript" src = "cookie.js" > < / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/searchdata.js" > < / script >
< script type = "text/javascript" src = "search/search.js" > < / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr id = "projectrow" >
< td id = "projectalign" >
< div id = "projectname" > libaaruformat< span id = "projectnumber" >   1.0< / span >
< / div >
< div id = "projectbrief" > Aaru Data Preservation Suite - Format Library< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
< script type = "text/javascript" >
var searchBox = new SearchBox("searchBox", "search/",'.html');
< / script >
< script type = "text/javascript" >
$(function() { codefold.init(); });
< / script >
< script type = "text/javascript" src = "menudata.js" > < / script >
< script type = "text/javascript" src = "menu.js" > < / script >
< script type = "text/javascript" >
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
< / script >
< div id = "main-nav" > < / div >
< / div > <!-- top -->
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" > < / div >
< / div >
< / div >
< div id = "splitbar" style = "-moz-user-select:none;"
class="ui-resizable-handle">
< / div >
< / div >
< script type = "text/javascript" >
$(function(){initNavTree('context_8h.html','',''); });
< / script >
< div id = "container" >
< div id = "doc-content" >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< div id = "MSearchResults" >
< div class = "SRPage" >
< div id = "SRIndex" >
< div id = "SRResults" > < / div >
< div class = "SRStatus" id = "Loading" > Loading...< / div >
< div class = "SRStatus" id = "Searching" > Searching...< / div >
< div class = "SRStatus" id = "NoMatches" > No Matches< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "header" >
< div class = "headertitle" > < div class = "title" > context.h File Reference< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< p > Central runtime context structures for libaaruformat (image state, caches, checksum buffers).
< a href = "#details" > More...< / a > < / p >
< div class = "textblock" > < code > #include " blake3.h" < / code > < br / >
< code > #include " < a class = "el" href = "crc64_8h_source.html" > crc64.h< / a > " < / code > < br / >
< code > #include " < a class = "el" href = "hash__map_8h_source.html" > hash_map.h< / a > " < / code > < br / >
< code > #include " < a class = "el" href = "lru_8h_source.html" > lru.h< / a > " < / code > < br / >
< code > #include " < a class = "el" href = "md5_8h_source.html" > md5.h< / a > " < / code > < br / >
< code > #include " < a class = "el" href = "sha1_8h_source.html" > sha1.h< / a > " < / code > < br / >
< code > #include " < a class = "el" href = "sha256_8h_source.html" > sha256.h< / a > " < / code > < br / >
< code > #include " < a class = "el" href = "spamsum_8h_source.html" > spamsum.h< / a > " < / code > < br / >
< code > #include " < a class = "el" href = "structs_8h_source.html" > structs.h< / a > " < / code > < br / >
< code > #include " utarray.h" < / code > < br / >
< / div >
< p > < a href = "context_8h_source.html" > Go to the source code of this file.< / a > < / p >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 id = "header-nested-classes" class = "groupheader" > < a id = "nested-classes" name = "nested-classes" > < / a >
Data Structures< / h2 > < / td > < / tr >
< tr class = "memitem:CdEccContext" id = "r_CdEccContext" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structCdEccContext.html" > CdEccContext< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Lookup tables and state for Compact Disc EDC/ECC (P/Q) regeneration / verification. < a href = "structCdEccContext.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "memitem:Checksums" id = "r_Checksums" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structChecksums.html" > Checksums< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Collected whole‑ image checksums / hashes present in a checksum block. < a href = "structChecksums.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "memitem:mediaTagEntry" id = "r_mediaTagEntry" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structmediaTagEntry.html" > mediaTagEntry< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Hash table entry for an arbitrary media tag (e.g., proprietary drive/medium descriptor). < a href = "structmediaTagEntry.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "memitem:TapeFileHashEntry" id = "r_TapeFileHashEntry" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structTapeFileHashEntry.html" > TapeFileHashEntry< / a > < / td > < / tr >
< tr class = "memitem:TapePartitionHashEntry" id = "r_TapePartitionHashEntry" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structTapePartitionHashEntry.html" > TapePartitionHashEntry< / a > < / td > < / tr >
< tr class = "memitem:TapeDdtHashEntry" id = "r_TapeDdtHashEntry" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structTapeDdtHashEntry.html" > TapeDdtHashEntry< / a > < / td > < / tr >
< tr class = "memitem:aaruformat_5Fcontext" id = "r_aaruformat_5Fcontext" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structaaruformat__context.html" > aaruformat_context< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Master context representing an open or in‑ creation Aaru image. < a href = "structaaruformat__context.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "memitem:DumpHardwareEntriesWithData" id = "r_DumpHardwareEntriesWithData" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structDumpHardwareEntriesWithData.html" > DumpHardwareEntriesWithData< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > In-memory representation of a dump hardware entry plus decoded variable-length fields & extents. < a href = "structDumpHardwareEntriesWithData.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "memitem:DumpExtent" id = "r_DumpExtent" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structDumpExtent.html" > DumpExtent< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Inclusive [start,end] logical sector range contributed by a single hardware environment. < a href = "structDumpExtent.html#details" > More...< / a > < br / > < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 id = "header-define-members" class = "groupheader" > < a id = "define-members" name = "define-members" > < / a >
Macros< / h2 > < / td > < / tr >
< tr class = "memitem:a09a4f4b2f28cbe522d9b80153666029c" id = "r_a09a4f4b2f28cbe522d9b80153666029c" > < td class = "memItemLeft" align = "right" valign = "top" > #define  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a09a4f4b2f28cbe522d9b80153666029c" > MD5_DIGEST_LENGTH< / a >       16< / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 id = "header-typedef-members" class = "groupheader" > < a id = "typedef-members" name = "typedef-members" > < / a >
Typedefs< / h2 > < / td > < / tr >
< tr class = "memitem:a32dcff5b3409f48aa8f6741695193e9a" id = "r_a32dcff5b3409f48aa8f6741695193e9a" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct CdEccContext  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a32dcff5b3409f48aa8f6741695193e9a" > CdEccContext< / a > < / td > < / tr >
< tr class = "memitem:a269d576bb08923618502afa0ce77c869" id = "r_a269d576bb08923618502afa0ce77c869" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct Checksums  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a269d576bb08923618502afa0ce77c869" > Checksums< / a > < / td > < / tr >
< tr class = "memitem:a2db7e557df9bb4db40e140298b494946" id = "r_a2db7e557df9bb4db40e140298b494946" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct mediaTagEntry  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a2db7e557df9bb4db40e140298b494946" > mediaTagEntry< / a > < / td > < / tr >
< tr class = "memitem:a5ba965cb003bc2d68a9f9e1c11225494" id = "r_a5ba965cb003bc2d68a9f9e1c11225494" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct < a class = "el" href = "structTapeFileHashEntry.html" > TapeFileHashEntry< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a5ba965cb003bc2d68a9f9e1c11225494" > tapeFileHashEntry< / a > < / td > < / tr >
< tr class = "memitem:a7dcde2e312674ec91292bf34f09b39d8" id = "r_a7dcde2e312674ec91292bf34f09b39d8" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct TapePartitionHashEntry  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a7dcde2e312674ec91292bf34f09b39d8" > TapePartitionHashEntry< / a > < / td > < / tr >
< tr class = "memitem:a6f261287fa8891601a626c6649b3196e" id = "r_a6f261287fa8891601a626c6649b3196e" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct TapeDdtHashEntry  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a6f261287fa8891601a626c6649b3196e" > TapeDdtHashEntry< / a > < / td > < / tr >
< tr class = "memitem:a07c6208ca3659883538a68592b40b53b" id = "r_a07c6208ca3659883538a68592b40b53b" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct aaruformat_context  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a07c6208ca3659883538a68592b40b53b" > aaruformat_context< / a > < / td > < / tr >
< tr class = "memitem:afdce598c4a7b73c31a747ac56458e178" id = "r_afdce598c4a7b73c31a747ac56458e178" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct DumpHardwareEntriesWithData  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#afdce598c4a7b73c31a747ac56458e178" > DumpHardwareEntriesWithData< / a > < / td > < / tr >
< tr class = "memitem:aa607bc285ec04872be8d317bb16924f1" id = "r_aa607bc285ec04872be8d317bb16924f1" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct DumpExtent  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#aa607bc285ec04872be8d317bb16924f1" > DumpExtent< / a > < / td > < / tr >
< / table >
< a name = "details" id = "details" > < / a > < h2 id = "header-details" class = "groupheader" > Detailed Description< / h2 >
< div class = "textblock" > < p > Central runtime context structures for libaaruformat (image state, caches, checksum buffers). < / p >
< p > The principal structure, < a class = "el" href = "structaaruformat__context.html" > aaruformat_context< / a > , aggregates: header metadata, open stream handle, deduplication tables (DDT) currently in memory, optical disc auxiliary data (sector prefix/suffix/subchannel), track listings, geometry & metadata blocks, checksum accumulators, CRC & ECC helper contexts, hash map for deduplication, and transient write buffers.< / p >
< p > Memory ownership model (unless otherwise stated): if a pointer field is non-NULL it is owned by the context and will be freed (or otherwise released) during context close / destruction. Callers must not free or reallocate these pointers directly. External callers should treat all internal buffers as read‑ only unless explicitly writing.< / p >
< p > Threading: a single context instance is NOT thread-safe; serialize access if used across threads. Lifetime: allocate, initialize/open, perform read/write/verify operations, then close/free.< / p >
< p > Deduplication tables (DDT): only a subset (primary table + an active secondary + optional cache) is retained in RAM; large images may rely on lazy loading of secondary tables. Flags (inMemoryDdt, userDataDdt*, cachedSecondary*) indicate what is currently resident.< / p >
< p > Optical auxiliary buffers (sectorPrefix / sectorSuffix / subchannel / corrected variants) are populated only for images where those components exist (e.g., raw CD dumps). They may be NULL for block devices / non‑ optical media.< / p >
< p > Index handling: indexEntries (UT_array) holds a flattened list of < a class = "el" href = "structIndexEntry.html" > IndexEntry< / a > structures (regardless of v1/v2/v3). < a class = "el" href = "structhash__map__t.html" title = "Minimal open-addressing hash map for 64-bit key/value pairs used in deduplication lookup." > hash_map_t< / a > *sectorHashMap provides fast duplicate detection keyed by content fingerprint / sparse sector key.< / p >
< p > Invariants / sanity expectations (not strictly enforced everywhere):< / p > < ul >
< li > magic == AARU_MAGIC after successful open/create.< / li >
< li > header.imageMajorVersion < = AARUF_VERSION.< / li >
< li > imageStream != NULL when any I/O method is in progress.< / li >
< li > If deduplicate == false, sectorHashMap may still be populated for bookkeeping but duplicates are stored independently.< / li >
< li > If userDataDdtMini != NULL then userDataDdtBig == NULL (and vice versa) for a given level. < / li >
< / ul >
< p class = "definition" > Definition in file < a class = "el" href = "context_8h_source.html" > context.h< / a > .< / p >
< / div > < a name = "doc-define-members" id = "doc-define-members" > < / a > < h2 id = "header-doc-define-members" class = "groupheader" > Macro Definition Documentation< / h2 >
< a id = "a09a4f4b2f28cbe522d9b80153666029c" name = "a09a4f4b2f28cbe522d9b80153666029c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a09a4f4b2f28cbe522d9b80153666029c" > ◆   < / a > < / span > MD5_DIGEST_LENGTH< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > #define MD5_DIGEST_LENGTH      16< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "context_8h_source.html#l00069" > 69< / a > of file < a class = "el" href = "context_8h_source.html" > context.h< / a > .< / p >
2025-12-12 12:25:02 +00:00
< p class = "reference" > Referenced by < a class = "el" href = "checksum_8c_source.html#l00039" > process_checksum_block()< / a > , and < a class = "el" href = "close_8c_source.html#l00681" > write_checksum_block()< / a > .< / p >
2025-10-11 01:35:43 +01:00
< / div >
< / div >
< a name = "doc-typedef-members" id = "doc-typedef-members" > < / a > < h2 id = "header-doc-typedef-members" class = "groupheader" > Typedef Documentation< / h2 >
< a id = "a07c6208ca3659883538a68592b40b53b" name = "a07c6208ca3659883538a68592b40b53b" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a07c6208ca3659883538a68592b40b53b" > ◆   < / a > < / span > aaruformat_context< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef struct aaruformat_context aaruformat_context< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a32dcff5b3409f48aa8f6741695193e9a" name = "a32dcff5b3409f48aa8f6741695193e9a" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a32dcff5b3409f48aa8f6741695193e9a" > ◆   < / a > < / span > CdEccContext< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef struct CdEccContext CdEccContext< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a269d576bb08923618502afa0ce77c869" name = "a269d576bb08923618502afa0ce77c869" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a269d576bb08923618502afa0ce77c869" > ◆   < / a > < / span > Checksums< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef struct Checksums Checksums< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "aa607bc285ec04872be8d317bb16924f1" name = "aa607bc285ec04872be8d317bb16924f1" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aa607bc285ec04872be8d317bb16924f1" > ◆   < / a > < / span > DumpExtent< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef struct DumpExtent DumpExtent< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "afdce598c4a7b73c31a747ac56458e178" name = "afdce598c4a7b73c31a747ac56458e178" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#afdce598c4a7b73c31a747ac56458e178" > ◆   < / a > < / span > DumpHardwareEntriesWithData< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef struct DumpHardwareEntriesWithData DumpHardwareEntriesWithData< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a2db7e557df9bb4db40e140298b494946" name = "a2db7e557df9bb4db40e140298b494946" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a2db7e557df9bb4db40e140298b494946" > ◆   < / a > < / span > mediaTagEntry< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef struct mediaTagEntry mediaTagEntry< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a6f261287fa8891601a626c6649b3196e" name = "a6f261287fa8891601a626c6649b3196e" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a6f261287fa8891601a626c6649b3196e" > ◆   < / a > < / span > TapeDdtHashEntry< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef struct TapeDdtHashEntry TapeDdtHashEntry< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a5ba965cb003bc2d68a9f9e1c11225494" name = "a5ba965cb003bc2d68a9f9e1c11225494" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a5ba965cb003bc2d68a9f9e1c11225494" > ◆   < / a > < / span > tapeFileHashEntry< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef struct < a class = "el" href = "structTapeFileHashEntry.html" > TapeFileHashEntry< / a > < a class = "el" href = "#a5ba965cb003bc2d68a9f9e1c11225494" > tapeFileHashEntry< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a7dcde2e312674ec91292bf34f09b39d8" name = "a7dcde2e312674ec91292bf34f09b39d8" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a7dcde2e312674ec91292bf34f09b39d8" > ◆   < / a > < / span > TapePartitionHashEntry< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef struct TapePartitionHashEntry TapePartitionHashEntry< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< / div > <!-- contents -->
< / div > <!-- doc - content -->
< div id = "page-nav" class = "page-nav-panel" >
< div id = "page-nav-resize-handle" > < / div >
< div id = "page-nav-tree" >
< div id = "page-nav-contents" >
< / div > <!-- page - nav - contents -->
< / div > <!-- page - nav - tree -->
< / div > <!-- page - nav -->
< / div > <!-- container -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
< li class = "navelem" > < a href = "dir_d44c64559bbebec7f509842c48db8b23.html" > include< / a > < / li > < li class = "navelem" > < a href = "dir_aeff2545c9dfcfc842fe9d84b123cb31.html" > aaruformat< / a > < / li > < li class = "navelem" > < a href = "context_8h.html" > context.h< / a > < / li >
< li class = "footer" > Generated by < a href = "https://www.doxygen.org/index.html" > < img class = "footer" src = "doxygen.svg" width = "104" height = "31" alt = "doxygen" / > < / a > 1.14.0 < / li >
< / ul >
< / div >
< / body >
< / html >