codekingpro/portable-devtools
115k
1/*2 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.3 *4 * Licensed under the Apache License 2.0 (the "License"). You may not use5 * this file except in compliance with the License. You can obtain a copy6 * in the file LICENSE in the source distribution or at7 * https://www.openssl.org/source/license.html8 */9 10#ifndef OPENSSL_HMAC_H11# define OPENSSL_HMAC_H12# pragma once13 14# include <openssl/macros.h>15# ifndef OPENSSL_NO_DEPRECATED_3_016# define HEADER_HMAC_H17# endif18 19# include <openssl/opensslconf.h>20 21# include <openssl/evp.h>22 23# ifndef OPENSSL_NO_DEPRECATED_3_024# define HMAC_MAX_MD_CBLOCK 200 /* Deprecated */25# endif26 27# ifdef __cplusplus28extern "C" {29# endif30 31# ifndef OPENSSL_NO_DEPRECATED_3_032OSSL_DEPRECATEDIN_3_0 size_t HMAC_size(const HMAC_CTX *e);33OSSL_DEPRECATEDIN_3_0 HMAC_CTX *HMAC_CTX_new(void);34OSSL_DEPRECATEDIN_3_0 int HMAC_CTX_reset(HMAC_CTX *ctx);35OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_free(HMAC_CTX *ctx);36# endif37# ifndef OPENSSL_NO_DEPRECATED_1_1_038OSSL_DEPRECATEDIN_1_1_0 __owur int HMAC_Init(HMAC_CTX *ctx,39 const void *key, int len,40 const EVP_MD *md);41# endif42# ifndef OPENSSL_NO_DEPRECATED_3_043OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,44 const EVP_MD *md, ENGINE *impl);45OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,46 size_t len);47OSSL_DEPRECATEDIN_3_0 int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,48 unsigned int *len);49OSSL_DEPRECATEDIN_3_0 __owur int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx);50OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags);51OSSL_DEPRECATEDIN_3_0 const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx);52# endif53 54unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,55 const unsigned char *data, size_t data_len,56 unsigned char *md, unsigned int *md_len);57 58# ifdef __cplusplus59}60# endif61 62#endif63 