1 /* 2 * AppArmor security module 3 * 4 * This file contains AppArmor policy loading interface function definitions. 5 * 6 * Copyright 2013 Canonical Ltd. 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License as 10 * published by the Free Software Foundation, version 2 of the 11 * License. 12 */ 13 14 #ifndef __APPARMOR_CRYPTO_H 15 #define __APPARMOR_CRYPTO_H 16 17 #include "policy.h" 18 19 #ifdef CONFIG_SECURITY_APPARMOR_HASH 20 unsigned int aa_hash_size(void); 21 char *aa_calc_hash(void *data, size_t len); 22 int aa_calc_profile_hash(struct aa_profile *profile, u32 version, void *start, 23 size_t len); 24 #else 25 static inline char *aa_calc_hash(void *data, size_t len) 26 { 27 return NULL; 28 } 29 static inline int aa_calc_profile_hash(struct aa_profile *profile, u32 version, 30 void *start, size_t len) 31 { 32 return 0; 33 } 34 35 static inline unsigned int aa_hash_size(void) 36 { 37 return 0; 38 } 39 #endif 40 41 #endif /* __APPARMOR_CRYPTO_H */ 42