blob: 7fe4c98873ecad8d3bea5a6f6ebca93cde35075a [file] [log] [blame]
/*
* Copyright (C) Igor Sysoev
* Copyright (C) Nginx, Inc.
*/
#ifndef _NGX_SHA1_H_INCLUDED_
#define _NGX_SHA1_H_INCLUDED_
#include <ngx_config.h>
#include <ngx_core.h>
#if (NGX_HAVE_SHA1)
#if (NGX_HAVE_OPENSSL_SHA1_H)
#include <openssl/sha.h>
#else
#include <sha.h>
#endif
typedef SHA_CTX ngx_sha1_t;
#define ngx_sha1_init SHA1_Init
#define ngx_sha1_update SHA1_Update
#define ngx_sha1_final SHA1_Final
#else /* !NGX_HAVE_SHA1 */
typedef struct {
uint64_t bytes;
uint32_t a, b, c, d, e, f;
u_char buffer[64];
} ngx_sha1_t;
void ngx_sha1_init(ngx_sha1_t *ctx);
void ngx_sha1_update(ngx_sha1_t *ctx, const void *data, size_t size);
void ngx_sha1_final(u_char result[20], ngx_sha1_t *ctx);
#endif
#endif /* _NGX_SHA1_H_INCLUDED_ */