File: inet.h

package info (click to toggle)
connman 1.45-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,056 kB
  • sloc: ansic: 101,490; sh: 4,985; python: 2,256; makefile: 488
file content (138 lines) | stat: -rw-r--r-- 4,910 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/*
 *
 *  Connection Manager
 *
 *  Copyright (C) 2007-2013  Intel Corporation. All rights reserved.
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License version 2 as
 *  published by the Free Software Foundation.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 *
 */

#ifndef __CONNMAN_INET_H
#define __CONNMAN_INET_H

#include <arpa/inet.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>

#include <connman/device.h>
#include <connman/ipconfig.h>

#ifdef __cplusplus
extern "C" {
#endif

int connman_inet_ifindex(const char *name);
char *connman_inet_ifname(int index);

int connman_inet_ifup(int index);
int connman_inet_ifdown(int index);
bool connman_inet_is_ifup(int index);

int connman_inet_set_address(int index, struct connman_ipaddress *ipaddress);
int connman_inet_clear_address(int index, struct connman_ipaddress *ipaddress);
int connman_inet_add_host_route_with_metric(int index,
					const char *host,
					const char *gateway,
					uint32_t metric);
int connman_inet_del_host_route_with_metric(int index,
					const char *host,
					const char *gateway,
					uint32_t metric);
int connman_inet_add_host_route(int index,
					const char *host,
					const char *gateway);
int connman_inet_del_host_route(int index,
					const char *host,
					const char *gateway);
int connman_inet_add_network_route_with_metric(int index,
					const char *host,
					const char *gateway,
					uint8_t prefix_len,
					uint32_t metric);
int connman_inet_del_network_route_with_metric(int index,
					const char *host,
					const char *gateway,
					uint8_t prefix_len,
					uint32_t metric);
int connman_inet_add_network_route(int index, const char *host, const char *gateway,
					const char *netmask);
int connman_inet_del_network_route(int index, const char *host);
int connman_inet_clear_gateway_address(int index, const char *gateway);
int connman_inet_set_gateway_interface(int index);
int connman_inet_clear_gateway_interface(int index);
bool connman_inet_compare_subnet(int index, const char *host);
bool connman_inet_compare_ipv6_subnet(int index, const char *host);
int connman_inet_set_ipv6_address(int index,
		struct connman_ipaddress *ipaddress);
int connman_inet_clear_ipv6_address(int index,
					struct connman_ipaddress *ipaddress);
int connman_inet_add_ipv6_host_route_with_metric(int index,
					const char *host,
					const char *gateway,
					uint32_t metric);
int connman_inet_del_ipv6_host_route_with_metric(int index,
					const char *host,
					const char *gateway,
					uint32_t metric);
int connman_inet_add_ipv6_host_route(int index,
					const char *host,
					const char *gateway);
int connman_inet_del_ipv6_host_route(int index,
					const char *host,
					const char *gateway);
int connman_inet_del_ipv6_network_route_with_metric(int index,
					const char *host,
					const char *gateway,
					uint8_t prefix_len,
					uint32_t metric);
int connman_inet_add_ipv6_network_route_with_metric(int index,
					const char *host,
					const char *gateway,
					uint8_t prefix_len,
					uint32_t metric);
int connman_inet_add_ipv6_network_route(int index, const char *host,
					const char *gateway,
					unsigned char prefix_len);
int connman_inet_del_ipv6_network_route(int index, const char *host,
					unsigned char prefix_len);
int connman_inet_clear_ipv6_gateway_address(int index, const char *gateway);
int connman_inet_set_ipv6_gateway_interface(int index);
int connman_inet_clear_ipv6_gateway_interface(int index);

int connman_inet_add_to_bridge(int index, const char *bridge);
int connman_inet_remove_from_bridge(int index, const char *bridge);

int connman_inet_set_mtu(int index, int mtu);
int connman_inet_setup_tunnel(char *tunnel, int mtu);
int connman_inet_create_tunnel(char **iface);
int connman_inet_get_dest_addr(int index, char **dest);
int connman_inet_ipv6_get_dest_addr(int index, char **dest);
int connman_inet_check_ipaddress(const char *host);
bool connman_inet_check_hostname(const char *ptr, size_t len);
bool connman_inet_is_ipv6_supported();
bool connman_inet_is_default_route(int family, const char *host,
				const char *gateway, const char *netmask);

int connman_inet_get_route_addresses(int index, char **network, char **netmask,
							char **destination);
int connman_inet_ipv6_get_route_addresses(int index, char **network,
							char **netmask,
							char **destination);

#ifdef __cplusplus
}
#endif

#endif /* __CONNMAN_INET_H */