-remove debug message
[oweals/gnunet.git] / src / regex / regex_ipc.h
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  * @file regex/regex_ipc.h
22  * @brief regex IPC messages (not called 'regex.h' due to conflict with
23  *        system headers)
24  * @author Christian Grothoff
25  */
26 #ifndef REGEX_IPC_H
27 #define REGEX_IPC_H
28
29 #include "gnunet_util_lib.h"
30
31 /**
32  * Request for regex service to announce capability.
33  */
34 struct AnnounceMessage
35 {
36   /**
37    * Type is GNUNET_MESSAGE_TYPE_REGEX_ANNOUNCE
38    */
39   struct GNUNET_MessageHeader header;
40
41   /**
42    * How many characters can we squeeze per edge?
43    */
44   uint16_t compression;
45
46   /**
47    * Always zero.
48    */
49   uint16_t reserved;
50
51   /**
52    * Delay between repeated announcements.
53    */
54   struct GNUNET_TIME_RelativeNBO refresh_delay;
55
56   /* followed by 0-terminated regex as string */
57 };
58
59
60 /**
61  * Message to initiate regex search.
62  */
63 struct RegexSearchMessage
64 {
65   /**
66    * Type is GNUNET_MESSAGE_TYPE_REGEX_SEARCH
67    */
68   struct GNUNET_MessageHeader header;
69
70   /* followed by 0-terminated search string */
71 };
72
73
74 /**
75  * Result from regex search.
76  */
77 struct ResultMessage
78 {
79   /**
80    * Type is GNUNET_MESSAGE_TYPE_REGEX_RESULT
81    */
82   struct GNUNET_MessageHeader header;
83
84   /**
85    * Number of entries in the GET path.
86    */
87   uint16_t get_path_length;
88
89   /**
90    * Number of entries in the PUT path.
91    */
92   uint16_t put_path_length;
93
94   /**
95    * Identity of the peer that was found.
96    */
97   struct GNUNET_PeerIdentity id;
98
99   /* followed by GET path and PUT path arrays */
100 };
101
102
103 /* end of regex_ipc.h */
104 #endif