nginx/src/core/ngx_crc32.h
2006-10-18 19:00:21 +00:00

34 lines
455 B
C

/*
* Copyright (C) Igor Sysoev
*/
#ifndef _NGX_CRC32_H_INCLUDED_
#define _NGX_CRC32_H_INCLUDED_
#include <ngx_config.h>
#include <ngx_core.h>
extern uint32_t ngx_crc32_table[];
static ngx_inline uint32_t
ngx_crc32(u_char *p, size_t len)
{
uint32_t crc;
crc = 0xffffffff;
while (len--) {
crc = ngx_crc32_table[(crc ^ *p++) & 0xff] ^ (crc >> 8);
}
return crc ^ 0xffffffff;
}
#endif /* _NGX_CRC32_H_INCLUDED_ */