]> git.ipfire.org Git - thirdparty/openssl.git/blame - include/openssl/cmac.h
cmac: preprocessor indentation fixes
[thirdparty/openssl.git] / include / openssl / cmac.h
CommitLineData
0f113f3e 1/*
21dcbebc 2 * Copyright 2010-2016 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
DSH
26
27/* Opaque */
28typedef struct CMAC_CTX_st CMAC_CTX;
29
30CMAC_CTX *CMAC_CTX_new(void);
31void CMAC_CTX_cleanup(CMAC_CTX *ctx);
32void CMAC_CTX_free(CMAC_CTX *ctx);
33EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx);
c8ef656d 34int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in);
8c968e03 35
0f113f3e
MC
36int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen,
37 const EVP_CIPHER *cipher, ENGINE *impl);
8c968e03 38int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen);
c8ef656d
DSH
39int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen);
40int CMAC_resume(CMAC_CTX *ctx);
8c968e03 41
70a7685a 42# ifdef __cplusplus
8c968e03 43}
70a7685a 44# endif
b04e5c12
MC
45
46# endif
8c968e03 47#endif