VirtualBox

root/trunk/include/iprt/crc64.h

Revision 8245, 2.3 kB (checked in by vboxsync, 7 months ago)

rebranding: IPRT files again.

Line 
1 /** @file
2  * IPRT - CRC64.
3  */
4
5 /*
6  * Copyright (C) 2006-2007 Sun Microsystems, Inc.
7  *
8  * This file is part of VirtualBox Open Source Edition (OSE), as
9  * available from http://www.virtualbox.org. This file is free software;
10  * you can redistribute it and/or modify it under the terms of the GNU
11  * General Public License (GPL) as published by the Free Software
12  * Foundation, in version 2 as it comes in the "COPYING" file of the
13  * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14  * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15  *
16  * The contents of this file may alternatively be used under the terms
17  * of the Common Development and Distribution License Version 1.0
18  * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
19  * VirtualBox OSE distribution, in which case the provisions of the
20  * CDDL are applicable instead of those of the GPL.
21  *
22  * You may elect to license modified versions of this file under the
23  * terms and conditions of either the GPL or the CDDL or both.
24  *
25  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
26  * Clara, CA 95054 USA or visit http://www.sun.com if you need
27  * additional information or have any questions.
28  */
29
30 #ifndef ___iprt_crc64_h
31 #define ___iprt_crc64_h
32
33
34 #include <iprt/cdefs.h>
35 #include <iprt/types.h>
36
37
38 __BEGIN_DECLS
39
40 /** @defgroup grp_rt_crc64      RTCrc64 - CRC64 Calculation
41  * @ingroup grp_rt
42  * @{
43  */
44
45 /**
46  * Calculate CRC64 for a memory block.
47  *
48  * @returns CRC64 for the memory block.
49  * @param   pv      Pointer to the memory block.
50  * @param   cb      Size of the memory block in bytes.
51  */
52 RTDECL(uint64_t) RTCrc64(const void *pv, size_t cb);
53
54 /**
55  * Start a multiblock CRC64 calculation.
56  *
57  * @returns Start CRC64.
58  */
59 RTDECL(uint64_t) RTCrc64Start(void);
60
61 /**
62  * Processes a multiblock of a CRC64 calculation.
63  *
64  * @returns Intermediate CRC64 value.
65  * @param   uCRC64  Current CRC64 intermediate value.
66  * @param   pv      The data block to process.
67  * @param   cb      The size of the data block in bytes.
68  */
69 RTDECL(uint64_t) RTCrc64Process(uint64_t uCRC64, const void *pv, size_t cb);
70
71 /**
72  * Complete a multiblock CRC64 calculation.
73  *
74  * @returns CRC64 value.
75  * @param   uCRC64  Current CRC64 intermediate value.
76  */
77 RTDECL(uint64_t) RTCrc64Finish(uint64_t uCRC64);
78
79
80
81 /** @} */
82
83 __END_DECLS
84
85 #endif
86
87
Note: See TracBrowser for help on using the browser.

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy