aboutsummaryrefslogtreecommitdiff
path: root/SrcShared/Palm/Platform/Incs/Core/System/Crc.h
blob: bd7c3e5355e8942e90bf155944d85a742dc5afa7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/******************************************************************************
 *
 * Copyright (c) 1995-1999 Palm Computing, Inc. or its subsidiaries.
 * All rights reserved.
 *
 * File: Crc.h
 *
 * Description:
 *		This is the header file for the CRC calculation routines for Pilot.
 *
 * History:
 *		May 10, 1995	Created by Vitaly Kruglikov
 *		05/10/95	vmk	Created by Vitaly Kruglikov.
 *		09/10/99	kwk	Crc16CalcBlock takes a const void *.
 *
 *****************************************************************************/

#ifndef __CRC_H__
#define __CRC_H__


// Include elementary types
#include <PalmTypes.h>
#include <CoreTraps.h>




/********************************************************************
 * CRC Calculation Routines
 * These are define as external calls only under emulation mode or
 *  under native mode from the module that actually installs the trap
 *  vectors
 ********************************************************************/
#ifdef __cplusplus
extern "C" {
#endif


	

//-------------------------------------------------------------------
// API
//-------------------------------------------------------------------


// Crc16CalcBlock()
//
// Calculate the 16-bit CRC of a data block using the table lookup method.
// 
UInt16		Crc16CalcBlock(const void *bufP, UInt16 count, UInt16 crc)
							SYS_TRAP(sysTrapCrc16CalcBlock);

UInt16		Crc16CalcBigBlock(void *bufP, UInt32 count, UInt16 crc);


#ifdef __cplusplus 
}
#endif



#endif  // __CRC_H__