2 This file is part of GNUnet.
3 (C) 2012 Christian Grothoff (and other contributing authors)
5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; either version 3, or (at your
8 option) any later version.
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 General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with GNUnet; see the file COPYING. If not, write to the
17 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
22 * @file include/block_mesh.h
23 * @brief fs block formats (shared between fs and block)
24 * @author Bartlomiej Polot
29 #include "gnunet_util_lib.h"
30 #include "gnunet_mesh_service.h"
34 * @brief peer block (announce peer + type)
39 * Identity of the peer
41 struct GNUNET_PeerIdentity id;
44 * Type of service offered
46 GNUNET_MESH_ApplicationType type;
50 * @brief A MeshRegexBlock contains one or more of this struct in the payload.
55 * Destination of this edge.
57 struct GNUNET_HashCode key;
60 * Length of the token towards the new state.
64 /* char token[n_token] */
68 * @brief Block to announce a regex state.
73 * The key of the state.
75 struct GNUNET_HashCode key;
78 * Length of the proof regex string.
83 * Numer of edges parting from this state.
88 * Is this state an accepting state?
92 /* char proof[n_proof] */
93 /* struct MeshEdge edges[n_edges] */
97 * @brief Block to announce a peer accepting a state.
99 struct MeshRegexAccept
102 * The key of the state.
104 struct GNUNET_HashCode key;
107 * Length of the proof regex string.
109 * already present in the leading MeshRegexBlock
111 // unsigned int n_proof;
114 * The identity of the peer accepting the state
116 struct GNUNET_PeerIdentity id;