mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-27 19:11:16 +00:00
Use of the admin APIs to modify logging temporarily has a rather serious deficiency when the daemon whose config is being changed is using auto-shutdown (default with socket-activated deployments) as the configuration is discarded if there is no client or VM/other object blocking auto shutdown. This API allows users to disable/postpone shutdown timeout so that the configuration doesn't change under their hands. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
172 lines
5.6 KiB
C
172 lines
5.6 KiB
C
/* -*- c -*- */
|
|
struct admin_typed_param_value {
|
|
int type;
|
|
union {
|
|
int i;
|
|
u_int ui;
|
|
int64_t l;
|
|
uint64_t ul;
|
|
double d;
|
|
int b;
|
|
admin_nonnull_string s;
|
|
} admin_typed_param_value_u;
|
|
};
|
|
struct admin_typed_param {
|
|
admin_nonnull_string field;
|
|
admin_typed_param_value value;
|
|
};
|
|
struct admin_nonnull_server {
|
|
admin_nonnull_string name;
|
|
};
|
|
struct admin_nonnull_client {
|
|
admin_nonnull_server srv;
|
|
uint64_t id;
|
|
int64_t timestamp;
|
|
u_int transport;
|
|
};
|
|
struct admin_connect_open_args {
|
|
u_int flags;
|
|
};
|
|
struct admin_connect_get_lib_version_ret {
|
|
uint64_t libVer;
|
|
};
|
|
struct admin_connect_list_servers_args {
|
|
u_int need_results;
|
|
u_int flags;
|
|
};
|
|
struct admin_connect_list_servers_ret {
|
|
struct {
|
|
u_int servers_len;
|
|
admin_nonnull_server * servers_val;
|
|
} servers;
|
|
u_int ret;
|
|
};
|
|
struct admin_connect_lookup_server_args {
|
|
admin_nonnull_string name;
|
|
u_int flags;
|
|
};
|
|
struct admin_connect_lookup_server_ret {
|
|
admin_nonnull_server srv;
|
|
};
|
|
struct admin_server_get_threadpool_parameters_args {
|
|
admin_nonnull_server srv;
|
|
u_int flags;
|
|
};
|
|
struct admin_server_get_threadpool_parameters_ret {
|
|
struct {
|
|
u_int params_len;
|
|
admin_typed_param * params_val;
|
|
} params;
|
|
};
|
|
struct admin_server_set_threadpool_parameters_args {
|
|
admin_nonnull_server srv;
|
|
struct {
|
|
u_int params_len;
|
|
admin_typed_param * params_val;
|
|
} params;
|
|
u_int flags;
|
|
};
|
|
struct admin_server_list_clients_args {
|
|
admin_nonnull_server srv;
|
|
u_int need_results;
|
|
u_int flags;
|
|
};
|
|
struct admin_server_list_clients_ret {
|
|
struct {
|
|
u_int clients_len;
|
|
admin_nonnull_client * clients_val;
|
|
} clients;
|
|
u_int ret;
|
|
};
|
|
struct admin_server_lookup_client_args {
|
|
admin_nonnull_server srv;
|
|
uint64_t id;
|
|
u_int flags;
|
|
};
|
|
struct admin_server_lookup_client_ret {
|
|
admin_nonnull_client clnt;
|
|
};
|
|
struct admin_client_get_info_args {
|
|
admin_nonnull_client clnt;
|
|
u_int flags;
|
|
};
|
|
struct admin_client_get_info_ret {
|
|
struct {
|
|
u_int params_len;
|
|
admin_typed_param * params_val;
|
|
} params;
|
|
};
|
|
struct admin_client_close_args {
|
|
admin_nonnull_client clnt;
|
|
u_int flags;
|
|
};
|
|
struct admin_server_get_client_limits_args {
|
|
admin_nonnull_server srv;
|
|
u_int flags;
|
|
};
|
|
struct admin_server_get_client_limits_ret {
|
|
struct {
|
|
u_int params_len;
|
|
admin_typed_param * params_val;
|
|
} params;
|
|
};
|
|
struct admin_server_set_client_limits_args {
|
|
admin_nonnull_server srv;
|
|
struct {
|
|
u_int params_len;
|
|
admin_typed_param * params_val;
|
|
} params;
|
|
u_int flags;
|
|
};
|
|
struct admin_server_update_tls_files_args {
|
|
admin_nonnull_server srv;
|
|
u_int flags;
|
|
};
|
|
struct admin_connect_get_logging_outputs_args {
|
|
u_int flags;
|
|
};
|
|
struct admin_connect_get_logging_outputs_ret {
|
|
admin_nonnull_string outputs;
|
|
u_int noutputs;
|
|
};
|
|
struct admin_connect_get_logging_filters_args {
|
|
u_int flags;
|
|
};
|
|
struct admin_connect_get_logging_filters_ret {
|
|
admin_string filters;
|
|
u_int nfilters;
|
|
};
|
|
struct admin_connect_set_logging_outputs_args {
|
|
admin_string outputs;
|
|
u_int flags;
|
|
};
|
|
struct admin_connect_set_logging_filters_args {
|
|
admin_string filters;
|
|
u_int flags;
|
|
};
|
|
struct admin_connect_set_daemon_timeout_args {
|
|
u_int timeout;
|
|
u_int flags;
|
|
};
|
|
enum admin_procedure {
|
|
ADMIN_PROC_CONNECT_OPEN = 1,
|
|
ADMIN_PROC_CONNECT_CLOSE = 2,
|
|
ADMIN_PROC_CONNECT_GET_LIB_VERSION = 3,
|
|
ADMIN_PROC_CONNECT_LIST_SERVERS = 4,
|
|
ADMIN_PROC_CONNECT_LOOKUP_SERVER = 5,
|
|
ADMIN_PROC_SERVER_GET_THREADPOOL_PARAMETERS = 6,
|
|
ADMIN_PROC_SERVER_SET_THREADPOOL_PARAMETERS = 7,
|
|
ADMIN_PROC_SERVER_LIST_CLIENTS = 8,
|
|
ADMIN_PROC_SERVER_LOOKUP_CLIENT = 9,
|
|
ADMIN_PROC_CLIENT_GET_INFO = 10,
|
|
ADMIN_PROC_CLIENT_CLOSE = 11,
|
|
ADMIN_PROC_SERVER_GET_CLIENT_LIMITS = 12,
|
|
ADMIN_PROC_SERVER_SET_CLIENT_LIMITS = 13,
|
|
ADMIN_PROC_CONNECT_GET_LOGGING_OUTPUTS = 14,
|
|
ADMIN_PROC_CONNECT_GET_LOGGING_FILTERS = 15,
|
|
ADMIN_PROC_CONNECT_SET_LOGGING_OUTPUTS = 16,
|
|
ADMIN_PROC_CONNECT_SET_LOGGING_FILTERS = 17,
|
|
ADMIN_PROC_SERVER_UPDATE_TLS_FILES = 18,
|
|
ADMIN_PROC_CONNECT_SET_DAEMON_TIMEOUT = 19,
|
|
};
|