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