Плагины ConnMan
Плагины ConnMan предназначены для расширения возможностей ConnMan, например, для реализации поддержки VPN-соединений.
| Подключение: | #include <connman/plugin.h> |
Макросы
- CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit)
Константы
Функции
Описание макросов
CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit)
Данный макрос предназначен для регистрации плагина в ConnMan. Он выполняется при загрузке бинарного файла плагина. Макросу передаются следующие параметры:
name— строка,const char *, имя плагина без кавычек, является уникальным идентификатором;description— строка,const char *, текстовое описание плагина;version— строка,const char *, версия плагина;priority— число,int, приоритет загрузки плагина. Следует использовать одну из соответствующих констант.init— ссылка на функцию инициализации,void *, которая вызывается при загрузке плагина;exit— ссылка на функцию,void *, которая вызывается при выгрузке плагина.
Примеры использования:
- OpenVpnPlugin/connman_plugin/src/openvpn.c
- ofvpn/connman-plugin/src/aurora-ofvpn-vpn.c
- aurora-connman-vpn-plugin-ofvpn/connman-plugin/src/aurora-ofvpn-vpn.c
- TrifleVpn/plugin/triflevpn_plugin.c
Описание констант
#define CONNMAN_PLUGIN_PRIORITY_LOW -100
Самый низкий приоритет для плагина.
#define CONNMAN_PLUGIN_PRIORITY_DEFAULT 0
Обычный приоритет для плагина.
#define CONNMAN_PLUGIN_PRIORITY_HIGH 100
Высокий приоритет для плагина.
Описание функций
static int init(void)
Функция загрузки плагина, которая передаётся макросу, выполняет инициализацию плагина. Она должна содержать в себе вызов функций для расширения соответствующих подсистем ConnMan.
При успешном выполнении должна возвращать 0.
static void exit(void)
Функция вызывается при выгрузке VPN-плагина из ConnMan. Данная функция должна отключать те подсистемы, которые были настроены в функции загрузки.