iPXE
hmac.h
Go to the documentation of this file.
00001 #ifndef _IPXE_HMAC_H
00002 #define _IPXE_HMAC_H
00003 
00004 /** @file
00005  *
00006  * Keyed-Hashing for Message Authentication
00007  */
00008 
00009 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
00010 
00011 #include <ipxe/crypto.h>
00012 
00013 /**
00014  * Update HMAC
00015  *
00016  * @v digest            Digest algorithm to use
00017  * @v digest_ctx        Digest context
00018  * @v data              Data
00019  * @v len               Length of data
00020  */
00021 static inline void hmac_update ( struct digest_algorithm *digest,
00022                                  void *digest_ctx, const void *data,
00023                                  size_t len ) {
00024         digest_update ( digest, digest_ctx, data, len );
00025 }
00026 
00027 extern void hmac_init ( struct digest_algorithm *digest, void *digest_ctx,
00028                         void *key, size_t *key_len );
00029 extern void hmac_final ( struct digest_algorithm *digest, void *digest_ctx,
00030                          void *key, size_t *key_len, void *hmac );
00031 
00032 #endif /* _IPXE_HMAC_H */