xref: /linux/security/apparmor/include/crypto.h (revision a4eb44a6435d6d8f9e642407a4a06f65eb90ca04)
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 unsigned int aa_hash_size(void);
17 char *aa_calc_hash(void *data, size_t len);
18 int aa_calc_profile_hash(struct aa_profile *profile, u32 version, void *start,
19 			 size_t len);
20 #else
21 static inline char *aa_calc_hash(void *data, size_t len)
22 {
23 	return NULL;
24 }
25 static inline int aa_calc_profile_hash(struct aa_profile *profile, u32 version,
26 				       void *start, size_t len)
27 {
28 	return 0;
29 }
30 
31 static inline unsigned int aa_hash_size(void)
32 {
33 	return 0;
34 }
35 #endif
36 
37 #endif /* __APPARMOR_CRYPTO_H */
38