X-Git-Url: https://git.cryptolib.org/?p=avr-crypto-lib.git;a=blobdiff_plain;f=stack_measuring.h;fp=stack_measuring.h;h=23ca63e80d36afea66decabb75b79a5b4947e142;hp=0000000000000000000000000000000000000000;hb=c9c11514d91b8c19f77d65ac051b998bd99048b0;hpb=96e930bbd293d62d8a9d2b011eb958aee6840c42 diff --git a/stack_measuring.h b/stack_measuring.h new file mode 100644 index 0000000..23ca63e --- /dev/null +++ b/stack_measuring.h @@ -0,0 +1,36 @@ +/* stack_measuring.h */ +/* + This file is part of the AVR-Crypto-Lib. + Copyright (C) 2010 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef STACK_MEASURING_H_ +#define STACK_MEASURING_H_ + +#include + +typedef struct { + uint16_t heap_top; + uint16_t stack_bottom; + uint8_t pattern; +} stack_measuring_ctx_t; + +void stack_measure_init(stack_measuring_ctx_t* ctx, uint8_t pattern); +uint16_t stack_measure_final(const stack_measuring_ctx_t* ctx); +/* for testing only + void stack_measure_usestack(uint16_t size, uint8_t value); */ + +#endif /* STACK_MEASURING_H_ */