| /*---------------------------------------------------------------------------* |
| * pcrc.h * |
| * * |
| * Copyright 2007, 2008 Nuance Communciations, Inc. * |
| * * |
| * Licensed under the Apache License, Version 2.0 (the 'License'); * |
| * you may not use this file except in compliance with the License. * |
| * * |
| * You may obtain a copy of the License at * |
| * http://www.apache.org/licenses/LICENSE-2.0 * |
| * * |
| * Unless required by applicable law or agreed to in writing, software * |
| * distributed under the License is distributed on an 'AS IS' BASIS, * |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * |
| * See the License for the specific language governing permissions and * |
| * limitations under the License. * |
| * * |
| *---------------------------------------------------------------------------*/ |
| |
| #ifndef PCRC_H |
| #define PCRC_H |
| |
| |
| |
| #include "PortPrefix.h" |
| #include "ptypes.h" |
| |
| /** |
| * @addtogroup PCRCModule PCRC API functions |
| * |
| * @{ |
| */ |
| |
| /** |
| * Computes the CRC-encoding of the block of data. |
| * |
| * @param data The data on which to compute the CRC |
| * @param size the size of the data. |
| * @return the CRC of the data. |
| */ |
| PORTABLE_API unsigned int pcrcComputeData(const void *data, unsigned int size); |
| |
| |
| /** |
| * Computes the CRC-encoding of a string. |
| * |
| * @param str The string for which to compute the CRC |
| * @return the CRC of the string. |
| */ |
| PORTABLE_API unsigned int pcrcComputeString(const LCHAR *str); |
| |
| |
| /** |
| * Initial value to pass to the pcrcUpdateData to ensist consistency with |
| * pcrcComputeData. |
| */ |
| #define CRC_INITIAL_VALUE (~0U) |
| |
| /** |
| * Updates the CRC when adding a new byte. |
| * |
| * @param crc The initial crc value. |
| * @param data datum to append to the crc |
| * @param size the size of the data. |
| * @return the new crc value. |
| */ |
| PORTABLE_API unsigned int pcrcUpdateData(unsigned int crc, |
| const void * data, |
| unsigned int size); |
| |
| /** |
| * @} |
| */ |
| |
| |
| #endif |