xref: /linux/security/apparmor/include/crypto.h (revision a619fe35ab41fded440d3762d4fbad84ff86a4d4)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * AppArmor security module
4  *
5  * This file contains AppArmor policy loading interface function definitions.
6  *
7  * Copyright 2013 Canonical Ltd.
8  */
9 
10 #ifndef __APPARMOR_CRYPTO_H
11 #define __APPARMOR_CRYPTO_H
12 
13 #include "policy.h"
14 
15 #ifdef CONFIG_SECURITY_APPARMOR_HASH
16 int init_profile_hash(void);
17 unsigned int aa_hash_size(void);
18 char *aa_calc_hash(void *data, size_t len);
19 int aa_calc_profile_hash(struct aa_profile *profile, u32 version, void *start,
20 			 size_t len);
21 #else
22 static inline char *aa_calc_hash(void *data, size_t len)
23 {
24 	return NULL;
25 }
26 static inline int aa_calc_profile_hash(struct aa_profile *profile, u32 version,
27 				       void *start, size_t len)
28 {
29 	return 0;
30 }
31 
32 static inline unsigned int aa_hash_size(void)
33 {
34 	return 0;
35 }
36 #endif
37 
38 #endif /* __APPARMOR_CRYPTO_H */
39