aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dirinfo.c25
-rw-r--r--src/gpgme.def2
-rw-r--r--src/gpgme.h.in3
-rw-r--r--src/libgpgme.vers2
4 files changed, 32 insertions, 0 deletions
diff --git a/src/dirinfo.c b/src/dirinfo.c
index 845bc489..8824c9a4 100644
--- a/src/dirinfo.c
+++ b/src/dirinfo.c
@@ -357,3 +357,28 @@ _gpgme_get_basename (const char *name)
return s+1;
return name;
}
+
+
+/* Return default values for various directories and file names. */
+const char *
+gpgme_get_dirinfo (const char *what)
+{
+ if (!what)
+ return NULL;
+ else if (!strcmp (what, "homedir"))
+ return get_gpgconf_item (WANT_HOMEDIR);
+ else if (!strcmp (what, "agent-socket"))
+ return get_gpgconf_item (WANT_AGENT_SOCKET);
+ else if (!strcmp (what, "uiserver-socket"))
+ return get_gpgconf_item (WANT_UISRV_SOCKET);
+ else if (!strcmp (what, "gpgconf-name"))
+ return get_gpgconf_item (WANT_GPGCONF_NAME);
+ else if (!strcmp (what, "gpg-name"))
+ return get_gpgconf_item (WANT_GPG_NAME);
+ else if (!strcmp (what, "gpgsm-name"))
+ return get_gpgconf_item (WANT_GPGSM_NAME);
+ else if (!strcmp (what, "g13-name"))
+ return get_gpgconf_item (WANT_G13_NAME);
+ else
+ return NULL;
+}
diff --git a/src/gpgme.def b/src/gpgme.def
index 0478cb62..ee0c42e2 100644
--- a/src/gpgme.def
+++ b/src/gpgme.def
@@ -213,5 +213,7 @@ EXPORTS
gpgme_data_identify @161
+ gpgme_get_dirinfo @162
+
; END
diff --git a/src/gpgme.h.in b/src/gpgme.h.in
index 5c4de6be..050051a4 100644
--- a/src/gpgme.h.in
+++ b/src/gpgme.h.in
@@ -2090,6 +2090,9 @@ const char *gpgme_check_version_internal (const char *req_version,
gpgme_check_version_internal (req_version, \
offsetof (struct _gpgme_signature, validity))
+/* Return the default values for various directories. */
+const char *gpgme_get_dirinfo (const char *what);
+
/* Get the information about the configured and installed engines. A
pointer to the first engine in the statically allocated linked list
is returned in *INFO. If an error occurs, it is returned. The
diff --git a/src/libgpgme.vers b/src/libgpgme.vers
index fe18e6a5..4db1d408 100644
--- a/src/libgpgme.vers
+++ b/src/libgpgme.vers
@@ -87,6 +87,8 @@ GPGME_1.1 {
gpgme_set_pinentry_mode;
gpgme_get_pinentry_mode;
+
+ gpgme_get_dirinfo;
};