Index: tools/telemetry/third_party/gsutilz/third_party/crcmod/docs/source/crcmod.predefined.rst |
diff --git a/tools/telemetry/third_party/gsutilz/third_party/crcmod/docs/source/crcmod.predefined.rst b/tools/telemetry/third_party/gsutilz/third_party/crcmod/docs/source/crcmod.predefined.rst |
new file mode 100644 |
index 0000000000000000000000000000000000000000..52b0347879e2e0fe8209f9dd9100854e748484a2 |
--- /dev/null |
+++ b/tools/telemetry/third_party/gsutilz/third_party/crcmod/docs/source/crcmod.predefined.rst |
@@ -0,0 +1,164 @@ |
+ |
+:mod:`crcmod.predefined` -- CRC calculation using predefined algorithms |
+======================================================================= |
+ |
+.. module:: crcmod.predefined |
+ :synopsis: CRC calculation using predefined algorithms |
+.. moduleauthor:: Craig McQueen |
+.. sectionauthor:: Craig McQueen |
+ |
+This module provides a function factory :func:`mkPredefinedCrcFun` and a class :class:`PredefinedCrc` |
+for calculating CRCs of byte strings using common predefined CRC algorithms. |
+ |
+The function factory and the class are very similar to those defined in :mod:`crcmod`, |
+except that the CRC algorithm is specified by a predefined name, rather than the |
+individual polynomial, reflection, and initial and final-XOR parameters. |
+ |
+Predefined CRC algorithms |
+------------------------- |
+ |
+The :mod:`crcmod.predefined` module offers the following predefined algorithms: |
+ |
+================================ ====================== ========== ==================== ==================== ==================== |
+Name Polynomial Reversed? Init-value XOR-out Check |
+================================ ====================== ========== ==================== ==================== ==================== |
+``crc-8`` 0x107 False 0x00 0x00 0xF4 |
+``crc-8-darc`` 0x139 True 0x00 0x00 0x15 |
+``crc-8-i-code`` 0x11D False 0xFD 0x00 0x7E |
+``crc-8-itu`` 0x107 False 0x55 0x55 0xA1 |
+``crc-8-maxim`` 0x131 True 0x00 0x00 0xA1 |
+``crc-8-rohc`` 0x107 True 0xFF 0x00 0xD0 |
+``crc-8-wcdma`` 0x19B True 0x00 0x00 0x25 |
+``crc-16`` 0x18005 True 0x0000 0x0000 0xBB3D |
+``crc-16-buypass`` 0x18005 False 0x0000 0x0000 0xFEE8 |
+``crc-16-dds-110`` 0x18005 False 0x800D 0x0000 0x9ECF |
+``crc-16-dect`` 0x10589 False 0x0001 0x0001 0x007E |
+``crc-16-dnp`` 0x13D65 True 0xFFFF 0xFFFF 0xEA82 |
+``crc-16-en-13757`` 0x13D65 False 0xFFFF 0xFFFF 0xC2B7 |
+``crc-16-genibus`` 0x11021 False 0x0000 0xFFFF 0xD64E |
+``crc-16-maxim`` 0x18005 True 0xFFFF 0xFFFF 0x44C2 |
+``crc-16-mcrf4xx`` 0x11021 True 0xFFFF 0x0000 0x6F91 |
+``crc-16-riello`` 0x11021 True 0x554D 0x0000 0x63D0 |
+``crc-16-t10-dif`` 0x18BB7 False 0x0000 0x0000 0xD0DB |
+``crc-16-teledisk`` 0x1A097 False 0x0000 0x0000 0x0FB3 |
+``crc-16-usb`` 0x18005 True 0x0000 0xFFFF 0xB4C8 |
+``x-25`` 0x11021 True 0x0000 0xFFFF 0x906E |
+``xmodem`` 0x11021 False 0x0000 0x0000 0x31C3 |
+``modbus`` 0x18005 True 0xFFFF 0x0000 0x4B37 |
+``kermit`` [#ccitt]_ 0x11021 True 0x0000 0x0000 0x2189 |
+``crc-ccitt-false`` [#ccitt]_ 0x11021 False 0xFFFF 0x0000 0x29B1 |
+``crc-aug-ccitt`` [#ccitt]_ 0x11021 False 0x1D0F 0x0000 0xE5CC |
+``crc-24`` 0x1864CFB False 0xB704CE 0x000000 0x21CF02 |
+``crc-24-flexray-a`` 0x15D6DCB False 0xFEDCBA 0x000000 0x7979BD |
+``crc-24-flexray-b`` 0x15D6DCB False 0xABCDEF 0x000000 0x1F23B8 |
+``crc-32`` 0x104C11DB7 True 0x00000000 0xFFFFFFFF 0xCBF43926 |
+``crc-32-bzip2`` 0x104C11DB7 False 0x00000000 0xFFFFFFFF 0xFC891918 |
+``crc-32c`` 0x11EDC6F41 True 0x00000000 0xFFFFFFFF 0xE3069283 |
+``crc-32d`` 0x1A833982B True 0x00000000 0xFFFFFFFF 0x87315576 |
+``crc-32-mpeg`` 0x104C11DB7 False 0xFFFFFFFF 0x00000000 0x0376E6E7 |
+``posix`` 0x104C11DB7 False 0xFFFFFFFF 0xFFFFFFFF 0x765E7680 |
+``crc-32q`` 0x1814141AB False 0x00000000 0x00000000 0x3010BF7F |
+``jamcrc`` 0x104C11DB7 True 0xFFFFFFFF 0x00000000 0x340BC6D9 |
+``xfer`` 0x1000000AF False 0x00000000 0x00000000 0xBD0BE338 |
+``crc-64`` 0x1000000000000001B True 0x0000000000000000 0x0000000000000000 0x46A5A9388A5BEFFE |
+``crc-64-we`` 0x142F0E1EBA9EA3693 False 0x0000000000000000 0xFFFFFFFFFFFFFFFF 0x62EC59E3F1A4F00A |
+``crc-64-jones`` 0x1AD93D23594C935A9 True 0xFFFFFFFFFFFFFFFF 0x0000000000000000 0xCAA717168609F281 |
+================================ ====================== ========== ==================== ==================== ==================== |
+ |
+.. rubric:: Notes |
+ |
+.. [#ccitt] Definitions of CCITT are disputable. See: |
+ |
+ * http://homepages.tesco.net/~rainstorm/crc-catalogue.htm |
+ * http://web.archive.org/web/20071229021252/http://www.joegeluso.com/software/articles/ccitt.htm |
+ |
+:func:`mkPredefinedCrcFun` -- CRC function factory |
+-------------------------------------------------- |
+ |
+The function factory provides a simple interface for CRC calculation. It is similar |
+to :func:`crcmod.mkCrcFun`, except that it specifies a CRC algorithm by name rather |
+than its parameters. |
+ |
+.. function:: mkPredefinedCrcFun(crc_name) |
+ |
+ Function factory that returns a new function for calculating CRCs |
+ using a specified CRC algorithm. |
+ |
+ :param crc_name: The name of the predefined CRC algorithm to use. |
+ :type crc_name: string |
+ |
+ :return: CRC calculation function |
+ :rtype: function |
+ |
+ The function that is returned is the same as that returned by :func:`crcmod.mkCrcFun`: |
+ |
+ .. function:: .crc_function(data[, crc=initCrc]) |
+ |
+ :param data: Data for which to calculate the CRC. |
+ :type data: byte string |
+ |
+ :param crc: Initial CRC value. |
+ |
+ :return: Calculated CRC value. |
+ :rtype: integer |
+ |
+.. function:: mkCrcFun(crc_name) |
+ |
+ This is an alias for :func:`crcmod.predefined.mkPredefinedCrcFun`. However, it is not defined when |
+ :mod:`crcmod.predefined` is imported using the form:: |
+ |
+ >>> from crcmod.predefined import * |
+ |
+Examples |
+^^^^^^^^ |
+ |
+**CRC-32** example:: |
+ |
+ >>> import crcmod.predefined |
+ |
+ >>> crc32_func = crcmod.predefined.mkCrcFun('crc-32') |
+ >>> hex(crc32_func('123456789')) |
+ '0xcbf43926L' |
+ |
+**XMODEM** example:: |
+ |
+ >>> xmodem_crc_func = crcmod.predefined.mkCrcFun('xmodem') |
+ >>> hex(xmodem_crc_func('123456789')) |
+ '0x31c3' |
+ |
+ |
+Class :class:`PredefinedCrc` |
+---------------------------- |
+ |
+This class is inherited from the :class:`crcmod.Crc` class, and is the same except for the |
+initialization. It specifies a CRC algorithm by name rather than its parameters. |
+ |
+.. class:: PredefinedCrc(crc_name) |
+ |
+ Returns a new :class:`Crc` object for calculating CRCs using a specified CRC algorithm. |
+ |
+ The parameter is the same as that for the factory function :func:`crcmod.predefined.mkPredefinedCrcFun`. |
+ |
+ :param crc_name: The name of the predefined CRC algorithm to use. |
+ :type crc_name: string |
+ |
+.. class:: Crc(poly[, initCrc, rev, xorOut]) |
+ |
+ This is an alias for :class:`crcmod.predefined.PredefinedCrc`. However, it is not defined when |
+ :mod:`crcmod.predefined` is imported using the form:: |
+ |
+ >>> from crcmod.predefined import * |
+ |
+Examples |
+^^^^^^^^ |
+ |
+**CRC-32** Example:: |
+ |
+ >>> import crcmod.predefined |
+ |
+ >>> crc32 = crcmod.predefined.Crc('crc-32') |
+ >>> crc32.update('123456789') |
+ >>> hex(crc32.crcValue) |
+ '0xcbf43926L' |
+ >>> crc32.hexdigest() |
+ 'CBF43926' |