TinySTM  1.0.5
mod_log.h
Go to the documentation of this file.
1 /*
2  * File:
3  * mod_log.h
4  * Author(s):
5  * Pascal Felber <pascal.felber@unine.ch>
6  * Patrick Marlier <patrick.marlier@unine.ch>
7  * Description:
8  * Module for logging memory accesses.
9  *
10  * Copyright (c) 2007-2014.
11  *
12  * This program is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU General Public License
14  * as published by the Free Software Foundation, version 2
15  * of the License.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * This program has a dual license and can also be distributed
23  * under the terms of the MIT license.
24  */
25 
39 #ifndef _MOD_LOG_H_
40 # define _MOD_LOG_H_
41 
42 # include "stm.h"
43 
44 # ifdef __cplusplus
45 extern "C" {
46 # endif
47 
54 void stm_log(stm_word_t *addr);
55 
62 void stm_log_u8(uint8_t *addr);
63 
70 void stm_log_u16(uint16_t *addr);
71 
78 void stm_log_u32(uint32_t *addr);
79 
86 void stm_log_u64(uint64_t *addr);
87 
94 void stm_log_char(char *addr);
95 
102 void stm_log_uchar(unsigned char *addr);
103 
110 void stm_log_short(short *addr);
111 
118 void stm_log_ushort(unsigned short *addr);
119 
126 void stm_log_int(int *addr);
127 
134 void stm_log_uint(unsigned int *addr);
135 
142 void stm_log_long(long *addr);
143 
150 void stm_log_ulong(unsigned long *addr);
151 
158 void stm_log_float(float *addr);
159 
166 void stm_log_double(double *addr);
167 
174 void stm_log_ptr(void **addr);
175 
184 void stm_log_bytes(uint8_t *addr, size_t size);
185 
191 void mod_log_init(void);
192 
193 # ifdef __cplusplus
194 }
195 # endif
196 
197 #endif /* _MOD_LOG_H_ */