/* This file is part of GNUnet. Copyright (C) GNUnet is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNUnet 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ /** * @file rps/rps-test_util.h * @brief Some utils faciliating the view into the internals for the sampler * needed for evaluation * @author Julius Bünger */ #ifndef RPS_TEST_UTIL_H #define RPS_TEST_UTIL_H #define TO_FILE 1 char * auth_key_to_string (struct GNUNET_CRYPTO_AuthKey auth_key); struct GNUNET_CRYPTO_AuthKey string_to_auth_key (const char *str); char * create_file (const char *name); /** * This function is used to facilitate writing important information to disk */ #ifdef TO_FILE # define to_file(file_name, ...) do {char tmp_buf[512] = "";\ int size;\ size = GNUNET_snprintf(tmp_buf,sizeof(tmp_buf),__VA_ARGS__);\ if (0 > size)\ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,\ "Failed to create tmp_buf\n");\ else\ GNUNET_DISK_fn_write(file_name,tmp_buf, sizeof(tmp_buf),\ GNUNET_DISK_PERM_USER_READ |\ GNUNET_DISK_PERM_USER_WRITE |\ GNUNET_DISK_PERM_GROUP_READ |\ GNUNET_DISK_PERM_OTHER_READ);\ } while (0); #define to_file_w_len(file_name, len, ...) do {char tmp_buf[len];\ int size;\ memset (tmp_buf, 0, len);\ size = GNUNET_snprintf(tmp_buf,sizeof(tmp_buf),__VA_ARGS__);\ if (0 > size)\ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,\ "Failed to create tmp_buf\n");\ else\ GNUNET_DISK_fn_write(file_name,tmp_buf, len, \ GNUNET_DISK_PERM_USER_READ |\ GNUNET_DISK_PERM_USER_WRITE |\ GNUNET_DISK_PERM_GROUP_READ |\ GNUNET_DISK_PERM_OTHER_READ);\ } while (0); #else /* TO_FILE */ # define to_file(file_name, ...) # define to_file_w_len(file_name, len, ...) #endif /* TO_FILE */ char * store_prefix_file_name (const struct GNUNET_PeerIdentity *peer, const char *prefix); void to_file_raw (const char *file_name, const char *buf, size_t size_buf); void to_file_raw_unaligned (const char *file_name, const char *buf, size_t size_buf, unsigned bits_needed); #endif /* RPS_TEST_UTIL_H */ /* end of gnunet-service-rps.c */