7fb125e6faf915fba087f03b13ae1d4a1fcc7f09
[oweals/gnunet.git] / src / ats / ats_api_scanner.c
1 /*
2      This file is part of GNUnet.
3      Copyright (C) 2010-2015 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 /**
19  * @file ats/ats_api_scanner.c
20  * @brief LAN interface scanning to determine IPs in LAN
21  * @author Christian Grothoff
22  * @author Matthias Wachs
23  */
24 #include "platform.h"
25 #include "gnunet_ats_service.h"
26
27 /**
28  * Convert ATS properties from host to network byte order.
29  *
30  * @param nbo[OUT] value written
31  * @param hbo value read
32  */
33 void
34 GNUNET_ATS_properties_hton (struct GNUNET_ATS_PropertiesNBO *nbo,
35                             const struct GNUNET_ATS_Properties *hbo)
36 {
37   nbo->utilization_out = htonl (hbo->utilization_out);
38   nbo->utilization_in = htonl (hbo->utilization_in);
39   nbo->scope = htonl ((uint32_t) hbo->scope);
40   nbo->distance = htonl (hbo->distance);
41   nbo->delay = GNUNET_TIME_relative_hton (hbo->delay);
42 }
43
44
45 /**
46  * Convert ATS properties from network to host byte order.
47  *
48  * @param hbo[OUT] value written
49  * @param nbo value read
50  */
51 void
52 GNUNET_ATS_properties_ntoh (struct GNUNET_ATS_Properties *hbo,
53                             const struct GNUNET_ATS_PropertiesNBO *nbo)
54 {
55   hbo->utilization_out = ntohl (nbo->utilization_out);
56   hbo->utilization_in = ntohl (nbo->utilization_in);
57   hbo->scope = ntohl ((uint32_t) nbo->scope);
58   hbo->distance = ntohl (nbo->distance);
59   hbo->delay = GNUNET_TIME_relative_ntoh (nbo->delay);
60 }
61
62
63 /* end of ats_api_scanner.c */