ngx_crc32.h
来自「Nginx是一个高性能的HTTP和反向代理服务器」· C头文件 代码 · 共 79 行
H
79 行
/* * 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_short;extern uint32_t ngx_crc32_table256[];static ngx_inline uint32_tngx_crc32_short(u_char *p, size_t len){ u_char c; uint32_t crc; crc = 0xffffffff; while (len--) { c = *p++; crc = ngx_crc32_table_short[(crc ^ (c & 0xf)) & 0xf] ^ (crc >> 4); crc = ngx_crc32_table_short[(crc ^ (c >> 4)) & 0xf] ^ (crc >> 4); } return crc ^ 0xffffffff;}static ngx_inline uint32_tngx_crc32_long(u_char *p, size_t len){ uint32_t crc; crc = 0xffffffff; while (len--) { crc = ngx_crc32_table256[(crc ^ *p++) & 0xff] ^ (crc >> 8); } return crc ^ 0xffffffff;}#define ngx_crc32_init(crc) \ crc = 0xffffffffstatic ngx_inline voidngx_crc32_update(uint32_t *crc, u_char *p, size_t len){ uint32_t c; c = *crc; while (len--) { c = ngx_crc32_table256[(c ^ *p++) & 0xff] ^ (c >> 8); } *crc = c;}#define ngx_crc32_final(crc) \ crc ^= 0xffffffffngx_int_t ngx_crc32_table_init(void);#endif /* _NGX_CRC32_H_INCLUDED_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?