| #ifndef _GPXE_HMAC_H |
| #define _GPXE_HMAC_H |
| |
| /** @file |
| * |
| * Keyed-Hashing for Message Authentication |
| */ |
| |
| FILE_LICENCE ( GPL2_OR_LATER ); |
| |
| #include <gpxe/crypto.h> |
| |
| /** |
| * Update HMAC |
| * |
| * @v digest Digest algorithm to use |
| * @v digest_ctx Digest context |
| * @v data Data |
| * @v len Length of data |
| */ |
| static inline void hmac_update ( struct digest_algorithm *digest, |
| void *digest_ctx, const void *data, |
| size_t len ) { |
| digest_update ( digest, digest_ctx, data, len ); |
| } |
| |
| extern void hmac_init ( struct digest_algorithm *digest, void *digest_ctx, |
| void *key, size_t *key_len ); |
| extern void hmac_final ( struct digest_algorithm *digest, void *digest_ctx, |
| void *key, size_t *key_len, void *hmac ); |
| |
| #endif /* _GPXE_HMAC_H */ |