57 lines
2.3 KiB
JSON
57 lines
2.3 KiB
JSON
{
|
|
"reference": "EterBase/CRC32.cpp",
|
|
"reference_sha256": "80bbbc71a273097830279d96c7d7ac28df6d043675711eb1b6f28a9801a83016",
|
|
"priority": "P4",
|
|
"contracts": [],
|
|
"functions": {
|
|
"GetCRC32": {
|
|
"impl": [
|
|
"src/platform/EterBase/CRC32.cpp:GetCRC32"
|
|
],
|
|
"status": "ADAPTED",
|
|
"note": "platform CRC32 table implementation; same polynomial and GetCRC32 values (checked against every stored filename_crc)",
|
|
"test": "tests/port/port_eterpack_test.cpp (103 packs, 54891 entries, first-registered wins, 4 SECURITY rejects)"
|
|
},
|
|
"GetCaseCRC32": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"src/platform/EterBase/CRC32.cpp:GetCaseCRC32"
|
|
],
|
|
"test": [
|
|
"tests/port/port_utils_test.cpp"
|
|
],
|
|
"note": "Verbatim 40250 loop (UPPER fold); CRCTable generated from 0xEDB88320, identical to the literal 40250 table."
|
|
},
|
|
"GetHFILECRC32": {
|
|
"status": "ADAPTED",
|
|
"impl": [
|
|
"src/platform/EterBase/CRC32.cpp:GetHFILECRC32"
|
|
],
|
|
"test": [
|
|
"tests/port/port_utils_test.cpp"
|
|
],
|
|
"note": "40250 maps the file (CreateFile + CreateFileMapping/MapViewOfFile from offset 0) and CRCs the whole view; the port reads the whole FILE* into a buffer. Invariant: same CRC of the full file, the handle's position is unchanged, 0 when the file cannot be opened."
|
|
},
|
|
"GetFileCRC32": {
|
|
"status": "ADAPTED",
|
|
"impl": [
|
|
"src/platform/EterBase/CRC32.cpp:GetFileCRC32"
|
|
],
|
|
"test": [
|
|
"tests/port/port_utils_test.cpp"
|
|
],
|
|
"note": "40250 maps the file (CreateFile + CreateFileMapping/MapViewOfFile from offset 0) and CRCs the whole view; the port reads the whole FILE* into a buffer. Invariant: same CRC of the full file, the handle's position is unchanged, 0 when the file cannot be opened. Callers: GuildMarkUploader/GuildMarkDownloader symbol CRC, root pack CRC report."
|
|
},
|
|
"GetFileSize": {
|
|
"status": "ADAPTED",
|
|
"impl": [
|
|
"src/platform/EterBase/CRC32.cpp:GetFileSize"
|
|
],
|
|
"test": [
|
|
"tests/port/port_utils_test.cpp"
|
|
],
|
|
"note": "CreateFile + GetFileSize -> fopen + ftell(SEEK_END); 0 when the file is missing (40250 returns 0 on INVALID_HANDLE_VALUE). Caller: GuildMarkDownloader symbol size."
|
|
}
|
|
}
|
|
}
|