VirtualBox

Changeset 68884 in vbox for trunk/include


Ignore:
Timestamp:
Sep 27, 2017 10:28:56 AM (7 years ago)
Author:
vboxsync
Message:

IPRT: Added CRC-16-CCITT implemenation.

Location:
trunk/include/iprt
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/crc.h

    r62473 r68884  
    192192/** @} */
    193193
     194
     195/** @defgroup grp_rt_crc16ccitt  CRC-16-CCITT
     196 * @{ */
     197/**
     198 * Calculate CRC-16-CCITT for a memory block.
     199 *
     200 * @returns CRC-16-CCITT for the memory block.
     201 * @param   pv      Pointer to the memory block.
     202 * @param   cb      Size of the memory block in bytes.
     203 */
     204RTDECL(uint16_t)    RTCrc16Ccitt(const void *pv, size_t cb);
     205
     206/**
     207 * Start a multiblock CRC-16-CCITT calculation.
     208 *
     209 * @returns Start CRC-16-CCITT.
     210 */
     211RTDECL(uint16_t)    RTCrc16CcittStart(void);
     212
     213/**
     214 * Processes a multiblock of a CRC-16-CCITT calculation.
     215 *
     216 * @returns Intermediate CRC-16-CCITT value.
     217 * @param   uCrc    Current CRC-16-CCITT intermediate value.
     218 * @param   pv      The data block to process.
     219 * @param   cb      The size of the data block in bytes.
     220 */
     221RTDECL(uint16_t)    RTCrc16CcittProcess(uint16_t uCrc, const void *pv, size_t cb);
     222
     223/**
     224 * Complete a multiblock CRC-16-CCITT calculation.
     225 *
     226 * @returns CRC-16-CCITT value.
     227 * @param   uCrc    Current CRC-16-CCITT intermediate value.
     228 */
     229RTDECL(uint16_t)    RTCrc16CcittFinish(uint16_t uCrc);
     230/** @} */
     231
    194232/** @} */
    195233
  • trunk/include/iprt/mangling.h

    r68861 r68884  
    609609# define RTCoreDumperSetup                              RT_MANGLER(RTCoreDumperSetup)    /* solaris */
    610610# define RTCoreDumperTakeDump                           RT_MANGLER(RTCoreDumperTakeDump) /* solaris */
     611# define RTCrc16Ccitt                                   RT_MANGLER(RTCrc16Ccitt)
     612# define RTCrc16CcittProcess                            RT_MANGLER(RTCrc16CcittProcess)
     613# define RTCrc16CcittFinish                             RT_MANGLER(RTCrc16CcittFinish)
     614# define RTCrc16CcittStart                              RT_MANGLER(RTCrc16CcittStart)
    611615# define RTCrc32                                        RT_MANGLER(RTCrc32)
    612616# define RTCrc32Finish                                  RT_MANGLER(RTCrc32Finish)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette