From: Christian Brauner Date: Wed, 3 May 2017 10:12:22 +0000 (+0200) Subject: lxccontainer: add lxc_config_item_is_supported() X-Git-Tag: lxc-2.1.0~145^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12461428889932e8918553a111bbedaf8fce2db6;p=thirdparty%2Flxc.git lxccontainer: add lxc_config_item_is_supported() This adds lxc_config_item_is_supported() as API extension. It allows to check whether a given config item (e.g. lxc.autodev) is supported by this LXC instance. The function is useful in the following scenarios: 1. Users have compiled liblxc from source and have removed a config items from the corresponding struct in confile.c. (For example, embedded users might decide to gut a bunch of options that they cannot use.) 2. Callers that want to check for a specific configuration item independent of the version numbers exposed in our version.h header. Signed-off-by: Christian Brauner --- diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index 478690813..3cee18ca7 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -4522,3 +4522,8 @@ free_ct_name: free(ct_name); return ret; } + +bool lxc_config_item_is_supported(const char *key) +{ + return !!lxc_getconfig(key); +} diff --git a/src/lxc/lxccontainer.h b/src/lxc/lxccontainer.h index 06bec58c6..57301e658 100644 --- a/src/lxc/lxccontainer.h +++ b/src/lxc/lxccontainer.h @@ -1022,6 +1022,13 @@ int list_all_containers(const char *lxcpath, char ***names, struct lxc_container */ void lxc_log_close(void); +/*! + * \brief Check if the configuration item is supported by this LXC instance. + * + * \param key Configuration item to check for. + */ +bool lxc_config_item_is_supported(const char *key); + #ifdef __cplusplus } #endif