From 855af8cc1881c4d393a8779197e3a2d85c5f8659 Mon Sep 17 00:00:00 2001 From: Ivor D'Souza Date: Sat, 30 Nov 2024 20:26:05 +0000 Subject: [PATCH 1/9] feat(crc32): add crc32 vrl function docs --- website/cue/reference/remap/functions.cue | 3 +- .../cue/reference/remap/functions/crc32.cue | 29 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 website/cue/reference/remap/functions/crc32.cue diff --git a/website/cue/reference/remap/functions.cue b/website/cue/reference/remap/functions.cue index 898782c44fffb..d739d474fec60 100644 --- a/website/cue/reference/remap/functions.cue +++ b/website/cue/reference/remap/functions.cue @@ -28,7 +28,7 @@ remap: { pure: bool | *true } - #FunctionCategory: "Array" | "Codec" | "Coerce" | "Convert" | "Debug" | "Enrichment" | "Enumerate" | "Event" | "Path" | "Cryptography" | "IP" | "Number" | "Object" | "Parse" | "Random" | "String" | "System" | "Timestamp" | "Type" + #FunctionCategory: "Array" | "Codec" | "Coerce" | "Convert" | "Debug" | "Enrichment" | "Enumerate" | "Event" | "Path" | "Cryptography" | "IP" | "Number" | "Object" | "Parse" | "Random" | "String" | "System" | "Timestamp" | "Type" | "Checksum" // A helper array for generating docs. At some point, we should generate this from the // #FunctionCategory enum if CUE adds support for that. @@ -52,6 +52,7 @@ remap: { "System", "Timestamp", "Type", + "Checksum", ] functions: [Name=string]: #Function & { diff --git a/website/cue/reference/remap/functions/crc32.cue b/website/cue/reference/remap/functions/crc32.cue new file mode 100644 index 0000000000000..96f2c55409a5c --- /dev/null +++ b/website/cue/reference/remap/functions/crc32.cue @@ -0,0 +1,29 @@ +package metadata + +remap: functions: crc32: { + category: "Checksum" + description: """ + Calculates a CRC32 of the `value`. + """ + + arguments: [ + { + name: "value" + description: "The string to calculate the checksum for." + required: true + type: ["string"] + }, + ] + internal_failure_reasons: [] + return: types: ["string"] + + examples: [ + { + title: "Create CRC32 checksum" + source: #""" + crc32("foo") + """# + return: "8c736521" + }, + ] +} From a9b10d9638914f25340a0edeb0a799e98c0b12b4 Mon Sep 17 00:00:00 2001 From: Jesse Szwedko Date: Wed, 4 Dec 2024 17:07:42 -0800 Subject: [PATCH 2/9] Update website/cue/reference/remap/functions/crc32.cue --- website/cue/reference/remap/functions/crc32.cue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/cue/reference/remap/functions/crc32.cue b/website/cue/reference/remap/functions/crc32.cue index 96f2c55409a5c..85eb47a6b9f4f 100644 --- a/website/cue/reference/remap/functions/crc32.cue +++ b/website/cue/reference/remap/functions/crc32.cue @@ -3,7 +3,7 @@ package metadata remap: functions: crc32: { category: "Checksum" description: """ - Calculates a CRC32 of the `value`. + Calculates a CRC32 of the string,`value`. """ arguments: [ From 08c486d14413763f43b80d70b1261cc875a8550f Mon Sep 17 00:00:00 2001 From: Ivor D'Souza Date: Tue, 10 Dec 2024 22:29:53 +0000 Subject: [PATCH 3/9] add crc algorithm param --- website/cue/reference/remap/functions/crc.cue | 161 ++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 website/cue/reference/remap/functions/crc.cue diff --git a/website/cue/reference/remap/functions/crc.cue b/website/cue/reference/remap/functions/crc.cue new file mode 100644 index 0000000000000..4b24d8aad68ae --- /dev/null +++ b/website/cue/reference/remap/functions/crc.cue @@ -0,0 +1,161 @@ +package metadata + +remap: functions: crc: { + category: "Checksum" + description: """ + Calculates a CRC of the `value`. + The CRC `algorithm` used can be optionally specified. + + This function is infallible if either the default `algorithm` value or a recognized-valid compile-time + `algorithm` string literal is used. Otherwise, it is fallible. + """ + + arguments: [ + { + name: "value" + description: "The string to calculate the checksum for." + required: true + type: ["string"] + }, + { + name: "algorithm" + description: "The CRC algorithm to use." + enum: { + "CRC_3_GSM": "3-bit CRC used in GSM telecommunications for error detection", + "CRC_3_ROHC": "3-bit CRC used in Robust Header Compression (ROHC) protocol", + "CRC_4_G_704": "4-bit CRC specified in ITU-T G.704 for synchronous communication systems", + "CRC_4_INTERLAKEN": "4-bit CRC used in Interlaken high-speed serial communication protocol", + "CRC_5_EPC_C1G2": "5-bit CRC used in EPC Gen 2 RFID (Radio-Frequency Identification) standard", + "CRC_5_G_704": "5-bit CRC variant in ITU-T G.704 telecommunication standard", + "CRC_5_USB": "5-bit CRC used in USB communication for detecting transmission errors", + "CRC_6_CDMA2000_A": "6-bit CRC variant used in CDMA2000 network protocols", + "CRC_6_CDMA2000_B": "Alternative 6-bit CRC variant for CDMA2000 network protocols", + "CRC_6_DARC": "6-bit CRC used in DARC (Digital Audio Radio Channel) communication", + "CRC_6_GSM": "6-bit CRC variant used in GSM telecommunications", + "CRC_6_G_704": "6-bit CRC specified in ITU-T G.704 for synchronous communication", + "CRC_7_MMC": "7-bit CRC used in MultiMediaCard (MMC) storage systems for error detection", + "CRC_7_ROHC": "7-bit CRC used in Robust Header Compression (ROHC) protocol", + "CRC_7_UMTS": "7-bit CRC used in UMTS (Universal Mobile Telecommunications System)", + "CRC_8_AUTOSAR": "8-bit CRC used in AUTOSAR (Automotive Open System Architecture) standard", + "CRC_8_BLUETOOTH": "8-bit CRC polynomial used in Bluetooth communication protocols", + "CRC_8_CDMA2000": "8-bit CRC used in CDMA2000 cellular communication standard", + "CRC_8_DARC": "8-bit CRC used in DARC (Digital Audio Radio Channel) communication", + "CRC_8_DVB_S2": "8-bit CRC used in DVB-S2 (Digital Video Broadcasting Satellite Second Generation)", + "CRC_8_GSM_A": "8-bit CRC variant A used in GSM telecommunications", + "CRC_8_GSM_B": "8-bit CRC variant B used in GSM telecommunications", + "CRC_8_HITAG": "8-bit CRC used in Hitag RFID and transponder systems", + "CRC_8_I_432_1": "8-bit CRC specified in IEEE 1432.1 standard", + "CRC_8_I_CODE": "8-bit CRC used in I-CODE RFID systems", + "CRC_8_LTE": "8-bit CRC used in LTE (Long-Term Evolution) cellular networks", + "CRC_8_MAXIM_DOW": "8-bit CRC used by Maxim/Dallas Semiconductor for 1-Wire and iButton devices", + "CRC_8_MIFARE_MAD": "8-bit CRC used in MIFARE MAD (Multiple Application Directory) protocol", + "CRC_8_NRSC_5": "8-bit CRC used in NRSC-5 digital radio broadcasting standard", + "CRC_8_OPENSAFETY": "8-bit CRC used in OpenSAFETY industrial communication protocol", + "CRC_8_ROHC": "8-bit CRC used in Robust Header Compression (ROHC) protocol", + "CRC_8_SAE_J1850": "8-bit CRC used in SAE J1850 automotive communication protocol", + "CRC_8_SMBUS": "8-bit CRC used in System Management Bus (SMBus) communication", + "CRC_8_TECH_3250": "8-bit CRC used in SMPTE (Society of Motion Picture and Television Engineers) standard", + "CRC_8_WCDMA": "8-bit CRC used in WCDMA (Wideband Code Division Multiple Access) networks", + "CRC_10_ATM": "10-bit CRC used in ATM (Asynchronous Transfer Mode) cell headers", + "CRC_10_CDMA2000": "10-bit CRC used in CDMA2000 cellular communication standard", + "CRC_10_GSM": "10-bit CRC variant used in GSM telecommunications", + "CRC_11_FLEXRAY": "11-bit CRC used in FlexRay automotive communication protocol", + "CRC_11_UMTS": "11-bit CRC used in UMTS (Universal Mobile Telecommunications System)", + "CRC_12_CDMA2000": "12-bit CRC used in CDMA2000 cellular communication standard", + "CRC_12_DECT": "12-bit CRC used in DECT (Digital Enhanced Cordless Telecommunications) standards", + "CRC_12_GSM": "12-bit CRC variant used in GSM telecommunications", + "CRC_12_UMTS": "12-bit CRC used in UMTS (Universal Mobile Telecommunications System)", + "CRC_13_BBC": "13-bit CRC used in BBC (British Broadcasting Corporation) digital transmission", + "CRC_14_DARC": "14-bit CRC used in DARC (Digital Audio Radio Channel) communication", + "CRC_14_GSM": "14-bit CRC variant used in GSM telecommunications", + "CRC_15_CAN": "15-bit CRC used in CAN (Controller Area Network) automotive communication", + "CRC_15_MPT1327": "15-bit CRC used in MPT 1327 radio trunking system", + "CRC_16_ARC": "16-bit CRC used in ARC (Adaptive Routing Code) communication", + "CRC_16_CDMA2000": "16-bit CRC used in CDMA2000 cellular communication standard", + "CRC_16_CMS": "16-bit CRC used in Content Management Systems for data integrity", + "CRC_16_DDS_110": "16-bit CRC used in DDS (Digital Data Storage) standard", + "CRC_16_DECT_R": "16-bit CRC variant R used in DECT communication", + "CRC_16_DECT_X": "16-bit CRC variant X used in DECT communication", + "CRC_16_DNP": "16-bit CRC used in DNP3 (Distributed Network Protocol) for utilities", + "CRC_16_EN_13757": "16-bit CRC specified in EN 13757 for meter communication", + "CRC_16_GENIBUS": "16-bit CRC used in GENIBUS communication protocol", + "CRC_16_GSM": "16-bit CRC variant used in GSM telecommunications", + "CRC_16_IBM_3740": "16-bit CRC used in IBM 3740 data integrity checks", + "CRC_16_IBM_SDLC": "16-bit CRC used in IBM SDLC (Synchronous Data Link Control)", + "CRC_16_ISO_IEC_14443_3_A": "16-bit CRC used in ISO/IEC 14443-3 Type A contactless smart cards", + "CRC_16_KERMIT": "16-bit CRC used in Kermit file transfer protocol", + "CRC_16_LJ1200": "16-bit CRC used in LJ1200 communication system", + "CRC_16_M17": "16-bit CRC used in M17 digital radio communication", + "CRC_16_MAXIM_DOW": "16-bit CRC used by Maxim/Dallas Semiconductor for data integrity", + "CRC_16_MCRF4XX": "16-bit CRC used in MCRF4XX RFID systems", + "CRC_16_MODBUS": "16-bit CRC used in Modbus communication protocol for error detection", + "CRC_16_NRSC_5": "16-bit CRC used in NRSC-5 digital radio broadcasting standard", + "CRC_16_OPENSAFETY_A": "16-bit CRC variant A in OpenSAFETY industrial communication", + "CRC_16_OPENSAFETY_B": "16-bit CRC variant B in OpenSAFETY industrial communication", + "CRC_16_PROFIBUS": "16-bit CRC used in PROFIBUS industrial communication protocol", + "CRC_16_RIELLO": "16-bit CRC used in Riello UPS communication", + "CRC_16_SPI_FUJITSU": "16-bit CRC used in Fujitsu SPI (Serial Peripheral Interface) communication", + "CRC_16_T10_DIF": "16-bit CRC used in T10 DIF (Data Integrity Field) standard", + "CRC_16_TELEDISK": "16-bit CRC used in Teledisk disk image format", + "CRC_16_TMS37157": "16-bit CRC used in TMS37157 microcontroller communication", + "CRC_16_UMTS": "16-bit CRC used in UMTS (Universal Mobile Telecommunications System)", + "CRC_16_USB": "16-bit CRC used in USB communication for error detection", + "CRC_16_XMODEM": "16-bit CRC used in XMODEM file transfer protocol", + "CRC_17_CAN_FD": "17-bit CRC used in CAN FD (Flexible Data-Rate) automotive communication protocol", + "CRC_21_CAN_FD": "21-bit CRC variant used in CAN FD (Flexible Data-Rate) automotive communication", + "CRC_24_BLE": "24-bit CRC used in Bluetooth Low Energy (BLE) packet error checking", + "CRC_24_FLEXRAY_A": "24-bit CRC variant A used in FlexRay automotive communication protocol", + "CRC_24_FLEXRAY_B": "24-bit CRC variant B used in FlexRay automotive communication protocol", + "CRC_24_INTERLAKEN": "24-bit CRC used in Interlaken high-speed serial communication protocol", + "CRC_24_LTE_A": "24-bit CRC variant A used in LTE (Long-Term Evolution) cellular networks", + "CRC_24_LTE_B": "24-bit CRC variant B used in LTE (Long-Term Evolution) cellular networks", + "CRC_24_OPENPGP": "24-bit CRC used in OpenPGP (Pretty Good Privacy) for data integrity", + "CRC_24_OS_9": "24-bit CRC used in OS-9 operating system for error detection", + "CRC_30_CDMA": "30-bit CRC used in CDMA (Code Division Multiple Access) communication standard", + "CRC_31_PHILIPS": "31-bit CRC used in Philips communication protocols", + "CRC_32_AIXM": "32-bit CRC used in Aeronautical Information Exchange Model (AIXM)", + "CRC_32_AUTOSAR": "32-bit CRC used in AUTOSAR (Automotive Open System Architecture) standard", + "CRC_32_BASE91_D": "32-bit CRC variant used in Base91 data encoding", + "CRC_32_BZIP2": "32-bit CRC used in bzip2 compression algorithm", + "CRC_32_CD_ROM_EDC": "32-bit CRC used for Error Detection Code in CD-ROM systems", + "CRC_32_CKSUM": "32-bit CRC used in UNIX cksum command for file integrity", + "CRC_32_ISCSI": "32-bit CRC used in iSCSI (Internet Small Computer Systems Interface)", + "CRC_32_ISO_HDLC": "32-bit CRC used in ISO HDLC (High-Level Data Link Control)", + "CRC_32_JAMCRC": "32-bit CRC variant used in JAM error detection", + "CRC_32_MEF": "32-bit CRC used in Metro Ethernet Forum (MEF) standards", + "CRC_32_MPEG_2": "32-bit CRC used in MPEG-2 transport streams for error detection", + "CRC_32_XFER": "32-bit CRC used in data transfer protocols", + "CRC_40_GSM": "40-bit CRC variant used in GSM telecommunications", + "CRC_64_ECMA_182": "64-bit CRC specified in ECMA-182 standard", + "CRC_64_GO_ISO": "64-bit CRC used in Go programming language and ISO standards", + "CRC_64_MS": "64-bit CRC variant used in Microsoft systems", + "CRC_64_REDIS": "64-bit CRC used in Redis key-value data store", + "CRC_64_WE": "64-bit CRC variant for wide-area error detection", + "CRC_64_XZ": "64-bit CRC used in the XZ compression format for integrity verification", + "CRC_82_DARC": "82-bit CRC used in DARC (Digital Audio Radio Channel) communication" + } + required: false + default: "CRC_32_ISO_HDLC" + type: ["string"] + }, + ] + internal_failure_reasons: [] + return: types: ["string"] + + examples: [ + { + title: "Create CRC checksum using the default algorithm" + source: #""" + crc("foo") + """# + return: "2356372769" + }, + { + title: "Create CRC checksum using the CRC_32_CKSUM algorithm" + source: #""" + crc("foo", algorithm: "CRC_32_CKSUM") + """# + return: "4271552933" + } + ] +} From 525c32b7a1e5c5a8e5b60b6172034c512cc57ea5 Mon Sep 17 00:00:00 2001 From: Ivor D'Souza Date: Tue, 10 Dec 2024 22:30:58 +0000 Subject: [PATCH 4/9] delete old crc32 docs --- .../cue/reference/remap/functions/crc32.cue | 29 ------------------- 1 file changed, 29 deletions(-) delete mode 100644 website/cue/reference/remap/functions/crc32.cue diff --git a/website/cue/reference/remap/functions/crc32.cue b/website/cue/reference/remap/functions/crc32.cue deleted file mode 100644 index 85eb47a6b9f4f..0000000000000 --- a/website/cue/reference/remap/functions/crc32.cue +++ /dev/null @@ -1,29 +0,0 @@ -package metadata - -remap: functions: crc32: { - category: "Checksum" - description: """ - Calculates a CRC32 of the string,`value`. - """ - - arguments: [ - { - name: "value" - description: "The string to calculate the checksum for." - required: true - type: ["string"] - }, - ] - internal_failure_reasons: [] - return: types: ["string"] - - examples: [ - { - title: "Create CRC32 checksum" - source: #""" - crc32("foo") - """# - return: "8c736521" - }, - ] -} From c948d154f40c36b934e81d416d1a404c1065e111 Mon Sep 17 00:00:00 2001 From: Ivor D'Souza Date: Tue, 10 Dec 2024 22:48:30 +0000 Subject: [PATCH 5/9] add crc docs words to allow.txt --- .github/actions/spelling/allow.txt | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt index e4dc3a09271e3..61bcf16804c02 100644 --- a/.github/actions/spelling/allow.txt +++ b/.github/actions/spelling/allow.txt @@ -472,3 +472,36 @@ zeek zookeeper zst zstandard +AIXM +AUTOSAR +CDMA +cksum +contactless +DECT +DNP +DVB +EPC +FLEXRAY +FUJITSU +GENIBUS +GSM +hitag +INTERLAKEN +JAMCRC +MCRF +MEF +microcontroller +MIFARE +modbus +NRSC +OPENPGP +OPENSAFETY +PROFIBUS +RFID +riello +ROHC +SMBUS +teledisk +UMTS +WCDMA +XMODEM From e0cffc3ca9208ac96b6705362c21e2e515c4e1f1 Mon Sep 17 00:00:00 2001 From: ivor11 Date: Tue, 10 Dec 2024 22:51:39 +0000 Subject: [PATCH 6/9] Update metadata check-spelling run (pull_request_target) for feat/crc32 Signed-off-by: check-spelling-bot on-behalf-of: @check-spelling --- .github/actions/spelling/expect.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index cc9bee24deda4..12155f61aa0bc 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -423,7 +423,6 @@ oplog optimisation optimizable OSSL -OTel otherhost otlm otlp @@ -527,7 +526,6 @@ SIEM SIGHUPs sinkbuilder sinknetworkbytessent -SIV slideover smartphone Smol @@ -674,6 +672,7 @@ wtimeout WTS xact xlarge +XMODEM xxs YAMLs YBv From 95e93562cc106e47ade6d25cd5c211ba8f856de4 Mon Sep 17 00:00:00 2001 From: Pavlos Rontidis Date: Fri, 10 Jan 2025 11:55:25 -0500 Subject: [PATCH 7/9] Update website/cue/reference/remap/functions/crc.cue --- website/cue/reference/remap/functions/crc.cue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/website/cue/reference/remap/functions/crc.cue b/website/cue/reference/remap/functions/crc.cue index 4b24d8aad68ae..a962cb6215339 100644 --- a/website/cue/reference/remap/functions/crc.cue +++ b/website/cue/reference/remap/functions/crc.cue @@ -139,7 +139,10 @@ remap: functions: crc: { type: ["string"] }, ] - internal_failure_reasons: [] + internal_failure_reasons: [ + "`value` is not a string.", + "`algorithm` is not a supported algorithm.", + ] return: types: ["string"] examples: [ From f2b6841f607719b1289acdc5b0c410e8182ffbe6 Mon Sep 17 00:00:00 2001 From: Pavlos Rontidis Date: Fri, 10 Jan 2025 13:57:27 -0500 Subject: [PATCH 8/9] newline.. --- .github/actions/spelling/allow.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt index 44f44f318d4eb..d9997581c58fc 100644 --- a/.github/actions/spelling/allow.txt +++ b/.github/actions/spelling/allow.txt @@ -508,4 +508,4 @@ SMBUS teledisk UMTS WCDMA -XMODEM \ No newline at end of file +XMODEM From 62c1a1146fa4510a560dbb6357a472939cb7f0f2 Mon Sep 17 00:00:00 2001 From: Pavlos Rontidis Date: Fri, 10 Jan 2025 16:23:04 -0500 Subject: [PATCH 9/9] cure fmt --- website/cue/reference/remap/functions/crc.cue | 232 +++++++++--------- 1 file changed, 116 insertions(+), 116 deletions(-) diff --git a/website/cue/reference/remap/functions/crc.cue b/website/cue/reference/remap/functions/crc.cue index a962cb6215339..d42e6faf5fd70 100644 --- a/website/cue/reference/remap/functions/crc.cue +++ b/website/cue/reference/remap/functions/crc.cue @@ -21,118 +21,118 @@ remap: functions: crc: { name: "algorithm" description: "The CRC algorithm to use." enum: { - "CRC_3_GSM": "3-bit CRC used in GSM telecommunications for error detection", - "CRC_3_ROHC": "3-bit CRC used in Robust Header Compression (ROHC) protocol", - "CRC_4_G_704": "4-bit CRC specified in ITU-T G.704 for synchronous communication systems", - "CRC_4_INTERLAKEN": "4-bit CRC used in Interlaken high-speed serial communication protocol", - "CRC_5_EPC_C1G2": "5-bit CRC used in EPC Gen 2 RFID (Radio-Frequency Identification) standard", - "CRC_5_G_704": "5-bit CRC variant in ITU-T G.704 telecommunication standard", - "CRC_5_USB": "5-bit CRC used in USB communication for detecting transmission errors", - "CRC_6_CDMA2000_A": "6-bit CRC variant used in CDMA2000 network protocols", - "CRC_6_CDMA2000_B": "Alternative 6-bit CRC variant for CDMA2000 network protocols", - "CRC_6_DARC": "6-bit CRC used in DARC (Digital Audio Radio Channel) communication", - "CRC_6_GSM": "6-bit CRC variant used in GSM telecommunications", - "CRC_6_G_704": "6-bit CRC specified in ITU-T G.704 for synchronous communication", - "CRC_7_MMC": "7-bit CRC used in MultiMediaCard (MMC) storage systems for error detection", - "CRC_7_ROHC": "7-bit CRC used in Robust Header Compression (ROHC) protocol", - "CRC_7_UMTS": "7-bit CRC used in UMTS (Universal Mobile Telecommunications System)", - "CRC_8_AUTOSAR": "8-bit CRC used in AUTOSAR (Automotive Open System Architecture) standard", - "CRC_8_BLUETOOTH": "8-bit CRC polynomial used in Bluetooth communication protocols", - "CRC_8_CDMA2000": "8-bit CRC used in CDMA2000 cellular communication standard", - "CRC_8_DARC": "8-bit CRC used in DARC (Digital Audio Radio Channel) communication", - "CRC_8_DVB_S2": "8-bit CRC used in DVB-S2 (Digital Video Broadcasting Satellite Second Generation)", - "CRC_8_GSM_A": "8-bit CRC variant A used in GSM telecommunications", - "CRC_8_GSM_B": "8-bit CRC variant B used in GSM telecommunications", - "CRC_8_HITAG": "8-bit CRC used in Hitag RFID and transponder systems", - "CRC_8_I_432_1": "8-bit CRC specified in IEEE 1432.1 standard", - "CRC_8_I_CODE": "8-bit CRC used in I-CODE RFID systems", - "CRC_8_LTE": "8-bit CRC used in LTE (Long-Term Evolution) cellular networks", - "CRC_8_MAXIM_DOW": "8-bit CRC used by Maxim/Dallas Semiconductor for 1-Wire and iButton devices", - "CRC_8_MIFARE_MAD": "8-bit CRC used in MIFARE MAD (Multiple Application Directory) protocol", - "CRC_8_NRSC_5": "8-bit CRC used in NRSC-5 digital radio broadcasting standard", - "CRC_8_OPENSAFETY": "8-bit CRC used in OpenSAFETY industrial communication protocol", - "CRC_8_ROHC": "8-bit CRC used in Robust Header Compression (ROHC) protocol", - "CRC_8_SAE_J1850": "8-bit CRC used in SAE J1850 automotive communication protocol", - "CRC_8_SMBUS": "8-bit CRC used in System Management Bus (SMBus) communication", - "CRC_8_TECH_3250": "8-bit CRC used in SMPTE (Society of Motion Picture and Television Engineers) standard", - "CRC_8_WCDMA": "8-bit CRC used in WCDMA (Wideband Code Division Multiple Access) networks", - "CRC_10_ATM": "10-bit CRC used in ATM (Asynchronous Transfer Mode) cell headers", - "CRC_10_CDMA2000": "10-bit CRC used in CDMA2000 cellular communication standard", - "CRC_10_GSM": "10-bit CRC variant used in GSM telecommunications", - "CRC_11_FLEXRAY": "11-bit CRC used in FlexRay automotive communication protocol", - "CRC_11_UMTS": "11-bit CRC used in UMTS (Universal Mobile Telecommunications System)", - "CRC_12_CDMA2000": "12-bit CRC used in CDMA2000 cellular communication standard", - "CRC_12_DECT": "12-bit CRC used in DECT (Digital Enhanced Cordless Telecommunications) standards", - "CRC_12_GSM": "12-bit CRC variant used in GSM telecommunications", - "CRC_12_UMTS": "12-bit CRC used in UMTS (Universal Mobile Telecommunications System)", - "CRC_13_BBC": "13-bit CRC used in BBC (British Broadcasting Corporation) digital transmission", - "CRC_14_DARC": "14-bit CRC used in DARC (Digital Audio Radio Channel) communication", - "CRC_14_GSM": "14-bit CRC variant used in GSM telecommunications", - "CRC_15_CAN": "15-bit CRC used in CAN (Controller Area Network) automotive communication", - "CRC_15_MPT1327": "15-bit CRC used in MPT 1327 radio trunking system", - "CRC_16_ARC": "16-bit CRC used in ARC (Adaptive Routing Code) communication", - "CRC_16_CDMA2000": "16-bit CRC used in CDMA2000 cellular communication standard", - "CRC_16_CMS": "16-bit CRC used in Content Management Systems for data integrity", - "CRC_16_DDS_110": "16-bit CRC used in DDS (Digital Data Storage) standard", - "CRC_16_DECT_R": "16-bit CRC variant R used in DECT communication", - "CRC_16_DECT_X": "16-bit CRC variant X used in DECT communication", - "CRC_16_DNP": "16-bit CRC used in DNP3 (Distributed Network Protocol) for utilities", - "CRC_16_EN_13757": "16-bit CRC specified in EN 13757 for meter communication", - "CRC_16_GENIBUS": "16-bit CRC used in GENIBUS communication protocol", - "CRC_16_GSM": "16-bit CRC variant used in GSM telecommunications", - "CRC_16_IBM_3740": "16-bit CRC used in IBM 3740 data integrity checks", - "CRC_16_IBM_SDLC": "16-bit CRC used in IBM SDLC (Synchronous Data Link Control)", - "CRC_16_ISO_IEC_14443_3_A": "16-bit CRC used in ISO/IEC 14443-3 Type A contactless smart cards", - "CRC_16_KERMIT": "16-bit CRC used in Kermit file transfer protocol", - "CRC_16_LJ1200": "16-bit CRC used in LJ1200 communication system", - "CRC_16_M17": "16-bit CRC used in M17 digital radio communication", - "CRC_16_MAXIM_DOW": "16-bit CRC used by Maxim/Dallas Semiconductor for data integrity", - "CRC_16_MCRF4XX": "16-bit CRC used in MCRF4XX RFID systems", - "CRC_16_MODBUS": "16-bit CRC used in Modbus communication protocol for error detection", - "CRC_16_NRSC_5": "16-bit CRC used in NRSC-5 digital radio broadcasting standard", - "CRC_16_OPENSAFETY_A": "16-bit CRC variant A in OpenSAFETY industrial communication", - "CRC_16_OPENSAFETY_B": "16-bit CRC variant B in OpenSAFETY industrial communication", - "CRC_16_PROFIBUS": "16-bit CRC used in PROFIBUS industrial communication protocol", - "CRC_16_RIELLO": "16-bit CRC used in Riello UPS communication", - "CRC_16_SPI_FUJITSU": "16-bit CRC used in Fujitsu SPI (Serial Peripheral Interface) communication", - "CRC_16_T10_DIF": "16-bit CRC used in T10 DIF (Data Integrity Field) standard", - "CRC_16_TELEDISK": "16-bit CRC used in Teledisk disk image format", - "CRC_16_TMS37157": "16-bit CRC used in TMS37157 microcontroller communication", - "CRC_16_UMTS": "16-bit CRC used in UMTS (Universal Mobile Telecommunications System)", - "CRC_16_USB": "16-bit CRC used in USB communication for error detection", - "CRC_16_XMODEM": "16-bit CRC used in XMODEM file transfer protocol", - "CRC_17_CAN_FD": "17-bit CRC used in CAN FD (Flexible Data-Rate) automotive communication protocol", - "CRC_21_CAN_FD": "21-bit CRC variant used in CAN FD (Flexible Data-Rate) automotive communication", - "CRC_24_BLE": "24-bit CRC used in Bluetooth Low Energy (BLE) packet error checking", - "CRC_24_FLEXRAY_A": "24-bit CRC variant A used in FlexRay automotive communication protocol", - "CRC_24_FLEXRAY_B": "24-bit CRC variant B used in FlexRay automotive communication protocol", - "CRC_24_INTERLAKEN": "24-bit CRC used in Interlaken high-speed serial communication protocol", - "CRC_24_LTE_A": "24-bit CRC variant A used in LTE (Long-Term Evolution) cellular networks", - "CRC_24_LTE_B": "24-bit CRC variant B used in LTE (Long-Term Evolution) cellular networks", - "CRC_24_OPENPGP": "24-bit CRC used in OpenPGP (Pretty Good Privacy) for data integrity", - "CRC_24_OS_9": "24-bit CRC used in OS-9 operating system for error detection", - "CRC_30_CDMA": "30-bit CRC used in CDMA (Code Division Multiple Access) communication standard", - "CRC_31_PHILIPS": "31-bit CRC used in Philips communication protocols", - "CRC_32_AIXM": "32-bit CRC used in Aeronautical Information Exchange Model (AIXM)", - "CRC_32_AUTOSAR": "32-bit CRC used in AUTOSAR (Automotive Open System Architecture) standard", - "CRC_32_BASE91_D": "32-bit CRC variant used in Base91 data encoding", - "CRC_32_BZIP2": "32-bit CRC used in bzip2 compression algorithm", - "CRC_32_CD_ROM_EDC": "32-bit CRC used for Error Detection Code in CD-ROM systems", - "CRC_32_CKSUM": "32-bit CRC used in UNIX cksum command for file integrity", - "CRC_32_ISCSI": "32-bit CRC used in iSCSI (Internet Small Computer Systems Interface)", - "CRC_32_ISO_HDLC": "32-bit CRC used in ISO HDLC (High-Level Data Link Control)", - "CRC_32_JAMCRC": "32-bit CRC variant used in JAM error detection", - "CRC_32_MEF": "32-bit CRC used in Metro Ethernet Forum (MEF) standards", - "CRC_32_MPEG_2": "32-bit CRC used in MPEG-2 transport streams for error detection", - "CRC_32_XFER": "32-bit CRC used in data transfer protocols", - "CRC_40_GSM": "40-bit CRC variant used in GSM telecommunications", - "CRC_64_ECMA_182": "64-bit CRC specified in ECMA-182 standard", - "CRC_64_GO_ISO": "64-bit CRC used in Go programming language and ISO standards", - "CRC_64_MS": "64-bit CRC variant used in Microsoft systems", - "CRC_64_REDIS": "64-bit CRC used in Redis key-value data store", - "CRC_64_WE": "64-bit CRC variant for wide-area error detection", - "CRC_64_XZ": "64-bit CRC used in the XZ compression format for integrity verification", - "CRC_82_DARC": "82-bit CRC used in DARC (Digital Audio Radio Channel) communication" + "CRC_3_GSM": "3-bit CRC used in GSM telecommunications for error detection" + "CRC_3_ROHC": "3-bit CRC used in Robust Header Compression (ROHC) protocol" + "CRC_4_G_704": "4-bit CRC specified in ITU-T G.704 for synchronous communication systems" + "CRC_4_INTERLAKEN": "4-bit CRC used in Interlaken high-speed serial communication protocol" + "CRC_5_EPC_C1G2": "5-bit CRC used in EPC Gen 2 RFID (Radio-Frequency Identification) standard" + "CRC_5_G_704": "5-bit CRC variant in ITU-T G.704 telecommunication standard" + "CRC_5_USB": "5-bit CRC used in USB communication for detecting transmission errors" + "CRC_6_CDMA2000_A": "6-bit CRC variant used in CDMA2000 network protocols" + "CRC_6_CDMA2000_B": "Alternative 6-bit CRC variant for CDMA2000 network protocols" + "CRC_6_DARC": "6-bit CRC used in DARC (Digital Audio Radio Channel) communication" + "CRC_6_GSM": "6-bit CRC variant used in GSM telecommunications" + "CRC_6_G_704": "6-bit CRC specified in ITU-T G.704 for synchronous communication" + "CRC_7_MMC": "7-bit CRC used in MultiMediaCard (MMC) storage systems for error detection" + "CRC_7_ROHC": "7-bit CRC used in Robust Header Compression (ROHC) protocol" + "CRC_7_UMTS": "7-bit CRC used in UMTS (Universal Mobile Telecommunications System)" + "CRC_8_AUTOSAR": "8-bit CRC used in AUTOSAR (Automotive Open System Architecture) standard" + "CRC_8_BLUETOOTH": "8-bit CRC polynomial used in Bluetooth communication protocols" + "CRC_8_CDMA2000": "8-bit CRC used in CDMA2000 cellular communication standard" + "CRC_8_DARC": "8-bit CRC used in DARC (Digital Audio Radio Channel) communication" + "CRC_8_DVB_S2": "8-bit CRC used in DVB-S2 (Digital Video Broadcasting Satellite Second Generation)" + "CRC_8_GSM_A": "8-bit CRC variant A used in GSM telecommunications" + "CRC_8_GSM_B": "8-bit CRC variant B used in GSM telecommunications" + "CRC_8_HITAG": "8-bit CRC used in Hitag RFID and transponder systems" + "CRC_8_I_432_1": "8-bit CRC specified in IEEE 1432.1 standard" + "CRC_8_I_CODE": "8-bit CRC used in I-CODE RFID systems" + "CRC_8_LTE": "8-bit CRC used in LTE (Long-Term Evolution) cellular networks" + "CRC_8_MAXIM_DOW": "8-bit CRC used by Maxim/Dallas Semiconductor for 1-Wire and iButton devices" + "CRC_8_MIFARE_MAD": "8-bit CRC used in MIFARE MAD (Multiple Application Directory) protocol" + "CRC_8_NRSC_5": "8-bit CRC used in NRSC-5 digital radio broadcasting standard" + "CRC_8_OPENSAFETY": "8-bit CRC used in OpenSAFETY industrial communication protocol" + "CRC_8_ROHC": "8-bit CRC used in Robust Header Compression (ROHC) protocol" + "CRC_8_SAE_J1850": "8-bit CRC used in SAE J1850 automotive communication protocol" + "CRC_8_SMBUS": "8-bit CRC used in System Management Bus (SMBus) communication" + "CRC_8_TECH_3250": "8-bit CRC used in SMPTE (Society of Motion Picture and Television Engineers) standard" + "CRC_8_WCDMA": "8-bit CRC used in WCDMA (Wideband Code Division Multiple Access) networks" + "CRC_10_ATM": "10-bit CRC used in ATM (Asynchronous Transfer Mode) cell headers" + "CRC_10_CDMA2000": "10-bit CRC used in CDMA2000 cellular communication standard" + "CRC_10_GSM": "10-bit CRC variant used in GSM telecommunications" + "CRC_11_FLEXRAY": "11-bit CRC used in FlexRay automotive communication protocol" + "CRC_11_UMTS": "11-bit CRC used in UMTS (Universal Mobile Telecommunications System)" + "CRC_12_CDMA2000": "12-bit CRC used in CDMA2000 cellular communication standard" + "CRC_12_DECT": "12-bit CRC used in DECT (Digital Enhanced Cordless Telecommunications) standards" + "CRC_12_GSM": "12-bit CRC variant used in GSM telecommunications" + "CRC_12_UMTS": "12-bit CRC used in UMTS (Universal Mobile Telecommunications System)" + "CRC_13_BBC": "13-bit CRC used in BBC (British Broadcasting Corporation) digital transmission" + "CRC_14_DARC": "14-bit CRC used in DARC (Digital Audio Radio Channel) communication" + "CRC_14_GSM": "14-bit CRC variant used in GSM telecommunications" + "CRC_15_CAN": "15-bit CRC used in CAN (Controller Area Network) automotive communication" + "CRC_15_MPT1327": "15-bit CRC used in MPT 1327 radio trunking system" + "CRC_16_ARC": "16-bit CRC used in ARC (Adaptive Routing Code) communication" + "CRC_16_CDMA2000": "16-bit CRC used in CDMA2000 cellular communication standard" + "CRC_16_CMS": "16-bit CRC used in Content Management Systems for data integrity" + "CRC_16_DDS_110": "16-bit CRC used in DDS (Digital Data Storage) standard" + "CRC_16_DECT_R": "16-bit CRC variant R used in DECT communication" + "CRC_16_DECT_X": "16-bit CRC variant X used in DECT communication" + "CRC_16_DNP": "16-bit CRC used in DNP3 (Distributed Network Protocol) for utilities" + "CRC_16_EN_13757": "16-bit CRC specified in EN 13757 for meter communication" + "CRC_16_GENIBUS": "16-bit CRC used in GENIBUS communication protocol" + "CRC_16_GSM": "16-bit CRC variant used in GSM telecommunications" + "CRC_16_IBM_3740": "16-bit CRC used in IBM 3740 data integrity checks" + "CRC_16_IBM_SDLC": "16-bit CRC used in IBM SDLC (Synchronous Data Link Control)" + "CRC_16_ISO_IEC_14443_3_A": "16-bit CRC used in ISO/IEC 14443-3 Type A contactless smart cards" + "CRC_16_KERMIT": "16-bit CRC used in Kermit file transfer protocol" + "CRC_16_LJ1200": "16-bit CRC used in LJ1200 communication system" + "CRC_16_M17": "16-bit CRC used in M17 digital radio communication" + "CRC_16_MAXIM_DOW": "16-bit CRC used by Maxim/Dallas Semiconductor for data integrity" + "CRC_16_MCRF4XX": "16-bit CRC used in MCRF4XX RFID systems" + "CRC_16_MODBUS": "16-bit CRC used in Modbus communication protocol for error detection" + "CRC_16_NRSC_5": "16-bit CRC used in NRSC-5 digital radio broadcasting standard" + "CRC_16_OPENSAFETY_A": "16-bit CRC variant A in OpenSAFETY industrial communication" + "CRC_16_OPENSAFETY_B": "16-bit CRC variant B in OpenSAFETY industrial communication" + "CRC_16_PROFIBUS": "16-bit CRC used in PROFIBUS industrial communication protocol" + "CRC_16_RIELLO": "16-bit CRC used in Riello UPS communication" + "CRC_16_SPI_FUJITSU": "16-bit CRC used in Fujitsu SPI (Serial Peripheral Interface) communication" + "CRC_16_T10_DIF": "16-bit CRC used in T10 DIF (Data Integrity Field) standard" + "CRC_16_TELEDISK": "16-bit CRC used in Teledisk disk image format" + "CRC_16_TMS37157": "16-bit CRC used in TMS37157 microcontroller communication" + "CRC_16_UMTS": "16-bit CRC used in UMTS (Universal Mobile Telecommunications System)" + "CRC_16_USB": "16-bit CRC used in USB communication for error detection" + "CRC_16_XMODEM": "16-bit CRC used in XMODEM file transfer protocol" + "CRC_17_CAN_FD": "17-bit CRC used in CAN FD (Flexible Data-Rate) automotive communication protocol" + "CRC_21_CAN_FD": "21-bit CRC variant used in CAN FD (Flexible Data-Rate) automotive communication" + "CRC_24_BLE": "24-bit CRC used in Bluetooth Low Energy (BLE) packet error checking" + "CRC_24_FLEXRAY_A": "24-bit CRC variant A used in FlexRay automotive communication protocol" + "CRC_24_FLEXRAY_B": "24-bit CRC variant B used in FlexRay automotive communication protocol" + "CRC_24_INTERLAKEN": "24-bit CRC used in Interlaken high-speed serial communication protocol" + "CRC_24_LTE_A": "24-bit CRC variant A used in LTE (Long-Term Evolution) cellular networks" + "CRC_24_LTE_B": "24-bit CRC variant B used in LTE (Long-Term Evolution) cellular networks" + "CRC_24_OPENPGP": "24-bit CRC used in OpenPGP (Pretty Good Privacy) for data integrity" + "CRC_24_OS_9": "24-bit CRC used in OS-9 operating system for error detection" + "CRC_30_CDMA": "30-bit CRC used in CDMA (Code Division Multiple Access) communication standard" + "CRC_31_PHILIPS": "31-bit CRC used in Philips communication protocols" + "CRC_32_AIXM": "32-bit CRC used in Aeronautical Information Exchange Model (AIXM)" + "CRC_32_AUTOSAR": "32-bit CRC used in AUTOSAR (Automotive Open System Architecture) standard" + "CRC_32_BASE91_D": "32-bit CRC variant used in Base91 data encoding" + "CRC_32_BZIP2": "32-bit CRC used in bzip2 compression algorithm" + "CRC_32_CD_ROM_EDC": "32-bit CRC used for Error Detection Code in CD-ROM systems" + "CRC_32_CKSUM": "32-bit CRC used in UNIX cksum command for file integrity" + "CRC_32_ISCSI": "32-bit CRC used in iSCSI (Internet Small Computer Systems Interface)" + "CRC_32_ISO_HDLC": "32-bit CRC used in ISO HDLC (High-Level Data Link Control)" + "CRC_32_JAMCRC": "32-bit CRC variant used in JAM error detection" + "CRC_32_MEF": "32-bit CRC used in Metro Ethernet Forum (MEF) standards" + "CRC_32_MPEG_2": "32-bit CRC used in MPEG-2 transport streams for error detection" + "CRC_32_XFER": "32-bit CRC used in data transfer protocols" + "CRC_40_GSM": "40-bit CRC variant used in GSM telecommunications" + "CRC_64_ECMA_182": "64-bit CRC specified in ECMA-182 standard" + "CRC_64_GO_ISO": "64-bit CRC used in Go programming language and ISO standards" + "CRC_64_MS": "64-bit CRC variant used in Microsoft systems" + "CRC_64_REDIS": "64-bit CRC used in Redis key-value data store" + "CRC_64_WE": "64-bit CRC variant for wide-area error detection" + "CRC_64_XZ": "64-bit CRC used in the XZ compression format for integrity verification" + "CRC_82_DARC": "82-bit CRC used in DARC (Digital Audio Radio Channel) communication" } required: false default: "CRC_32_ISO_HDLC" @@ -140,8 +140,8 @@ remap: functions: crc: { }, ] internal_failure_reasons: [ - "`value` is not a string.", - "`algorithm` is not a supported algorithm.", + "`value` is not a string.", + "`algorithm` is not a supported algorithm.", ] return: types: ["string"] @@ -153,12 +153,12 @@ remap: functions: crc: { """# return: "2356372769" }, - { + { title: "Create CRC checksum using the CRC_32_CKSUM algorithm" source: #""" crc("foo", algorithm: "CRC_32_CKSUM") """# return: "4271552933" - } + }, ] }