SHA512_BLOCK_LENGTH
memset(context->buffer, 0, SHA512_BLOCK_LENGTH);
usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH;
freespace = SHA512_BLOCK_LENGTH - usedspace;
while (len >= SHA512_BLOCK_LENGTH) {
ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3);
len -= SHA512_BLOCK_LENGTH;
data += SHA512_BLOCK_LENGTH;
usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH;
if (usedspace < SHA512_BLOCK_LENGTH) {
SHA512_BLOCK_LENGTH - usedspace);
memset(context->buffer, 0, SHA512_BLOCK_LENGTH - 2);
#define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16)
u_int8_t buffer[SHA512_BLOCK_LENGTH];
#define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16)
MEMSET_BZERO((char *)context->buffer, SHA512_BLOCK_LENGTH);
usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH;
freespace = SHA512_BLOCK_LENGTH - usedspace;
while (len >= SHA512_BLOCK_LENGTH) {
ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3);
len -= SHA512_BLOCK_LENGTH;
data += SHA512_BLOCK_LENGTH;
usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH;
if (usedspace < SHA512_BLOCK_LENGTH) {
MEMSET_BZERO(&((char *)context->buffer)[usedspace], SHA512_BLOCK_LENGTH - usedspace);
MEMSET_BZERO((char *)context->buffer, SHA512_BLOCK_LENGTH - 2);
uint64_t buffer[SHA512_BLOCK_LENGTH/8];