summary refs log tree commit diff
path: root/clients/common/nm-meta-setting-desc.h
diff options
context:
space:
mode:
Diffstat (limited to 'clients/common/nm-meta-setting-desc.h')
-rw-r--r--clients/common/nm-meta-setting-desc.h541
1 files changed, 0 insertions, 541 deletions
diff --git a/clients/common/nm-meta-setting-desc.h b/clients/common/nm-meta-setting-desc.h
deleted file mode 100644
index 2f520b21..00000000
--- a/clients/common/nm-meta-setting-desc.h
+++ /dev/null
@@ -1,541 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-/*
- * Copyright (C) 2010 - 2018 Red Hat, Inc.
- */
-
-#ifndef __NM_META_SETTING_DESC_H__
-#define __NM_META_SETTING_DESC_H__
-
-#include "nm-glib-aux/nm-obj.h"
-#include "nm-meta-setting-base.h"
-#include "nm-base/nm-ethtool-base.h"
-
-struct _NMDevice;
-
-#define NM_META_TEXT_HIDDEN N_("<hidden>")
-
-#define NM_META_TEXT_PROMPT_ADSL_PROTO N_("Protocol")
-#define NM_META_TEXT_PROMPT_ADSL_PROTO_CHOICES                            \
-    "(" NM_SETTING_ADSL_PROTOCOL_PPPOA "/" NM_SETTING_ADSL_PROTOCOL_PPPOE \
-    "/" NM_SETTING_ADSL_PROTOCOL_IPOATM ")"
-
-#define NM_META_TEXT_PROMPT_ADSL_ENCAP N_("ADSL encapsulation")
-#define NM_META_TEXT_PROMPT_ADSL_ENCAP_CHOICES \
-    "(" NM_SETTING_ADSL_ENCAPSULATION_VCMUX "/" NM_SETTING_ADSL_ENCAPSULATION_LLC ") [none]"
-
-#define NM_META_TEXT_PROMPT_CON_TYPE N_("Connection type")
-#define NM_META_TEXT_PROMPT_IFNAME   N_("Interface name [*]")
-#define NM_META_TEXT_PROMPT_VPN_TYPE N_("VPN type")
-#define NM_META_TEXT_PROMPT_MASTER   N_("Master")
-
-#define NM_META_TEXT_PROMPT_IB_MODE N_("Transport mode")
-#define NM_META_TEXT_WORD_DATAGRAM  "datagram"
-#define NM_META_TEXT_WORD_CONNECTED "connected"
-#define NM_META_TEXT_PROMPT_IB_MODE_CHOICES                        \
-    "(" NM_META_TEXT_WORD_DATAGRAM "/" NM_META_TEXT_WORD_CONNECTED \
-    ") [" NM_META_TEXT_WORD_DATAGRAM "]"
-
-#define NM_META_TEXT_PROMPT_BT_TYPE N_("Bluetooth type")
-#define NM_META_TEXT_WORD_PANU      "panu"
-#define NM_META_TEXT_WORD_NAP       "nap"
-#define NM_META_TEXT_WORD_DUN_GSM   "dun-gsm"
-#define NM_META_TEXT_WORD_DUN_CDMA  "dun-cdma"
-#define NM_META_TEXT_PROMPT_BT_TYPE_CHOICES                                            \
-    "(" NM_META_TEXT_WORD_PANU "/" NM_META_TEXT_WORD_NAP "/" NM_META_TEXT_WORD_DUN_GSM \
-    "/" NM_META_TEXT_WORD_DUN_CDMA ") [" NM_META_TEXT_WORD_PANU "]"
-
-#define NM_META_TEXT_PROMPT_BOND_MODE N_("Bonding mode")
-
-#define NM_META_TEXT_PROMPT_BOND_MON_MODE N_("Bonding monitoring mode")
-#define NM_META_TEXT_WORD_MIIMON          "miimon"
-#define NM_META_TEXT_WORD_ARP             "arp"
-#define NM_META_TEXT_PROMPT_BOND_MON_MODE_CHOICES \
-    "(" NM_META_TEXT_WORD_MIIMON "/" NM_META_TEXT_WORD_ARP ") [" NM_META_TEXT_WORD_MIIMON "]"
-
-#define NM_META_TEXT_PROMPT_WIFI_MODE N_("Wi-Fi mode")
-#define NM_META_TEXT_WORD_INFRA       "infrastructure"
-#define NM_META_TEXT_WORD_AP          "ap"
-#define NM_META_TEXT_WORD_ADHOC       "adhoc"
-#define NM_META_TEXT_WORD_MESH        "mesh"
-#define NM_META_TEXT_PROMPT_WIFI_MODE_CHOICES                                        \
-    "(" NM_META_TEXT_WORD_INFRA "/" NM_META_TEXT_WORD_AP "/" NM_META_TEXT_WORD_ADHOC \
-    "/" NM_META_TEXT_WORD_MESH ") [" NM_META_TEXT_WORD_INFRA "]"
-
-#define NM_META_TEXT_PROMPT_TUN_MODE N_("Tun mode")
-#define NM_META_TEXT_WORD_TUN        "tun"
-#define NM_META_TEXT_WORD_TAP        "tap"
-#define NM_META_TEXT_PROMPT_TUN_MODE_CHOICES \
-    "(" NM_META_TEXT_WORD_TUN "/" NM_META_TEXT_WORD_TAP ") [" NM_META_TEXT_WORD_TUN "]"
-
-#define NM_META_TEXT_PROMPT_IP_TUNNEL_MODE N_("IP Tunnel mode")
-
-#define NM_META_TEXT_PROMPT_MACVLAN_MODE N_("MACVLAN mode")
-
-#define NM_META_TEXT_PROMPT_MACSEC_MODE N_("MACsec mode")
-#define NM_META_TEXT_WORD_PSK           "psk"
-#define NM_META_TEXT_WORD_EAP           "eap"
-#define NM_META_TEXT_PROMPT_MACSEC_MODE_CHOICES \
-    "(" NM_META_TEXT_WORD_PSK "/" NM_META_TEXT_WORD_EAP ")"
-
-#define NM_META_TEXT_PROMPT_PROXY_METHOD N_("Proxy method")
-#define NM_META_TEXT_WORD_NONE           "none"
-#define NM_META_TEXT_WORD_AUTO           "auto"
-#define NM_META_TEXT_PROMPT_PROXY_METHOD_CHOICES \
-    "(" NM_META_TEXT_WORD_NONE "/" NM_META_TEXT_WORD_AUTO ") [" NM_META_TEXT_WORD_NONE "]"
-
-typedef enum {
-    NM_META_COLOR_NONE = 0,
-    NM_META_COLOR_CONNECTION_ACTIVATED,
-    NM_META_COLOR_CONNECTION_ACTIVATING,
-    NM_META_COLOR_CONNECTION_DISCONNECTING,
-    NM_META_COLOR_CONNECTION_INVISIBLE,
-    NM_META_COLOR_CONNECTION_EXTERNAL,
-    NM_META_COLOR_CONNECTION_UNKNOWN,
-    NM_META_COLOR_CONNECTIVITY_FULL,
-    NM_META_COLOR_CONNECTIVITY_LIMITED,
-    NM_META_COLOR_CONNECTIVITY_NONE,
-    NM_META_COLOR_CONNECTIVITY_PORTAL,
-    NM_META_COLOR_CONNECTIVITY_UNKNOWN,
-    NM_META_COLOR_DEVICE_ACTIVATED,
-    NM_META_COLOR_DEVICE_ACTIVATING,
-    NM_META_COLOR_DEVICE_DISCONNECTED,
-    NM_META_COLOR_DEVICE_FIRMWARE_MISSING,
-    NM_META_COLOR_DEVICE_PLUGIN_MISSING,
-    NM_META_COLOR_DEVICE_UNAVAILABLE,
-    NM_META_COLOR_DEVICE_DISABLED,
-    NM_META_COLOR_DEVICE_EXTERNAL,
-    NM_META_COLOR_DEVICE_UNKNOWN,
-    NM_META_COLOR_MANAGER_RUNNING,
-    NM_META_COLOR_MANAGER_STARTING,
-    NM_META_COLOR_MANAGER_STOPPED,
-    NM_META_COLOR_PERMISSION_AUTH,
-    NM_META_COLOR_PERMISSION_NO,
-    NM_META_COLOR_PERMISSION_UNKNOWN,
-    NM_META_COLOR_PERMISSION_YES,
-    NM_META_COLOR_PROMPT,
-    NM_META_COLOR_STATE_ASLEEP,
-    NM_META_COLOR_STATE_CONNECTED_GLOBAL,
-    NM_META_COLOR_STATE_CONNECTED_LOCAL,
-    NM_META_COLOR_STATE_CONNECTED_SITE,
-    NM_META_COLOR_STATE_CONNECTING,
-    NM_META_COLOR_STATE_DISCONNECTED,
-    NM_META_COLOR_STATE_DISCONNECTING,
-    NM_META_COLOR_STATE_UNKNOWN,
-    NM_META_COLOR_WIFI_SIGNAL_EXCELLENT,
-    NM_META_COLOR_WIFI_SIGNAL_FAIR,
-    NM_META_COLOR_WIFI_SIGNAL_GOOD,
-    NM_META_COLOR_WIFI_SIGNAL_POOR,
-    NM_META_COLOR_WIFI_SIGNAL_UNKNOWN,
-    NM_META_COLOR_DISABLED,
-    NM_META_COLOR_ENABLED,
-    _NM_META_COLOR_NUM
-} NMMetaColor;
-
-typedef enum {
-    NM_META_ACCESSOR_MODIFIER_SET,
-    NM_META_ACCESSOR_MODIFIER_ADD,
-    NM_META_ACCESSOR_MODIFIER_DEL,
-} NMMetaAccessorModifier;
-
-typedef enum {
-    NM_META_ACCESSOR_GET_TYPE_PRETTY,
-    NM_META_ACCESSOR_GET_TYPE_PARSABLE,
-    NM_META_ACCESSOR_GET_TYPE_COLOR,
-} NMMetaAccessorGetType;
-
-typedef enum {
-    NM_META_ACCESSOR_SETTING_INIT_TYPE_DEFAULT,
-    NM_META_ACCESSOR_SETTING_INIT_TYPE_CLI,
-} NMMetaAccessorSettingInitType;
-
-typedef enum {
-    NM_META_ACCESSOR_GET_FLAGS_NONE         = 0,
-    NM_META_ACCESSOR_GET_FLAGS_ACCEPT_STRV  = (1LL << 0),
-    NM_META_ACCESSOR_GET_FLAGS_SHOW_SECRETS = (1LL << 1),
-} NMMetaAccessorGetFlags;
-
-typedef enum {
-    NM_META_ACCESSOR_GET_OUT_FLAGS_NONE = 0,
-    NM_META_ACCESSOR_GET_OUT_FLAGS_STRV = (1LL << 0),
-
-    /* the property allows to be hidden, if and only if, it's value is set to the
-     * default. This should only be set by new properties, to preserve behavior
-     * of old properties, which were always printed. */
-    NM_META_ACCESSOR_GET_OUT_FLAGS_HIDE = (1LL << 1),
-} NMMetaAccessorGetOutFlags;
-
-typedef enum {
-    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_NUMERIC       = (1LL << 0),
-    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_NUMERIC_HEX   = (1LL << 1),
-    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_TEXT          = (1LL << 2),
-    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_TEXT_L10N     = (1LL << 3),
-    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_NUMERIC     = (1LL << 4),
-    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_NUMERIC_HEX = (1LL << 5),
-    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_TEXT        = (1LL << 6),
-} NMMetaPropertyTypFlags;
-
-typedef enum {
-    NM_META_PROPERTY_TYPE_MAC_MODE_DEFAULT,
-    NM_META_PROPERTY_TYPE_MAC_MODE_CLONED,
-    NM_META_PROPERTY_TYPE_MAC_MODE_INFINIBAND,
-    NM_META_PROPERTY_TYPE_MAC_MODE_WPAN,
-} NMMetaPropertyTypeMacMode;
-
-typedef struct _NMMetaEnvironment           NMMetaEnvironment;
-typedef struct _NMMetaType                  NMMetaType;
-typedef struct _NMMetaAbstractInfo          NMMetaAbstractInfo;
-typedef struct _NMMetaSettingInfoEditor     NMMetaSettingInfoEditor;
-typedef struct _NMMetaPropertyInfo          NMMetaPropertyInfo;
-typedef struct _NMMetaPropertyType          NMMetaPropertyType;
-typedef struct _NMMetaPropertyTypData       NMMetaPropertyTypData;
-typedef struct _NMMetaOperationContext      NMMetaOperationContext;
-typedef struct _NMMetaNestedPropertyInfo    NMMetaNestedPropertyInfo;
-typedef struct _NMMetaPropertyTypDataNested NMMetaPropertyTypDataNested;
-
-/* this gives some context information for virtual functions.
- * This command actually violates layering, and should be considered
- * a hack. In the future, try to replace its use. */
-struct _NMMetaOperationContext {
-    NMConnection *connection;
-};
-
-struct _NMMetaPropertyType {
-    /* should return a translated string */
-    const char *(*describe_fcn)(const NMMetaPropertyInfo *property_info, char **out_to_free);
-
-    gconstpointer (*get_fcn)(const NMMetaPropertyInfo * property_info,
-                             const NMMetaEnvironment *  environment,
-                             gpointer                   environment_user_data,
-                             NMSetting *                setting,
-                             NMMetaAccessorGetType      get_type,
-                             NMMetaAccessorGetFlags     get_flags,
-                             NMMetaAccessorGetOutFlags *out_flags,
-                             gboolean *                 out_is_default,
-                             gpointer *                 out_to_free);
-    gboolean (*set_fcn)(const NMMetaPropertyInfo *property_info,
-                        const NMMetaEnvironment * environment,
-                        gpointer                  environment_user_data,
-                        NMSetting *               setting,
-                        NMMetaAccessorModifier    modifier,
-                        const char *              value,
-                        GError **                 error);
-
-    const char *const *(*values_fcn)(const NMMetaPropertyInfo *property_info, char ***out_to_free);
-
-    const char *const *(*complete_fcn)(const NMMetaPropertyInfo *    property_info,
-                                       const NMMetaEnvironment *     environment,
-                                       gpointer                      environment_user_data,
-                                       const NMMetaOperationContext *operation_context,
-                                       const char *                  text,
-                                       gboolean *                    out_complete_filename,
-                                       char ***                      out_to_free);
-
-    /* Whether set_fcn() supports the '-' modifier. That is, whether the property
-     * is a list type. */
-    bool set_supports_remove : 1;
-};
-
-struct _NMUtilsEnumValueInfo;
-
-typedef union {
-    gint64  i64;
-    guint64 u64;
-} NMMetaSignUnsignInt64;
-
-typedef struct {
-    const char *          nick;
-    NMMetaSignUnsignInt64 value;
-} NMMetaUtilsIntValueInfo;
-
-struct _NMMetaPropertyTypData {
-    union {
-        struct {
-            GType (*get_gtype)(void);
-            int                                 min;
-            int                                 max;
-            const struct _NMUtilsEnumValueInfo *value_infos_get; /* nicks for get function */
-            const struct _NMUtilsEnumValueInfo *value_infos;     /* nicks for set function */
-            void (*pre_set_notify)(const NMMetaPropertyInfo *property_info,
-                                   const NMMetaEnvironment * environment,
-                                   gpointer                  environment_user_data,
-                                   NMSetting *               setting,
-                                   int                       value);
-        } gobject_enum;
-        struct {
-            NMMetaSignUnsignInt64          min;
-            NMMetaSignUnsignInt64          max;
-            guint                          base;
-            const NMMetaUtilsIntValueInfo *value_infos;
-        } gobject_int;
-        struct {
-            const char *(*validate_fcn)(const char *value, char **out_to_free, GError **error);
-            bool handle_emptyunset : 1;
-        } gobject_string;
-        struct {
-            bool legacy_format : 1;
-        } gobject_bytes;
-        struct {
-            guint32 (*get_num_fcn_u32)(NMSetting *setting);
-            guint (*get_num_fcn_u)(NMSetting *setting);
-            void (*clear_all_fcn)(NMSetting *setting);
-
-            /* some multilist properties distinguish between an empty list and
-             * and unset. If this function pointer is set, certain behaviors come
-             * into action to handle that. */
-            void (*clear_emptyunset_fcn)(NMSetting *setting,
-                                         gboolean   is_set /* or else set default */);
-
-            gboolean (*add_fcn)(NMSetting *setting, const char *item);
-            void (*add2_fcn)(NMSetting *setting, const char *item);
-            const char *(*validate_fcn)(const char *item, GError **error);
-            const char *(*validate2_fcn)(NMSetting *setting, const char *item, GError **error);
-            void (*remove_by_idx_fcn_u32)(NMSetting *setting, guint32 idx);
-            void (*remove_by_idx_fcn_u)(NMSetting *setting, guint idx);
-            void (*remove_by_idx_fcn_s)(NMSetting *setting, int idx);
-            gboolean (*remove_by_value_fcn)(NMSetting *setting, const char *item);
-            bool strsplit_plain : 1;
-            bool strsplit_with_spaces : 1;
-        } multilist;
-        struct {
-            guint (*get_num_fcn)(NMSetting *setting);
-            void (*obj_to_str_fcn)(NMMetaAccessorGetType get_type,
-                                   NMSetting *           setting,
-                                   guint                 idx,
-                                   GString *             str);
-            gboolean (*set_fcn)(NMSetting * setting,
-                                gboolean    do_add /* or else remove. */,
-                                const char *value,
-                                GError **   error);
-            void (*clear_all_fcn)(NMSetting *setting);
-            void (*remove_by_idx_fcn_u)(NMSetting *setting, guint idx);
-            void (*remove_by_idx_fcn_s)(NMSetting *setting, int idx);
-            bool delimit_pretty_with_semicolon : 1;
-            bool strsplit_plain : 1;
-        } objlist;
-        struct {
-            gboolean (*set_fcn)(NMSetting * setting,
-                                const char *option,
-                                const char *value,
-                                GError **   error);
-            bool no_empty_value : 1;
-        } optionlist;
-        struct {
-            guint32 (*get_fcn)(NMSetting *setting);
-        } mtu;
-        struct {
-            NMSetting8021xSchemeType scheme_type;
-        } cert_8021x;
-        struct {
-            NMMetaPropertyTypeMacMode mode;
-        } mac;
-        struct {
-            guint (*get_fcn)(NMSettingDcb *setting, guint user_priority);
-            void (*set_fcn)(NMSettingDcb *setting, guint id, guint value);
-            guint max;
-            guint other;
-            bool  is_percent : 1;
-        } dcb;
-        struct {
-            gboolean (*get_fcn)(NMSettingDcb *s_dcb, guint priority);
-            void (*set_fcn)(NMSettingDcb *setting, guint user_priority, gboolean enabled);
-            bool with_flow_control_flags : 1;
-        } dcb_bool;
-        struct {
-            NMEthtoolID ethtool_id;
-        } ethtool;
-    } subtype;
-    gboolean (*is_default_fcn)(NMSetting *setting);
-    const char *const *                values_static;
-    const NMMetaPropertyTypDataNested *nested;
-    NMMetaPropertyTypFlags             typ_flags;
-};
-
-typedef enum {
-    NM_META_PROPERTY_INF_FLAG_NONE     = 0x00,
-    NM_META_PROPERTY_INF_FLAG_REQD     = 0x01, /* Don't ask to ask. */
-    NM_META_PROPERTY_INF_FLAG_DONT_ASK = 0x02, /* Don't ask interactively by default */
-    NM_META_PROPERTY_INF_FLAG_MULTI = 0x04, /* Ask multiple times, do an append instead of set. */
-} NMMetaPropertyInfFlags;
-
-enum {
-    _NM_META_PROPERTY_TYPE_VPN_SERVICE_TYPE = 0,
-    _NM_META_PROPERTY_TYPE_CONNECTION_TYPE  = 3,
-};
-
-#define nm_meta_property_info_connection_type                      \
-    (nm_meta_setting_infos_editor[NM_META_SETTING_TYPE_CONNECTION] \
-         .properties[_NM_META_PROPERTY_TYPE_CONNECTION_TYPE])
-#define nm_meta_property_info_vpn_service_type              \
-    (nm_meta_setting_infos_editor[NM_META_SETTING_TYPE_VPN] \
-         .properties[_NM_META_PROPERTY_TYPE_VPN_SERVICE_TYPE])
-
-struct _NMMetaPropertyInfo {
-    union {
-        NMObjBaseInst     parent;
-        const NMMetaType *meta_type;
-    };
-
-    const NMMetaSettingInfoEditor *setting_info;
-
-    const char *property_name;
-
-    const char *property_alias;
-
-    NMMetaPropertyInfFlags inf_flags;
-    bool                   is_secret : 1;
-
-    bool is_cli_option : 1;
-    bool hide_if_default : 1;
-
-    const char *prompt;
-
-    const char *def_hint;
-
-    const char *describe_doc;
-
-    /* a non-translated but translatable static description (marked with N_()). */
-    const char *describe_message;
-
-    const NMMetaPropertyType *   property_type;
-    const NMMetaPropertyTypData *property_typ_data;
-};
-
-typedef struct _NMMetaSettingValidPartItem {
-    const NMMetaSettingInfoEditor *setting_info;
-    bool                           mandatory;
-} NMMetaSettingValidPartItem;
-
-struct _NMMetaSettingInfoEditor {
-    union {
-        NMObjBaseInst     parent;
-        const NMMetaType *meta_type;
-    };
-    const NMMetaSettingInfo *        general;
-    const char *                     alias;
-    const char *                     pretty_name;
-    const NMMetaPropertyInfo *const *properties;
-    guint                            properties_num;
-
-    /* a NMConnection has a main type (connection.type), which is a
-     * main NMSetting instance. Depending on the type, a connection
-     * may have a list of other allowed settings.
-     *
-     * For example, a connection of type "vlan" may have settings
-     * of type "connection", "vlan", and "wired".
-     *
-     * Some setting types a not a main type (NMSettingProxy). They
-     * don't have valid_settings but are usually referenced by other
-     * settings to be valid for them. */
-    const NMMetaSettingValidPartItem *const *valid_parts;
-
-    void (*setting_init_fcn)(const NMMetaSettingInfoEditor *setting_info,
-                             NMSetting *                    setting,
-                             NMMetaAccessorSettingInitType  init_type);
-};
-
-struct _NMMetaType {
-    NMObjBaseClass parent;
-    const char *   type_name;
-    const char *(*get_name)(const NMMetaAbstractInfo *abstract_info, gboolean for_header);
-    const NMMetaAbstractInfo *const *(*get_nested)(const NMMetaAbstractInfo *abstract_info,
-                                                   guint *                   out_len,
-                                                   gpointer *                out_to_free);
-    gconstpointer (*get_fcn)(const NMMetaAbstractInfo * info,
-                             const NMMetaEnvironment *  environment,
-                             gpointer                   environment_user_data,
-                             gpointer                   target,
-                             gpointer                   target_data,
-                             NMMetaAccessorGetType      get_type,
-                             NMMetaAccessorGetFlags     get_flags,
-                             NMMetaAccessorGetOutFlags *out_flags,
-                             gboolean *                 out_is_default,
-                             gpointer *                 out_to_free);
-    const char *const *(*complete_fcn)(const NMMetaAbstractInfo *    info,
-                                       const NMMetaEnvironment *     environment,
-                                       gpointer                      environment_user_data,
-                                       const NMMetaOperationContext *operation_context,
-                                       const char *                  text,
-                                       gboolean *                    out_complete_filename,
-                                       char ***                      out_to_free);
-};
-
-struct _NMMetaAbstractInfo {
-    union {
-        NMObjBaseInst     parent;
-        const NMMetaType *meta_type;
-    };
-};
-
-extern const NMMetaType nm_meta_type_setting_info_editor;
-extern const NMMetaType nm_meta_type_property_info;
-
-extern const NMMetaSettingInfoEditor nm_meta_setting_infos_editor[_NM_META_SETTING_TYPE_NUM];
-
-extern const NMMetaSettingValidPartItem *const nm_meta_setting_info_valid_parts_default[];
-
-const NMMetaSettingValidPartItem *const *
-nm_meta_setting_info_valid_parts_for_slave_type(const char * slave_type,
-                                                const char **out_slave_name);
-
-/*****************************************************************************/
-
-typedef enum {
-    NM_META_ENV_WARN_LEVEL_INFO,
-    NM_META_ENV_WARN_LEVEL_WARN,
-} NMMetaEnvWarnLevel;
-
-/* the settings-meta data is supposed to be independent of an actual client
- * implementation. Hence, there is a need for hooks to the meta-data.
- * The meta-data handlers may call back to the environment with certain
- * actions. */
-struct _NMMetaEnvironment {
-    void (*warn_fcn)(
-        const NMMetaEnvironment *environment,
-        gpointer                 environment_user_data,
-        NMMetaEnvWarnLevel       warn_level,
-        const char *
-            fmt_l10n, /* the untranslated format string, but it is marked for translation using N_(). */
-        va_list ap);
-
-    struct _NMDevice *const *(*get_nm_devices)(const NMMetaEnvironment *environment,
-                                               gpointer                 environment_user_data,
-                                               guint *                  out_len);
-
-    struct _NMRemoteConnection *const *(*get_nm_connections)(const NMMetaEnvironment *environment,
-                                                             gpointer environment_user_data,
-                                                             guint *  out_len);
-};
-
-/*****************************************************************************/
-
-/* NMSettingBond is special in that it has nested properties.
- * We will add API to proper handle such types (Bond, VPN, User),
- * but for now just expose the type info directly. */
-
-extern const NMMetaType nm_meta_type_nested_property_info;
-
-struct _NMMetaNestedPropertyInfo {
-    union {
-        const NMMetaType * meta_type;
-        NMMetaPropertyInfo base;
-    };
-    const NMMetaPropertyInfo *parent_info;
-};
-
-struct _NMMetaPropertyTypDataNested {
-    const NMMetaNestedPropertyInfo *nested;
-    guint                           nested_len;
-};
-
-extern const NMMetaPropertyTypDataNested nm_meta_property_typ_data_bond;
-
-/*****************************************************************************/
-
-gboolean _nm_meta_setting_bond_add_option(NMSetting * setting,
-                                          const char *name,
-                                          const char *value,
-                                          GError **   error);
-
-/*****************************************************************************/
-
-#endif /* __NM_META_SETTING_DESC_H__ */