solaris-fixes branch: Applied the swap-patch by Christophe Kalt.
[collectd.git] / src / network.h
1 /**
2  * collectd - src/network.h
3  * Copyright (C) 2005,2006  Florian octo Forster
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License as published by the
7  * Free Software Foundation; either version 2 of the License, or (at your
8  * option) any later version.
9  *
10  * This program 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 along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
18  *
19  * Authors:
20  *   Florian octo Forster <octo at verplant.org>
21  **/
22
23 #ifndef NETWORK_H
24 #define NETWORK_H
25
26 /*
27  * From RFC2365: Administratively Scoped IP Multicast
28  *
29  * The IPv4 Organization Local Scope -- 239.192.0.0/14
30  *
31  * 239.192.0.0/14 is defined to be the IPv4 Organization Local Scope, and is
32  * the space from which an organization should allocate sub-ranges when
33  * defining scopes for private use.
34  *
35  * Port 25826 is not assigned as of 2005-09-12
36  */
37
38 /*
39  * From RFC2373: IP Version 6 Addressing Architecture
40  *
41  * 2.7 Multicast Addresses
42  *
43  *  |   8    |  4 |  4 |          80 bits          |     32 bits     |
44  *  +--------+----+----+---------------------------+-----------------+
45  *  |11111111|flgs|scop|   reserved must be zero   |    group ID     |
46  *  +--------+----+----+---------------------------+-----------------+
47  *
48  * flgs = 1 => non-permanently-assigned ("transient") multicast address.
49  * scop = 8 => organization-local scope
50  *
51  * group = efc0:4a42 = 239.192.74.66
52  */
53
54 #define NET_DEFAULT_V4_ADDR "239.192.74.66"
55 #define NET_DEFAULT_V6_ADDR "ff18::efc0:4a42"
56 #define NET_DEFAULT_PORT    "25826"
57
58 int network_create_socket (const char *node, const char *service);
59 int network_receive (char **host, char **type, char **instance, char **value);
60 int network_send (char *type, char *instance, char *value);
61
62 #endif /* NETWORK_H */