Merge branch 'master' of ssh://gnunet.org/gnunet
[oweals/gnunet.git] / src / rps / rps-test_util.h
1 /*
2      This file is part of GNUnet.
3      Copyright (C)
4
5      GNUnet is free software: you can redistribute it and/or modify it
6      under the terms of the GNU Affero General Public License as published
7      by the Free Software Foundation, either version 3 of the License,
8      or (at your option) any later version.
9
10      GNUnet is distributed in the hope that it will be useful, but
11      WITHOUT ANY WARRANTY; without even the implied warranty of
12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13      Affero General Public License for more details.
14     
15      You should have received a copy of the GNU Affero General Public License
16      along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19 /**
20  * @file rps/rps-test_util.h
21  * @brief Some utils faciliating the view into the internals for the sampler
22  *        needed for evaluation
23  * @author Julius Bünger
24  */
25
26 #ifndef RPS_TEST_UTIL_H
27 #define RPS_TEST_UTIL_H
28
29 #ifndef TO_FILE
30 #define TO_FILE
31 #endif /* TO_FILE */
32
33
34 void
35 to_file_ (const char *file_name, char *line);
36
37 char *
38 auth_key_to_string (struct GNUNET_CRYPTO_AuthKey auth_key);
39
40 struct GNUNET_CRYPTO_AuthKey
41 string_to_auth_key (const char *str);
42
43 char * 
44 create_file (const char *name);
45
46 /**
47  * This function is used to facilitate writing important information to disk
48  */
49 #ifdef TO_FILE
50 #  define to_file(file_name, ...) do {char tmp_buf[512];\
51     int size;\
52     size = GNUNET_snprintf(tmp_buf,sizeof(tmp_buf),__VA_ARGS__);\
53     if (0 > size)\
54       GNUNET_log (GNUNET_ERROR_TYPE_WARNING,\
55            "Failed to create tmp_buf\n");\
56     else\
57       to_file_(file_name,tmp_buf);\
58   } while (0);
59 #  define to_file_w_len(file_name, len, ...) do {char tmp_buf[len];\
60     int size;\
61     size = GNUNET_snprintf(tmp_buf,sizeof(tmp_buf),__VA_ARGS__);\
62     if (0 > size)\
63       GNUNET_log (GNUNET_ERROR_TYPE_WARNING,\
64            "Failed to create tmp_buf\n");\
65     else\
66       to_file_(file_name,tmp_buf);\
67   } while (0);
68 #else /* TO_FILE */
69 #  define to_file(file_name, ...)
70 #  define to_file_w_len(file_name, len, ...)
71 #endif /* TO_FILE */
72
73 const char *
74 store_prefix_file_name (const struct GNUNET_PeerIdentity *peer,
75     const char *prefix);
76
77 void
78 to_file_raw (const char *file_name, const char *buf, size_t size_buf);
79
80 void
81 to_file_raw_unaligned (const char *file_name,
82                        const char *buf,
83                        size_t size_buf,
84                        unsigned bits_needed);
85
86 #endif /* RPS_TEST_UTIL_H */
87 /* end of gnunet-service-rps.c */