block_regex.h (1816B)
1 /* 2 This file is part of GNUnet. 3 Copyright (C) 2012,2013 GNUnet e.V. 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 SPDX-License-Identifier: AGPL3.0-or-later 19 */ 20 21 /** 22 * @file 23 * regex block formats 24 * 25 * @author Bartlomiej Polot 26 */ 27 #ifndef BLOCK_REGEX_H 28 #define BLOCK_REGEX_H 29 30 #ifdef __cplusplus 31 extern "C" 32 { 33 #if 0 34 /* keep Emacsens' auto-indent happy */ 35 } 36 #endif 37 #endif 38 39 40 #include "gnunet_util_lib.h" 41 #include <stdint.h> 42 43 44 GNUNET_NETWORK_STRUCT_BEGIN 45 46 47 /** 48 * @brief Block to announce a peer accepting a state. 49 */ 50 struct RegexAcceptBlock 51 { 52 /** 53 * Accept blocks must be signed. Signature 54 * goes over expiration time and key. 55 */ 56 struct GNUNET_CRYPTO_SignaturePurpose purpose; 57 58 /** 59 * When does the signature expire? 60 */ 61 struct GNUNET_TIME_AbsoluteNBO expiration_time; 62 63 /** 64 * The key of the state. 65 */ 66 struct GNUNET_HashCode key; 67 68 /** 69 * Public key of the peer signing. 70 */ 71 struct GNUNET_PeerIdentity peer; 72 73 /** 74 * The signature. 75 */ 76 struct GNUNET_CRYPTO_EddsaSignature signature; 77 }; 78 79 80 GNUNET_NETWORK_STRUCT_END 81 82 83 #if 0 /* keep Emacsens' auto-indent happy */ 84 { 85 #endif 86 #ifdef __cplusplus 87 } 88 #endif 89 90 #endif