aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2005-01-12 11:13:17 +0000
committerMarcus Brinkmann <[email protected]>2005-01-12 11:13:17 +0000
commitd45f97f18534d7d29d188ce67b9b0215345de301 (patch)
treee786f787af460e9635bad340db6ce4dfa8e567a4
parent2004-12-28 Werner Koch <[email protected]> (diff)
downloadgpgme-d45f97f18534d7d29d188ce67b9b0215345de301.tar.gz
gpgme-d45f97f18534d7d29d188ce67b9b0215345de301.zip
2005-01-12 Marcus Brinkmann <[email protected]>
* gpgme.texi (Engine Configuration): New section. (Crypto Engine): New subsection.
Diffstat (limited to '')
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/gpgme.texi88
2 files changed, 91 insertions, 2 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index b4217dcb..d53f017b 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2005-01-12 Marcus Brinkmann <[email protected]>
+
+ * gpgme.texi (Engine Configuration): New section.
+ (Crypto Engine): New subsection.
+
2004-12-07 Marcus Brinkmann <[email protected]>
* lesser.texi (Library Copying): Change from @appendixsec to
diff --git a/doc/gpgme.texi b/doc/gpgme.texi
index 957df64f..f68b41be 100644
--- a/doc/gpgme.texi
+++ b/doc/gpgme.texi
@@ -125,6 +125,7 @@ Protocols and Engines
* Engine Version Check:: Verifying the engine version.
* Engine Information:: Obtaining more information about the engines.
+* Engine Configuration:: Changing the engine configuration.
* OpenPGP:: Support for the OpenPGP protocol.
* Cryptographic Message Syntax:: Support for the CMS.
@@ -165,6 +166,7 @@ Contexts
Context Attributes
* Protocol Selection:: Selecting the protocol used by a context.
+* Crypto Engine:: Configuring the crypto engine.
* ASCII Armor:: Requesting @acronym{ASCII} armored output.
* Text Mode:: Choosing canonical text mode.
* Included Certificates:: Including a number of certificates.
@@ -745,6 +747,7 @@ allocated string describing the protocol @var{protocol}, or
@menu
* Engine Version Check:: Verifying the engine version.
* Engine Information:: Obtaining more information about the engines.
+* Engine Configuration:: Changing the engine configuration.
* OpenPGP:: Support for the OpenPGP protocol.
* Cryptographic Message Syntax:: Support for the CMS.
@end menu
@@ -789,6 +792,11 @@ This is a string holding the file name of the executable of the crypto
engine. Currently, it is never @code{NULL}, but using @code{NULL} is
reserved for future use, so always check before you use it.
+@item const char *home_dir
+This is a string holding the directory name of the crypto engine's
+configuration directory. If it is @code{NULL}, then the default
+directory is used.
+
@item const char *version
This is a string containing the version number of the crypto engine.
It might be @code{NULL} if the version number can not be determined,
@@ -803,10 +811,10 @@ reserved for future use, so always check before you use it.
@end table
@end deftp
-@deftypefun gpgme_error_t gpgme_get_engine_info (gpgme_engine_info_t *info)
+@deftypefun gpgme_error_t gpgme_get_engine_info (@w{gpgme_engine_info_t *@var{info}})
The function @code{gpgme_get_engine_info} returns a linked list of
engine info structures in @var{info}. Each info structure describes
-one configured backend.
+the defaults of one configured backend.
The memory for the info structures is allocated the first time this
function is invoked, and must not be freed by the caller.
@@ -850,6 +858,37 @@ if (gpgme_err_code (err) == GPG_ERR_INV_ENGINE)
@end example
+@node Engine Configuration
+@section Engine Configuration
+@cindex engine, configuration of
+@cindex configuration of crypto backend
+
+You can change the configuration of a backend engine, and thus change
+the executable program and configuration directory to be used. You
+can make these changes the default or set them for some contexts
+individually.
+
+@deftypefun gpgme_error_t gpgme_set_engine_info (@w{gpgme_protocol_t @var{proto}}, @w{const char *@var{file_name}}, @w{const char *@var{home_dir}})
+The function @code{gpgme_set_engine_info} changes the default
+configuration of the crypto engine implementing the protocol
+@var{proto}.
+
+@var{file_name} is the file name of the executable program
+implementing this protocol, and @var{home_dir} is the directory name
+of the configuration directory for this crypto engine. If
+@var{home_dir} is @code{NULL}, the engine's default will be used.
+
+The new defaults are not applied to already created GPGME contexts.
+
+This function returns the error code @code{GPG_ERR_NO_ERROR} if
+successful, or an eror code on failure.
+@end deftypefun
+
+The functions @code{gpgme_ctx_get_engine_info} and
+@code{gpgme_ctx_set_engine_info} can be used to change the engine
+configuration per context. @xref{Crypto Engine}.
+
+
@node OpenPGP
@section OpenPGP
@cindex OpenPGP
@@ -1847,6 +1886,7 @@ The function @code{gpgme_release} destroys the context with the handle
@menu
* Protocol Selection:: Selecting the protocol used by a context.
+* Crypto Engine:: Configuring the crypto engine.
* ASCII Armor:: Requesting @acronym{ASCII} armored output.
* Text Mode:: Choosing canonical text mode.
* Included Certificates:: Including a number of certificates.
@@ -1882,6 +1922,50 @@ The function @code{gpgme_get_protocol} retrieves the protocol currently
use with the context @var{ctx}.
@end deftypefun
+
+@node Crypto Engine
+@subsection Crypto Engine
+@cindex context, configuring engine
+@cindex engine, configuration per context
+
+The following functions can be used to set and retrieve the
+configuration of the crypto engines of a specific context. The
+default can also be retrieved without any particular context.
+@xref{Engine Information}. The default can also be changed globally.
+@xref{Engine Configuration}.
+
+@deftypefun gpgme_engine_info_t gpgme_ctx_get_engine_info (@w{gpgme_ctx_t @var{ctx}})
+The function @code{gpgme_ctx_get_engine_info} returns a linked list of
+engine info structures. Each info structure describes the
+configuration of one configured backend, as used by the context
+@var{ctx}.
+
+The result is valid until the next invocation of
+@code{gpgme_ctx_set_engine_info} for this particular context.
+
+This function can not fail.
+@end deftypefun
+
+@deftypefun gpgme_error_t gpgme_ctx_set_engine_info (@w{gpgme_ctx_t @var{ctx}}, @w{gpgme_protocol_t @var{proto}}, @w{const char *@var{file_name}}, @w{const char *@var{home_dir}})
+The function @code{gpgme_ctx_set_engine_info} changes the
+configuration of the crypto engine implementing the protocol
+@var{proto} for the context @var{ctx}.
+
+@var{file_name} is the file name of the executable program
+implementing this protocol, and @var{home_dir} is the directory name
+of the configuration directory for this crypto engine. If
+@var{home_dir} is @code{NULL}, the engine's default will be used.
+
+Currently this function must be used before starting the first crypto
+operation. It is unspecified if and when the changes will take effect
+if the function is called after starting the first operation on the
+context @var{ctx}.
+
+This function returns the error code @code{GPG_ERR_NO_ERROR} if
+successful, or an eror code on failure.
+@end deftypefun
+
+
@c FIXME: Unfortunately, using @acronym here breaks texi2dvi.
@node ASCII Armor
@subsection @acronym{ASCII} Armor