VPN-провайдеры ConnMan
VPN-провайдеры ConnMan предоставляют возможности по взаимодействию между конфигурацией и VPN-плагином
Подключение: | #include <connman/vpn/vpn-provider.h> |
Перечисления
Структуры
- struct vpn_provider
Функции
- const char *vpn_provider_get_data_directory(struct vpn_provider *provider);
- const char *vpn_provider_get_path(struct vpn_provider *provider);
- const char *vpn_provider_get_string(struct vpn_provider *provider, const char *key);
- int *vpn_provider_append_gateways(struct vpn_provider *provider, const char *const *gateways);
- int *vpn_provider_remove_gateways(struct vpn_provider *provider, const char *const *gateways);
Описание перечислений
enum vpn_provider_route_type {
VPN_PROVIDER_ROUTE_TYPE_NONE = 0,
VPN_PROVIDER_ROUTE_TYPE_MASK = 1,
VPN_PROVIDER_ROUTE_TYPE_ADDR = 2,
VPN_PROVIDER_ROUTE_TYPE_GW = 3,
};
Перечисление предназначено для описания частей маршрута, над которыми происходит работа.
Название | Значение | Описание |
---|---|---|
VPN_PROVIDER_ROUTE_TYPE_NONE |
0 | Отсутствует тип |
VPN_PROVIDER_ROUTE_TYPE_MASK |
1 | Сетевая маска |
VPN_PROVIDER_ROUTE_TYPE_ADDR |
2 | Адрес соединения |
VPN_PROVIDER_ROUTE_TYPE_GW |
3 | Адрес шлюза |
Описание структур
struct vpn_provider;
Данная структура является хранилищем информации о провайдере. Для работы со структурой следует использовать функции, описанные в данном разделе.
Описание функций
const char *vpn_provider_get_data_directory(struct vpn_provider *provider);
Возвращает путь до директории, в которую может писать провайдер VPN.
const char *vpn_provider_get_path(struct vpn_provider *provider);
Получить путь объекта на системной шине D-Bus для провайдера, указанного в качестве аргумента.
const char *vpn_provider_get_string(struct vpn_provider *provider, const char *key);
Функция позволяет получить строковое представление параметра провайдера,
указанного в качестве аргумента key
.
int vpn_provider_append_gateways(struct vpn_provider *provider, const char *const *gateways);
Функция добавляет строки в таблицу маршрутизации.
Параметр gateways
— массив указателей на строки с адресами IPv4 или IPv6,
в зависимости от семейства VPN-провайдера,
которые необходимо добавить в таблицу маршрутов.
Последний элемент в массиве обязательно должен быть NULL
.
Примечание. Дополнительные адреса шлюзов добавляются в таблицу маршрутизации на время работы определённого соединения. После отключения соединения дополнительные адреса шлюзов будут удалены и при повторном подключении не будут добавлены в таблицу маршрутизации.
int vpn_provider_remove_gateways(struct vpn_provider *provider, const char *const *gateways);
Функция удаляет строки из таблицы маршрутизации.
Параметр gateways
— массив указателей на строки с адресами IPv4 или IPv6,
в зависимости от семейства VPN-провайдера,
которые необходимо удалить из таблицы маршрутов.
Последний элемент в массиве обязательно должен быть NULL
.