OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [tags/] [linux-2.6/] [linux-2.6.24_or32_unified_v2.3/] [Documentation/] [pcmcia/] [crc32hash.c] - Blame information for rev 8

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
/* 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
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(argv[1], strlen(argv[1]));
30
        printf("0x%x\n", result);
31
        return 0;
32
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.