11f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/* 21f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * SHA-256 internal definitions 31f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Copyright (c) 2003-2011, Jouni Malinen <j@w1.fi> 41f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 71f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 81f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 91f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#ifndef SHA256_I_H 101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define SHA256_I_H 111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define SHA256_BLOCK_SIZE 64 131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct sha256_state { 151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u64 length; 161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u32 state[8], curlen; 171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u8 buf[SHA256_BLOCK_SIZE]; 181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtvoid sha256_init(struct sha256_state *md); 211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtint sha256_process(struct sha256_state *md, const unsigned char *in, 221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt unsigned long inlen); 231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtint sha256_done(struct sha256_state *md, unsigned char *out); 241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 251f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#endif /* SHA256_I_H */ 26