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 */
|