• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>Pre-Defined CRC Samples</title>
6<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
7<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
8<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
9<link rel="up" href="../crc.html" title="Chapter 12. Boost.CRC 1.5">
10<link rel="prev" href="acrc_function.html" title="Augmented-CRC Function">
11<link rel="next" href="end.html" title="End Matter">
12</head>
13<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14<table cellpadding="2" width="100%"><tr>
15<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
16<td align="center"><a href="../../../index.html">Home</a></td>
17<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
18<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
19<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
20<td align="center"><a href="../../../more/index.htm">More</a></td>
21</tr></table>
22<hr>
23<div class="spirit-nav">
24<a accesskey="p" href="acrc_function.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../crc.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
25</div>
26<div class="section">
27<div class="titlepage"><div><div><h2 class="title" style="clear: both">
28<a name="crc.crc_samples"></a><a class="link" href="crc_samples.html" title="Pre-Defined CRC Samples">Pre-Defined CRC Samples</a>
29</h2></div></div></div>
30<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span>
31<span class="special">{</span>
32    <span class="keyword">typedef</span> <span class="identifier">crc_optimal</span><span class="special">&lt;</span><span class="number">16</span><span class="special">,</span> <span class="number">0x8005</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span>
33      <span class="identifier">crc_16_type</span><span class="special">;</span>
34
35    <span class="keyword">typedef</span> <span class="identifier">crc_optimal</span><span class="special">&lt;</span><span class="number">16</span><span class="special">,</span> <span class="number">0x1021</span><span class="special">,</span> <span class="number">0xFFFF</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="keyword">false</span><span class="special">,</span> <span class="keyword">false</span><span class="special">&gt;</span>
36      <span class="identifier">crc_ccitt_false_t</span><span class="special">,</span> <span class="identifier">crc_ccitt_type</span><span class="special">;</span>
37    <span class="keyword">typedef</span> <span class="identifier">crc_optimal</span><span class="special">&lt;</span><span class="number">16</span><span class="special">,</span> <span class="number">0x1021</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span>  <span class="identifier">crc_ccitt_true_t</span><span class="special">;</span>
38
39    <span class="keyword">typedef</span> <span class="identifier">crc_optimal</span><span class="special">&lt;</span><span class="number">16</span><span class="special">,</span> <span class="number">0x8408</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span>    <span class="identifier">crc_xmodem_type</span><span class="special">;</span>
40    <span class="keyword">typedef</span> <span class="identifier">crc_optimal</span><span class="special">&lt;</span><span class="number">16</span><span class="special">,</span> <span class="number">0x1021</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="keyword">false</span><span class="special">,</span> <span class="keyword">false</span><span class="special">&gt;</span>  <span class="identifier">crc_xmodem_t</span><span class="special">;</span>
41
42    <span class="keyword">typedef</span> <span class="identifier">crc_optimal</span><span class="special">&lt;</span><span class="number">32</span><span class="special">,</span> <span class="number">0x04C11DB7</span><span class="special">,</span> <span class="number">0xFFFFFFFF</span><span class="special">,</span> <span class="number">0xFFFFFFFF</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span>
43      <span class="identifier">crc_32_type</span><span class="special">;</span>
44<span class="special">}</span>
45</pre>
46<p>
47      Several sample CRC types are given, representing common CRC algorithms. The
48      samples have now been checked against the <a href="http://regregex.bbcmicro.net/crc-catalogue.htm" target="_top"><span class="emphasis"><em>Catalogue
49      of parametrised CRC algorithms</em></span></a>, leading to some new type-aliases
50      corresponding to the corrected profiles. (Older, incorrect profiles keep their
51      name for backwards compatibility.) However, this library is primarily concerned
52      with CRC implementation, and not with determining "good" sets of
53      CRC parameters.
54    </p>
55<div class="table">
56<a name="crc.crc_samples.crc_samples_list"></a><p class="title"><b>Table 12.4. Common CRCs</b></p>
57<div class="table-contents"><table class="table" summary="Common CRCs">
58<colgroup>
59<col>
60<col>
61</colgroup>
62<thead><tr>
63<th>
64              <p>
65                Computer Type
66              </p>
67            </th>
68<th>
69              <p>
70                Standard(s)
71              </p>
72            </th>
73</tr></thead>
74<tbody>
75<tr>
76<td>
77              <p>
78                <code class="computeroutput"><span class="identifier">crc_16_type</span></code>
79              </p>
80            </td>
81<td>
82              <p>
83                BISYNCH, ARC, LHA, ZOO
84              </p>
85            </td>
86</tr>
87<tr>
88<td>
89              <p>
90                <code class="computeroutput"><span class="identifier">crc_ccitt_false_t</span></code>
91              </p>
92            </td>
93<td>
94              <p>
95                Commonly misidentified as the standard by CCITT
96              </p>
97            </td>
98</tr>
99<tr>
100<td>
101              <p>
102                <code class="computeroutput"><span class="identifier">crc_ccitt_type</span></code>
103              </p>
104            </td>
105<td>
106              <p>
107                <code class="computeroutput"><span class="identifier">crc_ccitt_false_t</span></code>
108                (I made the same mistake.)
109              </p>
110            </td>
111</tr>
112<tr>
113<td>
114              <p>
115                <code class="computeroutput"><span class="identifier">crc_ccitt_true_t</span></code>
116              </p>
117            </td>
118<td>
119              <p>
120                Designated by CCITT (Comité Consultatif International Télégraphique
121                et Téléphonique), KERMIT
122              </p>
123            </td>
124</tr>
125<tr>
126<td>
127              <p>
128                <code class="computeroutput"><span class="identifier">crc_xmodem_type</span></code>
129              </p>
130            </td>
131<td>
132              <p>
133                A mistake I didn't catch in defining <code class="computeroutput"><span class="identifier">crc_xmodem_t</span></code>.
134              </p>
135            </td>
136</tr>
137<tr>
138<td>
139              <p>
140                <code class="computeroutput"><span class="identifier">crc_xmodem_t</span></code>
141              </p>
142            </td>
143<td>
144              <p>
145                XMODEM, ZMODEM, ACORN
146              </p>
147            </td>
148</tr>
149<tr>
150<td>
151              <p>
152                <code class="computeroutput"><span class="identifier">crc_32_type</span></code>
153              </p>
154            </td>
155<td>
156              <p>
157                ADCCP, PKZip, libPNG, AUTODIN II, Ethernet, FDDI
158              </p>
159            </td>
160</tr>
161</tbody>
162</table></div>
163</div>
164<br class="table-break">
165</div>
166<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
167<td align="left"></td>
168<td align="right"><div class="copyright-footer">Copyright © 2001, 2003, 2012 Daryle Walker<p>
169        Distributed under the Boost Software License, Version 1.0. (See the accompanying
170        file LICENSE_1_0.txt or a copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
171      </p>
172</div></td>
173</tr></table>
174<hr>
175<div class="spirit-nav">
176<a accesskey="p" href="acrc_function.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../crc.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
177</div>
178</body>
179</html>
180