]> git.ipfire.org Git - thirdparty/openssl.git/blame - include/openssl/cmac.h
threads_pthread.c: change inline to ossl_inline
[thirdparty/openssl.git] / include / openssl / cmac.h
CommitLineData
0f113f3e 1/*
33388b44 2 * Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved.
8c968e03 3 *
48f4ad77 4 * Licensed under the Apache License 2.0 (the "License"). You may not use
21dcbebc
RS
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
8c968e03
DSH
8 */
9
ae4186b0
DMSP
10#ifndef OPENSSL_CMAC_H
11# define OPENSSL_CMAC_H
d86167ec
DMSP
12# pragma once
13
14# include <openssl/macros.h>
936c2b9e 15# ifndef OPENSSL_NO_DEPRECATED_3_0
d86167ec
DMSP
16# define HEADER_CMAC_H
17# endif
8c968e03 18
b04e5c12
MC
19# ifndef OPENSSL_NO_CMAC
20
70a7685a 21# ifdef __cplusplus
8c968e03 22extern "C" {
70a7685a 23# endif
8c968e03 24
70a7685a 25# include <openssl/evp.h>
8c968e03 26
a6d572e6 27# ifndef OPENSSL_NO_DEPRECATED_3_0
8c968e03
DSH
28/* Opaque */
29typedef struct CMAC_CTX_st CMAC_CTX;
a6d572e6 30# endif
db617a4a
RL
31# ifndef OPENSSL_NO_DEPRECATED_3_0
32OSSL_DEPRECATEDIN_3_0 CMAC_CTX *CMAC_CTX_new(void);
33OSSL_DEPRECATEDIN_3_0 void CMAC_CTX_cleanup(CMAC_CTX *ctx);
34OSSL_DEPRECATEDIN_3_0 void CMAC_CTX_free(CMAC_CTX *ctx);
35OSSL_DEPRECATEDIN_3_0 EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx);
36OSSL_DEPRECATEDIN_3_0 int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in);
37OSSL_DEPRECATEDIN_3_0 int CMAC_Init(CMAC_CTX *ctx,
38 const void *key, size_t keylen,
39 const EVP_CIPHER *cipher, ENGINE *impl);
40OSSL_DEPRECATEDIN_3_0 int CMAC_Update(CMAC_CTX *ctx,
41 const void *data, size_t dlen);
42OSSL_DEPRECATEDIN_3_0 int CMAC_Final(CMAC_CTX *ctx,
43 unsigned char *out, size_t *poutlen);
44OSSL_DEPRECATEDIN_3_0 int CMAC_resume(CMAC_CTX *ctx);
45# endif
8c968e03 46
70a7685a 47# ifdef __cplusplus
8c968e03 48}
70a7685a 49# endif
b04e5c12
MC
50
51# endif
8c968e03 52#endif