DLL instead of multihashmap
[oweals/gnunet.git] / src / sensor / sensor.h
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 sensor/sensor.h
22  * @brief IPC messages and private service declarations
23  * @author Omar Tarabai
24  */
25
26 #include "gnunet_sensor_service.h"
27
28
29 GNUNET_NETWORK_STRUCT_BEGIN
30
31 /**
32  * Carries a summary of a sensor
33  *
34  */
35 struct SensorInfoMessage
36 {
37   /**
38    * Message header
39    */
40   struct GNUNET_MessageHeader header;
41
42   /**
43    * Length of sensor name (name follows the struct)
44    */
45   size_t name_len;
46
47   /**
48    * First part of version number
49    */
50   uint16_t version_major;
51
52   /**
53    * Second part of version number
54    */
55   uint16_t version_minor;
56
57   /**
58    * Length of sensor description (description itself follows)
59    */
60   size_t description_len;
61 };
62
63 GNUNET_NETWORK_STRUCT_END
64
65 /*
66  * Stop the sensor analysis module
67  */
68 void SENSOR_analysis_stop();
69
70 /*
71  * Start the sensor analysis module
72  *
73  * @param c our service configuration
74  * @param sensors_mhm multihashmap of loaded sensors
75  * @return #GNUNET_OK if started successfully, #GNUNET_SYSERR otherwise
76  */
77 int
78 SENSOR_analysis_start(const struct GNUNET_CONFIGURATION_Handle *c,
79     struct GNUNET_CONTAINER_MultiHashMap *sensors_mhm);