2019-09-10 09:19:01 +00:00
|
|
|
// SPDX-License-Identifier: LGPL-2.1+
|
2014-07-24 12:53:33 +00:00
|
|
|
/*
|
2019-10-01 07:20:35 +00:00
|
|
|
* Copyright (C) 2007 - 2013 Red Hat, Inc.
|
|
|
|
* Copyright (C) 2007 - 2008 Novell, Inc.
|
2014-07-24 12:53:33 +00:00
|
|
|
*/
|
|
|
|
|
all: fix up multiple-include-guard defines
Previously, src/nm-ip4-config.h, libnm/nm-ip4-config.h, and
libnm-glib/nm-ip4-config.h all used "NM_IP4_CONFIG_H" as an include
guard, which meant that nm-test-utils.h could not tell which of them
was being included (and so, eg, if you tried to include
nm-ip4-config.h in a libnm test, it would fail to compile because
nm-test-utils.h was referring to symbols in src/nm-ip4-config.h).
Fix this by changing the include guards in the non-API-stable parts of
the tree:
- libnm-glib/nm-ip4-config.h remains NM_IP4_CONFIG_H
- libnm/nm-ip4-config.h now uses __NM_IP4_CONFIG_H__
- src/nm-ip4-config.h now uses __NETWORKMANAGER_IP4_CONFIG_H__
And likewise for all other headers.
The two non-"nm"-prefixed headers, libnm/NetworkManager.h and
src/NetworkManagerUtils.h are now __NETWORKMANAGER_H__ and
__NETWORKMANAGER_UTILS_H__ respectively, which, while not entirely
consistent with the general scheme, do still mostly make sense in
isolation.
2014-08-13 18:10:11 +00:00
|
|
|
#ifndef __NM_SETTING_VPN_H__
|
|
|
|
#define __NM_SETTING_VPN_H__
|
2014-07-24 12:53:33 +00:00
|
|
|
|
2014-07-06 20:53:02 +00:00
|
|
|
#if !defined (__NETWORKMANAGER_H_INSIDE__) && !defined (NETWORKMANAGER_COMPILATION)
|
|
|
|
#error "Only <NetworkManager.h> can be included directly."
|
|
|
|
#endif
|
|
|
|
|
2017-03-09 12:02:20 +00:00
|
|
|
#include "nm-setting.h"
|
2014-07-24 12:53:33 +00:00
|
|
|
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
|
|
#define NM_TYPE_SETTING_VPN (nm_setting_vpn_get_type ())
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
#define NM_SETTING_VPN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SETTING_VPN, NMSettingVpn))
|
|
|
|
#define NM_SETTING_VPN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SETTING_VPN, NMSettingVpnClass))
|
2014-07-24 12:53:33 +00:00
|
|
|
#define NM_IS_SETTING_VPN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SETTING_VPN))
|
|
|
|
#define NM_IS_SETTING_VPN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SETTING_VPN))
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
#define NM_SETTING_VPN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SETTING_VPN, NMSettingVpnClass))
|
2014-07-24 12:53:33 +00:00
|
|
|
|
|
|
|
#define NM_SETTING_VPN_SETTING_NAME "vpn"
|
|
|
|
|
|
|
|
#define NM_SETTING_VPN_SERVICE_TYPE "service-type"
|
|
|
|
#define NM_SETTING_VPN_USER_NAME "user-name"
|
2014-10-17 01:09:38 +00:00
|
|
|
#define NM_SETTING_VPN_PERSISTENT "persistent"
|
2014-07-24 12:53:33 +00:00
|
|
|
#define NM_SETTING_VPN_DATA "data"
|
|
|
|
#define NM_SETTING_VPN_SECRETS "secrets"
|
2015-09-16 07:34:33 +00:00
|
|
|
#define NM_SETTING_VPN_TIMEOUT "timeout"
|
2014-07-24 12:53:33 +00:00
|
|
|
|
2016-05-05 07:36:32 +00:00
|
|
|
/**
|
|
|
|
* NMSettingVpn:
|
2017-03-10 19:04:34 +00:00
|
|
|
*
|
|
|
|
* VPN Settings
|
2016-05-05 07:36:32 +00:00
|
|
|
*/
|
2014-10-22 02:09:52 +00:00
|
|
|
struct _NMSettingVpn {
|
2014-07-24 12:53:33 +00:00
|
|
|
NMSetting parent;
|
2014-10-22 02:09:52 +00:00
|
|
|
};
|
2014-07-24 12:53:33 +00:00
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
NMSettingClass parent;
|
|
|
|
|
2014-05-15 13:55:18 +00:00
|
|
|
/*< private >*/
|
|
|
|
gpointer padding[4];
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
} NMSettingVpnClass;
|
2014-07-24 12:53:33 +00:00
|
|
|
|
|
|
|
/**
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
* NMVpnIterFunc:
|
2014-07-24 12:53:33 +00:00
|
|
|
* @key: the name of the data or secret item
|
|
|
|
* @value: the value of the data or secret item
|
|
|
|
* @user_data: User data passed to nm_setting_vpn_foreach_data_item() or
|
|
|
|
* nm_setting_vpn_foreach_secret()
|
|
|
|
**/
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
typedef void (*NMVpnIterFunc) (const char *key, const char *value, gpointer user_data);
|
2014-07-24 12:53:33 +00:00
|
|
|
|
|
|
|
GType nm_setting_vpn_get_type (void);
|
|
|
|
|
|
|
|
NMSetting *nm_setting_vpn_new (void);
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
const char *nm_setting_vpn_get_service_type (NMSettingVpn *setting);
|
|
|
|
const char *nm_setting_vpn_get_user_name (NMSettingVpn *setting);
|
2014-10-17 01:09:38 +00:00
|
|
|
gboolean nm_setting_vpn_get_persistent (NMSettingVpn *setting);
|
2014-07-24 12:53:33 +00:00
|
|
|
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
guint32 nm_setting_vpn_get_num_data_items (NMSettingVpn *setting);
|
|
|
|
void nm_setting_vpn_add_data_item (NMSettingVpn *setting,
|
2014-07-24 12:53:33 +00:00
|
|
|
const char *key,
|
|
|
|
const char *item);
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
const char * nm_setting_vpn_get_data_item (NMSettingVpn *setting,
|
2014-07-24 12:53:33 +00:00
|
|
|
const char *key);
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
gboolean nm_setting_vpn_remove_data_item (NMSettingVpn *setting,
|
2014-07-24 12:53:33 +00:00
|
|
|
const char *key);
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
void nm_setting_vpn_foreach_data_item (NMSettingVpn *setting,
|
|
|
|
NMVpnIterFunc func,
|
2014-07-24 12:53:33 +00:00
|
|
|
gpointer user_data);
|
2017-11-20 15:57:04 +00:00
|
|
|
NM_AVAILABLE_IN_1_12
|
|
|
|
const char ** nm_setting_vpn_get_data_keys (NMSettingVpn *setting,
|
|
|
|
guint *out_length);
|
2014-07-24 12:53:33 +00:00
|
|
|
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
guint32 nm_setting_vpn_get_num_secrets (NMSettingVpn *setting);
|
|
|
|
void nm_setting_vpn_add_secret (NMSettingVpn *setting,
|
2014-07-24 12:53:33 +00:00
|
|
|
const char *key,
|
|
|
|
const char *secret);
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
const char * nm_setting_vpn_get_secret (NMSettingVpn *setting,
|
2014-07-24 12:53:33 +00:00
|
|
|
const char *key);
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
gboolean nm_setting_vpn_remove_secret (NMSettingVpn *setting,
|
2014-07-24 12:53:33 +00:00
|
|
|
const char *key);
|
libnm, core, cli, tui: fix the capitalization of various types
GLib/Gtk have mostly settled on the convention that two-letter
acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
become initial-caps-only (eg, "Tcp").
NM was inconsistent, with most long acronyms using initial caps only
(Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
three-or-more-letter-long acronyms (and update nmcli and nmtui for the
libnm changes).
2014-06-26 17:44:36 +00:00
|
|
|
void nm_setting_vpn_foreach_secret (NMSettingVpn *setting,
|
|
|
|
NMVpnIterFunc func,
|
2014-07-24 12:53:33 +00:00
|
|
|
gpointer user_data);
|
2017-11-20 15:57:04 +00:00
|
|
|
NM_AVAILABLE_IN_1_12
|
|
|
|
const char ** nm_setting_vpn_get_secret_keys (NMSettingVpn *setting,
|
|
|
|
guint *out_length);
|
|
|
|
|
2015-09-16 07:34:33 +00:00
|
|
|
NM_AVAILABLE_IN_1_2
|
|
|
|
guint32 nm_setting_vpn_get_timeout (NMSettingVpn *setting);
|
2014-07-24 12:53:33 +00:00
|
|
|
|
|
|
|
G_END_DECLS
|
|
|
|
|
all: fix up multiple-include-guard defines
Previously, src/nm-ip4-config.h, libnm/nm-ip4-config.h, and
libnm-glib/nm-ip4-config.h all used "NM_IP4_CONFIG_H" as an include
guard, which meant that nm-test-utils.h could not tell which of them
was being included (and so, eg, if you tried to include
nm-ip4-config.h in a libnm test, it would fail to compile because
nm-test-utils.h was referring to symbols in src/nm-ip4-config.h).
Fix this by changing the include guards in the non-API-stable parts of
the tree:
- libnm-glib/nm-ip4-config.h remains NM_IP4_CONFIG_H
- libnm/nm-ip4-config.h now uses __NM_IP4_CONFIG_H__
- src/nm-ip4-config.h now uses __NETWORKMANAGER_IP4_CONFIG_H__
And likewise for all other headers.
The two non-"nm"-prefixed headers, libnm/NetworkManager.h and
src/NetworkManagerUtils.h are now __NETWORKMANAGER_H__ and
__NETWORKMANAGER_UTILS_H__ respectively, which, while not entirely
consistent with the general scheme, do still mostly make sense in
isolation.
2014-08-13 18:10:11 +00:00
|
|
|
#endif /* __NM_SETTING_VPN_H__ */
|