mirror of
				https://github.com/PowerShell/Win32-OpenSSH.git
				synced 2025-11-04 05:33:55 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* $OpenBSD: hmac.h,v 1.9 2014/06/24 01:13:21 djm Exp $ */
 | 
						|
/*
 | 
						|
 * Copyright (c) 2014 Markus Friedl.  All rights reserved.
 | 
						|
 *
 | 
						|
 * Permission to use, copy, modify, and distribute this software for any
 | 
						|
 * purpose with or without fee is hereby granted, provided that the above
 | 
						|
 * copyright notice and this permission notice appear in all copies.
 | 
						|
 *
 | 
						|
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
						|
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 | 
						|
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
						|
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
						|
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
						|
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
						|
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _HMAC_H
 | 
						|
#define _HMAC_H
 | 
						|
 | 
						|
/* Returns the algorithm's digest length in bytes or 0 for invalid algorithm */
 | 
						|
size_t ssh_hmac_bytes(int alg);
 | 
						|
 | 
						|
struct sshbuf;
 | 
						|
struct ssh_hmac_ctx;
 | 
						|
struct ssh_hmac_ctx *ssh_hmac_start(int alg);
 | 
						|
 | 
						|
/* Sets the state of the HMAC or resets the state if key == NULL */
 | 
						|
int ssh_hmac_init(struct ssh_hmac_ctx *ctx, const void *key, size_t klen)
 | 
						|
	__attribute__((__bounded__(__buffer__, 2, 3)));
 | 
						|
int ssh_hmac_update(struct ssh_hmac_ctx *ctx, const void *m, size_t mlen)
 | 
						|
	__attribute__((__bounded__(__buffer__, 2, 3)));
 | 
						|
int ssh_hmac_update_buffer(struct ssh_hmac_ctx *ctx, const struct sshbuf *b);
 | 
						|
int ssh_hmac_final(struct ssh_hmac_ctx *ctx, u_char *d, size_t dlen)
 | 
						|
	__attribute__((__bounded__(__buffer__, 2, 3)));
 | 
						|
void ssh_hmac_free(struct ssh_hmac_ctx *ctx);
 | 
						|
 | 
						|
#endif /* _HMAC_H */
 |