Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
Documentation
pcmcia
crc32hash.c
Go to the documentation of this file.
1
/* crc32hash.c - derived from linux/lib/crc32.c, GNU GPL v2 */
2
/* Usage example:
3
$ ./crc32hash "Dual Speed"
4
*/
5
6
#include <string.h>
7
#include <
stdio.h
>
8
#include <ctype.h>
9
#include <
stdlib.h
>
10
11
static
unsigned
int
crc32
(
unsigned
char
const
*
p
,
unsigned
int
len)
12
{
13
int
i
;
14
unsigned
int
crc
= 0;
15
while
(len--) {
16
crc ^= *p++;
17
for
(i = 0; i < 8; i++)
18
crc = (crc >> 1) ^ ((crc & 1) ? 0xedb88320 : 0);
19
}
20
return
crc
;
21
}
22
23
int
main
(
int
argc
,
char
**argv) {
24
unsigned
int
result
;
25
if
(argc != 2) {
26
printf
(
"no string passed as argument\n"
);
27
return
-1;
28
}
29
result =
crc32
((
unsigned
char
const
*)argv[1],
strlen
(argv[1]));
30
printf
(
"0x%x\n"
, result);
31
return
0;
32
}
Generated on Thu Jan 10 2013 13:23:19 for Linux Kernel by
1.8.2