aboutsummaryrefslogblamecommitdiffstats
path: root/libkeccak_state_unmarshal_skip.c
blob: b8c244ccad7e4a4a001d9ddafd8d45e8e19c3ce8 (plain) (tree)
1
2
3
4
5
6




                                                         
                                                               









                                                                             
                                                                                                      
 
/* See LICENSE file for copyright and license details. */
#include "common.h"


/**
 * Gets the number of bytes the `struct libkeccak_state` stored
 * at the beginning of `data` occupies
 * 
 * @param   data  The data buffer
 * @return        The byte size of the stored state
 */
size_t
libkeccak_state_unmarshal_skip(const void *restrict data_)
{
	const char *restrict data = data_;
	data += (7 * sizeof(long int) + 26 * sizeof(int64_t)) / sizeof(char);
	return sizeof(struct libkeccak_state) - sizeof(char *) + *(const size_t *)data * sizeof(char);
}