diff options
Diffstat (limited to 'doc/gpgme.texi')
| -rw-r--r-- | doc/gpgme.texi | 76 | 
1 files changed, 73 insertions, 3 deletions
| diff --git a/doc/gpgme.texi b/doc/gpgme.texi index e12fd738..027e1eff 100644 --- a/doc/gpgme.texi +++ b/doc/gpgme.texi @@ -113,7 +113,6 @@ Indices  * Concept Index::                 Index of concepts and programs.  * Function and Data Index::       Index of functions, variables and data types. -  @detailmenu   --- The Detailed Node Listing --- @@ -170,6 +169,7 @@ Manipulating Data Buffers  * Data Buffer I/O Operations::    I/O operations on data buffers.  * Data Buffer Meta-Data::         Meta-data manipulation of data buffers. +* Data Buffer Convenience::       Convenience function for data buffers.  Contexts @@ -180,6 +180,7 @@ Contexts  * Key Management::                Managing keys with @acronym{GPGME}.  * Trust Item Management::         Managing trust items with @acronym{GPGME}.  * Crypto Operations::             Using a context for cryptography. +* Miscellaneous::                 Miscellaneous operations.  * Run Control::                   Controlling how operations are run.  Context Attributes @@ -204,6 +205,7 @@ Key Management  * Exporting Keys::                Retrieving key data from the key ring.  * Importing Keys::                Adding keys to the key ring.  * Deleting Keys::                 Removing keys from the key ring. +* Changing Passphrases::          Change the passphrase of a key.  * Advanced Key Editing::          Advanced key edit operation.  Trust Item Management @@ -230,6 +232,10 @@ Encrypt  * Encrypting a Plaintext::        How to encrypt a plaintext. +Miscellaneous + +* Running other Programs::        Running other Programs +  Run Control  * Waiting For Completion::        Waiting until an operation is completed. @@ -850,6 +856,9 @@ Under development.  Please ask on @email{gnupg-devel@@gnupg.org} for help.  @item GPGME_PROTOCOL_UISERVER  Under development.  Please ask on @email{gnupg-devel@@gnupg.org} for help. +@item GPGME_PROTOCOL_SPAWN +Special protocol for use with @code{gpgme_op_spawn}. +  @item GPGME_PROTOCOL_UNKNOWN  Reserved for future extension.  You may use this to indicate that the  used protocol is not known to the application.  Currently, @@ -1946,7 +1955,7 @@ be used to manipulate both.  @menu  * Data Buffer I/O Operations::    I/O operations on data buffers.  * Data Buffer Meta-Data::         Meta-data manipulation of data buffers. -* Data Buffer Convenience::       Convenience fucntion for data buffers. +* Data Buffer Convenience::       Convenience function for data buffers.  @end menu @@ -2187,6 +2196,7 @@ cryptographic operations.  * Key Management::                Managing keys with @acronym{GPGME}.  * Trust Item Management::         Managing trust items with @acronym{GPGME}.  * Crypto Operations::             Using a context for cryptography. +* Miscellaneous::                 Miscellaneous operations  * Run Control::                   Controlling how operations are run.  @end menu @@ -2261,7 +2271,7 @@ started.  In fact, these references are accessed through the  * 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. +* Included Certificates::         Including a number of certificates.  * Key Listing Mode::              Selecting key listing mode.  * Passphrase Callback::           Getting the passphrase from the user.  * Progress Meter Callback::       Being informed about the progress. @@ -5222,6 +5232,66 @@ pointer.  @end deftypefun +@node Miscellaneous +@section Miscellaneous operations + +Here are some support functions which are sometimes useful. + +@menu +* Running other Programs::      Running other Programs +@end menu + + +@node Running other Programs +@subsection Running other Programs + +GPGME features an internal subsystem to run the actual backend +engines.  Along with data abstraction object this subsystem can be +used to run arbitrary simple programs which even need not be related +to cryptographic features.  It may for example be used to run tools +which are part of the GnuPG system but are not directly accessible +with the GPGME API. + + +@deftypefun gpgme_error_t gpgme_op_spawn +            (@w{gpgme_ctx_t @var{ctx}}, @w{const char *@var{file}}, @ +             @w{const char *@var{argv}[]}, @w{gpgme_data_t @var{datain}}, @ +             @w{gpgme_data_t @var{dataout}}, @w{gpgme_data_t @var{dataerr}}, @ +             @w{unsigned int @var{flags}}) + +The function @code{gpgme_op_spawn} runs the program @var{file} with +the arguments taken from the NULL terminated array @var{argv}.  If no +arguments are required @var{argv} may be given as @code{NULL} (in that +case GPGME uses the basename of @var{file} for @code{argv[0]}).  The +file descriptors @code{stdin}, @code{stdout}, and @code{stderr} are +connected to the data objects @var{datain}, @var{dataout}, and +@var{dataerr}.  If NULL is passed for one of these data objects the +corresponding file descriptor is connected to @file{/dev/null}. + +The value in @var{flags} is a bitwise-or combination of one or +multiple of the following bit values: + +@table @code +@item GPGME_SPAWN_DETACHED +Under Windows this flag inhibits the allocation of a new console for +the program.  This is useful for a GUI application which needs to call +a command line helper tool. +@item GPGME_SPAWN_ALLOW_SET_FG +Under Windows this flag allows the called program to put itself into +the foreground. +@end table +@end deftypefun + +@deftypefun gpgme_error_t gpgme_op_spawn_start +            (@w{gpgme_ctx_t @var{ctx}}, @w{const char *@var{file}}, @ +             @w{const char *@var{argv}[]}, @w{gpgme_data_t @var{datain}}, @ +             @w{gpgme_data_t @var{dataout}}, @w{gpgme_data_t @var{dataerr}}, @ +             @w{unsigned int @var{flags}}) + +This is the asynchronous variant of @code{gpgme_op_spawn}. +@end deftypefun + +  @node Run Control  @section Run Control  @cindex run control | 
