diff options
-rw-r--r-- | lib/libalpm/alpm.c | 25 | ||||
-rw-r--r-- | lib/libalpm/alpm.h | 8 |
2 files changed, 31 insertions, 2 deletions
diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c index 585c6a82..f9dd8d38 100644 --- a/lib/libalpm/alpm.c +++ b/lib/libalpm/alpm.c @@ -133,9 +133,30 @@ int SYMEXPORT alpm_release(alpm_handle_t *myhandle) * @brief Various libalpm functions */ -/* Get the version of library */ -const char SYMEXPORT *alpm_version(void) { +/** Get the version of library. + * @return the library version, e.g. "6.0.4" + * */ +const char SYMEXPORT *alpm_version(void) +{ return LIB_VERSION; } +/** Get the capabilities of the library. + * @return a bitmask of the capabilities + * */ +enum alpm_caps SYMEXPORT alpm_capabilities(void) +{ + return 0 +#ifdef ENABLE_NLS + | ALPM_CAPABILITY_NLS +#endif +#ifdef HAVE_LIBCURL + | ALPM_CAPABILITY_DOWNLOADER +#endif +#ifdef HAVE_LIBGPGME + | ALPM_CAPABILITY_SIGNATURES +#endif + | 0; +} + /* vim: set ts=2 sw=2 noet: */ diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 9fe80341..c864fb9f 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -1186,7 +1186,15 @@ const char *alpm_strerror(enum _alpm_errno_t err); alpm_handle_t *alpm_initialize(const char *root, const char *dbpath, enum _alpm_errno_t *err); int alpm_release(alpm_handle_t *handle); + +enum alpm_caps { + ALPM_CAPABILITY_NLS = (1 << 0), + ALPM_CAPABILITY_DOWNLOADER = (1 << 1), + ALPM_CAPABILITY_SIGNATURES = (1 << 2) +}; + const char *alpm_version(void); +enum alpm_caps alpm_capabilities(void); /* End of alpm_api */ /** @} */ |