2019-09-10 11:19:01 +02:00
|
|
|
// SPDX-License-Identifier: GPL-2.0+
|
2012-01-06 13:51:33 +01:00
|
|
|
/*
|
|
|
|
|
* nmcli - command-line tool for controlling NetworkManager
|
|
|
|
|
* Common functions and data shared between files.
|
|
|
|
|
*
|
2014-11-20 12:36:14 +01:00
|
|
|
* Copyright 2012 - 2014 Red Hat, Inc.
|
2012-01-06 13:51:33 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef NMC_COMMON_H
|
|
|
|
|
#define NMC_COMMON_H
|
|
|
|
|
|
|
|
|
|
#include "nmcli.h"
|
2014-11-20 12:36:14 +01:00
|
|
|
#include "nm-secret-agent-simple.h"
|
2012-01-06 13:51:33 +01:00
|
|
|
|
2018-04-26 20:09:53 +02:00
|
|
|
|
|
|
|
|
gboolean print_ip_config (NMIPConfig *cfg,
|
|
|
|
|
int addr_family,
|
|
|
|
|
const NmcConfig *nmc_config,
|
|
|
|
|
const char *one_field);
|
|
|
|
|
|
|
|
|
|
gboolean print_dhcp_config (NMDhcpConfig *dhcp,
|
|
|
|
|
int addr_family,
|
|
|
|
|
const NmcConfig *nmc_config,
|
|
|
|
|
const char *one_field);
|
2012-01-06 13:51:33 +01:00
|
|
|
|
2014-10-22 12:32:46 -04:00
|
|
|
NMConnection *nmc_find_connection (const GPtrArray *connections,
|
2014-04-16 18:23:50 +02:00
|
|
|
const char *filter_type,
|
|
|
|
|
const char *filter_val,
|
2018-04-21 11:13:31 +02:00
|
|
|
GPtrArray **out_result,
|
2016-07-07 14:53:34 +02:00
|
|
|
gboolean complete);
|
2014-04-16 18:23:50 +02:00
|
|
|
|
2018-04-21 11:22:53 +02:00
|
|
|
NMActiveConnection *nmc_find_active_connection (const GPtrArray *active_cons,
|
|
|
|
|
const char *filter_type,
|
|
|
|
|
const char *filter_val,
|
2018-04-21 11:13:31 +02:00
|
|
|
GPtrArray **out_result,
|
2018-04-21 11:22:53 +02:00
|
|
|
gboolean complete);
|
|
|
|
|
|
2014-11-20 12:36:14 +01:00
|
|
|
void nmc_secrets_requested (NMSecretAgentSimple *agent,
|
|
|
|
|
const char *request_id,
|
|
|
|
|
const char *title,
|
|
|
|
|
const char *msg,
|
|
|
|
|
GPtrArray *secrets,
|
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
2015-10-05 15:12:14 +02:00
|
|
|
char *nmc_unique_connection_name (const GPtrArray *connections,
|
|
|
|
|
const char *try_name);
|
|
|
|
|
|
2014-05-15 10:31:09 +02:00
|
|
|
void nmc_cleanup_readline (void);
|
2018-10-09 11:50:26 +02:00
|
|
|
char *nmc_readline (const NmcConfig *nmc_config,
|
|
|
|
|
const char *prompt_fmt,
|
|
|
|
|
...) G_GNUC_PRINTF (2, 3);
|
|
|
|
|
char *nmc_readline_echo (const NmcConfig *nmc_config,
|
|
|
|
|
gboolean echo_on,
|
|
|
|
|
const char *prompt_fmt,
|
|
|
|
|
...) G_GNUC_PRINTF (3, 4);
|
2017-04-11 15:48:04 +02:00
|
|
|
NmcCompEntryFunc nmc_rl_compentry_func_wrap (const char *const*values);
|
2017-03-25 13:20:11 +01:00
|
|
|
char *nmc_rl_gen_func_basic (const char *text, int state, const char *const*words);
|
2016-09-15 01:20:53 +02:00
|
|
|
char *nmc_rl_gen_func_ifnames (const char *text, int state);
|
2014-06-16 08:30:22 +02:00
|
|
|
gboolean nmc_get_in_readline (void);
|
|
|
|
|
void nmc_set_in_readline (gboolean in_readline);
|
2014-05-15 10:31:09 +02:00
|
|
|
|
2014-11-20 12:36:14 +01:00
|
|
|
/* for pre-filling a string to readline prompt */
|
|
|
|
|
extern char *nmc_rl_pre_input_deftext;
|
|
|
|
|
int nmc_rl_set_deftext (void);
|
|
|
|
|
|
2015-11-10 14:06:02 +01:00
|
|
|
char *nmc_parse_lldp_capabilities (guint value);
|
|
|
|
|
|
2016-06-23 12:18:52 +02:00
|
|
|
typedef struct {
|
|
|
|
|
const char *cmd;
|
|
|
|
|
NMCResultCode (*func) (NmCli *nmc, int argc, char **argv);
|
|
|
|
|
void (*usage) (void);
|
2016-08-31 21:04:33 +02:00
|
|
|
gboolean needs_client;
|
|
|
|
|
gboolean needs_nm_running;
|
2016-06-23 12:18:52 +02:00
|
|
|
} NMCCommand;
|
|
|
|
|
|
2016-08-31 21:04:33 +02:00
|
|
|
void nmc_do_cmd (NmCli *nmc, const NMCCommand cmds[], const char *cmd, int argc, char **argv);
|
2016-06-23 12:18:52 +02:00
|
|
|
|
2019-03-01 08:55:30 +01:00
|
|
|
void nmc_complete_strv (const char *prefix, gssize nargs, const char *const*args);
|
|
|
|
|
|
|
|
|
|
#define nmc_complete_strings(prefix, ...) nmc_complete_strv ((prefix), NM_NARG (__VA_ARGS__), (const char *const[]) { __VA_ARGS__ })
|
2016-06-24 18:36:14 +02:00
|
|
|
|
2016-06-24 18:56:36 +02:00
|
|
|
void nmc_complete_bool (const char *prefix);
|
|
|
|
|
|
2016-08-19 11:56:58 +02:00
|
|
|
const char *nmc_error_get_simple_message (GError *error);
|
|
|
|
|
|
2017-04-06 15:14:23 +02:00
|
|
|
extern const NmcMetaGenericInfo *const metagen_ip4_config[];
|
2018-04-26 17:55:27 +02:00
|
|
|
extern const NmcMetaGenericInfo *const metagen_ip6_config[];
|
2018-04-26 17:43:13 +02:00
|
|
|
extern const NmcMetaGenericInfo *const metagen_dhcp_config[];
|
2016-07-27 16:24:30 +02:00
|
|
|
|
2018-07-03 20:57:28 +02:00
|
|
|
const char *nm_connectivity_to_string (NMConnectivityState connectivity);
|
|
|
|
|
|
2012-01-06 13:51:33 +01:00
|
|
|
#endif /* NMC_COMMON_H */
|