From dbcb654f8a24ff1bd29351269c065d2bcf6d83ac Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 7 Nov 2024 03:05:06 -0500 Subject: [PATCH] Add name field for CRC definitions --- SabreTools.Hashing/Crc/CrcDefinition.cs | 5 ++ SabreTools.Hashing/Crc/StandardDefinitions.cs | 59 +++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/SabreTools.Hashing/Crc/CrcDefinition.cs b/SabreTools.Hashing/Crc/CrcDefinition.cs index eb7e8fd..a6c0af1 100644 --- a/SabreTools.Hashing/Crc/CrcDefinition.cs +++ b/SabreTools.Hashing/Crc/CrcDefinition.cs @@ -3,6 +3,11 @@ namespace SabreTools.Hashing.Crc /// internal class CrcDefinition { + /// + /// The name assigned to the model in this Catalogue. + /// + public string? Name { get; set; } + /// /// The number of bit cells in the linear feedback shift register; /// the degree of the generator polynomial, less one. diff --git a/SabreTools.Hashing/Crc/StandardDefinitions.cs b/SabreTools.Hashing/Crc/StandardDefinitions.cs index ac5b893..8415c3e 100644 --- a/SabreTools.Hashing/Crc/StandardDefinitions.cs +++ b/SabreTools.Hashing/Crc/StandardDefinitions.cs @@ -10,6 +10,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_ARC = new() { + Name = "CRC-16/ARC", Width = 16, Poly = 0x8005, Init = 0x0000, @@ -23,6 +24,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_CDMA2000 = new() { + Name = "CRC-16/CDMA2000", Width = 16, Poly = 0xc867, Init = 0xffff, @@ -36,6 +38,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_CMS = new() { + Name = "CRC-16/CMS", Width = 16, Poly = 0x8005, Init = 0xffff, @@ -49,6 +52,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_DDS110 = new() { + Name = "CRC-16/DDS-110", Width = 16, Poly = 0x8005, Init = 0x800d, @@ -62,6 +66,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_DECTR = new() { + Name = "CRC-16/DECT-R", Width = 16, Poly = 0x0589, Init = 0x0000, @@ -75,6 +80,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_DECTX = new() { + Name = "CRC-16/DECT-X ", Width = 16, Poly = 0x0589, Init = 0x0000, @@ -88,6 +94,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_DNP = new() { + Name = "CRC-16/DNP", Width = 16, Poly = 0x3d65, Init = 0x0000, @@ -101,6 +108,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_EN13757 = new() { + Name = "CRC-16/EN-13757", Width = 16, Poly = 0x3d65, Init = 0x0000, @@ -114,6 +122,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_GENIBUS = new() { + Name = "CRC-16/GENIBUS", Width = 16, Poly = 0x1021, Init = 0xffff, @@ -127,6 +136,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_GSM = new() { + Name = "CRC-16/GSM", Width = 16, Poly = 0x1021, Init = 0x0000, @@ -140,6 +150,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_IBM3740 = new() { + Name = "CRC-16/IBM-3740", Width = 16, Poly = 0x1021, Init = 0xffff, @@ -153,6 +164,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_IBMSDLC = new() { + Name = "CRC-16/IBM-SDLC", Width = 16, Poly = 0x1021, Init = 0xffff, @@ -166,6 +178,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_ISOIEC144433A = new() { + Name = "CRC-16/ISO-IEC-14443-3-A", Width = 16, Poly = 0x1021, Init = 0xc6c6, @@ -179,6 +192,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_KERMIT = new() { + Name = "CRC-16/KERMIT", Width = 16, Poly = 0x1021, Init = 0x0000, @@ -192,6 +206,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_LJ1200 = new() { + Name = "CRC-16/LJ1200", Width = 16, Poly = 0x6f63, Init = 0x0000, @@ -205,6 +220,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_M17 = new() { + Name = "CRC-16/M17", Width = 16, Poly = 0x5935, Init = 0xffff, @@ -218,6 +234,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_MAXIMDOW = new() { + Name = "CRC-16/MAXIM-DOW [CRC-16/MAXIM]", Width = 16, Poly = 0x8005, Init = 0x0000, @@ -231,6 +248,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_MCRF4XX = new() { + Name = "CRC-16/MCRF4XX", Width = 16, Poly = 0x1021, Init = 0xffff, @@ -244,6 +262,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_MODBUS = new() { + Name = "CRC-16/MODBUS", Width = 16, Poly = 0x8005, Init = 0xffff, @@ -257,6 +276,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_NRSC5 = new() { + Name = "CRC-16/NRSC-5", Width = 16, Poly = 0x080b, Init = 0xffff, @@ -270,6 +290,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_OPENSAFETYA = new() { + Name = "CRC-16/OPENSAFETY-A", Width = 16, Poly = 0x5935, Init = 0x0000, @@ -283,6 +304,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_OPENSAFETYB = new() { + Name = "CRC-16/OPENSAFETY-B", Width = 16, Poly = 0x755b, Init = 0x0000, @@ -296,6 +318,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_PROFIBUS = new() { + Name = "CRC-16/PROFIBUS", Width = 16, Poly = 0x1dcf, Init = 0xffff, @@ -309,6 +332,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_RIELLO = new() { + Name = "CRC-16/RIELLO", Width = 16, Poly = 0x1021, Init = 0xb2aa, @@ -322,6 +346,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_SPIFUJITSU = new() { + Name = "CRC-16/SPI-FUJITSU", Width = 16, Poly = 0x1021, Init = 0x1d0f, @@ -335,6 +360,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_T10DIF = new() { + Name = "CRC-16/T10-DIF", Width = 16, Poly = 0x8bb7, Init = 0x0000, @@ -348,6 +374,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_TELEDISK = new() { + Name = "CRC-16/TELEDISK", Width = 16, Poly = 0xa097, Init = 0x0000, @@ -361,6 +388,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_TMS37157 = new() { + Name = "CRC-16/TMS37157", Width = 16, Poly = 0x1021, Init = 0x89ec, @@ -374,6 +402,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_UMTS = new() { + Name = "CRC-16/UMTS", Width = 16, Poly = 0x8005, Init = 0x0000, @@ -387,6 +416,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_USB = new() { + Name = "CRC-16/USB", Width = 16, Poly = 0x8005, Init = 0xffff, @@ -400,6 +430,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC16_XMODEM = new() { + Name = "CRC-16/XMODEM", Width = 16, Poly = 0x1021, Init = 0x0000, @@ -417,6 +448,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC24_BLE = new() { + Name = "CRC-24/BLE", Width = 24, Poly = 0x00065b, Init = 0x555555, @@ -430,6 +462,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC24_FLEXRAYA = new() { + Name = "CRC-24/FLEXRAY-A", Width = 24, Poly = 0x5d6dcb, Init = 0xfedcba, @@ -443,6 +476,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC24_FLEXRAYB = new() { + Name = "CRC-24/FLEXRAY-B", Width = 24, Poly = 0x5d6dcb, Init = 0xabcdef, @@ -456,6 +490,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC24_INTERLAKEN = new() { + Name = "CRC-24/INTERLAKEN", Width = 24, Poly = 0x328b63, Init = 0xffffff, @@ -469,6 +504,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC24_LTEA = new() { + Name = "CRC-24/LTE-A", Width = 24, Poly = 0x864cfb, Init = 0x000000, @@ -482,6 +518,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC24_LTEB = new() { + Name = "CRC-24/LTE-B", Width = 24, Poly = 0x800063, Init = 0x000000, @@ -495,6 +532,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC24_OPENPGP = new() { + Name = "CRC-24/OPENPGP", Width = 24, Poly = 0x864cfb, Init = 0xb704ce, @@ -508,6 +546,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC24_OS9 = new() { + Name = "CRC-24/OS-9", Width = 24, Poly = 0x800063, Init = 0xffffff, @@ -525,6 +564,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_AIXM = new() { + Name = "CRC-32/AIXM", Width = 32, Poly = 0x814141ab, Init = 0x00000000, @@ -538,6 +578,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_AUTOSAR = new() { + Name = "CRC-32/AUTOSAR", Width = 32, Poly = 0xf4acfb13, Init = 0xffffffff, @@ -551,6 +592,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_BASE91D = new() { + Name = "CRC-32/BASE91-D", Width = 32, Poly = 0xa833982b, Init = 0xffffffff, @@ -564,6 +606,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_BZIP2 = new() { + Name = "CRC-32/BZIP2", Width = 32, Poly = 0x04c11db7, Init = 0xffffffff, @@ -577,6 +620,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_CDROMEDC = new() { + Name = "CRC-32/CD-ROM-EDC", Width = 32, Poly = 0x8001801b, Init = 0x00000000, @@ -590,6 +634,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_CKSUM = new() { + Name = "CRC-32/CKSUM", Width = 32, Poly = 0x04c11db7, Init = 0x00000000, @@ -603,6 +648,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_ISCSI = new() { + Name = "CRC-32/ISCSI", Width = 32, Poly = 0x1edc6f41, Init = 0xffffffff, @@ -616,6 +662,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_ISOHDLC = new() { + Name = "CRC-32/ISO-HDLC", Width = 32, Poly = 0x04c11db7, Init = 0xffffffff, @@ -629,6 +676,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_JAMCRC = new() { + Name = "CRC-32/JAMCRC", Width = 32, Poly = 0x04c11db7, Init = 0xffffffff, @@ -642,6 +690,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_MEF = new() { + Name = "CRC-32/MEF", Width = 32, Poly = 0x741b8cd7, Init = 0xffffffff, @@ -655,6 +704,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_MPEG2 = new() { + Name = "CRC-32/MPEG-2", Width = 32, Poly = 0x04c11db7, Init = 0xffffffff, @@ -668,6 +718,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC32_XFER = new() { + Name = "CRC-32/XFER", Width = 32, Poly = 0x000000af, Init = 0x00000000, @@ -685,6 +736,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC40_GSM = new() { + Name = "CRC-40/GSM", Width = 40, Poly = 0x0004820009, Init = 0x0000000000, @@ -702,6 +754,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC64_ECMA182 = new() { + Name = "CRC-64/ECMA-182", Width = 64, Poly = 0x42f0e1eba9ea3693, Init = 0x0000000000000000, @@ -715,6 +768,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC64_GOISO = new() { + Name = "CRC-64/GO-ISO", Width = 64, Poly = 0x000000000000001b, Init = 0xffffffffffffffff, @@ -728,6 +782,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC64_MS = new() { + Name = "CRC-64/MS", Width = 64, Poly = 0x259c84cba6426349, Init = 0xffffffffffffffff, @@ -741,6 +796,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC64_NVME = new() { + Name = "CRC-64/NVME", Width = 64, Poly = 0xad93d23594c93659, Init = 0xffffffffffffffff, @@ -754,6 +810,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC64_REDIS = new() { + Name = "CRC-64/REDIS", Width = 64, Poly = 0xad93d23594c935a9, Init = 0x0000000000000000, @@ -767,6 +824,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC64_WE = new() { + Name = "CRC-64/WE", Width = 64, Poly = 0x42f0e1eba9ea3693, Init = 0xffffffffffffffff, @@ -780,6 +838,7 @@ namespace SabreTools.Hashing.Crc /// public static readonly CrcDefinition CRC64_XZ = new() { + Name = "CRC-64/XZ", Width = 64, Poly = 0x42f0e1eba9ea3693, Init = 0xffffffffffffffff,