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: src/checksum/ecc_cd.c 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('ecc__cd_8c.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" > ecc_cd.c File Reference< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< div class = "textblock" > < code > #include < stdbool.h> < / code > < br / >
< code > #include < stdint.h> < / code > < br / >
< code > #include < stdlib.h> < / code > < br / >
< code > #include < string.h> < / code > < br / >
< code > #include " < a class = "el" href = "aaruformat_8h_source.html" > aaruformat.h< / a > " < / code > < br / >
< code > #include " < a class = "el" href = "log_8h_source.html" > log.h< / a > " < / code > < br / >
< / div >
< p > < a href = "ecc__cd_8c_source.html" > Go to the source code of this file.< / a > < / p >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 id = "header-func-members" class = "groupheader" > < a id = "func-members" name = "func-members" > < / a >
Functions< / h2 > < / td > < / tr >
< tr class = "memitem:ac1a30bb251ac148f485c51593c0740c1" id = "r_ac1a30bb251ac148f485c51593c0740c1" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#ac1a30bb251ac148f485c51593c0740c1" > aaruf_ecc_cd_init< / a > ()< / td > < / tr >
< tr class = "memdesc:ac1a30bb251ac148f485c51593c0740c1" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Initializes a Compact Disc ECC context. < br / > < / td > < / tr >
< tr class = "memitem:afbc09e16b1a654de04706e07c3212ecb" id = "r_afbc09e16b1a654de04706e07c3212ecb" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#afbc09e16b1a654de04706e07c3212ecb" > aaruf_ecc_cd_is_suffix_correct< / a > (void *context, const uint8_t *sector)< / td > < / tr >
< tr class = "memdesc:afbc09e16b1a654de04706e07c3212ecb" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Checks if the suffix (EDC/ECC) of a CD sector is correct (Mode 1). < br / > < / td > < / tr >
< tr class = "memitem:ab77ca170a2e8d2f0a2a7ea1a8a51690a" id = "r_ab77ca170a2e8d2f0a2a7ea1a8a51690a" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#ab77ca170a2e8d2f0a2a7ea1a8a51690a" > aaruf_ecc_cd_is_suffix_correct_mode2< / a > (void *context, const uint8_t *sector)< / td > < / tr >
< tr class = "memdesc:ab77ca170a2e8d2f0a2a7ea1a8a51690a" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Checks if the suffix (EDC/ECC) of a CD sector is correct (Mode 2). < br / > < / td > < / tr >
< tr class = "memitem:a1cd08adea9a778c2463b90ab9295dc3f" id = "r_a1cd08adea9a778c2463b90ab9295dc3f" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a1cd08adea9a778c2463b90ab9295dc3f" > aaruf_ecc_cd_check< / a > (void *context, const uint8_t *address, const uint8_t *data, const uint32_t major_count, const uint32_t minor_count, const uint32_t major_mult, const uint32_t minor_inc, const uint8_t *ecc, const int32_t address_offset, const int32_t data_offset, const int32_t ecc_offset)< / td > < / tr >
< tr class = "memdesc:a1cd08adea9a778c2463b90ab9295dc3f" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Checks the ECC of a CD sector. < br / > < / td > < / tr >
< tr class = "memitem:a330d4bda939de120a160592c0bdb703d" id = "r_a330d4bda939de120a160592c0bdb703d" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a330d4bda939de120a160592c0bdb703d" > aaruf_ecc_cd_write< / a > (void *context, const uint8_t *address, const uint8_t *data, const uint32_t major_count, const uint32_t minor_count, const uint32_t major_mult, const uint32_t minor_inc, uint8_t *ecc, const int32_t address_offset, const int32_t data_offset, const int32_t ecc_offset)< / td > < / tr >
< tr class = "memdesc:a330d4bda939de120a160592c0bdb703d" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Writes ECC for a CD sector. < br / > < / td > < / tr >
< tr class = "memitem:ab541a4ae9c6568d4dad8df5101ebad58" id = "r_ab541a4ae9c6568d4dad8df5101ebad58" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#ab541a4ae9c6568d4dad8df5101ebad58" > aaruf_ecc_cd_write_sector< / a > (void *context, const uint8_t *address, const uint8_t *data, uint8_t *ecc, const int32_t address_offset, const int32_t data_offset, const int32_t ecc_offset)< / td > < / tr >
< tr class = "memdesc:ab541a4ae9c6568d4dad8df5101ebad58" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Writes ECC for a full CD sector (both P and Q ECC). < br / > < / td > < / tr >
< tr class = "memitem:a4e5ee3f9330f970b761de5566458ac3b" id = "r_a4e5ee3f9330f970b761de5566458ac3b" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a4e5ee3f9330f970b761de5566458ac3b" > aaruf_cd_lba_to_msf< / a > (const int64_t pos, uint8_t *minute, uint8_t *second, uint8_t *frame)< / td > < / tr >
< tr class = "memdesc:a4e5ee3f9330f970b761de5566458ac3b" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Converts a CD LBA (Logical Block Address) to MSF (Minute:Second:Frame) format. < br / > < / td > < / tr >
< tr class = "memitem:a9dc3231aea6933691f5881914e8da1f6" id = "r_a9dc3231aea6933691f5881914e8da1f6" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a9dc3231aea6933691f5881914e8da1f6" > aaruf_ecc_cd_reconstruct_prefix< / a > (uint8_t *sector, const uint8_t type, const int64_t lba)< / td > < / tr >
< tr class = "memdesc:a9dc3231aea6933691f5881914e8da1f6" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Reconstructs the prefix (sync, address, mode) of a CD sector. < br / > < / td > < / tr >
< tr class = "memitem:a5bf5a19fd4ec540968f0b4c3d641e973" id = "r_a5bf5a19fd4ec540968f0b4c3d641e973" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a5bf5a19fd4ec540968f0b4c3d641e973" > aaruf_ecc_cd_reconstruct< / a > (void *context, uint8_t *sector, const uint8_t type)< / td > < / tr >
< tr class = "memdesc:a5bf5a19fd4ec540968f0b4c3d641e973" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Reconstructs the EDC and ECC fields of a CD sector. < br / > < / td > < / tr >
< tr class = "memitem:a67c65c3f2ca5cdf1596c16fa35558df1" id = "r_a67c65c3f2ca5cdf1596c16fa35558df1" > < td class = "memItemLeft" align = "right" valign = "top" > uint32_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "#a67c65c3f2ca5cdf1596c16fa35558df1" > aaruf_edc_cd_compute< / a > (void *context, uint32_t edc, const uint8_t *src, int size, int pos)< / td > < / tr >
< tr class = "memdesc:a67c65c3f2ca5cdf1596c16fa35558df1" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Computes the EDC (Error Detection Code) for a CD sector. < br / > < / td > < / tr >
< / table >
< a name = "doc-func-members" id = "doc-func-members" > < / a > < h2 id = "header-doc-func-members" class = "groupheader" > Function Documentation< / h2 >
< a id = "a4e5ee3f9330f970b761de5566458ac3b" name = "a4e5ee3f9330f970b761de5566458ac3b" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a4e5ee3f9330f970b761de5566458ac3b" > ◆   < / a > < / span > aaruf_cd_lba_to_msf()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void aaruf_cd_lba_to_msf < / td >
< td > (< / td >
< td class = "paramtype" > const int64_t< / td > < td class = "paramname" > < span class = "paramname" > < em > pos< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > minute< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > second< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > frame< / em > < / span >   )< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Converts a CD LBA (Logical Block Address) to MSF (Minute:Second:Frame) format. < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > pos< / td > < td > LBA position. < / td > < / tr >
< tr > < td class = "paramname" > minute< / td > < td > Pointer to store the minute value. < / td > < / tr >
< tr > < td class = "paramname" > second< / td > < td > Pointer to store the second value. < / td > < / tr >
< tr > < td class = "paramname" > frame< / td > < td > Pointer to store the frame value. < / td > < / tr >
< / table >
< / dd >
< / dl >
2025-10-11 12:43:39 +01:00
< p class = "definition" > Definition at line < a class = "el" href = "ecc__cd_8c_source.html#l00374" > 374< / a > of file < a class = "el" href = "ecc__cd_8c_source.html" > ecc_cd.c< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > References < a class = "el" href = "decls_8h_source.html#l00045" > AARU_CALL< / a > , < a class = "el" href = "decls_8h_source.html#l00055" > AARU_LOCAL< / a > , and < a class = "el" href = "log_8h_source.html#l00025" > TRACE< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > Referenced by < a class = "el" href = "ecc__cd_8c_source.html#l00392" > aaruf_ecc_cd_reconstruct_prefix()< / a > .< / p >
2025-10-11 01:35:43 +01:00
< / div >
< / div >
< a id = "a1cd08adea9a778c2463b90ab9295dc3f" name = "a1cd08adea9a778c2463b90ab9295dc3f" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a1cd08adea9a778c2463b90ab9295dc3f" > ◆   < / a > < / span > aaruf_ecc_cd_check()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > bool aaruf_ecc_cd_check < / td >
< td > (< / td >
< td class = "paramtype" > void *< / td > < td class = "paramname" > < span class = "paramname" > < em > context< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > address< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > data< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > major_count< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > minor_count< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > major_mult< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > minor_inc< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > ecc< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const int32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > address_offset< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const int32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > data_offset< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const int32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > ecc_offset< / em > < / span >   )< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Checks the ECC of a CD sector. < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > context< / td > < td > Pointer to the ECC context. < / td > < / tr >
< tr > < td class = "paramname" > address< / td > < td > Pointer to the address field. < / td > < / tr >
< tr > < td class = "paramname" > data< / td > < td > Pointer to the data field. < / td > < / tr >
< tr > < td class = "paramname" > major_count< / td > < td > Number of major iterations. < / td > < / tr >
< tr > < td class = "paramname" > minor_count< / td > < td > Number of minor iterations. < / td > < / tr >
< tr > < td class = "paramname" > major_mult< / td > < td > Major multiplier. < / td > < / tr >
< tr > < td class = "paramname" > minor_inc< / td > < td > Minor increment. < / td > < / tr >
< tr > < td class = "paramname" > ecc< / td > < td > Pointer to the ECC field. < / td > < / tr >
< tr > < td class = "paramname" > address_offset< / td > < td > Offset for the address field. < / td > < / tr >
< tr > < td class = "paramname" > data_offset< / td > < td > Offset for the data field. < / td > < / tr >
< tr > < td class = "paramname" > ecc_offset< / td > < td > Offset for the ECC field. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > true if ECC is correct, false otherwise. < / dd > < / dl >
< p class = "definition" > Definition at line < a class = "el" href = "ecc__cd_8c_source.html#l00227" > 227< / a > of file < a class = "el" href = "ecc__cd_8c_source.html" > ecc_cd.c< / a > .< / p >
2025-10-11 12:43:39 +01:00
< p class = "reference" > References < a class = "el" href = "decls_8h_source.html#l00045" > AARU_CALL< / a > , < a class = "el" href = "decls_8h_source.html#l00054" > AARU_EXPORT< / a > , < a class = "el" href = "context_8h_source.html#l00088" > CdEccContext::ecc_b_table< / a > , < a class = "el" href = "context_8h_source.html#l00089" > CdEccContext::ecc_f_table< / a > , < a class = "el" href = "context_8h_source.html#l00087" > CdEccContext::inited_edc< / a > , and < a class = "el" href = "log_8h_source.html#l00025" > TRACE< / a > .< / p >
2025-10-11 01:35:43 +01:00
< p class = "reference" > Referenced by < a class = "el" href = "ecc__cd_8c_source.html#l00101" > aaruf_ecc_cd_is_suffix_correct()< / a > , and < a class = "el" href = "ecc__cd_8c_source.html#l00165" > aaruf_ecc_cd_is_suffix_correct_mode2()< / a > .< / p >
< / div >
< / div >
< a id = "ac1a30bb251ac148f485c51593c0740c1" name = "ac1a30bb251ac148f485c51593c0740c1" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac1a30bb251ac148f485c51593c0740c1" > ◆   < / a > < / span > aaruf_ecc_cd_init()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void * aaruf_ecc_cd_init < / td >
< td > (< / td >
< td class = "paramname" > < span class = "paramname" > < em > < / em > < / span > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Initializes a Compact Disc ECC context. < / p >
< p > Allocates and initializes a context for Compact Disc ECC calculations.< / p >
< dl class = "section return" > < dt > Returns< / dt > < dd > Pointer to the initialized < a class = "el" href = "structCdEccContext.html" title = "Lookup tables and state for Compact Disc EDC/ECC (P/Q) regeneration / verification." > CdEccContext< / a > structure, or NULL on failure. < / dd > < / dl >
< p class = "definition" > Definition at line < a class = "el" href = "ecc__cd_8c_source.html#l00035" > 35< / a > of file < a class = "el" href = "ecc__cd_8c_source.html" > ecc_cd.c< / a > .< / p >
2025-10-11 12:43:39 +01:00
< p class = "reference" > References < a class = "el" href = "decls_8h_source.html#l00045" > AARU_CALL< / a > , < a class = "el" href = "decls_8h_source.html#l00054" > AARU_EXPORT< / a > , < a class = "el" href = "context_8h_source.html#l00088" > CdEccContext::ecc_b_table< / a > , < a class = "el" href = "context_8h_source.html#l00089" > CdEccContext::ecc_f_table< / a > , < a class = "el" href = "context_8h_source.html#l00090" > CdEccContext::edc_table< / a > , < a class = "el" href = "context_8h_source.html#l00087" > CdEccContext::inited_edc< / a > , and < a class = "el" href = "log_8h_source.html#l00025" > TRACE< / a > .< / p >
2025-10-11 01:35:43 +01:00
< p class = "reference" > Referenced by < a class = "el" href = "create_8c_source.html#l00279" > aaruf_create()< / a > , and < a class = "el" href = "open_8c_source.html#l00125" > aaruf_open()< / a > .< / p >
< / div >
< / div >
< a id = "afbc09e16b1a654de04706e07c3212ecb" name = "afbc09e16b1a654de04706e07c3212ecb" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#afbc09e16b1a654de04706e07c3212ecb" > ◆   < / a > < / span > aaruf_ecc_cd_is_suffix_correct()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > bool aaruf_ecc_cd_is_suffix_correct < / td >
< td > (< / td >
< td class = "paramtype" > void *< / td > < td class = "paramname" > < span class = "paramname" > < em > context< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > sector< / em > < / span >   )< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Checks if the suffix (EDC/ECC) of a CD sector is correct (Mode 1). < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > context< / td > < td > Pointer to the ECC context. < / td > < / tr >
< tr > < td class = "paramname" > sector< / td > < td > Pointer to the sector data. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > true if the suffix is correct, false otherwise. < / dd > < / dl >
< p class = "definition" > Definition at line < a class = "el" href = "ecc__cd_8c_source.html#l00101" > 101< / a > of file < a class = "el" href = "ecc__cd_8c_source.html" > ecc_cd.c< / a > .< / p >
2025-10-11 12:43:39 +01:00
< p class = "reference" > References < a class = "el" href = "decls_8h_source.html#l00045" > AARU_CALL< / a > , < a class = "el" href = "decls_8h_source.html#l00054" > AARU_EXPORT< / a > , < a class = "el" href = "ecc__cd_8c_source.html#l00227" > aaruf_ecc_cd_check()< / a > , < a class = "el" href = "ecc__cd_8c_source.html#l00547" > aaruf_edc_cd_compute()< / a > , < a class = "el" href = "context_8h_source.html#l00087" > CdEccContext::inited_edc< / a > , and < a class = "el" href = "log_8h_source.html#l00025" > TRACE< / a > .< / p >
2025-10-11 01:35:43 +01:00
< p class = "reference" > Referenced by < a class = "el" href = "write_8c_source.html#l00532" > aaruf_write_sector_long()< / a > .< / p >
< / div >
< / div >
< a id = "ab77ca170a2e8d2f0a2a7ea1a8a51690a" name = "ab77ca170a2e8d2f0a2a7ea1a8a51690a" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ab77ca170a2e8d2f0a2a7ea1a8a51690a" > ◆   < / a > < / span > aaruf_ecc_cd_is_suffix_correct_mode2()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > bool aaruf_ecc_cd_is_suffix_correct_mode2 < / td >
< td > (< / td >
< td class = "paramtype" > void *< / td > < td class = "paramname" > < span class = "paramname" > < em > context< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > sector< / em > < / span >   )< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Checks if the suffix (EDC/ECC) of a CD sector is correct (Mode 2). < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > context< / td > < td > Pointer to the ECC context. < / td > < / tr >
< tr > < td class = "paramname" > sector< / td > < td > Pointer to the sector data. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > true if the suffix is correct, false otherwise. < / dd > < / dl >
< p class = "definition" > Definition at line < a class = "el" href = "ecc__cd_8c_source.html#l00165" > 165< / a > of file < a class = "el" href = "ecc__cd_8c_source.html" > ecc_cd.c< / a > .< / p >
2025-10-11 12:43:39 +01:00
< p class = "reference" > References < a class = "el" href = "decls_8h_source.html#l00045" > AARU_CALL< / a > , < a class = "el" href = "decls_8h_source.html#l00054" > AARU_EXPORT< / a > , < a class = "el" href = "ecc__cd_8c_source.html#l00227" > aaruf_ecc_cd_check()< / a > , < a class = "el" href = "ecc__cd_8c_source.html#l00547" > aaruf_edc_cd_compute()< / a > , < a class = "el" href = "context_8h_source.html#l00087" > CdEccContext::inited_edc< / a > , and < a class = "el" href = "log_8h_source.html#l00025" > TRACE< / a > .< / p >
2025-10-11 01:35:43 +01:00
< p class = "reference" > Referenced by < a class = "el" href = "write_8c_source.html#l00532" > aaruf_write_sector_long()< / a > .< / p >
< / div >
< / div >
< a id = "a5bf5a19fd4ec540968f0b4c3d641e973" name = "a5bf5a19fd4ec540968f0b4c3d641e973" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a5bf5a19fd4ec540968f0b4c3d641e973" > ◆   < / a > < / span > aaruf_ecc_cd_reconstruct()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void aaruf_ecc_cd_reconstruct < / td >
< td > (< / td >
< td class = "paramtype" > void *< / td > < td class = "paramname" > < span class = "paramname" > < em > context< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > sector< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t< / td > < td class = "paramname" > < span class = "paramname" > < em > type< / em > < / span >   )< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Reconstructs the EDC and ECC fields of a CD sector. < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > context< / td > < td > Pointer to the ECC context. < / td > < / tr >
< tr > < td class = "paramname" > sector< / td > < td > Pointer to the sector data (must be 2352 bytes). < / td > < / tr >
< tr > < td class = "paramname" > type< / td > < td > Track type (mode). < / td > < / tr >
< / table >
< / dd >
< / dl >
2025-10-11 12:43:39 +01:00
< p class = "definition" > Definition at line < a class = "el" href = "ecc__cd_8c_source.html#l00459" > 459< / a > of file < a class = "el" href = "ecc__cd_8c_source.html" > ecc_cd.c< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > References < a class = "el" href = "decls_8h_source.html#l00045" > AARU_CALL< / a > , < a class = "el" href = "decls_8h_source.html#l00054" > AARU_EXPORT< / a > , < a class = "el" href = "ecc__cd_8c_source.html#l00352" > aaruf_ecc_cd_write_sector()< / a > , < a class = "el" href = "ecc__cd_8c_source.html#l00547" > aaruf_edc_cd_compute()< / a > , < a class = "el" href = "enums_8h_source.html#l00197" > CdMode1< / a > , < a class = "el" href = "enums_8h_source.html#l00199" > CdMode2Form1< / a > , < a class = "el" href = "enums_8h_source.html#l00200" > CdMode2Form2< / a > , < a class = "el" href = "context_8h_source.html#l00087" > CdEccContext::inited_edc< / a > , and < a class = "el" href = "log_8h_source.html#l00025" > TRACE< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > Referenced by < a class = "el" href = "read_8c_source.html#l00826" > aaruf_read_sector_long()< / a > .< / p >
2025-10-11 01:35:43 +01:00
< / div >
< / div >
< a id = "a9dc3231aea6933691f5881914e8da1f6" name = "a9dc3231aea6933691f5881914e8da1f6" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a9dc3231aea6933691f5881914e8da1f6" > ◆   < / a > < / span > aaruf_ecc_cd_reconstruct_prefix()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void aaruf_ecc_cd_reconstruct_prefix < / td >
< td > (< / td >
< td class = "paramtype" > uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > sector< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t< / td > < td class = "paramname" > < span class = "paramname" > < em > type< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const int64_t< / td > < td class = "paramname" > < span class = "paramname" > < em > lba< / em > < / span >   )< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Reconstructs the prefix (sync, address, mode) of a CD sector. < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > sector< / td > < td > Pointer to the sector data (must be 2352 bytes). < / td > < / tr >
< tr > < td class = "paramname" > type< / td > < td > Track type (mode). < / td > < / tr >
< tr > < td class = "paramname" > lba< / td > < td > Logical Block Address. < / td > < / tr >
< / table >
< / dd >
< / dl >
2025-10-11 12:43:39 +01:00
< p class = "definition" > Definition at line < a class = "el" href = "ecc__cd_8c_source.html#l00392" > 392< / a > of file < a class = "el" href = "ecc__cd_8c_source.html" > ecc_cd.c< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > References < a class = "el" href = "decls_8h_source.html#l00045" > AARU_CALL< / a > , < a class = "el" href = "decls_8h_source.html#l00054" > AARU_EXPORT< / a > , < a class = "el" href = "ecc__cd_8c_source.html#l00374" > aaruf_cd_lba_to_msf()< / a > , < a class = "el" href = "enums_8h_source.html#l00197" > CdMode1< / a > , < a class = "el" href = "enums_8h_source.html#l00199" > CdMode2Form1< / a > , < a class = "el" href = "enums_8h_source.html#l00200" > CdMode2Form2< / a > , < a class = "el" href = "enums_8h_source.html#l00198" > CdMode2Formless< / a > , and < a class = "el" href = "log_8h_source.html#l00025" > TRACE< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > Referenced by < a class = "el" href = "read_8c_source.html#l00826" > aaruf_read_sector_long()< / a > .< / p >
2025-10-11 01:35:43 +01:00
< / div >
< / div >
< a id = "a330d4bda939de120a160592c0bdb703d" name = "a330d4bda939de120a160592c0bdb703d" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a330d4bda939de120a160592c0bdb703d" > ◆   < / a > < / span > aaruf_ecc_cd_write()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void aaruf_ecc_cd_write < / td >
< td > (< / td >
< td class = "paramtype" > void *< / td > < td class = "paramname" > < span class = "paramname" > < em > context< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > address< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > data< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > major_count< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > minor_count< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > major_mult< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > minor_inc< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > ecc< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const int32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > address_offset< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const int32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > data_offset< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const int32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > ecc_offset< / em > < / span >   )< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Writes ECC for a CD sector. < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > context< / td > < td > Pointer to the ECC context. < / td > < / tr >
< tr > < td class = "paramname" > address< / td > < td > Pointer to the address field. < / td > < / tr >
< tr > < td class = "paramname" > data< / td > < td > Pointer to the data field. < / td > < / tr >
< tr > < td class = "paramname" > major_count< / td > < td > Number of major iterations. < / td > < / tr >
< tr > < td class = "paramname" > minor_count< / td > < td > Number of minor iterations. < / td > < / tr >
< tr > < td class = "paramname" > major_mult< / td > < td > Major multiplier. < / td > < / tr >
< tr > < td class = "paramname" > minor_inc< / td > < td > Minor increment. < / td > < / tr >
< tr > < td class = "paramname" > ecc< / td > < td > Pointer to the ECC field to write. < / td > < / tr >
< tr > < td class = "paramname" > address_offset< / td > < td > Offset for the address field. < / td > < / tr >
< tr > < td class = "paramname" > data_offset< / td > < td > Offset for the data field. < / td > < / tr >
< tr > < td class = "paramname" > ecc_offset< / td > < td > Offset for the ECC field. < / td > < / tr >
< / table >
< / dd >
< / dl >
2025-10-11 12:43:39 +01:00
< p class = "definition" > Definition at line < a class = "el" href = "ecc__cd_8c_source.html#l00293" > 293< / a > of file < a class = "el" href = "ecc__cd_8c_source.html" > ecc_cd.c< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > References < a class = "el" href = "decls_8h_source.html#l00045" > AARU_CALL< / a > , < a class = "el" href = "decls_8h_source.html#l00054" > AARU_EXPORT< / a > , < a class = "el" href = "context_8h_source.html#l00088" > CdEccContext::ecc_b_table< / a > , < a class = "el" href = "context_8h_source.html#l00089" > CdEccContext::ecc_f_table< / a > , < a class = "el" href = "context_8h_source.html#l00087" > CdEccContext::inited_edc< / a > , and < a class = "el" href = "log_8h_source.html#l00025" > TRACE< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > Referenced by < a class = "el" href = "ecc__cd_8c_source.html#l00352" > aaruf_ecc_cd_write_sector()< / a > .< / p >
2025-10-11 01:35:43 +01:00
< / div >
< / div >
< a id = "ab541a4ae9c6568d4dad8df5101ebad58" name = "ab541a4ae9c6568d4dad8df5101ebad58" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ab541a4ae9c6568d4dad8df5101ebad58" > ◆   < / a > < / span > aaruf_ecc_cd_write_sector()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void aaruf_ecc_cd_write_sector < / td >
< td > (< / td >
< td class = "paramtype" > void *< / td > < td class = "paramname" > < span class = "paramname" > < em > context< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > address< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > data< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > ecc< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const int32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > address_offset< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const int32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > data_offset< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const int32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > ecc_offset< / em > < / span >   )< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Writes ECC for a full CD sector (both P and Q ECC). < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > context< / td > < td > Pointer to the ECC context. < / td > < / tr >
< tr > < td class = "paramname" > address< / td > < td > Pointer to the address field. < / td > < / tr >
< tr > < td class = "paramname" > data< / td > < td > Pointer to the data field. < / td > < / tr >
< tr > < td class = "paramname" > ecc< / td > < td > Pointer to the ECC field to write. < / td > < / tr >
< tr > < td class = "paramname" > address_offset< / td > < td > Offset for the address field. < / td > < / tr >
< tr > < td class = "paramname" > data_offset< / td > < td > Offset for the data field. < / td > < / tr >
< tr > < td class = "paramname" > ecc_offset< / td > < td > Offset for the ECC field. < / td > < / tr >
< / table >
< / dd >
< / dl >
2025-10-11 12:43:39 +01:00
< p class = "definition" > Definition at line < a class = "el" href = "ecc__cd_8c_source.html#l00352" > 352< / a > of file < a class = "el" href = "ecc__cd_8c_source.html" > ecc_cd.c< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > References < a class = "el" href = "decls_8h_source.html#l00045" > AARU_CALL< / a > , < a class = "el" href = "decls_8h_source.html#l00054" > AARU_EXPORT< / a > , < a class = "el" href = "ecc__cd_8c_source.html#l00293" > aaruf_ecc_cd_write()< / a > , and < a class = "el" href = "log_8h_source.html#l00025" > TRACE< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > Referenced by < a class = "el" href = "ecc__cd_8c_source.html#l00459" > aaruf_ecc_cd_reconstruct()< / a > .< / p >
2025-10-11 01:35:43 +01:00
< / div >
< / div >
< a id = "a67c65c3f2ca5cdf1596c16fa35558df1" name = "a67c65c3f2ca5cdf1596c16fa35558df1" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a67c65c3f2ca5cdf1596c16fa35558df1" > ◆   < / a > < / span > aaruf_edc_cd_compute()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > uint32_t aaruf_edc_cd_compute < / td >
< td > (< / td >
< td class = "paramtype" > void *< / td > < td class = "paramname" > < span class = "paramname" > < em > context< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint32_t< / td > < td class = "paramname" > < span class = "paramname" > < em > edc< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *< / td > < td class = "paramname" > < span class = "paramname" > < em > src< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > int< / td > < td class = "paramname" > < span class = "paramname" > < em > size< / em > < / span > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > int< / td > < td class = "paramname" > < span class = "paramname" > < em > pos< / em > < / span >   )< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Computes the EDC (Error Detection Code) for a CD sector. < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > context< / td > < td > Pointer to the ECC context. < / td > < / tr >
< tr > < td class = "paramname" > edc< / td > < td > Initial EDC value. < / td > < / tr >
< tr > < td class = "paramname" > src< / td > < td > Pointer to the data to compute EDC over. < / td > < / tr >
< tr > < td class = "paramname" > size< / td > < td > Number of bytes to process. < / td > < / tr >
< tr > < td class = "paramname" > pos< / td > < td > Starting position in the data. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > Computed EDC value. < / dd > < / dl >
2025-10-11 12:43:39 +01:00
< p class = "definition" > Definition at line < a class = "el" href = "ecc__cd_8c_source.html#l00547" > 547< / a > of file < a class = "el" href = "ecc__cd_8c_source.html" > ecc_cd.c< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > References < a class = "el" href = "decls_8h_source.html#l00045" > AARU_CALL< / a > , < a class = "el" href = "decls_8h_source.html#l00054" > AARU_EXPORT< / a > , < a class = "el" href = "context_8h_source.html#l00090" > CdEccContext::edc_table< / a > , < a class = "el" href = "context_8h_source.html#l00087" > CdEccContext::inited_edc< / a > , and < a class = "el" href = "log_8h_source.html#l00025" > TRACE< / a > .< / p >
2025-10-11 01:35:43 +01:00
2025-10-11 12:43:39 +01:00
< p class = "reference" > Referenced by < a class = "el" href = "ecc__cd_8c_source.html#l00101" > aaruf_ecc_cd_is_suffix_correct()< / a > , < a class = "el" href = "ecc__cd_8c_source.html#l00165" > aaruf_ecc_cd_is_suffix_correct_mode2()< / a > , < a class = "el" href = "ecc__cd_8c_source.html#l00459" > aaruf_ecc_cd_reconstruct()< / a > , and < a class = "el" href = "write_8c_source.html#l00532" > aaruf_write_sector_long()< / a > .< / p >
2025-10-11 01:35:43 +01:00
< / 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_68267d1309a1af8e8297ef4c3efbcdba.html" > src< / a > < / li > < li class = "navelem" > < a href = "dir_6b3196bdf3f485a11a190486a5644c9a.html" > checksum< / a > < / li > < li class = "navelem" > < a href = "ecc__cd_8c.html" > ecc_cd.c< / 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 >