aboutsummaryrefslogtreecommitdiff
path: root/src/regex/regex_ipc.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-05-31 14:06:52 +0000
committerChristian Grothoff <christian@grothoff.org>2013-05-31 14:06:52 +0000
commit8590cba90ab53a070d5ce3d8ec8f1a7f4fb4ee23 (patch)
treeeb71ea7a5072aef95bc83c9d3849d8c4a2e936a6 /src/regex/regex_ipc.h
parent254fd9d19ec754cd82e40338565790874fb82561 (diff)
downloadgnunet-8590cba90ab53a070d5ce3d8ec8f1a7f4fb4ee23.tar.gz
gnunet-8590cba90ab53a070d5ce3d8ec8f1a7f4fb4ee23.zip
-hacking up new regex client library
Diffstat (limited to 'src/regex/regex_ipc.h')
-rw-r--r--src/regex/regex_ipc.h112
1 files changed, 112 insertions, 0 deletions
diff --git a/src/regex/regex_ipc.h b/src/regex/regex_ipc.h
new file mode 100644
index 000000000..b94fceb86
--- /dev/null
+++ b/src/regex/regex_ipc.h
@@ -0,0 +1,112 @@
1/*
2 This file is part of GNUnet
3 (C) 2012, 2013 Christian Grothoff (and other contributing authors)
4
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.
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 General Public License for more details.
14
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.
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 */
34struct AnnounceMessage
35{
36
37 /**
38 * Type is GNUNET_MESSAGE_TYPE_REGEX_ANNOUNCE
39 */
40 struct GNUNET_MessageHeader header;
41
42 /**
43 * How many characters can we squeeze per edge?
44 */
45 uint16_t compression;
46
47 /**
48 * Always zero.
49 */
50 uint16_t reserved;
51
52 /**
53 * Delay between repeated announcements.
54 */
55 struct GNUNET_TIME_RelativeNBO refresh_delay;
56
57 /**
58 * Which PID to announce as the provider?
59 */
60 struct GNUNET_PeerIdentity pid;
61
62 /* followed by 0-terminated regex as string */
63};
64
65
66/**
67 * Message to initiate regex search.
68 */
69struct SearchMessage
70{
71 /**
72 * Type is GNUNET_MESSAGE_TYPE_REGEX_SEARCH
73 */
74 struct GNUNET_MessageHeader header;
75
76 /* followed by 0-terminated search string */
77
78};
79
80
81/**
82 * Result from regex search.
83 */
84struct ResultMessage
85{
86 /**
87 * Type is GNUNET_MESSAGE_TYPE_REGEX_RESULT
88 */
89 struct GNUNET_MessageHeader header;
90
91 /**
92 * Number of entries in the GET path.
93 */
94 uint16_t get_path_length;
95
96 /**
97 * Number of entries in the PUT path.
98 */
99 uint16_t put_path_length;
100
101 /**
102 * Identity of the peer that was found.
103 */
104 struct GNUNET_PeerIdentity id;
105
106 /* followed by GET path and PUT path arrays */
107
108};
109
110
111/* end of regex_ipc.h */
112#endif