mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-29 11:30:12 +01:00
cli: add -f argument completion
This commit is contained in:
parent
2e5f8d7de6
commit
8cc6ce7e44
7 changed files with 185 additions and 54 deletions
|
|
@ -86,4 +86,9 @@ void nmc_complete_strings (const char *prefix, ...) G_GNUC_NULL_TERMINATED;
|
|||
|
||||
void nmc_complete_bool (const char *prefix);
|
||||
|
||||
extern NmcOutputField nmc_fields_ip4_config[];
|
||||
extern NmcOutputField nmc_fields_dhcp4_config[];
|
||||
extern NmcOutputField nmc_fields_ip6_config[];
|
||||
extern NmcOutputField nmc_fields_dhcp6_config[];
|
||||
|
||||
#endif /* NMC_COMMON_H */
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ struct _OptionInfo {
|
|||
#define BASE_PROMPT "nmcli> "
|
||||
|
||||
/* Available fields for 'connection show' */
|
||||
static NmcOutputField nmc_fields_con_show[] = {
|
||||
NmcOutputField nmc_fields_con_show[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"UUID", N_("UUID")}, /* 1 */
|
||||
{"TYPE", N_("TYPE")}, /* 2 */
|
||||
|
|
@ -138,39 +138,8 @@ static NmcOutputField nmc_fields_con_show[] = {
|
|||
/* Helper macro to define fields */
|
||||
#define SETTING_FIELD(setting, props) { setting, N_(setting), 0, props, NULL, FALSE, FALSE, 0 }
|
||||
|
||||
/* defined in settings.c */
|
||||
extern NmcOutputField nmc_fields_setting_connection[];
|
||||
extern NmcOutputField nmc_fields_setting_wired[];
|
||||
extern NmcOutputField nmc_fields_setting_8021X[];
|
||||
extern NmcOutputField nmc_fields_setting_wireless[];
|
||||
extern NmcOutputField nmc_fields_setting_wireless_security[];
|
||||
extern NmcOutputField nmc_fields_setting_ip4_config[];
|
||||
extern NmcOutputField nmc_fields_setting_ip6_config[];
|
||||
extern NmcOutputField nmc_fields_setting_serial[];
|
||||
extern NmcOutputField nmc_fields_setting_ppp[];
|
||||
extern NmcOutputField nmc_fields_setting_pppoe[];
|
||||
extern NmcOutputField nmc_fields_setting_adsl[];
|
||||
extern NmcOutputField nmc_fields_setting_gsm[];
|
||||
extern NmcOutputField nmc_fields_setting_cdma[];
|
||||
extern NmcOutputField nmc_fields_setting_bluetooth[];
|
||||
extern NmcOutputField nmc_fields_setting_olpc_mesh[];
|
||||
extern NmcOutputField nmc_fields_setting_vpn[];
|
||||
extern NmcOutputField nmc_fields_setting_wimax[];
|
||||
extern NmcOutputField nmc_fields_setting_infiniband[];
|
||||
extern NmcOutputField nmc_fields_setting_bond[];
|
||||
extern NmcOutputField nmc_fields_setting_vlan[];
|
||||
extern NmcOutputField nmc_fields_setting_bridge[];
|
||||
extern NmcOutputField nmc_fields_setting_bridge_port[];
|
||||
extern NmcOutputField nmc_fields_setting_team[];
|
||||
extern NmcOutputField nmc_fields_setting_team_port[];
|
||||
extern NmcOutputField nmc_fields_setting_dcb[];
|
||||
extern NmcOutputField nmc_fields_setting_tun[];
|
||||
extern NmcOutputField nmc_fields_setting_ip_tunnel[];
|
||||
extern NmcOutputField nmc_fields_setting_macvlan[];
|
||||
extern NmcOutputField nmc_fields_setting_vxlan[];
|
||||
|
||||
/* Available settings for 'connection show <con>' - profile part */
|
||||
static NmcOutputField nmc_fields_settings_names[] = {
|
||||
NmcOutputField nmc_fields_settings_names[] = {
|
||||
SETTING_FIELD (NM_SETTING_CONNECTION_SETTING_NAME, nmc_fields_setting_connection + 1), /* 0 */
|
||||
SETTING_FIELD (NM_SETTING_WIRED_SETTING_NAME, nmc_fields_setting_wired + 1), /* 1 */
|
||||
SETTING_FIELD (NM_SETTING_802_1X_SETTING_NAME, nmc_fields_setting_8021X + 1), /* 2 */
|
||||
|
|
@ -234,7 +203,7 @@ static NmcOutputField nmc_fields_settings_names[] = {
|
|||
|
||||
/* Active connection data */
|
||||
/* Available fields for GENERAL group */
|
||||
static NmcOutputField nmc_fields_con_active_details_general[] = {
|
||||
NmcOutputField nmc_fields_con_active_details_general[] = {
|
||||
{"GROUP", N_("GROUP")}, /* 0 */
|
||||
{"NAME", N_("NAME")}, /* 1 */
|
||||
{"UUID", N_("UUID")}, /* 2 */
|
||||
|
|
@ -256,7 +225,7 @@ static NmcOutputField nmc_fields_con_active_details_general[] = {
|
|||
/* IP group is handled by common.c */
|
||||
|
||||
/* Available fields for VPN group */
|
||||
static NmcOutputField nmc_fields_con_active_details_vpn[] = {
|
||||
NmcOutputField nmc_fields_con_active_details_vpn[] = {
|
||||
{"GROUP", N_("GROUP")}, /* 0 */
|
||||
{"TYPE", N_("TYPE")}, /* 1 */
|
||||
{"USERNAME", N_("USERNAME")}, /* 2 */
|
||||
|
|
@ -275,7 +244,7 @@ extern NmcOutputField nmc_fields_dhcp4_config[];
|
|||
extern NmcOutputField nmc_fields_dhcp6_config[];
|
||||
|
||||
/* Available fields for 'connection show <con>' - active part */
|
||||
static NmcOutputField nmc_fields_con_active_details_groups[] = {
|
||||
NmcOutputField nmc_fields_con_active_details_groups[] = {
|
||||
{"GENERAL", N_("GENERAL"), 0, nmc_fields_con_active_details_general + 1}, /* 0 */
|
||||
{"IP4", N_("IP4"), 0, nmc_fields_ip4_config + 1 }, /* 1 */
|
||||
{"DHCP4", N_("DHCP4"), 0, nmc_fields_dhcp4_config + 1 }, /* 2 */
|
||||
|
|
|
|||
|
|
@ -35,4 +35,10 @@ nmc_read_connection_properties (NmCli *nmc,
|
|||
|
||||
void nmc_active_connection_state_to_color (NMActiveConnectionState state, NmcTermColor *color);
|
||||
|
||||
extern NmcOutputField nmc_fields_con_show[];
|
||||
extern NmcOutputField nmc_fields_settings_names[];
|
||||
extern NmcOutputField nmc_fields_con_active_details_general[];
|
||||
extern NmcOutputField nmc_fields_con_active_details_vpn[];
|
||||
extern NmcOutputField nmc_fields_con_active_details_groups[];
|
||||
|
||||
#endif /* NMC_CONNECTIONS_H */
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
#define PROMPT_INTERFACES _("Interface(s): ")
|
||||
|
||||
/* Available fields for 'device status' */
|
||||
static NmcOutputField nmc_fields_dev_status[] = {
|
||||
NmcOutputField nmc_fields_dev_status[] = {
|
||||
{"DEVICE", N_("DEVICE")}, /* 0 */
|
||||
{"TYPE", N_("TYPE")}, /* 1 */
|
||||
{"STATE", N_("STATE")}, /* 2 */
|
||||
|
|
@ -52,7 +52,7 @@ static NmcOutputField nmc_fields_dev_status[] = {
|
|||
|
||||
|
||||
/* Available fields for 'device show' - GENERAL part */
|
||||
static NmcOutputField nmc_fields_dev_show_general[] = {
|
||||
NmcOutputField nmc_fields_dev_show_general[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"DEVICE", N_("DEVICE")}, /* 1 */
|
||||
{"TYPE", N_("TYPE")}, /* 2 */
|
||||
|
|
@ -86,7 +86,7 @@ static NmcOutputField nmc_fields_dev_show_general[] = {
|
|||
#define NMC_FIELDS_DEV_SHOW_GENERAL_COMMON "NAME,DEVICE,TYPE,VENDOR,PRODUCT,DRIVER,HWADDR,STATE"
|
||||
|
||||
/* Available fields for 'device show' - CONNECTIONS part */
|
||||
static NmcOutputField nmc_fields_dev_show_connections[] = {
|
||||
NmcOutputField nmc_fields_dev_show_connections[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"AVAILABLE-CONNECTION-PATHS", N_("AVAILABLE-CONNECTION-PATHS")}, /* 1 */
|
||||
{"AVAILABLE-CONNECTIONS", N_("AVAILABLE-CONNECTIONS")}, /* 2 */
|
||||
|
|
@ -96,7 +96,7 @@ static NmcOutputField nmc_fields_dev_show_connections[] = {
|
|||
#define NMC_FIELDS_DEV_SHOW_CONNECTIONS_COMMON "AVAILABLE-CONNECTION-PATHS,AVAILABLE-CONNECTIONS"
|
||||
|
||||
/* Available fields for 'device show' - CAPABILITIES part */
|
||||
static NmcOutputField nmc_fields_dev_show_cap[] = {
|
||||
NmcOutputField nmc_fields_dev_show_cap[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"CARRIER-DETECT", N_("CARRIER-DETECT")}, /* 1 */
|
||||
{"SPEED", N_("SPEED")}, /* 2 */
|
||||
|
|
@ -107,7 +107,7 @@ static NmcOutputField nmc_fields_dev_show_cap[] = {
|
|||
#define NMC_FIELDS_DEV_SHOW_CAP_COMMON "NAME,CARRIER-DETECT,SPEED,IS-SOFTWARE"
|
||||
|
||||
/* Available fields for 'device show' - wired properties part */
|
||||
static NmcOutputField nmc_fields_dev_show_wired_prop[] = {
|
||||
NmcOutputField nmc_fields_dev_show_wired_prop[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"CARRIER", N_("CARRIER")}, /* 1 */
|
||||
{"S390-SUBCHANNELS", N_("S390-SUBCHANNELS")}, /* 2 */
|
||||
|
|
@ -117,7 +117,7 @@ static NmcOutputField nmc_fields_dev_show_wired_prop[] = {
|
|||
#define NMC_FIELDS_DEV_SHOW_WIRED_PROP_COMMON "NAME,CARRIER,S390-SUBCHANNELS"
|
||||
|
||||
/* Available fields for 'device show' - wireless properties part */
|
||||
static NmcOutputField nmc_fields_dev_show_wifi_prop[] = {
|
||||
NmcOutputField nmc_fields_dev_show_wifi_prop[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"WEP", N_("WEP")}, /* 1 */
|
||||
{"WPA", N_("WPA")}, /* 2 */
|
||||
|
|
@ -134,7 +134,7 @@ static NmcOutputField nmc_fields_dev_show_wifi_prop[] = {
|
|||
#define NMC_FIELDS_DEV_SHOW_WIFI_PROP_COMMON "NAME,WEP,WPA,WPA2,TKIP,CCMP,AP,ADHOC"
|
||||
|
||||
/* Available fields for 'device show' - wimax properties part */
|
||||
static NmcOutputField nmc_fields_dev_show_wimax_prop[] = {
|
||||
NmcOutputField nmc_fields_dev_show_wimax_prop[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"CTR-FREQ", N_("CTR-FREQ")}, /* 1 */
|
||||
{"RSSI", N_("RSSI")}, /* 2 */
|
||||
|
|
@ -147,7 +147,7 @@ static NmcOutputField nmc_fields_dev_show_wimax_prop[] = {
|
|||
#define NMC_FIELDS_DEV_SHOW_WIMAX_PROP_COMMON "NAME,CTR-FREQ,RSSI,CINR,TX-POW,BSID"
|
||||
|
||||
/* Available fields for 'device wifi list' */
|
||||
static NmcOutputField nmc_fields_dev_wifi_list[] = {
|
||||
NmcOutputField nmc_fields_dev_wifi_list[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"SSID", N_("SSID")}, /* 1 */
|
||||
{"SSID-HEX", N_("SSID-HEX")}, /* 2 */
|
||||
|
|
@ -173,7 +173,7 @@ static NmcOutputField nmc_fields_dev_wifi_list[] = {
|
|||
#define NMC_FIELDS_DEV_WIFI_LIST_FOR_DEV_LIST "NAME,"NMC_FIELDS_DEV_WIFI_LIST_COMMON
|
||||
|
||||
/* Available fields for 'device wimax list' */
|
||||
static NmcOutputField nmc_fields_dev_wimax_list[] = {
|
||||
NmcOutputField nmc_fields_dev_wimax_list[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"NSP", N_("NSP")}, /* 1 */
|
||||
{"SIGNAL", N_("SIGNAL")}, /* 2 */
|
||||
|
|
@ -188,7 +188,7 @@ static NmcOutputField nmc_fields_dev_wimax_list[] = {
|
|||
#define NMC_FIELDS_DEV_WIMAX_LIST_FOR_DEV_LIST "NAME,"NMC_FIELDS_DEV_WIMAX_LIST_COMMON
|
||||
|
||||
/* Available fields for 'device show' - BOND, BRIDGE part */
|
||||
static NmcOutputField nmc_fields_dev_show_master_prop[] = {
|
||||
NmcOutputField nmc_fields_dev_show_master_prop[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"SLAVES", N_("SLAVES")}, /* 1 */
|
||||
{NULL, NULL}
|
||||
|
|
@ -197,7 +197,7 @@ static NmcOutputField nmc_fields_dev_show_master_prop[] = {
|
|||
#define NMC_FIELDS_DEV_SHOW_MASTER_PROP_COMMON "NAME,SLAVES"
|
||||
|
||||
/* Available fields for 'device show' - TEAM part */
|
||||
static NmcOutputField nmc_fields_dev_show_team_prop[] = {
|
||||
NmcOutputField nmc_fields_dev_show_team_prop[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"SLAVES", N_("SLAVES")}, /* 1 */
|
||||
{"CONFIG", N_("CONFIG")}, /* 2 */
|
||||
|
|
@ -207,7 +207,7 @@ static NmcOutputField nmc_fields_dev_show_team_prop[] = {
|
|||
#define NMC_FIELDS_DEV_SHOW_TEAM_PROP_COMMON "NAME,SLAVES,CONFIG"
|
||||
|
||||
/* Available fields for 'device show' - VLAN part */
|
||||
static NmcOutputField nmc_fields_dev_show_vlan_prop[] = {
|
||||
NmcOutputField nmc_fields_dev_show_vlan_prop[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"PARENT", N_("PARENT")}, /* 1 */
|
||||
{"ID", N_("ID")}, /* 2 */
|
||||
|
|
@ -217,7 +217,7 @@ static NmcOutputField nmc_fields_dev_show_vlan_prop[] = {
|
|||
#define NMC_FIELDS_DEV_SHOW_VLAN_PROP_COMMON "NAME,PARENT,ID"
|
||||
|
||||
/* Available fields for 'device show' - BLUETOOTH part */
|
||||
static NmcOutputField nmc_fields_dev_show_bluetooth[] = {
|
||||
NmcOutputField nmc_fields_dev_show_bluetooth[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"CAPABILITIES", N_("CAPABILITIES")}, /* 1 */
|
||||
{NULL, NULL}
|
||||
|
|
@ -232,7 +232,7 @@ extern NmcOutputField nmc_fields_dhcp4_config[];
|
|||
extern NmcOutputField nmc_fields_dhcp6_config[];
|
||||
|
||||
/* Available sections for 'device show' */
|
||||
static NmcOutputField nmc_fields_dev_show_sections[] = {
|
||||
NmcOutputField nmc_fields_dev_show_sections[] = {
|
||||
{"GENERAL", N_("GENERAL"), 0, nmc_fields_dev_show_general + 1 }, /* 0 */
|
||||
{"CAPABILITIES", N_("CAPABILITIES"), 0, nmc_fields_dev_show_cap + 1 }, /* 1 */
|
||||
{"WIFI-PROPERTIES", N_("WIFI-PROPERTIES"), 0, nmc_fields_dev_show_wifi_prop + 1 }, /* 2 */
|
||||
|
|
@ -258,7 +258,7 @@ static NmcOutputField nmc_fields_dev_show_sections[] = {
|
|||
"GENERAL.CONNECTION,GENERAL.CON-PATH,WIRED-PROPERTIES,IP4,IP6"
|
||||
|
||||
/* Available fields for 'device lldp' */
|
||||
static NmcOutputField nmc_fields_dev_lldp_list[] = {
|
||||
NmcOutputField nmc_fields_dev_lldp_list[] = {
|
||||
{"NAME", N_("NAME")}, /* 0 */
|
||||
{"DEVICE", N_("DEVICE")}, /* 1 */
|
||||
{"CHASSIS-ID", N_("CHASSIS-ID")}, /* 2 */
|
||||
|
|
|
|||
|
|
@ -34,4 +34,20 @@ NMDevice ** nmc_get_devices_sorted (NMClient *client);
|
|||
|
||||
void nmc_device_state_to_color (NMDeviceState state, NmcTermColor *color, NmcTermFormat *color_fmt);
|
||||
|
||||
extern NmcOutputField nmc_fields_dev_status[];
|
||||
extern NmcOutputField nmc_fields_dev_show_general[];
|
||||
extern NmcOutputField nmc_fields_dev_show_connections[];
|
||||
extern NmcOutputField nmc_fields_dev_show_cap[];
|
||||
extern NmcOutputField nmc_fields_dev_show_wired_prop[];
|
||||
extern NmcOutputField nmc_fields_dev_show_wifi_prop[];
|
||||
extern NmcOutputField nmc_fields_dev_show_wimax_prop[];
|
||||
extern NmcOutputField nmc_fields_dev_wifi_list[];
|
||||
extern NmcOutputField nmc_fields_dev_wimax_list[];
|
||||
extern NmcOutputField nmc_fields_dev_show_master_prop[];
|
||||
extern NmcOutputField nmc_fields_dev_show_team_prop[];
|
||||
extern NmcOutputField nmc_fields_dev_show_vlan_prop[];
|
||||
extern NmcOutputField nmc_fields_dev_show_bluetooth[];
|
||||
extern NmcOutputField nmc_fields_dev_show_sections[];
|
||||
extern NmcOutputField nmc_fields_dev_lldp_list[];
|
||||
|
||||
#endif /* NMC_DEVICES_H */
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@
|
|||
#include "devices.h"
|
||||
#include "general.h"
|
||||
#include "agent.h"
|
||||
#include "settings.h"
|
||||
|
||||
#if defined(NM_DIST_VERSION)
|
||||
# define NMCLI_VERSION NM_DIST_VERSION
|
||||
|
|
@ -64,6 +65,105 @@ GMainLoop *loop = NULL;
|
|||
static sigset_t signal_set;
|
||||
struct termios termios_orig;
|
||||
|
||||
static void
|
||||
complete_field (GHashTable *h, const char *setting, NmcOutputField field[])
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; field[i].name; i++) {
|
||||
if (setting)
|
||||
g_hash_table_add (h, g_strdup_printf ("%s.%s", setting, field[i].name));
|
||||
else
|
||||
g_hash_table_add (h, g_strdup (field[i].name));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
complete_one (gpointer key, gpointer value, gpointer user_data)
|
||||
{
|
||||
const char *prefix = user_data;
|
||||
const char *name = key;
|
||||
const char *last;
|
||||
|
||||
last = strrchr (prefix, ',');
|
||||
if (last)
|
||||
last++;
|
||||
else
|
||||
last = prefix;
|
||||
|
||||
if ((!*last && !strchr (name, '.')) || matches (last, name) == 0) {
|
||||
g_print ("%.*s%s%s\n", (int)(last-prefix), prefix, name,
|
||||
strcmp (last, name) == 0 ? "," : "");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
complete_fields (const char *prefix)
|
||||
{
|
||||
|
||||
GHashTable *h;
|
||||
|
||||
h = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
|
||||
|
||||
complete_field (h, NULL, nmc_fields_ip4_config);
|
||||
complete_field (h, NULL, nmc_fields_dhcp4_config);
|
||||
complete_field (h, NULL, nmc_fields_ip6_config);
|
||||
complete_field (h, NULL, nmc_fields_dhcp6_config);
|
||||
complete_field (h, NULL, nmc_fields_con_show);
|
||||
complete_field (h, NULL, nmc_fields_settings_names);
|
||||
complete_field (h, NULL, nmc_fields_con_active_details_general);
|
||||
complete_field (h, NULL, nmc_fields_con_active_details_vpn);
|
||||
complete_field (h, NULL, nmc_fields_con_active_details_groups);
|
||||
complete_field (h, NULL, nmc_fields_dev_status);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_general);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_connections);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_cap);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_wired_prop);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_wifi_prop);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_wimax_prop);
|
||||
complete_field (h, NULL, nmc_fields_dev_wifi_list);
|
||||
complete_field (h, NULL, nmc_fields_dev_wimax_list);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_master_prop);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_team_prop);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_vlan_prop);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_bluetooth);
|
||||
complete_field (h, NULL, nmc_fields_dev_show_sections);
|
||||
complete_field (h, NULL, nmc_fields_dev_lldp_list);
|
||||
|
||||
complete_field (h, "connection", nmc_fields_setting_connection);
|
||||
complete_field (h, "wired", nmc_fields_setting_wired);
|
||||
complete_field (h, "8021X", nmc_fields_setting_8021X);
|
||||
complete_field (h, "wireless", nmc_fields_setting_wireless);
|
||||
complete_field (h, "wireless_security", nmc_fields_setting_wireless_security);
|
||||
complete_field (h, "ip4-config", nmc_fields_setting_ip4_config);
|
||||
complete_field (h, "ip6-config", nmc_fields_setting_ip6_config);
|
||||
complete_field (h, "serial", nmc_fields_setting_serial);
|
||||
complete_field (h, "ppp", nmc_fields_setting_ppp);
|
||||
complete_field (h, "pppoe", nmc_fields_setting_pppoe);
|
||||
complete_field (h, "adsl", nmc_fields_setting_adsl);
|
||||
complete_field (h, "gsm", nmc_fields_setting_gsm);
|
||||
complete_field (h, "cdma", nmc_fields_setting_cdma);
|
||||
complete_field (h, "bluetooth", nmc_fields_setting_bluetooth);
|
||||
complete_field (h, "olpc-mesh", nmc_fields_setting_olpc_mesh);
|
||||
complete_field (h, "vpn", nmc_fields_setting_vpn);
|
||||
complete_field (h, "wimax", nmc_fields_setting_wimax);
|
||||
complete_field (h, "infiniband", nmc_fields_setting_infiniband);
|
||||
complete_field (h, "bond", nmc_fields_setting_bond);
|
||||
complete_field (h, "vlan", nmc_fields_setting_vlan);
|
||||
complete_field (h, "bridge", nmc_fields_setting_bridge);
|
||||
complete_field (h, "bridge-port", nmc_fields_setting_bridge_port);
|
||||
complete_field (h, "team", nmc_fields_setting_team);
|
||||
complete_field (h, "team0port", nmc_fields_setting_team_port);
|
||||
complete_field (h, "dcb", nmc_fields_setting_dcb);
|
||||
complete_field (h, "tun", nmc_fields_setting_tun);
|
||||
complete_field (h, "ip-tunnel", nmc_fields_setting_ip_tunnel);
|
||||
complete_field (h, "macvlan", nmc_fields_setting_macvlan);
|
||||
complete_field (h, "vxlan", nmc_fields_setting_vxlan);
|
||||
|
||||
g_hash_table_foreach (h, complete_one, (gpointer) prefix);
|
||||
g_hash_table_destroy (h);
|
||||
}
|
||||
|
||||
|
||||
/* Get an error quark for use with GError */
|
||||
GQuark
|
||||
|
|
@ -188,7 +288,8 @@ parse_command_line (NmCli *nmc, int argc, char **argv)
|
|||
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
|
||||
return nmc->return_value;
|
||||
}
|
||||
nmc_complete_strings (argv[0], "tabular", "multiline", NULL);
|
||||
if (argc == 1 && nmc->complete)
|
||||
nmc_complete_strings (argv[0], "tabular", "multiline", NULL);
|
||||
if (matches (argv[0], "tabular") == 0)
|
||||
nmc->multiline_output = FALSE;
|
||||
else if (matches (argv[0], "multiline") == 0)
|
||||
|
|
@ -204,7 +305,8 @@ parse_command_line (NmCli *nmc, int argc, char **argv)
|
|||
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
|
||||
return nmc->return_value;
|
||||
}
|
||||
nmc_complete_strings (argv[0], "yes", "no", "auto", NULL);
|
||||
if (argc == 1 && nmc->complete)
|
||||
nmc_complete_strings (argv[0], "yes", "no", "auto", NULL);
|
||||
if (matches (argv[0], "auto") == 0)
|
||||
nmc->use_colors = NMC_USE_COLOR_AUTO;
|
||||
else if (matches (argv[0], "yes") == 0)
|
||||
|
|
@ -222,7 +324,8 @@ parse_command_line (NmCli *nmc, int argc, char **argv)
|
|||
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
|
||||
return nmc->return_value;
|
||||
}
|
||||
nmc_complete_strings (argv[0], "yes", "no", NULL);
|
||||
if (argc == 1 && nmc->complete)
|
||||
nmc_complete_strings (argv[0], "yes", "no", NULL);
|
||||
if (matches (argv[0], "yes") == 0)
|
||||
nmc->escape_values = TRUE;
|
||||
else if (matches (argv[0], "no") == 0)
|
||||
|
|
@ -238,6 +341,8 @@ parse_command_line (NmCli *nmc, int argc, char **argv)
|
|||
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
|
||||
return nmc->return_value;
|
||||
}
|
||||
if (argc == 1 && nmc->complete)
|
||||
complete_fields (argv[0]);
|
||||
nmc->required_fields = g_strdup (argv[0]);
|
||||
} else if (matches (opt, "-nocheck") == 0) {
|
||||
/* ignore for backward compatibility */
|
||||
|
|
|
|||
|
|
@ -63,4 +63,34 @@ gboolean nmc_property_set_gvalue (NMSetting *setting, const char *prop, GValue *
|
|||
|
||||
gboolean setting_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets);
|
||||
|
||||
extern NmcOutputField nmc_fields_setting_connection[];
|
||||
extern NmcOutputField nmc_fields_setting_wired[];
|
||||
extern NmcOutputField nmc_fields_setting_8021X[];
|
||||
extern NmcOutputField nmc_fields_setting_wireless[];
|
||||
extern NmcOutputField nmc_fields_setting_wireless_security[];
|
||||
extern NmcOutputField nmc_fields_setting_ip4_config[];
|
||||
extern NmcOutputField nmc_fields_setting_ip6_config[];
|
||||
extern NmcOutputField nmc_fields_setting_serial[];
|
||||
extern NmcOutputField nmc_fields_setting_ppp[];
|
||||
extern NmcOutputField nmc_fields_setting_pppoe[];
|
||||
extern NmcOutputField nmc_fields_setting_adsl[];
|
||||
extern NmcOutputField nmc_fields_setting_gsm[];
|
||||
extern NmcOutputField nmc_fields_setting_cdma[];
|
||||
extern NmcOutputField nmc_fields_setting_bluetooth[];
|
||||
extern NmcOutputField nmc_fields_setting_olpc_mesh[];
|
||||
extern NmcOutputField nmc_fields_setting_vpn[];
|
||||
extern NmcOutputField nmc_fields_setting_wimax[];
|
||||
extern NmcOutputField nmc_fields_setting_infiniband[];
|
||||
extern NmcOutputField nmc_fields_setting_bond[];
|
||||
extern NmcOutputField nmc_fields_setting_vlan[];
|
||||
extern NmcOutputField nmc_fields_setting_bridge[];
|
||||
extern NmcOutputField nmc_fields_setting_bridge_port[];
|
||||
extern NmcOutputField nmc_fields_setting_team[];
|
||||
extern NmcOutputField nmc_fields_setting_team_port[];
|
||||
extern NmcOutputField nmc_fields_setting_dcb[];
|
||||
extern NmcOutputField nmc_fields_setting_tun[];
|
||||
extern NmcOutputField nmc_fields_setting_ip_tunnel[];
|
||||
extern NmcOutputField nmc_fields_setting_macvlan[];
|
||||
extern NmcOutputField nmc_fields_setting_vxlan[];
|
||||
|
||||
#endif /* NMC_SETTINGS_H */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue