Blame doc/gpgme.info-2

Packit d7e8d0
This is gpgme.info, produced by makeinfo version 6.3 from gpgme.texi.
Packit d7e8d0
Packit d7e8d0
Copyright © 2002–2008, 2010, 2012–2017 g10 Code GmbH.
Packit d7e8d0
Packit d7e8d0
     Permission is granted to copy, distribute and/or modify this
Packit d7e8d0
     document under the terms of the GNU General Public License as
Packit d7e8d0
     published by the Free Software Foundation; either version 3 of the
Packit d7e8d0
     License, or (at your option) any later version.  The text of the
Packit d7e8d0
     license can be found in the section entitled “Copying”.
Packit d7e8d0
Packit d7e8d0
   This document is distributed in the hope that it will be useful, but
Packit d7e8d0
WITHOUT ANY WARRANTY; without even the implied warranty of
Packit d7e8d0
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Packit d7e8d0
Public License for more details.
Packit d7e8d0
INFO-DIR-SECTION GNU Libraries
Packit d7e8d0
START-INFO-DIR-ENTRY
Packit d7e8d0
* GPGME: (gpgme).          Adding support for cryptography to your program.
Packit d7e8d0
END-INFO-DIR-ENTRY
Packit d7e8d0
Packit d7e8d0
   This file documents the GPGME library.
Packit d7e8d0
Packit d7e8d0
   This is Edition 1.10.0, last updated 8 December 2017, of ‘The ‘GnuPG
Packit d7e8d0
Made Easy’ Reference Manual’, for Version 1.10.0.
Packit d7e8d0
Packit d7e8d0
   Copyright © 2002–2008, 2010, 2012–2017 g10 Code GmbH.
Packit d7e8d0
Packit d7e8d0
     Permission is granted to copy, distribute and/or modify this
Packit d7e8d0
     document under the terms of the GNU General Public License as
Packit d7e8d0
     published by the Free Software Foundation; either version 3 of the
Packit d7e8d0
     License, or (at your option) any later version.  The text of the
Packit d7e8d0
     license can be found in the section entitled “Copying”.
Packit d7e8d0
Packit d7e8d0
   This document is distributed in the hope that it will be useful, but
Packit d7e8d0
WITHOUT ANY WARRANTY; without even the implied warranty of
Packit d7e8d0
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Packit d7e8d0
Public License for more details.
Packit d7e8d0
Packit d7e8d0
?
Packit d7e8d0
File: gpgme.info,  Node: Debugging,  Next: Deprecated Functions,  Prev: UI Server Protocol,  Up: Top
Packit d7e8d0
Packit d7e8d0
Appendix B How to solve problems
Packit d7e8d0
********************************
Packit d7e8d0
Packit d7e8d0
Everyone knows that software often does not do what it should do and
Packit d7e8d0
thus there is a need to track down problems.  This is in particular true
Packit d7e8d0
for applications using a complex library like GPGME and of course also
Packit d7e8d0
for the library itself.  Here we give a few hints on how to solve such
Packit d7e8d0
problems.
Packit d7e8d0
Packit d7e8d0
   First of all you should make sure that the keys you want to use are
Packit d7e8d0
installed in the GnuPG engine and are usable.  Thus the first test is to
Packit d7e8d0
run the desired operation using ‘gpg’ or ‘gpgsm’ on the command line.
Packit d7e8d0
If you can’t figure out why things don’t work, you may use GPGME’s built
Packit d7e8d0
in trace feature.  This feature is either enabled using the environment
Packit d7e8d0
variable ‘GPGME_DEBUG’ or, if this is not possible, by calling the
Packit d7e8d0
function ‘gpgme_set_global_flag’.  The value is the trace level and an
Packit d7e8d0
optional file name.  If no file name is given the trace output is
Packit d7e8d0
printed to ‘stderr’.
Packit d7e8d0
Packit d7e8d0
For example
Packit d7e8d0
     GPGME_DEBUG=9:/home/user/mygpgme.log
Packit d7e8d0
(Note that under Windows you use a semicolon in place of the colon to
Packit d7e8d0
separate the fields.)
Packit d7e8d0
Packit d7e8d0
   A trace level of 9 is pretty verbose and thus you may want to start
Packit d7e8d0
off with a lower level.  The exact definition of the trace levels and
Packit d7e8d0
the output format may change with any release; you need to check the
Packit d7e8d0
source code for details.  In any case the trace log should be helpful to
Packit d7e8d0
understand what is going going on.  Warning: The trace log may reveal
Packit d7e8d0
sensitive details like passphrases or other data you use in your
Packit d7e8d0
application.  If you are asked to send a log file, make sure that you
Packit d7e8d0
run your tests only with play data.
Packit d7e8d0
Packit d7e8d0
?
Packit d7e8d0
File: gpgme.info,  Node: Deprecated Functions,  Next: Library Copying,  Prev: Debugging,  Up: Top
Packit d7e8d0
Packit d7e8d0
Appendix C Deprecated Functions
Packit d7e8d0
*******************************
Packit d7e8d0
Packit d7e8d0
For backward compatibility GPGME has a number of functions, data types
Packit d7e8d0
and constants which are deprecated and should not be used anymore.  We
Packit d7e8d0
document here those which are really old to help understanding old code
Packit d7e8d0
and to allow migration to their modern counterparts.
Packit d7e8d0
Packit d7e8d0
   *Warning:* These interfaces will be removed in a future version of
Packit d7e8d0
GPGME.
Packit d7e8d0
Packit d7e8d0
 -- Function: void gpgme_key_release (gpgme_key_t KEY)
Packit d7e8d0
     The function ‘gpgme_key_release’ is equivalent to
Packit d7e8d0
     ‘gpgme_key_unref’.
Packit d7e8d0
Packit d7e8d0
 -- Function: void gpgme_trust_item_release (gpgme_trust_item_t ITEM)
Packit d7e8d0
     The function ‘gpgme_trust_item_release’ is an alias for
Packit d7e8d0
     ‘gpgme_trust_item_unref’.
Packit d7e8d0
Packit d7e8d0
 -- Function: gpgme_error_t gpgme_op_import_ext (gpgme_ctx_t CTX,
Packit d7e8d0
          gpgme_data_t KEYDATA, int *NR)
Packit d7e8d0
     SINCE: 0.3.9
Packit d7e8d0
Packit d7e8d0
     The function ‘gpgme_op_import_ext’ is equivalent to:
Packit d7e8d0
Packit d7e8d0
            gpgme_error_t err = gpgme_op_import (ctx, keydata);
Packit d7e8d0
            if (!err)
Packit d7e8d0
              {
Packit d7e8d0
                gpgme_import_result_t result = gpgme_op_import_result (ctx);
Packit d7e8d0
                *nr = result->considered;
Packit d7e8d0
              }
Packit d7e8d0
Packit d7e8d0
 -- Data type: gpgme_error_t (*gpgme_edit_cb_t) (void *HANDLE,
Packit d7e8d0
          gpgme_status_code_t STATUS, const char *ARGS, int FD)
Packit d7e8d0
     The ‘gpgme_edit_cb_t’ type is the type of functions which GPGME
Packit d7e8d0
     calls if it a key edit operation is on-going.  The status code
Packit d7e8d0
     STATUS and the argument line ARGS are passed through by GPGME from
Packit d7e8d0
     the crypto engine.  The file descriptor FD is -1 for normal status
Packit d7e8d0
     messages.  If STATUS indicates a command rather than a status
Packit d7e8d0
     message, the response to the command should be written to FD.  The
Packit d7e8d0
     HANDLE is provided by the user at start of operation.
Packit d7e8d0
Packit d7e8d0
     The function should return ‘GPG_ERR_FALSE’ if it did not handle the
Packit d7e8d0
     status code, ‘0’ for success, or any other error value.
Packit d7e8d0
Packit d7e8d0
 -- Function: gpgme_error_t gpgme_op_edit (gpgme_ctx_t CTX,
Packit d7e8d0
          gpgme_key_t KEY, gpgme_edit_cb_t FNC, void *HANDLE,
Packit d7e8d0
          gpgme_data_t OUT)
Packit d7e8d0
     SINCE: 0.3.9
Packit d7e8d0
Packit d7e8d0
     Note: This function is deprecated, please use ‘gpgme_op_interact’
Packit d7e8d0
     instead.
Packit d7e8d0
Packit d7e8d0
     The function ‘gpgme_op_edit’ processes the key KEY interactively,
Packit d7e8d0
     using the edit callback function FNC with the handle HANDLE.  The
Packit d7e8d0
     callback is invoked for every status and command request from the
Packit d7e8d0
     crypto engine.  The output of the crypto engine is written to the
Packit d7e8d0
     data object OUT.
Packit d7e8d0
Packit d7e8d0
     Note that the protocol between the callback function and the crypto
Packit d7e8d0
     engine is specific to the crypto engine and no further support in
Packit d7e8d0
     implementing this protocol correctly is provided by GPGME.
Packit d7e8d0
Packit d7e8d0
     The function returns the error code ‘GPG_ERR_NO_ERROR’ if the edit
Packit d7e8d0
     operation completes successfully, ‘GPG_ERR_INV_VALUE’ if CTX or KEY
Packit d7e8d0
     is not a valid pointer, and any error returned by the crypto engine
Packit d7e8d0
     or the edit callback handler.
Packit d7e8d0
Packit d7e8d0
 -- Function: gpgme_error_t gpgme_op_edit_start (gpgme_ctx_t CTX,
Packit d7e8d0
          gpgme_key_t KEY, gpgme_edit_cb_t FNC, void *HANDLE,
Packit d7e8d0
          gpgme_data_t OUT)
Packit d7e8d0
Packit d7e8d0
     SINCE: 0.3.9
Packit d7e8d0
Packit d7e8d0
     Note: This function is deprecated, please use
Packit d7e8d0
     ‘gpgme_op_interact_start’ instead.
Packit d7e8d0
Packit d7e8d0
     The function ‘gpgme_op_edit_start’ initiates a ‘gpgme_op_edit’
Packit d7e8d0
     operation.  It can be completed by calling ‘gpgme_wait’ on the
Packit d7e8d0
     context.  *Note Waiting For Completion::.
Packit d7e8d0
Packit d7e8d0
     The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
Packit d7e8d0
     operation was started successfully, and ‘GPG_ERR_INV_VALUE’ if CTX
Packit d7e8d0
     or KEY is not a valid pointer.
Packit d7e8d0
Packit d7e8d0
 -- Function: gpgme_error_t gpgme_op_card_edit (gpgme_ctx_t CTX,
Packit d7e8d0
          gpgme_key_t KEY, gpgme_edit_cb_t FNC, void *HANDLE,
Packit d7e8d0
          gpgme_data_t OUT)
Packit d7e8d0
     Note: This function is deprecated, please use ‘gpgme_op_interact’
Packit d7e8d0
     with the flag ‘GPGME_INTERACT_CARD’ instead.
Packit d7e8d0
Packit d7e8d0
     The function ‘gpgme_op_card_edit’ is analogous to ‘gpgme_op_edit’,
Packit d7e8d0
     but should be used to process the smart card corresponding to the
Packit d7e8d0
     key KEY.
Packit d7e8d0
Packit d7e8d0
 -- Function: gpgme_error_t gpgme_op_card_edit_start (gpgme_ctx_t CTX,
Packit d7e8d0
          gpgme_key_t KEY, gpgme_edit_cb_t FNC, void *HANDLE,
Packit d7e8d0
          gpgme_data_t OUT)
Packit d7e8d0
     Note: This function is deprecated, please use
Packit d7e8d0
     ‘gpgme_op_interact_start’ with the flag ‘GPGME_INTERACT_CARD’
Packit d7e8d0
     instead.
Packit d7e8d0
Packit d7e8d0
     The function ‘gpgme_op_card_edit_start’ initiates a
Packit d7e8d0
     ‘gpgme_op_card_edit’ operation.  It can be completed by calling
Packit d7e8d0
     ‘gpgme_wait’ on the context.  *Note Waiting For Completion::.
Packit d7e8d0
Packit d7e8d0
     The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
Packit d7e8d0
     operation was started successfully, and ‘GPG_ERR_INV_VALUE’ if CTX
Packit d7e8d0
     or KEY is not a valid pointer.
Packit d7e8d0
Packit d7e8d0
 -- Function: gpgme_error_t gpgme_data_new_with_read_cb
Packit d7e8d0
          (gpgme_data_t *DH, int (*READFUNC) (void *HOOK, char *BUFFER,
Packit d7e8d0
          size_t COUNT, size_t *NREAD), void *HOOK_VALUE)
Packit d7e8d0
     The function ‘gpgme_data_new_with_read_cb’ creates a new
Packit d7e8d0
     ‘gpgme_data_t’ object and uses the callback function READFUNC to
Packit d7e8d0
     retrieve the data on demand.  As the callback function can supply
Packit d7e8d0
     the data in any way it wants, this is the most flexible data type
Packit d7e8d0
     GPGME provides.  However, it can not be used to write data.
Packit d7e8d0
Packit d7e8d0
     The callback function receives HOOK_VALUE as its first argument
Packit d7e8d0
     whenever it is invoked.  It should return up to COUNT bytes in
Packit d7e8d0
     BUFFER, and return the number of bytes actually read in NREAD.  It
Packit d7e8d0
     may return ‘0’ in NREAD if no data is currently available.  To
Packit d7e8d0
     indicate ‘EOF’ the function should return with an error code of
Packit d7e8d0
     ‘-1’ and set NREAD to ‘0’.  The callback function may support to
Packit d7e8d0
     reset its internal read pointer if it is invoked with BUFFER and
Packit d7e8d0
     NREAD being ‘NULL’ and COUNT being ‘0’.
Packit d7e8d0
Packit d7e8d0
     The function returns the error code ‘GPG_ERR_NO_ERROR’ if the data
Packit d7e8d0
     object was successfully created, ‘GPG_ERR_INV_VALUE’ if DH or
Packit d7e8d0
     READFUNC is not a valid pointer, and ‘GPG_ERR_ENOMEM’ if not enough
Packit d7e8d0
     memory is available.
Packit d7e8d0
Packit d7e8d0
 -- Function: gpgme_error_t gpgme_data_rewind (gpgme_data_t DH)
Packit d7e8d0
     The function ‘gpgme_data_rewind’ is equivalent to:
Packit d7e8d0
Packit d7e8d0
            return (gpgme_data_seek (dh, 0, SEEK_SET) == -1)
Packit d7e8d0
              ? gpgme_error_from_errno (errno) : 0;
Packit d7e8d0
Packit d7e8d0
 -- Data type: gpgme_attr_t
Packit d7e8d0
     The ‘gpgme_attr_t’ type is used to specify a key or trust item
Packit d7e8d0
     attribute.  The following attributes are defined:
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_KEYID’
Packit d7e8d0
          This is the key ID of a sub key.  It is representable as a
Packit d7e8d0
          string.
Packit d7e8d0
Packit d7e8d0
          For trust items, the trust item refers to the key with this
Packit d7e8d0
          ID.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_FPR’
Packit d7e8d0
          This is the fingerprint of a sub key.  It is representable as
Packit d7e8d0
          a string.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_ALGO’
Packit d7e8d0
          This is the crypto algorithm for which the sub key can be
Packit d7e8d0
          used.  It is representable as a string and as a number.  The
Packit d7e8d0
          numbers correspond to the ‘enum gcry_pk_algos’ values in the
Packit d7e8d0
          gcrypt library.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_LEN’
Packit d7e8d0
          This is the key length of a sub key.  It is representable as a
Packit d7e8d0
          number.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_CREATED’
Packit d7e8d0
          This is the timestamp at creation time of a sub key.  It is
Packit d7e8d0
          representable as a number.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_EXPIRE’
Packit d7e8d0
          This is the expiration time of a sub key.  It is representable
Packit d7e8d0
          as a number.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_OTRUST’
Packit d7e8d0
          XXX FIXME (also for trust items)
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_USERID’
Packit d7e8d0
          This is a user ID. There can be more than one user IDs in a
Packit d7e8d0
          GPGME_KEY_T object.  The first one (with index 0) is the
Packit d7e8d0
          primary user ID. The user ID is representable as a number.
Packit d7e8d0
Packit d7e8d0
          For trust items, this is the user ID associated with this
Packit d7e8d0
          trust item.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_NAME’
Packit d7e8d0
          This is the name belonging to a user ID. It is representable
Packit d7e8d0
          as a string.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_EMAIL’
Packit d7e8d0
          This is the email address belonging to a user ID. It is
Packit d7e8d0
          representable as a string.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_COMMENT’
Packit d7e8d0
          This is the comment belonging to a user ID. It is
Packit d7e8d0
          representable as a string.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_VALIDITY’
Packit d7e8d0
          This is the validity belonging to a user ID. It is
Packit d7e8d0
          representable as a string and as a number.  See below for a
Packit d7e8d0
          list of available validities.
Packit d7e8d0
Packit d7e8d0
          For trust items, this is the validity that is associated with
Packit d7e8d0
          this trust item.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_UID_REVOKED’
Packit d7e8d0
          This specifies if a user ID is revoked.  It is representable
Packit d7e8d0
          as a number, and is ‘1’ if the user ID is revoked, and ‘0’
Packit d7e8d0
          otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_UID_INVALID’
Packit d7e8d0
          This specifies if a user ID is invalid.  It is representable
Packit d7e8d0
          as a number, and is ‘1’ if the user ID is invalid, and ‘0’
Packit d7e8d0
          otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_LEVEL’
Packit d7e8d0
          This is the trust level of a trust item.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_TYPE’
Packit d7e8d0
          This returns information about the type of key.  For the
Packit d7e8d0
          string function this will eother be "PGP" or "X.509".  The
Packit d7e8d0
          integer function returns 0 for PGP and 1 for X.509.  It is
Packit d7e8d0
          also used for the type of a trust item.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_IS_SECRET’
Packit d7e8d0
          This specifies if the key is a secret key.  It is
Packit d7e8d0
          representable as a number, and is ‘1’ if the key is revoked,
Packit d7e8d0
          and ‘0’ otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_KEY_REVOKED’
Packit d7e8d0
          This specifies if a sub key is revoked.  It is representable
Packit d7e8d0
          as a number, and is ‘1’ if the key is revoked, and ‘0’
Packit d7e8d0
          otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_KEY_INVALID’
Packit d7e8d0
          This specifies if a sub key is invalid.  It is representable
Packit d7e8d0
          as a number, and is ‘1’ if the key is invalid, and ‘0’
Packit d7e8d0
          otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_KEY_EXPIRED’
Packit d7e8d0
          This specifies if a sub key is expired.  It is representable
Packit d7e8d0
          as a number, and is ‘1’ if the key is expired, and ‘0’
Packit d7e8d0
          otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_KEY_DISABLED’
Packit d7e8d0
          This specifies if a sub key is disabled.  It is representable
Packit d7e8d0
          as a number, and is ‘1’ if the key is disabled, and ‘0’
Packit d7e8d0
          otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_KEY_CAPS’
Packit d7e8d0
          This is a description of the capabilities of a sub key.  It is
Packit d7e8d0
          representable as a string.  The string contains the letter “e”
Packit d7e8d0
          if the key can be used for encryption, “s” if the key can be
Packit d7e8d0
          used for signatures, and “c” if the key can be used for
Packit d7e8d0
          certifications.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_CAN_ENCRYPT’
Packit d7e8d0
          This specifies if a sub key can be used for encryption.  It is
Packit d7e8d0
          representable as a number, and is ‘1’ if the sub key can be
Packit d7e8d0
          used for encryption, and ‘0’ otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_CAN_SIGN’
Packit d7e8d0
          This specifies if a sub key can be used to create data
Packit d7e8d0
          signatures.  It is representable as a number, and is ‘1’ if
Packit d7e8d0
          the sub key can be used for signatures, and ‘0’ otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_CAN_CERTIFY’
Packit d7e8d0
          This specifies if a sub key can be used to create key
Packit d7e8d0
          certificates.  It is representable as a number, and is ‘1’ if
Packit d7e8d0
          the sub key can be used for certifications, and ‘0’ otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_SERIAL’
Packit d7e8d0
          The X.509 issuer serial attribute of the key.  It is
Packit d7e8d0
          representable as a string.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_ISSUE’
Packit d7e8d0
          The X.509 issuer name attribute of the key.  It is
Packit d7e8d0
          representable as a string.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_CHAINID’
Packit d7e8d0
          The X.509 chain ID can be used to build the certification
Packit d7e8d0
          chain.  It is representable as a string.
Packit d7e8d0
Packit d7e8d0
 -- Function: const char * gpgme_key_get_string_attr (gpgme_key_t KEY,
Packit d7e8d0
          gpgme_attr_t WHAT, const void *RESERVED, int IDX)
Packit d7e8d0
     The function ‘gpgme_key_get_string_attr’ returns the value of the
Packit d7e8d0
     string-representable attribute WHAT of key KEY.  If the attribute
Packit d7e8d0
     is an attribute of a sub key or an user ID, IDX specifies the sub
Packit d7e8d0
     key or user ID of which the attribute value is returned.  The
Packit d7e8d0
     argument RESERVED is reserved for later use and should be ‘NULL’.
Packit d7e8d0
Packit d7e8d0
     The string returned is only valid as long as the key is valid.
Packit d7e8d0
Packit d7e8d0
     The function returns ‘0’ if an attribute can’t be returned as a
Packit d7e8d0
     string, KEY is not a valid pointer, IDX out of range, or RESERVED
Packit d7e8d0
     not ‘NULL’.
Packit d7e8d0
Packit d7e8d0
 -- Function: unsigned long gpgme_key_get_ulong_attr (gpgme_key_t KEY,
Packit d7e8d0
          gpgme_attr_t WHAT, const void *RESERVED, int IDX)
Packit d7e8d0
     The function ‘gpgme_key_get_ulong_attr’ returns the value of the
Packit d7e8d0
     number-representable attribute WHAT of key KEY.  If the attribute
Packit d7e8d0
     is an attribute of a sub key or an user ID, IDX specifies the sub
Packit d7e8d0
     key or user ID of which the attribute value is returned.  The
Packit d7e8d0
     argument RESERVED is reserved for later use and should be ‘NULL’.
Packit d7e8d0
Packit d7e8d0
     The function returns ‘0’ if the attribute can’t be returned as a
Packit d7e8d0
     number, KEY is not a valid pointer, IDX out of range, or RESERVED
Packit d7e8d0
     not ‘NULL’.
Packit d7e8d0
Packit d7e8d0
   The signatures on a key are only available if the key was retrieved
Packit d7e8d0
via a listing operation with the ‘GPGME_KEYLIST_MODE_SIGS’ mode enabled,
Packit d7e8d0
because it is expensive to retrieve all signatures of a key.
Packit d7e8d0
Packit d7e8d0
   So, before using the below interfaces to retrieve the signatures on a
Packit d7e8d0
key, you have to make sure that the key was listed with signatures
Packit d7e8d0
enabled.  One convenient, but blocking, way to do this is to use the
Packit d7e8d0
function ‘gpgme_get_key’.
Packit d7e8d0
Packit d7e8d0
 -- Data type: gpgme_attr_t
Packit d7e8d0
     The ‘gpgme_attr_t’ type is used to specify a key signature
Packit d7e8d0
     attribute.  The following attributes are defined:
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_KEYID’
Packit d7e8d0
          This is the key ID of the key which was used for the
Packit d7e8d0
          signature.  It is representable as a string.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_ALGO’
Packit d7e8d0
          This is the crypto algorithm used to create the signature.  It
Packit d7e8d0
          is representable as a string and as a number.  The numbers
Packit d7e8d0
          correspond to the ‘enum gcry_pk_algos’ values in the gcrypt
Packit d7e8d0
          library.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_CREATED’
Packit d7e8d0
          This is the timestamp at creation time of the signature.  It
Packit d7e8d0
          is representable as a number.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_EXPIRE’
Packit d7e8d0
          This is the expiration time of the signature.  It is
Packit d7e8d0
          representable as a number.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_USERID’
Packit d7e8d0
          This is the user ID associated with the signing key.  The user
Packit d7e8d0
          ID is representable as a number.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_NAME’
Packit d7e8d0
          This is the name belonging to a user ID. It is representable
Packit d7e8d0
          as a string.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_EMAIL’
Packit d7e8d0
          This is the email address belonging to a user ID. It is
Packit d7e8d0
          representable as a string.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_COMMENT’
Packit d7e8d0
          This is the comment belonging to a user ID. It is
Packit d7e8d0
          representable as a string.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_KEY_REVOKED’
Packit d7e8d0
          This specifies if a key signature is a revocation signature.
Packit d7e8d0
          It is representable as a number, and is ‘1’ if the key is
Packit d7e8d0
          revoked, and ‘0’ otherwise.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_SIG_CLASS’
Packit d7e8d0
          This specifies the signature class of a key signature.  It is
Packit d7e8d0
          representable as a number.  The meaning is specific to the
Packit d7e8d0
          crypto engine.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_SIG_CLASS’
Packit d7e8d0
          This specifies the signature class of a key signature.  It is
Packit d7e8d0
          representable as a number.  The meaning is specific to the
Packit d7e8d0
          crypto engine.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_ATTR_SIG_STATUS’
Packit d7e8d0
          This is the same value as returned by ‘gpgme_get_sig_status’.
Packit d7e8d0
Packit d7e8d0
 -- Function: const char * gpgme_key_sig_get_string_attr
Packit d7e8d0
          (gpgme_key_t KEY, int UID_IDX, gpgme_attr_t WHAT,
Packit d7e8d0
          const void *RESERVED, int IDX)
Packit d7e8d0
     The function ‘gpgme_key_sig_get_string_attr’ returns the value of
Packit d7e8d0
     the string-representable attribute WHAT of the signature IDX on the
Packit d7e8d0
     user ID UID_IDX in the key KEY.  The argument RESERVED is reserved
Packit d7e8d0
     for later use and should be ‘NULL’.
Packit d7e8d0
Packit d7e8d0
     The string returned is only valid as long as the key is valid.
Packit d7e8d0
Packit d7e8d0
     The function returns ‘0’ if an attribute can’t be returned as a
Packit d7e8d0
     string, KEY is not a valid pointer, UID_IDX or IDX out of range, or
Packit d7e8d0
     RESERVED not ‘NULL’.
Packit d7e8d0
Packit d7e8d0
 -- Function: unsigned long gpgme_key_sig_get_ulong_attr
Packit d7e8d0
          (gpgme_key_t KEY, int UID_IDX, gpgme_attr_t WHAT,
Packit d7e8d0
          const void *RESERVED, int IDX)
Packit d7e8d0
     The function ‘gpgme_key_sig_get_ulong_attr’ returns the value of
Packit d7e8d0
     the number-representable attribute WHAT of the signature IDX on the
Packit d7e8d0
     user ID UID_IDX in the key KEY.  The argument RESERVED is reserved
Packit d7e8d0
     for later use and should be ‘NULL’.
Packit d7e8d0
Packit d7e8d0
     The function returns ‘0’ if an attribute can’t be returned as a
Packit d7e8d0
     string, KEY is not a valid pointer, UID_IDX or IDX out of range, or
Packit d7e8d0
     RESERVED not ‘NULL’.
Packit d7e8d0
Packit d7e8d0
   Trust items have attributes which can be queried using the interfaces
Packit d7e8d0
below.  The attribute identifiers are shared with those for key
Packit d7e8d0
attributes.  *Note Information About Keys::.
Packit d7e8d0
Packit d7e8d0
 -- Function: const char * gpgme_trust_item_get_string_attr
Packit d7e8d0
          (gpgme_trust_item_t ITEM, gpgme_attr_t WHAT,
Packit d7e8d0
          const void *RESERVED, int IDX)
Packit d7e8d0
     The function ‘gpgme_trust_item_get_string_attr’ returns the value
Packit d7e8d0
     of the string-representable attribute WHAT of trust item ITEM.  The
Packit d7e8d0
     arguments IDX and RESERVED are reserved for later use and should be
Packit d7e8d0
     ‘0’ and ‘NULL’ respectively.
Packit d7e8d0
Packit d7e8d0
     The string returned is only valid as long as the key is valid.
Packit d7e8d0
Packit d7e8d0
     The function returns ‘0’ if an attribute can’t be returned as a
Packit d7e8d0
     string, KEY is not a valid pointer, IDX out of range, or RESERVED
Packit d7e8d0
     not ‘NULL’.
Packit d7e8d0
Packit d7e8d0
 -- Function: int gpgme_trust_item_get_int_attr
Packit d7e8d0
          (gpgme_trust_item_t ITEM, gpgme_attr_t WHAT,
Packit d7e8d0
          const void *RESERVED, int IDX)
Packit d7e8d0
     The function ‘gpgme_trust_item_get_int_attr’ returns the value of
Packit d7e8d0
     the number-representable attribute WHAT of trust item ITEM.  If the
Packit d7e8d0
     attribute occurs more than once in the trust item, the index is
Packit d7e8d0
     specified by IDX.  However, currently no such attribute exists, so
Packit d7e8d0
     IDX should be ‘0’.  The argument RESERVED is reserved for later use
Packit d7e8d0
     and should be ‘NULL’.
Packit d7e8d0
Packit d7e8d0
     The function returns ‘0’ if the attribute can’t be returned as a
Packit d7e8d0
     number, KEY is not a valid pointer, IDX out of range, or RESERVED
Packit d7e8d0
     not ‘NULL’.
Packit d7e8d0
Packit d7e8d0
 -- Data type: enum gpgme_sig_stat_t
Packit d7e8d0
     The ‘gpgme_sig_stat_t’ type holds the result of a signature check,
Packit d7e8d0
     or the combined result of all signatures.  The following results
Packit d7e8d0
     are possible:
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_SIG_STAT_NONE’
Packit d7e8d0
          This status should not occur in normal operation.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_SIG_STAT_GOOD’
Packit d7e8d0
          This status indicates that the signature is valid.  For the
Packit d7e8d0
          combined result this status means that all signatures are
Packit d7e8d0
          valid.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_SIG_STAT_GOOD_EXP’
Packit d7e8d0
          This status indicates that the signature is valid but expired.
Packit d7e8d0
          For the combined result this status means that all signatures
Packit d7e8d0
          are valid and expired.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_SIG_STAT_GOOD_EXPKEY’
Packit d7e8d0
          This status indicates that the signature is valid but the key
Packit d7e8d0
          used to verify the signature has expired.  For the combined
Packit d7e8d0
          result this status means that all signatures are valid and all
Packit d7e8d0
          keys are expired.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_SIG_STAT_BAD’
Packit d7e8d0
          This status indicates that the signature is invalid.  For the
Packit d7e8d0
          combined result this status means that all signatures are
Packit d7e8d0
          invalid.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_SIG_STAT_NOKEY’
Packit d7e8d0
          This status indicates that the signature could not be verified
Packit d7e8d0
          due to a missing key.  For the combined result this status
Packit d7e8d0
          means that all signatures could not be checked due to missing
Packit d7e8d0
          keys.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_SIG_STAT_NOSIG’
Packit d7e8d0
          This status indicates that the signature data provided was not
Packit d7e8d0
          a real signature.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_SIG_STAT_ERROR’
Packit d7e8d0
          This status indicates that there was some other error which
Packit d7e8d0
          prevented the signature verification.
Packit d7e8d0
Packit d7e8d0
     ‘GPGME_SIG_STAT_DIFF’
Packit d7e8d0
          For the combined result this status means that at least two
Packit d7e8d0
          signatures have a different status.  You can get each key’s
Packit d7e8d0
          status with ‘gpgme_get_sig_status’.
Packit d7e8d0
Packit d7e8d0
 -- Function: const char * gpgme_get_sig_status (gpgme_ctx_t CTX,
Packit d7e8d0
          int IDX, gpgme_sig_stat_t *R_STAT, time_t *R_CREATED)
Packit d7e8d0
     The function ‘gpgme_get_sig_status’ is equivalent to:
Packit d7e8d0
Packit d7e8d0
            gpgme_verify_result_t result;
Packit d7e8d0
            gpgme_signature_t sig;
Packit d7e8d0
Packit d7e8d0
            result = gpgme_op_verify_result (ctx);
Packit d7e8d0
            sig = result->signatures;
Packit d7e8d0
Packit d7e8d0
            while (sig && idx)
Packit d7e8d0
              {
Packit d7e8d0
                sig = sig->next;
Packit d7e8d0
                idx--;
Packit d7e8d0
              }
Packit d7e8d0
            if (!sig || idx)
Packit d7e8d0
              return NULL;
Packit d7e8d0
Packit d7e8d0
            if (r_stat)
Packit d7e8d0
              {
Packit d7e8d0
                switch (gpg_err_code (sig->status))
Packit d7e8d0
	          {
Packit d7e8d0
          	case GPG_ERR_NO_ERROR:
Packit d7e8d0
          	  *r_stat = GPGME_SIG_STAT_GOOD;
Packit d7e8d0
          	  break;
Packit d7e8d0
Packit d7e8d0
          	case GPG_ERR_BAD_SIGNATURE:
Packit d7e8d0
          	  *r_stat = GPGME_SIG_STAT_BAD;
Packit d7e8d0
          	  break;
Packit d7e8d0
Packit d7e8d0
          	case GPG_ERR_NO_PUBKEY:
Packit d7e8d0
          	  *r_stat = GPGME_SIG_STAT_NOKEY;
Packit d7e8d0
          	  break;
Packit d7e8d0
Packit d7e8d0
          	case GPG_ERR_NO_DATA:
Packit d7e8d0
          	  *r_stat = GPGME_SIG_STAT_NOSIG;
Packit d7e8d0
          	  break;
Packit d7e8d0
Packit d7e8d0
          	case GPG_ERR_SIG_EXPIRED:
Packit d7e8d0
          	  *r_stat = GPGME_SIG_STAT_GOOD_EXP;
Packit d7e8d0
          	  break;
Packit d7e8d0
Packit d7e8d0
          	case GPG_ERR_KEY_EXPIRED:
Packit d7e8d0
          	  *r_stat = GPGME_SIG_STAT_GOOD_EXPKEY;
Packit d7e8d0
          	  break;
Packit d7e8d0
Packit d7e8d0
          	default:
Packit d7e8d0
          	  *r_stat = GPGME_SIG_STAT_ERROR;
Packit d7e8d0
          	  break;
Packit d7e8d0
	          }
Packit d7e8d0
              }
Packit d7e8d0
            if (r_created)
Packit d7e8d0
              *r_created = sig->timestamp;
Packit d7e8d0
            return sig->fpr;
Packit d7e8d0
Packit d7e8d0
 -- Function: const char * gpgme_get_sig_string_attr (gpgme_ctx_t CTX,
Packit d7e8d0
          int IDX, gpgme_attr_t WHAT, int WHATIDX)
Packit d7e8d0
     The function ‘gpgme_get_sig_string_attr’ is equivalent to:
Packit d7e8d0
Packit d7e8d0
            gpgme_verify_result_t result;
Packit d7e8d0
            gpgme_signature_t sig;
Packit d7e8d0
Packit d7e8d0
            result = gpgme_op_verify_result (ctx);
Packit d7e8d0
            sig = result->signatures;
Packit d7e8d0
Packit d7e8d0
            while (sig && idx)
Packit d7e8d0
              {
Packit d7e8d0
                sig = sig->next;
Packit d7e8d0
                idx--;
Packit d7e8d0
              }
Packit d7e8d0
            if (!sig || idx)
Packit d7e8d0
              return NULL;
Packit d7e8d0
Packit d7e8d0
            switch (what)
Packit d7e8d0
              {
Packit d7e8d0
              case GPGME_ATTR_FPR:
Packit d7e8d0
                return sig->fpr;
Packit d7e8d0
Packit d7e8d0
              case GPGME_ATTR_ERRTOK:
Packit d7e8d0
                if (whatidx == 1)
Packit d7e8d0
                  return sig->wrong_key_usage ? "Wrong_Key_Usage" : "";
Packit d7e8d0
                else
Packit d7e8d0
          	return "";
Packit d7e8d0
              default:
Packit d7e8d0
                break;
Packit d7e8d0
              }
Packit d7e8d0
Packit d7e8d0
            return NULL;
Packit d7e8d0
Packit d7e8d0
 -- Function: const char * gpgme_get_sig_ulong_attr (gpgme_ctx_t CTX,
Packit d7e8d0
          int IDX, gpgme_attr_t WAHT, int WHATIDX)
Packit d7e8d0
     The function ‘gpgme_get_sig_ulong_attr’ is equivalent to:
Packit d7e8d0
Packit d7e8d0
            gpgme_verify_result_t result;
Packit d7e8d0
            gpgme_signature_t sig;
Packit d7e8d0
Packit d7e8d0
            result = gpgme_op_verify_result (ctx);
Packit d7e8d0
            sig = result->signatures;
Packit d7e8d0
Packit d7e8d0
            while (sig && idx)
Packit d7e8d0
              {
Packit d7e8d0
                sig = sig->next;
Packit d7e8d0
                idx--;
Packit d7e8d0
              }
Packit d7e8d0
            if (!sig || idx)
Packit d7e8d0
              return 0;
Packit d7e8d0
Packit d7e8d0
            switch (what)
Packit d7e8d0
              {
Packit d7e8d0
              case GPGME_ATTR_CREATED:
Packit d7e8d0
                return sig->timestamp;
Packit d7e8d0
Packit d7e8d0
              case GPGME_ATTR_EXPIRE:
Packit d7e8d0
                return sig->exp_timestamp;
Packit d7e8d0
Packit d7e8d0
              case GPGME_ATTR_VALIDITY:
Packit d7e8d0
                return (unsigned long) sig->validity;
Packit d7e8d0
Packit d7e8d0
              case GPGME_ATTR_SIG_STATUS:
Packit d7e8d0
                switch (sig->status)
Packit d7e8d0
	          {
Packit d7e8d0
          	case GPG_ERR_NO_ERROR:
Packit d7e8d0
          	  return GPGME_SIG_STAT_GOOD;
Packit d7e8d0
Packit d7e8d0
          	case GPG_ERR_BAD_SIGNATURE:
Packit d7e8d0
          	  return GPGME_SIG_STAT_BAD;
Packit d7e8d0
Packit d7e8d0
          	case GPG_ERR_NO_PUBKEY:
Packit d7e8d0
          	  return GPGME_SIG_STAT_NOKEY;
Packit d7e8d0
Packit d7e8d0
          	case GPG_ERR_NO_DATA:
Packit d7e8d0
          	  return GPGME_SIG_STAT_NOSIG;
Packit d7e8d0
Packit d7e8d0
          	case GPG_ERR_SIG_EXPIRED:
Packit d7e8d0
          	  return GPGME_SIG_STAT_GOOD_EXP;
Packit d7e8d0
Packit d7e8d0
          	case GPG_ERR_KEY_EXPIRED:
Packit d7e8d0
          	  return GPGME_SIG_STAT_GOOD_EXPKEY;
Packit d7e8d0
Packit d7e8d0
          	default:
Packit d7e8d0
          	  return GPGME_SIG_STAT_ERROR;
Packit d7e8d0
	          }
Packit d7e8d0
Packit d7e8d0
              case GPGME_ATTR_SIG_SUMMARY:
Packit d7e8d0
                return sig->summary;
Packit d7e8d0
Packit d7e8d0
              default:
Packit d7e8d0
                break;
Packit d7e8d0
              }
Packit d7e8d0
            return 0;
Packit d7e8d0
Packit d7e8d0
 -- Function: const char * gpgme_get_sig_key (gpgme_ctx_t CTX, int IDX,
Packit d7e8d0
          gpgme_key_t *R_KEY)
Packit d7e8d0
     The function ‘gpgme_get_sig_key’ is equivalent to:
Packit d7e8d0
Packit d7e8d0
            gpgme_verify_result_t result;
Packit d7e8d0
            gpgme_signature_t sig;
Packit d7e8d0
Packit d7e8d0
            result = gpgme_op_verify_result (ctx);
Packit d7e8d0
            sig = result->signatures;
Packit d7e8d0
Packit d7e8d0
            while (sig && idx)
Packit d7e8d0
              {
Packit d7e8d0
                sig = sig->next;
Packit d7e8d0
                idx--;
Packit d7e8d0
              }
Packit d7e8d0
            if (!sig || idx)
Packit d7e8d0
              return gpg_error (GPG_ERR_EOF);
Packit d7e8d0
Packit d7e8d0
            return gpgme_get_key (ctx, sig->fpr, r_key, 0);
Packit d7e8d0
Packit d7e8d0
?
Packit d7e8d0
File: gpgme.info,  Node: Library Copying,  Next: Copying,  Prev: Deprecated Functions,  Up: Top
Packit d7e8d0
Packit d7e8d0
GNU Lesser General Public License
Packit d7e8d0
*********************************
Packit d7e8d0
Packit d7e8d0
                      Version 2.1, February 1999
Packit d7e8d0
Packit d7e8d0
     Copyright © 1991, 1999 Free Software Foundation, Inc.
Packit d7e8d0
     59 Temple Place – Suite 330, Boston, MA 02111-1307, USA
Packit d7e8d0
Packit d7e8d0
     Everyone is permitted to copy and distribute verbatim copies
Packit d7e8d0
     of this license document, but changing it is not allowed.
Packit d7e8d0
Packit d7e8d0
     [This is the first released version of the Lesser GPL.  It also counts
Packit d7e8d0
     as the successor of the GNU Library Public License, version 2, hence the
Packit d7e8d0
     version number 2.1.]
Packit d7e8d0
Packit d7e8d0
Preamble
Packit d7e8d0
========
Packit d7e8d0
Packit d7e8d0
The licenses for most software are designed to take away your freedom to
Packit d7e8d0
share and change it.  By contrast, the GNU General Public Licenses are
Packit d7e8d0
intended to guarantee your freedom to share and change free software—to
Packit d7e8d0
make sure the software is free for all its users.
Packit d7e8d0
Packit d7e8d0
   This license, the Lesser General Public License, applies to some
Packit d7e8d0
specially designated software—typically libraries—of the Free Software
Packit d7e8d0
Foundation and other authors who decide to use it.  You can use it too,
Packit d7e8d0
but we suggest you first think carefully about whether this license or
Packit d7e8d0
the ordinary General Public License is the better strategy to use in any
Packit d7e8d0
particular case, based on the explanations below.
Packit d7e8d0
Packit d7e8d0
   When we speak of free software, we are referring to freedom of use,
Packit d7e8d0
not price.  Our General Public Licenses are designed to make sure that
Packit d7e8d0
you have the freedom to distribute copies of free software (and charge
Packit d7e8d0
for this service if you wish); that you receive source code or can get
Packit d7e8d0
it if you want it; that you can change the software and use pieces of it
Packit d7e8d0
in new free programs; and that you are informed that you can do these
Packit d7e8d0
things.
Packit d7e8d0
Packit d7e8d0
   To protect your rights, we need to make restrictions that forbid
Packit d7e8d0
distributors to deny you these rights or to ask you to surrender these
Packit d7e8d0
rights.  These restrictions translate to certain responsibilities for
Packit d7e8d0
you if you distribute copies of the library or if you modify it.
Packit d7e8d0
Packit d7e8d0
   For example, if you distribute copies of the library, whether gratis
Packit d7e8d0
or for a fee, you must give the recipients all the rights that we gave
Packit d7e8d0
you.  You must make sure that they, too, receive or can get the source
Packit d7e8d0
code.  If you link other code with the library, you must provide
Packit d7e8d0
complete object files to the recipients, so that they can relink them
Packit d7e8d0
with the library after making changes to the library and recompiling it.
Packit d7e8d0
And you must show them these terms so they know their rights.
Packit d7e8d0
Packit d7e8d0
   We protect your rights with a two-step method: (1) we copyright the
Packit d7e8d0
library, and (2) we offer you this license, which gives you legal
Packit d7e8d0
permission to copy, distribute and/or modify the library.
Packit d7e8d0
Packit d7e8d0
   To protect each distributor, we want to make it very clear that there
Packit d7e8d0
is no warranty for the free library.  Also, if the library is modified
Packit d7e8d0
by someone else and passed on, the recipients should know that what they
Packit d7e8d0
have is not the original version, so that the original author’s
Packit d7e8d0
reputation will not be affected by problems that might be introduced by
Packit d7e8d0
others.
Packit d7e8d0
Packit d7e8d0
   Finally, software patents pose a constant threat to the existence of
Packit d7e8d0
any free program.  We wish to make sure that a company cannot
Packit d7e8d0
effectively restrict the users of a free program by obtaining a
Packit d7e8d0
restrictive license from a patent holder.  Therefore, we insist that any
Packit d7e8d0
patent license obtained for a version of the library must be consistent
Packit d7e8d0
with the full freedom of use specified in this license.
Packit d7e8d0
Packit d7e8d0
   Most GNU software, including some libraries, is covered by the
Packit d7e8d0
ordinary GNU General Public License.  This license, the GNU Lesser
Packit d7e8d0
General Public License, applies to certain designated libraries, and is
Packit d7e8d0
quite different from the ordinary General Public License.  We use this
Packit d7e8d0
license for certain libraries in order to permit linking those libraries
Packit d7e8d0
into non-free programs.
Packit d7e8d0
Packit d7e8d0
   When a program is linked with a library, whether statically or using
Packit d7e8d0
a shared library, the combination of the two is legally speaking a
Packit d7e8d0
combined work, a derivative of the original library.  The ordinary
Packit d7e8d0
General Public License therefore permits such linking only if the entire
Packit d7e8d0
combination fits its criteria of freedom.  The Lesser General Public
Packit d7e8d0
License permits more lax criteria for linking other code with the
Packit d7e8d0
library.
Packit d7e8d0
Packit d7e8d0
   We call this license the “Lesser” General Public License because it
Packit d7e8d0
does _Less_ to protect the user’s freedom than the ordinary General
Packit d7e8d0
Public License.  It also provides other free software developers Less of
Packit d7e8d0
an advantage over competing non-free programs.  These disadvantages are
Packit d7e8d0
the reason we use the ordinary General Public License for many
Packit d7e8d0
libraries.  However, the Lesser license provides advantages in certain
Packit d7e8d0
special circumstances.
Packit d7e8d0
Packit d7e8d0
   For example, on rare occasions, there may be a special need to
Packit d7e8d0
encourage the widest possible use of a certain library, so that it
Packit d7e8d0
becomes a de-facto standard.  To achieve this, non-free programs must be
Packit d7e8d0
allowed to use the library.  A more frequent case is that a free library
Packit d7e8d0
does the same job as widely used non-free libraries.  In this case,
Packit d7e8d0
there is little to gain by limiting the free library to free software
Packit d7e8d0
only, so we use the Lesser General Public License.
Packit d7e8d0
Packit d7e8d0
   In other cases, permission to use a particular library in non-free
Packit d7e8d0
programs enables a greater number of people to use a large body of free
Packit d7e8d0
software.  For example, permission to use the GNU C Library in non-free
Packit d7e8d0
programs enables many more people to use the whole GNU operating system,
Packit d7e8d0
as well as its variant, the GNU/Linux operating system.
Packit d7e8d0
Packit d7e8d0
   Although the Lesser General Public License is Less protective of the
Packit d7e8d0
users’ freedom, it does ensure that the user of a program that is linked
Packit d7e8d0
with the Library has the freedom and the wherewithal to run that program
Packit d7e8d0
using a modified version of the Library.
Packit d7e8d0
Packit d7e8d0
   The precise terms and conditions for copying, distribution and
Packit d7e8d0
modification follow.  Pay close attention to the difference between a
Packit d7e8d0
“work based on the library” and a “work that uses the library”.  The
Packit d7e8d0
former contains code derived from the library, whereas the latter must
Packit d7e8d0
be combined with the library in order to run.
Packit d7e8d0
Packit d7e8d0
                   GNU LESSER GENERAL PUBLIC LICENSE
Packit d7e8d0
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
Packit d7e8d0
Packit d7e8d0
  0. This License Agreement applies to any software library or other
Packit d7e8d0
     program which contains a notice placed by the copyright holder or
Packit d7e8d0
     other authorized party saying it may be distributed under the terms
Packit d7e8d0
     of this Lesser General Public License (also called “this License”).
Packit d7e8d0
     Each licensee is addressed as “you”.
Packit d7e8d0
Packit d7e8d0
     A “library” means a collection of software functions and/or data
Packit d7e8d0
     prepared so as to be conveniently linked with application programs
Packit d7e8d0
     (which use some of those functions and data) to form executables.
Packit d7e8d0
Packit d7e8d0
     The “Library”, below, refers to any such software library or work
Packit d7e8d0
     which has been distributed under these terms.  A “work based on the
Packit d7e8d0
     Library” means either the Library or any derivative work under
Packit d7e8d0
     copyright law: that is to say, a work containing the Library or a
Packit d7e8d0
     portion of it, either verbatim or with modifications and/or
Packit d7e8d0
     translated straightforwardly into another language.  (Hereinafter,
Packit d7e8d0
     translation is included without limitation in the term
Packit d7e8d0
     “modification”.)
Packit d7e8d0
Packit d7e8d0
     “Source code” for a work means the preferred form of the work for
Packit d7e8d0
     making modifications to it.  For a library, complete source code
Packit d7e8d0
     means all the source code for all modules it contains, plus any
Packit d7e8d0
     associated interface definition files, plus the scripts used to
Packit d7e8d0
     control compilation and installation of the library.
Packit d7e8d0
Packit d7e8d0
     Activities other than copying, distribution and modification are
Packit d7e8d0
     not covered by this License; they are outside its scope.  The act
Packit d7e8d0
     of running a program using the Library is not restricted, and
Packit d7e8d0
     output from such a program is covered only if its contents
Packit d7e8d0
     constitute a work based on the Library (independent of the use of
Packit d7e8d0
     the Library in a tool for writing it).  Whether that is true
Packit d7e8d0
     depends on what the Library does and what the program that uses the
Packit d7e8d0
     Library does.
Packit d7e8d0
Packit d7e8d0
  1. You may copy and distribute verbatim copies of the Library’s
Packit d7e8d0
     complete source code as you receive it, in any medium, provided
Packit d7e8d0
     that you conspicuously and appropriately publish on each copy an
Packit d7e8d0
     appropriate copyright notice and disclaimer of warranty; keep
Packit d7e8d0
     intact all the notices that refer to this License and to the
Packit d7e8d0
     absence of any warranty; and distribute a copy of this License
Packit d7e8d0
     along with the Library.
Packit d7e8d0
Packit d7e8d0
     You may charge a fee for the physical act of transferring a copy,
Packit d7e8d0
     and you may at your option offer warranty protection in exchange
Packit d7e8d0
     for a fee.
Packit d7e8d0
Packit d7e8d0
  2. You may modify your copy or copies of the Library or any portion of
Packit d7e8d0
     it, thus forming a work based on the Library, and copy and
Packit d7e8d0
     distribute such modifications or work under the terms of Section 1
Packit d7e8d0
     above, provided that you also meet all of these conditions:
Packit d7e8d0
Packit d7e8d0
       a. The modified work must itself be a software library.
Packit d7e8d0
Packit d7e8d0
       b. You must cause the files modified to carry prominent notices
Packit d7e8d0
          stating that you changed the files and the date of any change.
Packit d7e8d0
Packit d7e8d0
       c. You must cause the whole of the work to be licensed at no
Packit d7e8d0
          charge to all third parties under the terms of this License.
Packit d7e8d0
Packit d7e8d0
       d. If a facility in the modified Library refers to a function or
Packit d7e8d0
          a table of data to be supplied by an application program that
Packit d7e8d0
          uses the facility, other than as an argument passed when the
Packit d7e8d0
          facility is invoked, then you must make a good faith effort to
Packit d7e8d0
          ensure that, in the event an application does not supply such
Packit d7e8d0
          function or table, the facility still operates, and performs
Packit d7e8d0
          whatever part of its purpose remains meaningful.
Packit d7e8d0
Packit d7e8d0
          (For example, a function in a library to compute square roots
Packit d7e8d0
          has a purpose that is entirely well-defined independent of the
Packit d7e8d0
          application.  Therefore, Subsection 2d requires that any
Packit d7e8d0
          application-supplied function or table used by this function
Packit d7e8d0
          must be optional: if the application does not supply it, the
Packit d7e8d0
          square root function must still compute square roots.)
Packit d7e8d0
Packit d7e8d0
     These requirements apply to the modified work as a whole.  If
Packit d7e8d0
     identifiable sections of that work are not derived from the
Packit d7e8d0
     Library, and can be reasonably considered independent and separate
Packit d7e8d0
     works in themselves, then this License, and its terms, do not apply
Packit d7e8d0
     to those sections when you distribute them as separate works.  But
Packit d7e8d0
     when you distribute the same sections as part of a whole which is a
Packit d7e8d0
     work based on the Library, the distribution of the whole must be on
Packit d7e8d0
     the terms of this License, whose permissions for other licensees
Packit d7e8d0
     extend to the entire whole, and thus to each and every part
Packit d7e8d0
     regardless of who wrote it.
Packit d7e8d0
Packit d7e8d0
     Thus, it is not the intent of this section to claim rights or
Packit d7e8d0
     contest your rights to work written entirely by you; rather, the
Packit d7e8d0
     intent is to exercise the right to control the distribution of
Packit d7e8d0
     derivative or collective works based on the Library.
Packit d7e8d0
Packit d7e8d0
     In addition, mere aggregation of another work not based on the
Packit d7e8d0
     Library with the Library (or with a work based on the Library) on a
Packit d7e8d0
     volume of a storage or distribution medium does not bring the other
Packit d7e8d0
     work under the scope of this License.
Packit d7e8d0
Packit d7e8d0
  3. You may opt to apply the terms of the ordinary GNU General Public
Packit d7e8d0
     License instead of this License to a given copy of the Library.  To
Packit d7e8d0
     do this, you must alter all the notices that refer to this License,
Packit d7e8d0
     so that they refer to the ordinary GNU General Public License,
Packit d7e8d0
     version 2, instead of to this License.  (If a newer version than
Packit d7e8d0
     version 2 of the ordinary GNU General Public License has appeared,
Packit d7e8d0
     then you can specify that version instead if you wish.)  Do not
Packit d7e8d0
     make any other change in these notices.
Packit d7e8d0
Packit d7e8d0
     Once this change is made in a given copy, it is irreversible for
Packit d7e8d0
     that copy, so the ordinary GNU General Public License applies to
Packit d7e8d0
     all subsequent copies and derivative works made from that copy.
Packit d7e8d0
Packit d7e8d0
     This option is useful when you wish to copy part of the code of the
Packit d7e8d0
     Library into a program that is not a library.
Packit d7e8d0
Packit d7e8d0
  4. You may copy and distribute the Library (or a portion or derivative
Packit d7e8d0
     of it, under Section 2) in object code or executable form under the
Packit d7e8d0
     terms of Sections 1 and 2 above provided that you accompany it with
Packit d7e8d0
     the complete corresponding machine-readable source code, which must
Packit d7e8d0
     be distributed under the terms of Sections 1 and 2 above on a
Packit d7e8d0
     medium customarily used for software interchange.
Packit d7e8d0
Packit d7e8d0
     If distribution of object code is made by offering access to copy
Packit d7e8d0
     from a designated place, then offering equivalent access to copy
Packit d7e8d0
     the source code from the same place satisfies the requirement to
Packit d7e8d0
     distribute the source code, even though third parties are not
Packit d7e8d0
     compelled to copy the source along with the object code.
Packit d7e8d0
Packit d7e8d0
  5. A program that contains no derivative of any portion of the
Packit d7e8d0
     Library, but is designed to work with the Library by being compiled
Packit d7e8d0
     or linked with it, is called a “work that uses the Library”.  Such
Packit d7e8d0
     a work, in isolation, is not a derivative work of the Library, and
Packit d7e8d0
     therefore falls outside the scope of this License.
Packit d7e8d0
Packit d7e8d0
     However, linking a “work that uses the Library” with the Library
Packit d7e8d0
     creates an executable that is a derivative of the Library (because
Packit d7e8d0
     it contains portions of the Library), rather than a “work that uses
Packit d7e8d0
     the library”.  The executable is therefore covered by this License.
Packit d7e8d0
     Section 6 states terms for distribution of such executables.
Packit d7e8d0
Packit d7e8d0
     When a “work that uses the Library” uses material from a header
Packit d7e8d0
     file that is part of the Library, the object code for the work may
Packit d7e8d0
     be a derivative work of the Library even though the source code is
Packit d7e8d0
     not.  Whether this is true is especially significant if the work
Packit d7e8d0
     can be linked without the Library, or if the work is itself a
Packit d7e8d0
     library.  The threshold for this to be true is not precisely
Packit d7e8d0
     defined by law.
Packit d7e8d0
Packit d7e8d0
     If such an object file uses only numerical parameters, data
Packit d7e8d0
     structure layouts and accessors, and small macros and small inline
Packit d7e8d0
     functions (ten lines or less in length), then the use of the object
Packit d7e8d0
     file is unrestricted, regardless of whether it is legally a
Packit d7e8d0
     derivative work.  (Executables containing this object code plus
Packit d7e8d0
     portions of the Library will still fall under Section 6.)
Packit d7e8d0
Packit d7e8d0
     Otherwise, if the work is a derivative of the Library, you may
Packit d7e8d0
     distribute the object code for the work under the terms of Section
Packit d7e8d0
     6.  Any executables containing that work also fall under Section 6,
Packit d7e8d0
     whether or not they are linked directly with the Library itself.
Packit d7e8d0
Packit d7e8d0
  6. As an exception to the Sections above, you may also combine or link
Packit d7e8d0
     a “work that uses the Library” with the Library to produce a work
Packit d7e8d0
     containing portions of the Library, and distribute that work under
Packit d7e8d0
     terms of your choice, provided that the terms permit modification
Packit d7e8d0
     of the work for the customer’s own use and reverse engineering for
Packit d7e8d0
     debugging such modifications.
Packit d7e8d0
Packit d7e8d0
     You must give prominent notice with each copy of the work that the
Packit d7e8d0
     Library is used in it and that the Library and its use are covered
Packit d7e8d0
     by this License.  You must supply a copy of this License.  If the
Packit d7e8d0
     work during execution displays copyright notices, you must include
Packit d7e8d0
     the copyright notice for the Library among them, as well as a
Packit d7e8d0
     reference directing the user to the copy of this License.  Also,
Packit d7e8d0
     you must do one of these things:
Packit d7e8d0
Packit d7e8d0
       a. Accompany the work with the complete corresponding
Packit d7e8d0
          machine-readable source code for the Library including
Packit d7e8d0
          whatever changes were used in the work (which must be
Packit d7e8d0
          distributed under Sections 1 and 2 above); and, if the work is
Packit d7e8d0
          an executable linked with the Library, with the complete
Packit d7e8d0
          machine-readable “work that uses the Library”, as object code
Packit d7e8d0
          and/or source code, so that the user can modify the Library
Packit d7e8d0
          and then relink to produce a modified executable containing
Packit d7e8d0
          the modified Library.  (It is understood that the user who
Packit d7e8d0
          changes the contents of definitions files in the Library will
Packit d7e8d0
          not necessarily be able to recompile the application to use
Packit d7e8d0
          the modified definitions.)
Packit d7e8d0
Packit d7e8d0
       b. Use a suitable shared library mechanism for linking with the
Packit d7e8d0
          Library.  A suitable mechanism is one that (1) uses at run
Packit d7e8d0
          time a copy of the library already present on the user’s
Packit d7e8d0
          computer system, rather than copying library functions into
Packit d7e8d0
          the executable, and (2) will operate properly with a modified
Packit d7e8d0
          version of the library, if the user installs one, as long as
Packit d7e8d0
          the modified version is interface-compatible with the version
Packit d7e8d0
          that the work was made with.
Packit d7e8d0
Packit d7e8d0
       c. Accompany the work with a written offer, valid for at least
Packit d7e8d0
          three years, to give the same user the materials specified in
Packit d7e8d0
          Subsection 6a, above, for a charge no more than the cost of
Packit d7e8d0
          performing this distribution.
Packit d7e8d0
Packit d7e8d0
       d. If distribution of the work is made by offering access to copy
Packit d7e8d0
          from a designated place, offer equivalent access to copy the
Packit d7e8d0
          above specified materials from the same place.
Packit d7e8d0
Packit d7e8d0
       e. Verify that the user has already received a copy of these
Packit d7e8d0
          materials or that you have already sent this user a copy.
Packit d7e8d0
Packit d7e8d0
     For an executable, the required form of the “work that uses the
Packit d7e8d0
     Library” must include any data and utility programs needed for
Packit d7e8d0
     reproducing the executable from it.  However, as a special
Packit d7e8d0
     exception, the materials to be distributed need not include
Packit d7e8d0
     anything that is normally distributed (in either source or binary
Packit d7e8d0
     form) with the major components (compiler, kernel, and so on) of
Packit d7e8d0
     the operating system on which the executable runs, unless that
Packit d7e8d0
     component itself accompanies the executable.
Packit d7e8d0
Packit d7e8d0
     It may happen that this requirement contradicts the license
Packit d7e8d0
     restrictions of other proprietary libraries that do not normally
Packit d7e8d0
     accompany the operating system.  Such a contradiction means you
Packit d7e8d0
     cannot use both them and the Library together in an executable that
Packit d7e8d0
     you distribute.
Packit d7e8d0
Packit d7e8d0
  7. You may place library facilities that are a work based on the
Packit d7e8d0
     Library side-by-side in a single library together with other
Packit d7e8d0
     library facilities not covered by this License, and distribute such
Packit d7e8d0
     a combined library, provided that the separate distribution of the
Packit d7e8d0
     work based on the Library and of the other library facilities is
Packit d7e8d0
     otherwise permitted, and provided that you do these two things:
Packit d7e8d0
Packit d7e8d0
       a. Accompany the combined library with a copy of the same work
Packit d7e8d0
          based on the Library, uncombined with any other library
Packit d7e8d0
          facilities.  This must be distributed under the terms of the
Packit d7e8d0
          Sections above.
Packit d7e8d0
Packit d7e8d0
       b. Give prominent notice with the combined library of the fact
Packit d7e8d0
          that part of it is a work based on the Library, and explaining
Packit d7e8d0
          where to find the accompanying uncombined form of the same
Packit d7e8d0
          work.
Packit d7e8d0
Packit d7e8d0
  8. You may not copy, modify, sublicense, link with, or distribute the
Packit d7e8d0
     Library except as expressly provided under this License.  Any
Packit d7e8d0
     attempt otherwise to copy, modify, sublicense, link with, or
Packit d7e8d0
     distribute the Library is void, and will automatically terminate
Packit d7e8d0
     your rights under this License.  However, parties who have received
Packit d7e8d0
     copies, or rights, from you under this License will not have their
Packit d7e8d0
     licenses terminated so long as such parties remain in full
Packit d7e8d0
     compliance.
Packit d7e8d0
Packit d7e8d0
  9. You are not required to accept this License, since you have not
Packit d7e8d0
     signed it.  However, nothing else grants you permission to modify
Packit d7e8d0
     or distribute the Library or its derivative works.  These actions
Packit d7e8d0
     are prohibited by law if you do not accept this License.
Packit d7e8d0
     Therefore, by modifying or distributing the Library (or any work
Packit d7e8d0
     based on the Library), you indicate your acceptance of this License
Packit d7e8d0
     to do so, and all its terms and conditions for copying,
Packit d7e8d0
     distributing or modifying the Library or works based on it.
Packit d7e8d0
Packit d7e8d0
  10. Each time you redistribute the Library (or any work based on the
Packit d7e8d0
     Library), the recipient automatically receives a license from the
Packit d7e8d0
     original licensor to copy, distribute, link with or modify the
Packit d7e8d0
     Library subject to these terms and conditions.  You may not impose
Packit d7e8d0
     any further restrictions on the recipients’ exercise of the rights
Packit d7e8d0
     granted herein.  You are not responsible for enforcing compliance
Packit d7e8d0
     by third parties with this License.
Packit d7e8d0
Packit d7e8d0
  11. If, as a consequence of a court judgment or allegation of patent
Packit d7e8d0
     infringement or for any other reason (not limited to patent
Packit d7e8d0
     issues), conditions are imposed on you (whether by court order,
Packit d7e8d0
     agreement or otherwise) that contradict the conditions of this
Packit d7e8d0
     License, they do not excuse you from the conditions of this
Packit d7e8d0
     License.  If you cannot distribute so as to satisfy simultaneously
Packit d7e8d0
     your obligations under this License and any other pertinent
Packit d7e8d0
     obligations, then as a consequence you may not distribute the
Packit d7e8d0
     Library at all.  For example, if a patent license would not permit
Packit d7e8d0
     royalty-free redistribution of the Library by all those who receive
Packit d7e8d0
     copies directly or indirectly through you, then the only way you
Packit d7e8d0
     could satisfy both it and this License would be to refrain entirely
Packit d7e8d0
     from distribution of the Library.
Packit d7e8d0
Packit d7e8d0
     If any portion of this section is held invalid or unenforceable
Packit d7e8d0
     under any particular circumstance, the balance of the section is
Packit d7e8d0
     intended to apply, and the section as a whole is intended to apply
Packit d7e8d0
     in other circumstances.
Packit d7e8d0
Packit d7e8d0
     It is not the purpose of this section to induce you to infringe any
Packit d7e8d0
     patents or other property right claims or to contest validity of
Packit d7e8d0
     any such claims; this section has the sole purpose of protecting
Packit d7e8d0
     the integrity of the free software distribution system which is
Packit d7e8d0
     implemented by public license practices.  Many people have made
Packit d7e8d0
     generous contributions to the wide range of software distributed
Packit d7e8d0
     through that system in reliance on consistent application of that
Packit d7e8d0
     system; it is up to the author/donor to decide if he or she is
Packit d7e8d0
     willing to distribute software through any other system and a
Packit d7e8d0
     licensee cannot impose that choice.
Packit d7e8d0
Packit d7e8d0
     This section is intended to make thoroughly clear what is believed
Packit d7e8d0
     to be a consequence of the rest of this License.
Packit d7e8d0
Packit d7e8d0
  12. If the distribution and/or use of the Library is restricted in
Packit d7e8d0
     certain countries either by patents or by copyrighted interfaces,
Packit d7e8d0
     the original copyright holder who places the Library under this
Packit d7e8d0
     License may add an explicit geographical distribution limitation
Packit d7e8d0
     excluding those countries, so that distribution is permitted only
Packit d7e8d0
     in or among countries not thus excluded.  In such case, this
Packit d7e8d0
     License incorporates the limitation as if written in the body of
Packit d7e8d0
     this License.
Packit d7e8d0
Packit d7e8d0
  13. The Free Software Foundation may publish revised and/or new
Packit d7e8d0
     versions of the Lesser General Public License from time to time.
Packit d7e8d0
     Such new versions will be similar in spirit to the present version,
Packit d7e8d0
     but may differ in detail to address new problems or concerns.
Packit d7e8d0
Packit d7e8d0
     Each version is given a distinguishing version number.  If the
Packit d7e8d0
     Library specifies a version number of this License which applies to
Packit d7e8d0
     it and “any later version”, you have the option of following the
Packit d7e8d0
     terms and conditions either of that version or of any later version
Packit d7e8d0
     published by the Free Software Foundation.  If the Library does not
Packit d7e8d0
     specify a license version number, you may choose any version ever
Packit d7e8d0
     published by the Free Software Foundation.
Packit d7e8d0
Packit d7e8d0
  14. If you wish to incorporate parts of the Library into other free
Packit d7e8d0
     programs whose distribution conditions are incompatible with these,
Packit d7e8d0
     write to the author to ask for permission.  For software which is
Packit d7e8d0
     copyrighted by the Free Software Foundation, write to the Free
Packit d7e8d0
     Software Foundation; we sometimes make exceptions for this.  Our
Packit d7e8d0
     decision will be guided by the two goals of preserving the free
Packit d7e8d0
     status of all derivatives of our free software and of promoting the
Packit d7e8d0
     sharing and reuse of software generally.
Packit d7e8d0
Packit d7e8d0
                              NO WARRANTY
Packit d7e8d0
Packit d7e8d0
  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
Packit d7e8d0
     WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE
Packit d7e8d0
     LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
Packit d7e8d0
     AND/OR OTHER PARTIES PROVIDE THE LIBRARY “AS IS” WITHOUT WARRANTY
Packit d7e8d0
     OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
Packit d7e8d0
     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
Packit d7e8d0
     FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
Packit d7e8d0
     PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE
Packit d7e8d0
     DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
Packit d7e8d0
     OR CORRECTION.
Packit d7e8d0
Packit d7e8d0
  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
Packit d7e8d0
     WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
Packit d7e8d0
     MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
Packit d7e8d0
     LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
Packit d7e8d0
     INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
Packit d7e8d0
     INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF
Packit d7e8d0
     DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
Packit d7e8d0
     OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY
Packit d7e8d0
     OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
Packit d7e8d0
     ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Packit d7e8d0
Packit d7e8d0
                      END OF TERMS AND CONDITIONS
Packit d7e8d0
Packit d7e8d0
How to Apply These Terms to Your New Libraries
Packit d7e8d0
==============================================
Packit d7e8d0
Packit d7e8d0
If you develop a new library, and you want it to be of the greatest
Packit d7e8d0
possible use to the public, we recommend making it free software that
Packit d7e8d0
everyone can redistribute and change.  You can do so by permitting
Packit d7e8d0
redistribution under these terms (or, alternatively, under the terms of
Packit d7e8d0
the ordinary General Public License).
Packit d7e8d0
Packit d7e8d0
   To apply these terms, attach the following notices to the library.
Packit d7e8d0
It is safest to attach them to the start of each source file to most
Packit d7e8d0
effectively convey the exclusion of warranty; and each file should have
Packit d7e8d0
at least the “copyright” line and a pointer to where the full notice is
Packit d7e8d0
found.
Packit d7e8d0
Packit d7e8d0
     ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES.
Packit d7e8d0
     Copyright (C) YEAR  NAME OF AUTHOR
Packit d7e8d0
Packit d7e8d0
     This library is free software; you can redistribute it and/or modify it
Packit d7e8d0
     under the terms of the GNU Lesser General Public License as published by
Packit d7e8d0
     the Free Software Foundation; either version 2.1 of the License, or (at
Packit d7e8d0
     your option) any later version.
Packit d7e8d0
Packit d7e8d0
     This library is distributed in the hope that it will be useful, but
Packit d7e8d0
     WITHOUT ANY WARRANTY; without even the implied warranty of
Packit d7e8d0
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit d7e8d0
     Lesser General Public License for more details.
Packit d7e8d0
Packit d7e8d0
     You should have received a copy of the GNU Lesser General Public
Packit d7e8d0
     License along with this library; if not, write to the Free Software
Packit d7e8d0
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
Packit d7e8d0
     USA.
Packit d7e8d0
Packit d7e8d0
   Also add information on how to contact you by electronic and paper
Packit d7e8d0
mail.
Packit d7e8d0
Packit d7e8d0
   You should also get your employer (if you work as a programmer) or
Packit d7e8d0
your school, if any, to sign a “copyright disclaimer” for the library,
Packit d7e8d0
if necessary.  Here is a sample; alter the names:
Packit d7e8d0
Packit d7e8d0
     Yoyodyne, Inc., hereby disclaims all copyright interest in the library
Packit d7e8d0
     `Frob' (a library for tweaking knobs) written by James Random Hacker.
Packit d7e8d0
Packit d7e8d0
     SIGNATURE OF TY COON, 1 April 1990
Packit d7e8d0
     Ty Coon, President of Vice
Packit d7e8d0
Packit d7e8d0
   That’s all there is to it!
Packit d7e8d0
Packit d7e8d0
?
Packit d7e8d0
File: gpgme.info,  Node: Copying,  Next: Concept Index,  Prev: Library Copying,  Up: Top
Packit d7e8d0
Packit d7e8d0
GNU General Public License
Packit d7e8d0
**************************
Packit d7e8d0
Packit d7e8d0
                        Version 3, 29 June 2007
Packit d7e8d0
Packit d7e8d0
     Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
Packit d7e8d0
Packit d7e8d0
     Everyone is permitted to copy and distribute verbatim copies of this
Packit d7e8d0
     license document, but changing it is not allowed.
Packit d7e8d0
Packit d7e8d0
Preamble
Packit d7e8d0
========
Packit d7e8d0
Packit d7e8d0
The GNU General Public License is a free, copyleft license for software
Packit d7e8d0
and other kinds of works.
Packit d7e8d0
Packit d7e8d0
   The licenses for most software and other practical works are designed
Packit d7e8d0
to take away your freedom to share and change the works.  By contrast,
Packit d7e8d0
the GNU General Public License is intended to guarantee your freedom to
Packit d7e8d0
share and change all versions of a program–to make sure it remains free
Packit d7e8d0
software for all its users.  We, the Free Software Foundation, use the
Packit d7e8d0
GNU General Public License for most of our software; it applies also to
Packit d7e8d0
any other work released this way by its authors.  You can apply it to
Packit d7e8d0
your programs, too.
Packit d7e8d0
Packit d7e8d0
   When we speak of free software, we are referring to freedom, not
Packit d7e8d0
price.  Our General Public Licenses are designed to make sure that you
Packit d7e8d0
have the freedom to distribute copies of free software (and charge for
Packit d7e8d0
them if you wish), that you receive source code or can get it if you
Packit d7e8d0
want it, that you can change the software or use pieces of it in new
Packit d7e8d0
free programs, and that you know you can do these things.
Packit d7e8d0
Packit d7e8d0
   To protect your rights, we need to prevent others from denying you
Packit d7e8d0
these rights or asking you to surrender the rights.  Therefore, you have
Packit d7e8d0
certain responsibilities if you distribute copies of the software, or if
Packit d7e8d0
you modify it: responsibilities to respect the freedom of others.
Packit d7e8d0
Packit d7e8d0
   For example, if you distribute copies of such a program, whether
Packit d7e8d0
gratis or for a fee, you must pass on to the recipients the same
Packit d7e8d0
freedoms that you received.  You must make sure that they, too, receive
Packit d7e8d0
or can get the source code.  And you must show them these terms so they
Packit d7e8d0
know their rights.
Packit d7e8d0
Packit d7e8d0
   Developers that use the GNU GPL protect your rights with two steps:
Packit d7e8d0
(1) assert copyright on the software, and (2) offer you this License
Packit d7e8d0
giving you legal permission to copy, distribute and/or modify it.
Packit d7e8d0
Packit d7e8d0
   For the developers’ and authors’ protection, the GPL clearly explains
Packit d7e8d0
that there is no warranty for this free software.  For both users’ and
Packit d7e8d0
authors’ sake, the GPL requires that modified versions be marked as
Packit d7e8d0
changed, so that their problems will not be attributed erroneously to
Packit d7e8d0
authors of previous versions.
Packit d7e8d0
Packit d7e8d0
   Some devices are designed to deny users access to install or run
Packit d7e8d0
modified versions of the software inside them, although the manufacturer
Packit d7e8d0
can do so.  This is fundamentally incompatible with the aim of
Packit d7e8d0
protecting users’ freedom to change the software.  The systematic
Packit d7e8d0
pattern of such abuse occurs in the area of products for individuals to
Packit d7e8d0
use, which is precisely where it is most unacceptable.  Therefore, we
Packit d7e8d0
have designed this version of the GPL to prohibit the practice for those
Packit d7e8d0
products.  If such problems arise substantially in other domains, we
Packit d7e8d0
stand ready to extend this provision to those domains in future versions
Packit d7e8d0
of the GPL, as needed to protect the freedom of users.
Packit d7e8d0
Packit d7e8d0
   Finally, every program is threatened constantly by software patents.
Packit d7e8d0
States should not allow patents to restrict development and use of
Packit d7e8d0
software on general-purpose computers, but in those that do, we wish to
Packit d7e8d0
avoid the special danger that patents applied to a free program could
Packit d7e8d0
make it effectively proprietary.  To prevent this, the GPL assures that
Packit d7e8d0
patents cannot be used to render the program non-free.
Packit d7e8d0
Packit d7e8d0
   The precise terms and conditions for copying, distribution and
Packit d7e8d0
modification follow.
Packit d7e8d0
Packit d7e8d0
                         TERMS AND CONDITIONS
Packit d7e8d0
Packit d7e8d0
  0. Definitions.
Packit d7e8d0
Packit d7e8d0
     “This License” refers to version 3 of the GNU General Public
Packit d7e8d0
     License.
Packit d7e8d0
Packit d7e8d0
     “Copyright” also means copyright-like laws that apply to other
Packit d7e8d0
     kinds of works, such as semiconductor masks.
Packit d7e8d0
Packit d7e8d0
     “The Program” refers to any copyrightable work licensed under this
Packit d7e8d0
     License.  Each licensee is addressed as “you”.  “Licensees” and
Packit d7e8d0
     “recipients” may be individuals or organizations.
Packit d7e8d0
Packit d7e8d0
     To “modify” a work means to copy from or adapt all or part of the
Packit d7e8d0
     work in a fashion requiring copyright permission, other than the
Packit d7e8d0
     making of an exact copy.  The resulting work is called a “modified
Packit d7e8d0
     version” of the earlier work or a work “based on” the earlier work.
Packit d7e8d0
Packit d7e8d0
     A “covered work” means either the unmodified Program or a work
Packit d7e8d0
     based on the Program.
Packit d7e8d0
Packit d7e8d0
     To “propagate” a work means to do anything with it that, without
Packit d7e8d0
     permission, would make you directly or secondarily liable for
Packit d7e8d0
     infringement under applicable copyright law, except executing it on
Packit d7e8d0
     a computer or modifying a private copy.  Propagation includes
Packit d7e8d0
     copying, distribution (with or without modification), making
Packit d7e8d0
     available to the public, and in some countries other activities as
Packit d7e8d0
     well.
Packit d7e8d0
Packit d7e8d0
     To “convey” a work means any kind of propagation that enables other
Packit d7e8d0
     parties to make or receive copies.  Mere interaction with a user
Packit d7e8d0
     through a computer network, with no transfer of a copy, is not
Packit d7e8d0
     conveying.
Packit d7e8d0
Packit d7e8d0
     An interactive user interface displays “Appropriate Legal Notices”
Packit d7e8d0
     to the extent that it includes a convenient and prominently visible
Packit d7e8d0
     feature that (1) displays an appropriate copyright notice, and (2)
Packit d7e8d0
     tells the user that there is no warranty for the work (except to
Packit d7e8d0
     the extent that warranties are provided), that licensees may convey
Packit d7e8d0
     the work under this License, and how to view a copy of this
Packit d7e8d0
     License.  If the interface presents a list of user commands or
Packit d7e8d0
     options, such as a menu, a prominent item in the list meets this
Packit d7e8d0
     criterion.
Packit d7e8d0
Packit d7e8d0
  1. Source Code.
Packit d7e8d0
Packit d7e8d0
     The “source code” for a work means the preferred form of the work
Packit d7e8d0
     for making modifications to it.  “Object code” means any non-source
Packit d7e8d0
     form of a work.
Packit d7e8d0
Packit d7e8d0
     A “Standard Interface” means an interface that either is an
Packit d7e8d0
     official standard defined by a recognized standards body, or, in
Packit d7e8d0
     the case of interfaces specified for a particular programming
Packit d7e8d0
     language, one that is widely used among developers working in that
Packit d7e8d0
     language.
Packit d7e8d0
Packit d7e8d0
     The “System Libraries” of an executable work include anything,
Packit d7e8d0
     other than the work as a whole, that (a) is included in the normal
Packit d7e8d0
     form of packaging a Major Component, but which is not part of that
Packit d7e8d0
     Major Component, and (b) serves only to enable use of the work with
Packit d7e8d0
     that Major Component, or to implement a Standard Interface for
Packit d7e8d0
     which an implementation is available to the public in source code
Packit d7e8d0
     form.  A “Major Component”, in this context, means a major
Packit d7e8d0
     essential component (kernel, window system, and so on) of the
Packit d7e8d0
     specific operating system (if any) on which the executable work
Packit d7e8d0
     runs, or a compiler used to produce the work, or an object code
Packit d7e8d0
     interpreter used to run it.
Packit d7e8d0
Packit d7e8d0
     The “Corresponding Source” for a work in object code form means all
Packit d7e8d0
     the source code needed to generate, install, and (for an executable
Packit d7e8d0
     work) run the object code and to modify the work, including scripts
Packit d7e8d0
     to control those activities.  However, it does not include the
Packit d7e8d0
     work’s System Libraries, or general-purpose tools or generally
Packit d7e8d0
     available free programs which are used unmodified in performing
Packit d7e8d0
     those activities but which are not part of the work.  For example,
Packit d7e8d0
     Corresponding Source includes interface definition files associated
Packit d7e8d0
     with source files for the work, and the source code for shared
Packit d7e8d0
     libraries and dynamically linked subprograms that the work is
Packit d7e8d0
     specifically designed to require, such as by intimate data
Packit d7e8d0
     communication or control flow between those subprograms and other
Packit d7e8d0
     parts of the work.
Packit d7e8d0
Packit d7e8d0
     The Corresponding Source need not include anything that users can
Packit d7e8d0
     regenerate automatically from other parts of the Corresponding
Packit d7e8d0
     Source.
Packit d7e8d0
Packit d7e8d0
     The Corresponding Source for a work in source code form is that
Packit d7e8d0
     same work.
Packit d7e8d0
Packit d7e8d0
  2. Basic Permissions.
Packit d7e8d0
Packit d7e8d0
     All rights granted under this License are granted for the term of
Packit d7e8d0
     copyright on the Program, and are irrevocable provided the stated
Packit d7e8d0
     conditions are met.  This License explicitly affirms your unlimited
Packit d7e8d0
     permission to run the unmodified Program.  The output from running
Packit d7e8d0
     a covered work is covered by this License only if the output, given
Packit d7e8d0
     its content, constitutes a covered work.  This License acknowledges
Packit d7e8d0
     your rights of fair use or other equivalent, as provided by
Packit d7e8d0
     copyright law.
Packit d7e8d0
Packit d7e8d0
     You may make, run and propagate covered works that you do not
Packit d7e8d0
     convey, without conditions so long as your license otherwise
Packit d7e8d0
     remains in force.  You may convey covered works to others for the
Packit d7e8d0
     sole purpose of having them make modifications exclusively for you,
Packit d7e8d0
     or provide you with facilities for running those works, provided
Packit d7e8d0
     that you comply with the terms of this License in conveying all
Packit d7e8d0
     material for which you do not control copyright.  Those thus making
Packit d7e8d0
     or running the covered works for you must do so exclusively on your
Packit d7e8d0
     behalf, under your direction and control, on terms that prohibit
Packit d7e8d0
     them from making any copies of your copyrighted material outside
Packit d7e8d0
     their relationship with you.
Packit d7e8d0
Packit d7e8d0
     Conveying under any other circumstances is permitted solely under
Packit d7e8d0
     the conditions stated below.  Sublicensing is not allowed; section
Packit d7e8d0
     10 makes it unnecessary.
Packit d7e8d0
Packit d7e8d0
  3. Protecting Users’ Legal Rights From Anti-Circumvention Law.
Packit d7e8d0
Packit d7e8d0
     No covered work shall be deemed part of an effective technological
Packit d7e8d0
     measure under any applicable law fulfilling obligations under
Packit d7e8d0
     article 11 of the WIPO copyright treaty adopted on 20 December
Packit d7e8d0
     1996, or similar laws prohibiting or restricting circumvention of
Packit d7e8d0
     such measures.
Packit d7e8d0
Packit d7e8d0
     When you convey a covered work, you waive any legal power to forbid
Packit d7e8d0
     circumvention of technological measures to the extent such
Packit d7e8d0
     circumvention is effected by exercising rights under this License
Packit d7e8d0
     with respect to the covered work, and you disclaim any intention to
Packit d7e8d0
     limit operation or modification of the work as a means of
Packit d7e8d0
     enforcing, against the work’s users, your or third parties’ legal
Packit d7e8d0
     rights to forbid circumvention of technological measures.
Packit d7e8d0
Packit d7e8d0
  4. Conveying Verbatim Copies.
Packit d7e8d0
Packit d7e8d0
     You may convey verbatim copies of the Program’s source code as you
Packit d7e8d0
     receive it, in any medium, provided that you conspicuously and
Packit d7e8d0
     appropriately publish on each copy an appropriate copyright notice;
Packit d7e8d0
     keep intact all notices stating that this License and any
Packit d7e8d0
     non-permissive terms added in accord with section 7 apply to the
Packit d7e8d0
     code; keep intact all notices of the absence of any warranty; and
Packit d7e8d0
     give all recipients a copy of this License along with the Program.
Packit d7e8d0
Packit d7e8d0
     You may charge any price or no price for each copy that you convey,
Packit d7e8d0
     and you may offer support or warranty protection for a fee.
Packit d7e8d0
Packit d7e8d0
  5. Conveying Modified Source Versions.
Packit d7e8d0
Packit d7e8d0
     You may convey a work based on the Program, or the modifications to
Packit d7e8d0
     produce it from the Program, in the form of source code under the
Packit d7e8d0
     terms of section 4, provided that you also meet all of these
Packit d7e8d0
     conditions:
Packit d7e8d0
Packit d7e8d0
       a. The work must carry prominent notices stating that you
Packit d7e8d0
          modified it, and giving a relevant date.
Packit d7e8d0
Packit d7e8d0
       b. The work must carry prominent notices stating that it is
Packit d7e8d0
          released under this License and any conditions added under
Packit d7e8d0
          section 7.  This requirement modifies the requirement in
Packit d7e8d0
          section 4 to “keep intact all notices”.
Packit d7e8d0
Packit d7e8d0
       c. You must license the entire work, as a whole, under this
Packit d7e8d0
          License to anyone who comes into possession of a copy.  This
Packit d7e8d0
          License will therefore apply, along with any applicable
Packit d7e8d0
          section 7 additional terms, to the whole of the work, and all
Packit d7e8d0
          its parts, regardless of how they are packaged.  This License
Packit d7e8d0
          gives no permission to license the work in any other way, but
Packit d7e8d0
          it does not invalidate such permission if you have separately
Packit d7e8d0
          received it.
Packit d7e8d0
Packit d7e8d0
       d. If the work has interactive user interfaces, each must display
Packit d7e8d0
          Appropriate Legal Notices; however, if the Program has
Packit d7e8d0
          interactive interfaces that do not display Appropriate Legal
Packit d7e8d0
          Notices, your work need not make them do so.
Packit d7e8d0
Packit d7e8d0
     A compilation of a covered work with other separate and independent
Packit d7e8d0
     works, which are not by their nature extensions of the covered
Packit d7e8d0
     work, and which are not combined with it such as to form a larger
Packit d7e8d0
     program, in or on a volume of a storage or distribution medium, is
Packit d7e8d0
     called an “aggregate” if the compilation and its resulting
Packit d7e8d0
     copyright are not used to limit the access or legal rights of the
Packit d7e8d0
     compilation’s users beyond what the individual works permit.
Packit d7e8d0
     Inclusion of a covered work in an aggregate does not cause this
Packit d7e8d0
     License to apply to the other parts of the aggregate.
Packit d7e8d0
Packit d7e8d0
  6. Conveying Non-Source Forms.
Packit d7e8d0
Packit d7e8d0
     You may convey a covered work in object code form under the terms
Packit d7e8d0
     of sections 4 and 5, provided that you also convey the
Packit d7e8d0
     machine-readable Corresponding Source under the terms of this
Packit d7e8d0
     License, in one of these ways:
Packit d7e8d0
Packit d7e8d0
       a. Convey the object code in, or embodied in, a physical product
Packit d7e8d0
          (including a physical distribution medium), accompanied by the
Packit d7e8d0
          Corresponding Source fixed on a durable physical medium
Packit d7e8d0
          customarily used for software interchange.
Packit d7e8d0
Packit d7e8d0
       b. Convey the object code in, or embodied in, a physical product
Packit d7e8d0
          (including a physical distribution medium), accompanied by a
Packit d7e8d0
          written offer, valid for at least three years and valid for as
Packit d7e8d0
          long as you offer spare parts or customer support for that
Packit d7e8d0
          product model, to give anyone who possesses the object code
Packit d7e8d0
          either (1) a copy of the Corresponding Source for all the
Packit d7e8d0
          software in the product that is covered by this License, on a
Packit d7e8d0
          durable physical medium customarily used for software
Packit d7e8d0
          interchange, for a price no more than your reasonable cost of
Packit d7e8d0
          physically performing this conveying of source, or (2) access
Packit d7e8d0
          to copy the Corresponding Source from a network server at no
Packit d7e8d0
          charge.
Packit d7e8d0
Packit d7e8d0
       c. Convey individual copies of the object code with a copy of the
Packit d7e8d0
          written offer to provide the Corresponding Source.  This
Packit d7e8d0
          alternative is allowed only occasionally and noncommercially,
Packit d7e8d0
          and only if you received the object code with such an offer,
Packit d7e8d0
          in accord with subsection 6b.
Packit d7e8d0
Packit d7e8d0
       d. Convey the object code by offering access from a designated
Packit d7e8d0
          place (gratis or for a charge), and offer equivalent access to
Packit d7e8d0
          the Corresponding Source in the same way through the same
Packit d7e8d0
          place at no further charge.  You need not require recipients
Packit d7e8d0
          to copy the Corresponding Source along with the object code.
Packit d7e8d0
          If the place to copy the object code is a network server, the
Packit d7e8d0
          Corresponding Source may be on a different server (operated by
Packit d7e8d0
          you or a third party) that supports equivalent copying
Packit d7e8d0
          facilities, provided you maintain clear directions next to the
Packit d7e8d0
          object code saying where to find the Corresponding Source.
Packit d7e8d0
          Regardless of what server hosts the Corresponding Source, you
Packit d7e8d0
          remain obligated to ensure that it is available for as long as
Packit d7e8d0
          needed to satisfy these requirements.
Packit d7e8d0
Packit d7e8d0
       e. Convey the object code using peer-to-peer transmission,
Packit d7e8d0
          provided you inform other peers where the object code and
Packit d7e8d0
          Corresponding Source of the work are being offered to the
Packit d7e8d0
          general public at no charge under subsection 6d.
Packit d7e8d0
Packit d7e8d0
     A separable portion of the object code, whose source code is
Packit d7e8d0
     excluded from the Corresponding Source as a System Library, need
Packit d7e8d0
     not be included in conveying the object code work.
Packit d7e8d0
Packit d7e8d0
     A “User Product” is either (1) a “consumer product”, which means
Packit d7e8d0
     any tangible personal property which is normally used for personal,
Packit d7e8d0
     family, or household purposes, or (2) anything designed or sold for
Packit d7e8d0
     incorporation into a dwelling.  In determining whether a product is
Packit d7e8d0
     a consumer product, doubtful cases shall be resolved in favor of
Packit d7e8d0
     coverage.  For a particular product received by a particular user,
Packit d7e8d0
     “normally used” refers to a typical or common use of that class of
Packit d7e8d0
     product, regardless of the status of the particular user or of the
Packit d7e8d0
     way in which the particular user actually uses, or expects or is
Packit d7e8d0
     expected to use, the product.  A product is a consumer product
Packit d7e8d0
     regardless of whether the product has substantial commercial,
Packit d7e8d0
     industrial or non-consumer uses, unless such uses represent the
Packit d7e8d0
     only significant mode of use of the product.
Packit d7e8d0
Packit d7e8d0
     “Installation Information” for a User Product means any methods,
Packit d7e8d0
     procedures, authorization keys, or other information required to
Packit d7e8d0
     install and execute modified versions of a covered work in that
Packit d7e8d0
     User Product from a modified version of its Corresponding Source.
Packit d7e8d0
     The information must suffice to ensure that the continued
Packit d7e8d0
     functioning of the modified object code is in no case prevented or
Packit d7e8d0
     interfered with solely because modification has been made.
Packit d7e8d0
Packit d7e8d0
     If you convey an object code work under this section in, or with,
Packit d7e8d0
     or specifically for use in, a User Product, and the conveying
Packit d7e8d0
     occurs as part of a transaction in which the right of possession
Packit d7e8d0
     and use of the User Product is transferred to the recipient in
Packit d7e8d0
     perpetuity or for a fixed term (regardless of how the transaction
Packit d7e8d0
     is characterized), the Corresponding Source conveyed under this
Packit d7e8d0
     section must be accompanied by the Installation Information.  But
Packit d7e8d0
     this requirement does not apply if neither you nor any third party
Packit d7e8d0
     retains the ability to install modified object code on the User
Packit d7e8d0
     Product (for example, the work has been installed in ROM).
Packit d7e8d0
Packit d7e8d0
     The requirement to provide Installation Information does not
Packit d7e8d0
     include a requirement to continue to provide support service,
Packit d7e8d0
     warranty, or updates for a work that has been modified or installed
Packit d7e8d0
     by the recipient, or for the User Product in which it has been
Packit d7e8d0
     modified or installed.  Access to a network may be denied when the
Packit d7e8d0
     modification itself materially and adversely affects the operation
Packit d7e8d0
     of the network or violates the rules and protocols for
Packit d7e8d0
     communication across the network.
Packit d7e8d0
Packit d7e8d0
     Corresponding Source conveyed, and Installation Information
Packit d7e8d0
     provided, in accord with this section must be in a format that is
Packit d7e8d0
     publicly documented (and with an implementation available to the
Packit d7e8d0
     public in source code form), and must require no special password
Packit d7e8d0
     or key for unpacking, reading or copying.
Packit d7e8d0
Packit d7e8d0
  7. Additional Terms.
Packit d7e8d0
Packit d7e8d0
     “Additional permissions” are terms that supplement the terms of
Packit d7e8d0
     this License by making exceptions from one or more of its
Packit d7e8d0
     conditions.  Additional permissions that are applicable to the
Packit d7e8d0
     entire Program shall be treated as though they were included in
Packit d7e8d0
     this License, to the extent that they are valid under applicable
Packit d7e8d0
     law.  If additional permissions apply only to part of the Program,
Packit d7e8d0
     that part may be used separately under those permissions, but the
Packit d7e8d0
     entire Program remains governed by this License without regard to
Packit d7e8d0
     the additional permissions.
Packit d7e8d0
Packit d7e8d0
     When you convey a copy of a covered work, you may at your option
Packit d7e8d0
     remove any additional permissions from that copy, or from any part
Packit d7e8d0
     of it.  (Additional permissions may be written to require their own
Packit d7e8d0
     removal in certain cases when you modify the work.)  You may place
Packit d7e8d0
     additional permissions on material, added by you to a covered work,
Packit d7e8d0
     for which you have or can give appropriate copyright permission.
Packit d7e8d0
Packit d7e8d0
     Notwithstanding any other provision of this License, for material
Packit d7e8d0
     you add to a covered work, you may (if authorized by the copyright
Packit d7e8d0
     holders of that material) supplement the terms of this License with
Packit d7e8d0
     terms:
Packit d7e8d0
Packit d7e8d0
       a. Disclaiming warranty or limiting liability differently from
Packit d7e8d0
          the terms of sections 15 and 16 of this License; or
Packit d7e8d0
Packit d7e8d0
       b. Requiring preservation of specified reasonable legal notices
Packit d7e8d0
          or author attributions in that material or in the Appropriate
Packit d7e8d0
          Legal Notices displayed by works containing it; or
Packit d7e8d0
Packit d7e8d0
       c. Prohibiting misrepresentation of the origin of that material,
Packit d7e8d0
          or requiring that modified versions of such material be marked
Packit d7e8d0
          in reasonable ways as different from the original version; or
Packit d7e8d0
Packit d7e8d0
       d. Limiting the use for publicity purposes of names of licensors
Packit d7e8d0
          or authors of the material; or
Packit d7e8d0
Packit d7e8d0
       e. Declining to grant rights under trademark law for use of some
Packit d7e8d0
          trade names, trademarks, or service marks; or
Packit d7e8d0
Packit d7e8d0
       f. Requiring indemnification of licensors and authors of that
Packit d7e8d0
          material by anyone who conveys the material (or modified
Packit d7e8d0
          versions of it) with contractual assumptions of liability to
Packit d7e8d0
          the recipient, for any liability that these contractual
Packit d7e8d0
          assumptions directly impose on those licensors and authors.
Packit d7e8d0
Packit d7e8d0
     All other non-permissive additional terms are considered “further
Packit d7e8d0
     restrictions” within the meaning of section 10.  If the Program as
Packit d7e8d0
     you received it, or any part of it, contains a notice stating that
Packit d7e8d0
     it is governed by this License along with a term that is a further
Packit d7e8d0
     restriction, you may remove that term.  If a license document
Packit d7e8d0
     contains a further restriction but permits relicensing or conveying
Packit d7e8d0
     under this License, you may add to a covered work material governed
Packit d7e8d0
     by the terms of that license document, provided that the further
Packit d7e8d0
     restriction does not survive such relicensing or conveying.
Packit d7e8d0
Packit d7e8d0
     If you add terms to a covered work in accord with this section, you
Packit d7e8d0
     must place, in the relevant source files, a statement of the
Packit d7e8d0
     additional terms that apply to those files, or a notice indicating
Packit d7e8d0
     where to find the applicable terms.
Packit d7e8d0
Packit d7e8d0
     Additional terms, permissive or non-permissive, may be stated in
Packit d7e8d0
     the form of a separately written license, or stated as exceptions;
Packit d7e8d0
     the above requirements apply either way.
Packit d7e8d0
Packit d7e8d0
  8. Termination.
Packit d7e8d0
Packit d7e8d0
     You may not propagate or modify a covered work except as expressly
Packit d7e8d0
     provided under this License.  Any attempt otherwise to propagate or
Packit d7e8d0
     modify it is void, and will automatically terminate your rights
Packit d7e8d0
     under this License (including any patent licenses granted under the
Packit d7e8d0
     third paragraph of section 11).
Packit d7e8d0
Packit d7e8d0
     However, if you cease all violation of this License, then your
Packit d7e8d0
     license from a particular copyright holder is reinstated (a)
Packit d7e8d0
     provisionally, unless and until the copyright holder explicitly and
Packit d7e8d0
     finally terminates your license, and (b) permanently, if the
Packit d7e8d0
     copyright holder fails to notify you of the violation by some
Packit d7e8d0
     reasonable means prior to 60 days after the cessation.
Packit d7e8d0
Packit d7e8d0
     Moreover, your license from a particular copyright holder is
Packit d7e8d0
     reinstated permanently if the copyright holder notifies you of the
Packit d7e8d0
     violation by some reasonable means, this is the first time you have
Packit d7e8d0
     received notice of violation of this License (for any work) from
Packit d7e8d0
     that copyright holder, and you cure the violation prior to 30 days
Packit d7e8d0
     after your receipt of the notice.
Packit d7e8d0
Packit d7e8d0
     Termination of your rights under this section does not terminate
Packit d7e8d0
     the licenses of parties who have received copies or rights from you
Packit d7e8d0
     under this License.  If your rights have been terminated and not
Packit d7e8d0
     permanently reinstated, you do not qualify to receive new licenses
Packit d7e8d0
     for the same material under section 10.
Packit d7e8d0
Packit d7e8d0
  9. Acceptance Not Required for Having Copies.
Packit d7e8d0
Packit d7e8d0
     You are not required to accept this License in order to receive or
Packit d7e8d0
     run a copy of the Program.  Ancillary propagation of a covered work
Packit d7e8d0
     occurring solely as a consequence of using peer-to-peer
Packit d7e8d0
     transmission to receive a copy likewise does not require
Packit d7e8d0
     acceptance.  However, nothing other than this License grants you
Packit d7e8d0
     permission to propagate or modify any covered work.  These actions
Packit d7e8d0
     infringe copyright if you do not accept this License.  Therefore,
Packit d7e8d0
     by modifying or propagating a covered work, you indicate your
Packit d7e8d0
     acceptance of this License to do so.
Packit d7e8d0
Packit d7e8d0
  10. Automatic Licensing of Downstream Recipients.
Packit d7e8d0
Packit d7e8d0
     Each time you convey a covered work, the recipient automatically
Packit d7e8d0
     receives a license from the original licensors, to run, modify and
Packit d7e8d0
     propagate that work, subject to this License.  You are not
Packit d7e8d0
     responsible for enforcing compliance by third parties with this
Packit d7e8d0
     License.
Packit d7e8d0
Packit d7e8d0
     An “entity transaction” is a transaction transferring control of an
Packit d7e8d0
     organization, or substantially all assets of one, or subdividing an
Packit d7e8d0
     organization, or merging organizations.  If propagation of a
Packit d7e8d0
     covered work results from an entity transaction, each party to that
Packit d7e8d0
     transaction who receives a copy of the work also receives whatever
Packit d7e8d0
     licenses to the work the party’s predecessor in interest had or
Packit d7e8d0
     could give under the previous paragraph, plus a right to possession
Packit d7e8d0
     of the Corresponding Source of the work from the predecessor in
Packit d7e8d0
     interest, if the predecessor has it or can get it with reasonable
Packit d7e8d0
     efforts.
Packit d7e8d0
Packit d7e8d0
     You may not impose any further restrictions on the exercise of the
Packit d7e8d0
     rights granted or affirmed under this License.  For example, you
Packit d7e8d0
     may not impose a license fee, royalty, or other charge for exercise
Packit d7e8d0
     of rights granted under this License, and you may not initiate
Packit d7e8d0
     litigation (including a cross-claim or counterclaim in a lawsuit)
Packit d7e8d0
     alleging that any patent claim is infringed by making, using,
Packit d7e8d0
     selling, offering for sale, or importing the Program or any portion
Packit d7e8d0
     of it.
Packit d7e8d0
Packit d7e8d0
  11. Patents.
Packit d7e8d0
Packit d7e8d0
     A “contributor” is a copyright holder who authorizes use under this
Packit d7e8d0
     License of the Program or a work on which the Program is based.
Packit d7e8d0
     The work thus licensed is called the contributor’s “contributor
Packit d7e8d0
     version”.
Packit d7e8d0
Packit d7e8d0
     A contributor’s “essential patent claims” are all patent claims
Packit d7e8d0
     owned or controlled by the contributor, whether already acquired or
Packit d7e8d0
     hereafter acquired, that would be infringed by some manner,
Packit d7e8d0
     permitted by this License, of making, using, or selling its
Packit d7e8d0
     contributor version, but do not include claims that would be
Packit d7e8d0
     infringed only as a consequence of further modification of the
Packit d7e8d0
     contributor version.  For purposes of this definition, “control”
Packit d7e8d0
     includes the right to grant patent sublicenses in a manner
Packit d7e8d0
     consistent with the requirements of this License.
Packit d7e8d0
Packit d7e8d0
     Each contributor grants you a non-exclusive, worldwide,
Packit d7e8d0
     royalty-free patent license under the contributor’s essential
Packit d7e8d0
     patent claims, to make, use, sell, offer for sale, import and
Packit d7e8d0
     otherwise run, modify and propagate the contents of its contributor
Packit d7e8d0
     version.
Packit d7e8d0
Packit d7e8d0
     In the following three paragraphs, a “patent license” is any
Packit d7e8d0
     express agreement or commitment, however denominated, not to
Packit d7e8d0
     enforce a patent (such as an express permission to practice a
Packit d7e8d0
     patent or covenant not to sue for patent infringement).  To “grant”
Packit d7e8d0
     such a patent license to a party means to make such an agreement or
Packit d7e8d0
     commitment not to enforce a patent against the party.
Packit d7e8d0
Packit d7e8d0
     If you convey a covered work, knowingly relying on a patent
Packit d7e8d0
     license, and the Corresponding Source of the work is not available
Packit d7e8d0
     for anyone to copy, free of charge and under the terms of this
Packit d7e8d0
     License, through a publicly available network server or other
Packit d7e8d0
     readily accessible means, then you must either (1) cause the
Packit d7e8d0
     Corresponding Source to be so available, or (2) arrange to deprive
Packit d7e8d0
     yourself of the benefit of the patent license for this particular
Packit d7e8d0
     work, or (3) arrange, in a manner consistent with the requirements
Packit d7e8d0
     of this License, to extend the patent license to downstream
Packit d7e8d0
     recipients.  “Knowingly relying” means you have actual knowledge
Packit d7e8d0
     that, but for the patent license, your conveying the covered work
Packit d7e8d0
     in a country, or your recipient’s use of the covered work in a
Packit d7e8d0
     country, would infringe one or more identifiable patents in that
Packit d7e8d0
     country that you have reason to believe are valid.
Packit d7e8d0
Packit d7e8d0
     If, pursuant to or in connection with a single transaction or
Packit d7e8d0
     arrangement, you convey, or propagate by procuring conveyance of, a
Packit d7e8d0
     covered work, and grant a patent license to some of the parties
Packit d7e8d0
     receiving the covered work authorizing them to use, propagate,
Packit d7e8d0
     modify or convey a specific copy of the covered work, then the
Packit d7e8d0
     patent license you grant is automatically extended to all
Packit d7e8d0
     recipients of the covered work and works based on it.
Packit d7e8d0
Packit d7e8d0
     A patent license is “discriminatory” if it does not include within
Packit d7e8d0
     the scope of its coverage, prohibits the exercise of, or is
Packit d7e8d0
     conditioned on the non-exercise of one or more of the rights that
Packit d7e8d0
     are specifically granted under this License.  You may not convey a
Packit d7e8d0
     covered work if you are a party to an arrangement with a third
Packit d7e8d0
     party that is in the business of distributing software, under which
Packit d7e8d0
     you make payment to the third party based on the extent of your
Packit d7e8d0
     activity of conveying the work, and under which the third party
Packit d7e8d0
     grants, to any of the parties who would receive the covered work
Packit d7e8d0
     from you, a discriminatory patent license (a) in connection with
Packit d7e8d0
     copies of the covered work conveyed by you (or copies made from
Packit d7e8d0
     those copies), or (b) primarily for and in connection with specific
Packit d7e8d0
     products or compilations that contain the covered work, unless you
Packit d7e8d0
     entered into that arrangement, or that patent license was granted,
Packit d7e8d0
     prior to 28 March 2007.
Packit d7e8d0
Packit d7e8d0
     Nothing in this License shall be construed as excluding or limiting
Packit d7e8d0
     any implied license or other defenses to infringement that may
Packit d7e8d0
     otherwise be available to you under applicable patent law.
Packit d7e8d0
Packit d7e8d0
  12. No Surrender of Others’ Freedom.
Packit d7e8d0
Packit d7e8d0
     If conditions are imposed on you (whether by court order, agreement
Packit d7e8d0
     or otherwise) that contradict the conditions of this License, they
Packit d7e8d0
     do not excuse you from the conditions of this License.  If you
Packit d7e8d0
     cannot convey a covered work so as to satisfy simultaneously your
Packit d7e8d0
     obligations under this License and any other pertinent obligations,
Packit d7e8d0
     then as a consequence you may not convey it at all.  For example,
Packit d7e8d0
     if you agree to terms that obligate you to collect a royalty for
Packit d7e8d0
     further conveying from those to whom you convey the Program, the
Packit d7e8d0
     only way you could satisfy both those terms and this License would
Packit d7e8d0
     be to refrain entirely from conveying the Program.
Packit d7e8d0
Packit d7e8d0
  13. Use with the GNU Affero General Public License.
Packit d7e8d0
Packit d7e8d0
     Notwithstanding any other provision of this License, you have
Packit d7e8d0
     permission to link or combine any covered work with a work licensed
Packit d7e8d0
     under version 3 of the GNU Affero General Public License into a
Packit d7e8d0
     single combined work, and to convey the resulting work.  The terms
Packit d7e8d0
     of this License will continue to apply to the part which is the
Packit d7e8d0
     covered work, but the special requirements of the GNU Affero
Packit d7e8d0
     General Public License, section 13, concerning interaction through
Packit d7e8d0
     a network will apply to the combination as such.
Packit d7e8d0
Packit d7e8d0
  14. Revised Versions of this License.
Packit d7e8d0
Packit d7e8d0
     The Free Software Foundation may publish revised and/or new
Packit d7e8d0
     versions of the GNU General Public License from time to time.  Such
Packit d7e8d0
     new versions will be similar in spirit to the present version, but
Packit d7e8d0
     may differ in detail to address new problems or concerns.
Packit d7e8d0
Packit d7e8d0
     Each version is given a distinguishing version number.  If the
Packit d7e8d0
     Program specifies that a certain numbered version of the GNU
Packit d7e8d0
     General Public License “or any later version” applies to it, you
Packit d7e8d0
     have the option of following the terms and conditions either of
Packit d7e8d0
     that numbered version or of any later version published by the Free
Packit d7e8d0
     Software Foundation.  If the Program does not specify a version
Packit d7e8d0
     number of the GNU General Public License, you may choose any
Packit d7e8d0
     version ever published by the Free Software Foundation.
Packit d7e8d0
Packit d7e8d0
     If the Program specifies that a proxy can decide which future
Packit d7e8d0
     versions of the GNU General Public License can be used, that
Packit d7e8d0
     proxy’s public statement of acceptance of a version permanently
Packit d7e8d0
     authorizes you to choose that version for the Program.
Packit d7e8d0
Packit d7e8d0
     Later license versions may give you additional or different
Packit d7e8d0
     permissions.  However, no additional obligations are imposed on any
Packit d7e8d0
     author or copyright holder as a result of your choosing to follow a
Packit d7e8d0
     later version.
Packit d7e8d0
Packit d7e8d0
  15. Disclaimer of Warranty.
Packit d7e8d0
Packit d7e8d0
     THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
Packit d7e8d0
     APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
Packit d7e8d0
     COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS”
Packit d7e8d0
     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
Packit d7e8d0
     INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
Packit d7e8d0
     MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
Packit d7e8d0
     RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
Packit d7e8d0
     SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
Packit d7e8d0
     NECESSARY SERVICING, REPAIR OR CORRECTION.
Packit d7e8d0
Packit d7e8d0
  16. Limitation of Liability.
Packit d7e8d0
Packit d7e8d0
     IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
Packit d7e8d0
     WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES
Packit d7e8d0
     AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
Packit d7e8d0
     DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
Packit d7e8d0
     CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
Packit d7e8d0
     THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
Packit d7e8d0
     BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
Packit d7e8d0
     PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
Packit d7e8d0
     PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
Packit d7e8d0
     THE POSSIBILITY OF SUCH DAMAGES.
Packit d7e8d0
Packit d7e8d0
  17. Interpretation of Sections 15 and 16.
Packit d7e8d0
Packit d7e8d0
     If the disclaimer of warranty and limitation of liability provided
Packit d7e8d0
     above cannot be given local legal effect according to their terms,
Packit d7e8d0
     reviewing courts shall apply local law that most closely
Packit d7e8d0
     approximates an absolute waiver of all civil liability in
Packit d7e8d0
     connection with the Program, unless a warranty or assumption of
Packit d7e8d0
     liability accompanies a copy of the Program in return for a fee.
Packit d7e8d0
Packit d7e8d0
                      END OF TERMS AND CONDITIONS
Packit d7e8d0
Packit d7e8d0
How to Apply These Terms to Your New Programs
Packit d7e8d0
=============================================
Packit d7e8d0
Packit d7e8d0
If you develop a new program, and you want it to be of the greatest
Packit d7e8d0
possible use to the public, the best way to achieve this is to make it
Packit d7e8d0
free software which everyone can redistribute and change under these
Packit d7e8d0
terms.
Packit d7e8d0
Packit d7e8d0
   To do so, attach the following notices to the program.  It is safest
Packit d7e8d0
to attach them to the start of each source file to most effectively
Packit d7e8d0
state the exclusion of warranty; and each file should have at least the
Packit d7e8d0
“copyright” line and a pointer to where the full notice is found.
Packit d7e8d0
Packit d7e8d0
     ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
Packit d7e8d0
     Copyright (C) YEAR NAME OF AUTHOR
Packit d7e8d0
Packit d7e8d0
     This program is free software: you can redistribute it and/or modify
Packit d7e8d0
     it under the terms of the GNU General Public License as published by
Packit d7e8d0
     the Free Software Foundation, either version 3 of the License, or (at
Packit d7e8d0
     your option) any later version.
Packit d7e8d0
Packit d7e8d0
     This program is distributed in the hope that it will be useful, but
Packit d7e8d0
     WITHOUT ANY WARRANTY; without even the implied warranty of
Packit d7e8d0
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit d7e8d0
     General Public License for more details.
Packit d7e8d0
Packit d7e8d0
     You should have received a copy of the GNU General Public License
Packit d7e8d0
     along with this program.  If not, see <https://www.gnu.org/licenses/>.
Packit d7e8d0
Packit d7e8d0
Also add information on how to contact you by electronic and paper mail.
Packit d7e8d0
Packit d7e8d0
If the program does terminal interaction, make it output a short notice
Packit d7e8d0
like this when it starts in an interactive mode:
Packit d7e8d0
Packit d7e8d0
     PROGRAM Copyright (C) YEAR NAME OF AUTHOR
Packit d7e8d0
     This program comes with ABSOLUTELY NO WARRANTY; for details
Packit d7e8d0
     type ‘show w’.  This is free software, and you are
Packit d7e8d0
     welcome to redistribute it under certain conditions;
Packit d7e8d0
     type ‘show c’ for details.
Packit d7e8d0
Packit d7e8d0
   The hypothetical commands ‘show w’ and ‘show c’ should show the
Packit d7e8d0
appropriate parts of the General Public License.  Of course, your
Packit d7e8d0
program’s commands might be different; for a GUI interface, you would
Packit d7e8d0
use an “about box”.
Packit d7e8d0
Packit d7e8d0
   You should also get your employer (if you work as a programmer) or
Packit d7e8d0
school, if any, to sign a “copyright disclaimer” for the program, if
Packit d7e8d0
necessary.  For more information on this, and how to apply and follow
Packit d7e8d0
the GNU GPL, see <https://www.gnu.org/licenses/>.
Packit d7e8d0
Packit d7e8d0
   The GNU General Public License does not permit incorporating your
Packit d7e8d0
program into proprietary programs.  If your program is a subroutine
Packit d7e8d0
library, you may consider it more useful to permit linking proprietary
Packit d7e8d0
applications with the library.  If this is what you want to do, use the
Packit d7e8d0
GNU Lesser General Public License instead of this License.  But first,
Packit d7e8d0
please read <https://www.gnu.org/philosophy/why-not-lgpl.html>.
Packit d7e8d0
Packit d7e8d0
?
Packit d7e8d0
File: gpgme.info,  Node: Concept Index,  Next: Function and Data Index,  Prev: Copying,  Up: Top
Packit d7e8d0
Packit d7e8d0
Concept Index
Packit d7e8d0
*************
Packit d7e8d0
Packit d7e8d0
?[index?]
Packit d7e8d0
* Menu:
Packit d7e8d0
Packit d7e8d0
* aborting operations:                   Cancellation.          (line 6)
Packit d7e8d0
* algorithms:                            Algorithms.            (line 6)
Packit d7e8d0
* algorithms, hash:                      Hash Algorithms.       (line 6)
Packit d7e8d0
* algorithms, message digest:            Hash Algorithms.       (line 6)
Packit d7e8d0
* algorithms, public key:                Public Key Algorithms. (line 6)
Packit d7e8d0
* armor mode:                            ASCII Armor.           (line 6)
Packit d7e8d0
* ASCII armor:                           ASCII Armor.           (line 6)
Packit d7e8d0
* ASSUAN:                                Assuan.                (line 6)
Packit d7e8d0
* attributes, of a key:                  Information About Keys.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* autoconf:                              Using Automake.        (line 6)
Packit d7e8d0
* automake:                              Using Automake.        (line 6)
Packit d7e8d0
* backend:                               Protocols and Engines. (line 6)
Packit d7e8d0
* callback, passphrase:                  Passphrase Callback.   (line 6)
Packit d7e8d0
* callback, progress meter:              Progress Meter Callback.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* callback, status message:              Status Message Callback.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* cancelling operations:                 Cancellation.          (line 6)
Packit d7e8d0
* canonical text mode:                   Text Mode.             (line 6)
Packit d7e8d0
* certificates, included:                Included Certificates. (line 6)
Packit d7e8d0
* CMS:                                   Cryptographic Message Syntax.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* compiler flags:                        Building the Source.   (line 6)
Packit d7e8d0
* compiler options:                      Building the Source.   (line 6)
Packit d7e8d0
* configuration of crypto backend:       Engine Configuration.  (line 6)
Packit d7e8d0
* context:                               Contexts.              (line 6)
Packit d7e8d0
* context, armor mode:                   ASCII Armor.           (line 6)
Packit d7e8d0
* context, attributes:                   Context Attributes.    (line 6)
Packit d7e8d0
* context, configuring engine:           Crypto Engine.         (line 6)
Packit d7e8d0
* context, creation:                     Creating Contexts.     (line 6)
Packit d7e8d0
* context, destruction:                  Destroying Contexts.   (line 6)
Packit d7e8d0
* context, offline mode:                 Offline Mode.          (line 6)
Packit d7e8d0
* context, pinentry mode:                Pinentry Mode.         (line 6)
Packit d7e8d0
* context, result of operation:          Result Management.     (line 6)
Packit d7e8d0
* context, selecting protocol:           Protocol Selection.    (line 6)
Packit d7e8d0
* context, sender:                       Setting the Sender.    (line 6)
Packit d7e8d0
* context, text mode:                    Text Mode.             (line 6)
Packit d7e8d0
* crypto backend:                        Protocols and Engines. (line 6)
Packit d7e8d0
* crypto engine:                         Protocols and Engines. (line 6)
Packit d7e8d0
* cryptographic message syntax:          Cryptographic Message Syntax.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* cryptographic operation:               Crypto Operations.     (line 6)
Packit d7e8d0
* cryptographic operation, aborting:     Cancellation.          (line 6)
Packit d7e8d0
* cryptographic operation, cancelling:   Cancellation.          (line 6)
Packit d7e8d0
* cryptographic operation, decryption:   Decrypt.               (line 6)
Packit d7e8d0
* cryptographic operation, decryption and verification: Decrypt and Verify.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* cryptographic operation, encryption:   Encrypt.               (line 6)
Packit d7e8d0
* cryptographic operation, running:      Run Control.           (line 6)
Packit d7e8d0
* cryptographic operation, signature check: Verify.             (line 6)
Packit d7e8d0
* cryptographic operation, signing:      Sign.                  (line 6)
Packit d7e8d0
* cryptographic operation, verification: Verify.                (line 6)
Packit d7e8d0
* cryptographic operation, wait for:     Waiting For Completion.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* data buffer, convenience:              Data Buffer Convenience.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* data buffer, creation:                 Creating Data Buffers. (line 6)
Packit d7e8d0
* data buffer, destruction:              Destroying Data Buffers.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* data buffer, encoding:                 Data Buffer Meta-Data. (line 6)
Packit d7e8d0
* data buffer, file name:                Data Buffer Meta-Data. (line 6)
Packit d7e8d0
* data buffer, I/O operations:           Data Buffer I/O Operations.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* data buffer, manipulation:             Manipulating Data Buffers.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* data buffer, meta-data:                Data Buffer Meta-Data. (line 6)
Packit d7e8d0
* data buffer, read:                     Data Buffer I/O Operations.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* data buffer, seek:                     Data Buffer I/O Operations.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* data buffer, write:                    Data Buffer I/O Operations.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* data, exchanging:                      Exchanging Data.       (line 6)
Packit d7e8d0
* debug:                                 Debugging.             (line 6)
Packit d7e8d0
* decryption:                            Decrypt.               (line 6)
Packit d7e8d0
* decryption and verification:           Decrypt and Verify.    (line 6)
Packit d7e8d0
* deprecated:                            Deprecated Functions.  (line 6)
Packit d7e8d0
* encryption:                            Encrypt.               (line 6)
Packit d7e8d0
* engine:                                Protocols and Engines. (line 6)
Packit d7e8d0
* engine, ASSUAN:                        Assuan.                (line 6)
Packit d7e8d0
* engine, configuration of:              Engine Configuration.  (line 6)
Packit d7e8d0
* engine, configuration per context:     Crypto Engine.         (line 6)
Packit d7e8d0
* engine, GnuPG:                         OpenPGP.               (line 6)
Packit d7e8d0
* engine, GpgSM:                         Cryptographic Message Syntax.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* engine, information about:             Engine Information.    (line 6)
Packit d7e8d0
* error codes:                           Error Values.          (line 6)
Packit d7e8d0
* error codes, list of:                  Error Sources.         (line 6)
Packit d7e8d0
* error codes, list of <1>:              Error Codes.           (line 6)
Packit d7e8d0
* error codes, printing of:              Error Strings.         (line 6)
Packit d7e8d0
* error handling:                        Error Handling.        (line 6)
Packit d7e8d0
* error sources:                         Error Values.          (line 6)
Packit d7e8d0
* error sources, printing of:            Error Strings.         (line 6)
Packit d7e8d0
* error strings:                         Error Strings.         (line 6)
Packit d7e8d0
* error values:                          Error Values.          (line 6)
Packit d7e8d0
* error values, printing of:             Error Strings.         (line 6)
Packit d7e8d0
* event loop, external:                  Using External Event Loops.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* From::                                 Setting the Sender.    (line 6)
Packit d7e8d0
* GDK, using GPGME with:                 I/O Callback Example GDK.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* GnuPG:                                 OpenPGP.               (line 6)
Packit d7e8d0
* GPGME_DEBUG:                           Debugging.             (line 6)
Packit d7e8d0
* GpgSM:                                 Cryptographic Message Syntax.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* GTK+, using GPGME with:                I/O Callback Example GTK+.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* hash algorithms:                       Hash Algorithms.       (line 6)
Packit d7e8d0
* header file:                           Header.                (line 6)
Packit d7e8d0
* identify:                              Data Buffer Convenience.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* include file:                          Header.                (line 6)
Packit d7e8d0
* key listing:                           Listing Keys.          (line 6)
Packit d7e8d0
* key listing mode:                      Key Listing Mode.      (line 6)
Packit d7e8d0
* key listing, mode of:                  Key Listing Mode.      (line 6)
Packit d7e8d0
* key listing, start:                    Listing Keys.          (line 6)
Packit d7e8d0
* key management:                        Key Management.        (line 6)
Packit d7e8d0
* key ring, add:                         Generating Keys.       (line 6)
Packit d7e8d0
* key ring, delete from:                 Deleting Keys.         (line 6)
Packit d7e8d0
* key ring, export from:                 Exporting Keys.        (line 6)
Packit d7e8d0
* key ring, import to:                   Importing Keys.        (line 6)
Packit d7e8d0
* key ring, list:                        Listing Keys.          (line 6)
Packit d7e8d0
* key ring, search:                      Listing Keys.          (line 6)
Packit d7e8d0
* key, attributes:                       Information About Keys.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* key, creation:                         Generating Keys.       (line 6)
Packit d7e8d0
* key, delete:                           Deleting Keys.         (line 6)
Packit d7e8d0
* key, edit:                             Advanced Key Editing.  (line 6)
Packit d7e8d0
* key, export:                           Exporting Keys.        (line 6)
Packit d7e8d0
* key, import:                           Importing Keys.        (line 6)
Packit d7e8d0
* key, information about:                Information About Keys.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* key, manipulation:                     Manipulating Keys.     (line 6)
Packit d7e8d0
* key, signing:                          Signing Keys.          (line 6)
Packit d7e8d0
* largefile support:                     Largefile Support (LFS).
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* LFS:                                   Largefile Support (LFS).
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* LGPL, GNU Lesser General Public License: Library Copying.     (line 6)
Packit d7e8d0
* libtool:                               Using Libtool.         (line 6)
Packit d7e8d0
* listing keys:                          Listing Keys.          (line 6)
Packit d7e8d0
* locale, default:                       Locale.                (line 6)
Packit d7e8d0
* locale, of a context:                  Locale.                (line 6)
Packit d7e8d0
* message digest algorithms:             Hash Algorithms.       (line 6)
Packit d7e8d0
* multi-threading:                       Multi-Threading.       (line 6)
Packit d7e8d0
* notation data:                         Verify.                (line 6)
Packit d7e8d0
* notation data <1>:                     Signature Notation Data.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* offline mode:                          Offline Mode.          (line 6)
Packit d7e8d0
* OpenPGP:                               OpenPGP.               (line 6)
Packit d7e8d0
* passphrase callback:                   Passphrase Callback.   (line 6)
Packit d7e8d0
* passphrase, change:                    Changing Passphrases.  (line 6)
Packit d7e8d0
* pinentry mode:                         Pinentry Mode.         (line 6)
Packit d7e8d0
* policy URL:                            Signature Notation Data.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* progress meter callback:               Progress Meter Callback.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* protocol:                              Protocols and Engines. (line 6)
Packit d7e8d0
* protocol, ASSUAN:                      Assuan.                (line 6)
Packit d7e8d0
* protocol, CMS:                         Cryptographic Message Syntax.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* protocol, GnuPG:                       OpenPGP.               (line 6)
Packit d7e8d0
* protocol, S/MIME:                      Cryptographic Message Syntax.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* protocol, selecting:                   Protocol Selection.    (line 6)
Packit d7e8d0
* public key algorithms:                 Public Key Algorithms. (line 6)
Packit d7e8d0
* Qt, using GPGME with:                  I/O Callback Example Qt.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* run control:                           Run Control.           (line 6)
Packit d7e8d0
* S/MIME:                                Cryptographic Message Syntax.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* sender:                                Setting the Sender.    (line 6)
Packit d7e8d0
* sign:                                  Sign.                  (line 6)
Packit d7e8d0
* signal handling:                       Signal Handling.       (line 6)
Packit d7e8d0
* signals:                               Signal Handling.       (line 6)
Packit d7e8d0
* signature check:                       Decrypt and Verify.    (line 6)
Packit d7e8d0
* signature notation data:               Verify.                (line 6)
Packit d7e8d0
* signature notation data <1>:           Signature Notation Data.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* signature, creation:                   Sign.                  (line 6)
Packit d7e8d0
* signature, selecting signers:          Selecting Signers.     (line 6)
Packit d7e8d0
* signature, verification:               Verify.                (line 6)
Packit d7e8d0
* signers, selecting:                    Selecting Signers.     (line 6)
Packit d7e8d0
* status message callback:               Status Message Callback.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* text mode:                             Text Mode.             (line 6)
Packit d7e8d0
* thread-safeness:                       Multi-Threading.       (line 6)
Packit d7e8d0
* trust item:                            Trust Item Management. (line 6)
Packit d7e8d0
* trust item list:                       Listing Trust Items.   (line 6)
Packit d7e8d0
* trust item, manipulation:              Manipulating Trust Items.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* type of data:                          Data Buffer Convenience.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
* UI server:                             UI Server Protocol.    (line 6)
Packit d7e8d0
* user interface server:                 UI Server Protocol.    (line 6)
Packit d7e8d0
* validity, TOFU:                        Changing TOFU Data.    (line 6)
Packit d7e8d0
* verification:                          Verify.                (line 6)
Packit d7e8d0
* verification and decryption:           Decrypt and Verify.    (line 6)
Packit d7e8d0
* version check, of the engines:         Engine Version Check.  (line 6)
Packit d7e8d0
* version check, of the library:         Library Version Check. (line 6)
Packit d7e8d0
* wait for completion:                   Waiting For Completion.
Packit d7e8d0
                                                                (line 6)
Packit d7e8d0
Packit d7e8d0
?
Packit d7e8d0
File: gpgme.info,  Node: Function and Data Index,  Prev: Concept Index,  Up: Top
Packit d7e8d0
Packit d7e8d0
Function and Data Index
Packit d7e8d0
***********************
Packit d7e8d0
Packit d7e8d0
?[index?]
Packit d7e8d0
* Menu:
Packit d7e8d0
Packit d7e8d0
* AM_PATH_GPGME:                         Using Automake.      (line  11)
Packit d7e8d0
* AM_PATH_GPGME_PTH:                     Using Automake.      (line  13)
Packit d7e8d0
* AM_PATH_GPGME_PTHREAD:                 Using Automake.      (line  15)
Packit d7e8d0
* CHECKSUM_CREATE_FILES:                 UI Server Checksum Files.
Packit d7e8d0
                                                              (line   9)
Packit d7e8d0
* CHECKSUM_VERIFY_FILES:                 UI Server Checksum Files.
Packit d7e8d0
                                                              (line  22)
Packit d7e8d0
* DECRYPT:                               UI Server Decrypt.   (line  26)
Packit d7e8d0
* DECRYPT_FILES:                         UI Server Verify/Decrypt Files.
Packit d7e8d0
                                                              (line   9)
Packit d7e8d0
* DECRYPT_VERIFY_FILES:                  UI Server Verify/Decrypt Files.
Packit d7e8d0
                                                              (line  11)
Packit d7e8d0
* ENCRYPT:                               UI Server Encrypt.   (line  47)
Packit d7e8d0
* ENCRYPT_FILES:                         UI Server Sign/Encrypt Files.
Packit d7e8d0
                                                              (line   9)
Packit d7e8d0
* ENCRYPT_SIGN_FILES:                    UI Server Sign/Encrypt Files.
Packit d7e8d0
                                                              (line  11)
Packit d7e8d0
* enum gpgme_data_encoding_t:            Data Buffer Meta-Data.
Packit d7e8d0
                                                              (line  31)
Packit d7e8d0
* enum gpgme_data_type_t:                Data Buffer Convenience.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* enum gpgme_event_io_t:                 I/O Callback Interface.
Packit d7e8d0
                                                              (line  58)
Packit d7e8d0
* enum gpgme_hash_algo_t:                Hash Algorithms.     (line   9)
Packit d7e8d0
* enum gpgme_pinentry_mode_t:            Pinentry Mode.       (line  25)
Packit d7e8d0
* enum gpgme_protocol_t:                 Protocols and Engines.
Packit d7e8d0
                                                              (line  16)
Packit d7e8d0
* enum gpgme_pubkey_algo_t:              Public Key Algorithms.
Packit d7e8d0
                                                              (line   9)
Packit d7e8d0
* enum gpgme_sig_mode_t:                 Creating a Signature.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* enum gpgme_sig_stat_t:                 Deprecated Functions.
Packit d7e8d0
                                                              (line 441)
Packit d7e8d0
* enum gpgme_tofu_policy_t:              Changing TOFU Data.  (line  10)
Packit d7e8d0
* FILE:                                  UI Server Set Input Files.
Packit d7e8d0
                                                              (line   9)
Packit d7e8d0
* GETINFO:                               Miscellaneous UI Server Commands.
Packit d7e8d0
                                                              (line   9)
Packit d7e8d0
* gpgme_addrspec_from_uid:               Decrypt and Verify.  (line  48)
Packit d7e8d0
* gpgme_attr_t:                          Deprecated Functions.
Packit d7e8d0
                                                              (line 144)
Packit d7e8d0
* gpgme_attr_t <1>:                      Deprecated Functions.
Packit d7e8d0
                                                              (line 321)
Packit d7e8d0
* gpgme_cancel:                          Cancellation.        (line  16)
Packit d7e8d0
* gpgme_cancel_async:                    Cancellation.        (line  38)
Packit d7e8d0
* gpgme_check_version:                   Library Version Check.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_ctx_get_engine_info:             Crypto Engine.       (line  12)
Packit d7e8d0
* gpgme_ctx_set_engine_info:             Crypto Engine.       (line  26)
Packit d7e8d0
* gpgme_ctx_t:                           Contexts.            (line  11)
Packit d7e8d0
* gpgme_data_encoding_t:                 Data Buffer Meta-Data.
Packit d7e8d0
                                                              (line  32)
Packit d7e8d0
* gpgme_data_get_encoding:               Data Buffer Meta-Data.
Packit d7e8d0
                                                              (line  81)
Packit d7e8d0
* gpgme_data_get_file_name:              Data Buffer Meta-Data.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_data_identify:                   Data Buffer Convenience.
Packit d7e8d0
                                                              (line  46)
Packit d7e8d0
* gpgme_data_new:                        Memory Based Data Buffers.
Packit d7e8d0
                                                              (line  12)
Packit d7e8d0
* gpgme_data_new_from_cbs:               Callback Based Data Buffers.
Packit d7e8d0
                                                              (line  80)
Packit d7e8d0
* gpgme_data_new_from_fd:                File Based Data Buffers.
Packit d7e8d0
                                                              (line  10)
Packit d7e8d0
* gpgme_data_new_from_file:              Memory Based Data Buffers.
Packit d7e8d0
                                                              (line  37)
Packit d7e8d0
* gpgme_data_new_from_filepart:          Memory Based Data Buffers.
Packit d7e8d0
                                                              (line  54)
Packit d7e8d0
* gpgme_data_new_from_mem:               Memory Based Data Buffers.
Packit d7e8d0
                                                              (line  22)
Packit d7e8d0
* gpgme_data_new_from_stream:            File Based Data Buffers.
Packit d7e8d0
                                                              (line  29)
Packit d7e8d0
* gpgme_data_new_with_read_cb:           Deprecated Functions.
Packit d7e8d0
                                                              (line 114)
Packit d7e8d0
* gpgme_data_read:                       Data Buffer I/O Operations.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_data_read_cb_t:                  Callback Based Data Buffers.
Packit d7e8d0
                                                              (line  13)
Packit d7e8d0
* gpgme_data_release:                    Destroying Data Buffers.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_data_release_and_get_mem:        Destroying Data Buffers.
Packit d7e8d0
                                                              (line  11)
Packit d7e8d0
* gpgme_data_release_cb_t:               Callback Based Data Buffers.
Packit d7e8d0
                                                              (line  55)
Packit d7e8d0
* gpgme_data_rewind:                     Deprecated Functions.
Packit d7e8d0
                                                              (line 138)
Packit d7e8d0
* gpgme_data_seek:                       Data Buffer I/O Operations.
Packit d7e8d0
                                                              (line  26)
Packit d7e8d0
* gpgme_data_seek_cb_t:                  Callback Based Data Buffers.
Packit d7e8d0
                                                              (line  46)
Packit d7e8d0
* gpgme_data_set_encoding:               Data Buffer Meta-Data.
Packit d7e8d0
                                                              (line  87)
Packit d7e8d0
* gpgme_data_set_file_name:              Data Buffer Meta-Data.
Packit d7e8d0
                                                              (line  18)
Packit d7e8d0
* gpgme_data_set_flag:                   Data Buffer Meta-Data.
Packit d7e8d0
                                                              (line  92)
Packit d7e8d0
* gpgme_data_t:                          Exchanging Data.     (line  13)
Packit d7e8d0
* gpgme_data_type_t:                     Data Buffer Convenience.
Packit d7e8d0
                                                              (line   7)
Packit d7e8d0
* gpgme_data_write:                      Data Buffer I/O Operations.
Packit d7e8d0
                                                              (line  16)
Packit d7e8d0
* gpgme_data_write_cb_t:                 Callback Based Data Buffers.
Packit d7e8d0
                                                              (line  29)
Packit d7e8d0
* gpgme_decrypt_result_t:                Decrypt.             (line 101)
Packit d7e8d0
* gpgme_edit_cb_t:                       Deprecated Functions.
Packit d7e8d0
                                                              (line  37)
Packit d7e8d0
* gpgme_encrypt_result_t:                Encrypting a Plaintext.
Packit d7e8d0
                                                              (line 118)
Packit d7e8d0
* gpgme_engine_check_version:            Engine Version Check.
Packit d7e8d0
                                                              (line  67)
Packit d7e8d0
* gpgme_engine_info_t:                   Engine Information.  (line   6)
Packit d7e8d0
* gpgme_error:                           Error Values.        (line  65)
Packit d7e8d0
* gpgme_error_from_errno:                Error Values.        (line  89)
Packit d7e8d0
* gpgme_error_t:                         Error Values.        (line  24)
Packit d7e8d0
* gpgme_error_t (*gpgme_assuan_data_cb_t) (void *OPAQUE, const void *DATA, size_t DATALEN): Using the Assuan protocol.
Packit d7e8d0
                                                              (line  15)
Packit d7e8d0
* gpgme_error_t (*gpgme_assuan_inquire_cb_t) (void *OPAQUE, const char *NAME, const char *ARGS, gpgme_data_t *R_DATA): Using the Assuan protocol.
Packit d7e8d0
                                                              (line  24)
Packit d7e8d0
* gpgme_error_t (*gpgme_assuan_status_cb_t) (void *OPAQUE, const char *STATUS, const char *ARGS): Using the Assuan protocol.
Packit d7e8d0
                                                              (line  38)
Packit d7e8d0
* gpgme_error_t (*gpgme_edit_cb_t) (void *HANDLE, gpgme_status_code_t STATUS, const char *ARGS, int FD): Deprecated Functions.
Packit d7e8d0
                                                              (line  35)
Packit d7e8d0
* gpgme_error_t (*gpgme_interact_cb_t) (void *HANDLE, const char *STATUS, const char *ARGS, int FD): Advanced Key Editing.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_error_t (*gpgme_io_cb_t) (void *DATA, int FD): I/O Callback Interface.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_error_t (*gpgme_passphrase_cb_t)(void *HOOK, const char *UID_HINT, const char *PASSPHRASE_INFO, int PREV_WAS_BAD, int FD): Passphrase Callback.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_error_t (*gpgme_register_io_cb_t) (void *DATA, int FD, int DIR, gpgme_io_cb_t FNC, void *FNC_DATA, void **TAG): I/O Callback Interface.
Packit d7e8d0
                                                              (line  19)
Packit d7e8d0
* gpgme_error_t (*gpgme_status_cb_t)(void *HOOK, const char *KEYWORD, const char *ARGS): Status Message Callback.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_err_code:                        Error Values.        (line  42)
Packit d7e8d0
* gpgme_err_code_from_errno:             Error Values.        (line  98)
Packit d7e8d0
* gpgme_err_code_t:                      Error Values.        (line   6)
Packit d7e8d0
* gpgme_err_code_to_errno:               Error Values.        (line 103)
Packit d7e8d0
* gpgme_err_make:                        Error Values.        (line  57)
Packit d7e8d0
* gpgme_err_make_from_errno:             Error Values.        (line  83)
Packit d7e8d0
* gpgme_err_source:                      Error Values.        (line  49)
Packit d7e8d0
* gpgme_err_source_t:                    Error Values.        (line  13)
Packit d7e8d0
* gpgme_event_io_t:                      I/O Callback Interface.
Packit d7e8d0
                                                              (line  59)
Packit d7e8d0
* gpgme_event_io_t <1>:                  Registering I/O Callbacks.
Packit d7e8d0
                                                              (line   7)
Packit d7e8d0
* gpgme_free:                            Destroying Data Buffers.
Packit d7e8d0
                                                              (line  25)
Packit d7e8d0
* gpgme_genkey_result_t:                 Generating Keys.     (line 381)
Packit d7e8d0
* gpgme_get_armor:                       ASCII Armor.         (line  13)
Packit d7e8d0
* gpgme_get_ctx_flag:                    Status Message Callback.
Packit d7e8d0
                                                              (line 109)
Packit d7e8d0
* gpgme_get_dirinfo:                     Engine Version Check.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_get_engine_info:                 Engine Information.  (line  46)
Packit d7e8d0
* gpgme_get_include_certs:               Included Certificates.
Packit d7e8d0
                                                              (line  37)
Packit d7e8d0
* gpgme_get_io_cbs:                      Registering I/O Callbacks.
Packit d7e8d0
                                                              (line  44)
Packit d7e8d0
* gpgme_get_key:                         Listing Keys.        (line 178)
Packit d7e8d0
* gpgme_get_keylist_mode:                Key Listing Mode.    (line  83)
Packit d7e8d0
* gpgme_get_offline:                     Offline Mode.        (line  25)
Packit d7e8d0
* gpgme_get_passphrase_cb:               Passphrase Callback. (line  63)
Packit d7e8d0
* gpgme_get_pinentry_mode:               Pinentry Mode.       (line  18)
Packit d7e8d0
* gpgme_get_progress_cb:                 Progress Meter Callback.
Packit d7e8d0
                                                              (line  31)
Packit d7e8d0
* gpgme_get_protocol:                    Protocol Selection.  (line  21)
Packit d7e8d0
* gpgme_get_protocol_name:               Protocols and Engines.
Packit d7e8d0
                                                              (line  58)
Packit d7e8d0
* gpgme_get_sender:                      Setting the Sender.  (line  29)
Packit d7e8d0
* gpgme_get_sig_key:                     Deprecated Functions.
Packit d7e8d0
                                                              (line 641)
Packit d7e8d0
* gpgme_get_sig_status:                  Deprecated Functions.
Packit d7e8d0
                                                              (line 489)
Packit d7e8d0
* gpgme_get_sig_string_attr:             Deprecated Functions.
Packit d7e8d0
                                                              (line 545)
Packit d7e8d0
* gpgme_get_sig_ulong_attr:              Deprecated Functions.
Packit d7e8d0
                                                              (line 579)
Packit d7e8d0
* gpgme_get_status_cb:                   Status Message Callback.
Packit d7e8d0
                                                              (line  31)
Packit d7e8d0
* gpgme_get_textmode:                    Text Mode.           (line  20)
Packit d7e8d0
* gpgme_hash_algo_name:                  Hash Algorithms.     (line  30)
Packit d7e8d0
* gpgme_hash_algo_t:                     Hash Algorithms.     (line  10)
Packit d7e8d0
* gpgme_import_result_t:                 Importing Keys.      (line 118)
Packit d7e8d0
* gpgme_import_status_t:                 Importing Keys.      (line  80)
Packit d7e8d0
* gpgme_interact_cb_t:                   Advanced Key Editing.
Packit d7e8d0
                                                              (line  11)
Packit d7e8d0
* gpgme_invalid_key_t:                   Crypto Operations.   (line  10)
Packit d7e8d0
* gpgme_io_cb_t:                         I/O Callback Interface.
Packit d7e8d0
                                                              (line   7)
Packit d7e8d0
* gpgme_keylist_result_t:                Listing Keys.        (line 155)
Packit d7e8d0
* gpgme_key_get_string_attr:             Deprecated Functions.
Packit d7e8d0
                                                              (line 286)
Packit d7e8d0
* gpgme_key_get_ulong_attr:              Deprecated Functions.
Packit d7e8d0
                                                              (line 300)
Packit d7e8d0
* gpgme_key_ref:                         Manipulating Keys.   (line   6)
Packit d7e8d0
* gpgme_key_release:                     Deprecated Functions.
Packit d7e8d0
                                                              (line  14)
Packit d7e8d0
* gpgme_key_sig_get_string_attr:         Deprecated Functions.
Packit d7e8d0
                                                              (line 377)
Packit d7e8d0
* gpgme_key_sig_get_ulong_attr:          Deprecated Functions.
Packit d7e8d0
                                                              (line 393)
Packit d7e8d0
* gpgme_key_sig_t:                       Key objects.         (line 339)
Packit d7e8d0
* gpgme_key_t:                           Key objects.         (line  10)
Packit d7e8d0
* gpgme_key_unref:                       Manipulating Keys.   (line  10)
Packit d7e8d0
* gpgme_new:                             Creating Contexts.   (line   6)
Packit d7e8d0
* gpgme_new_signature_t:                 Creating a Signature.
Packit d7e8d0
                                                              (line  57)
Packit d7e8d0
* gpgme_off_t:                           Exchanging Data.     (line  24)
Packit d7e8d0
* gpgme_op_adduid:                       Generating Keys.     (line 189)
Packit d7e8d0
* gpgme_op_adduid_start:                 Generating Keys.     (line 215)
Packit d7e8d0
* gpgme_op_assuan_transact_ext:          Using the Assuan protocol.
Packit d7e8d0
                                                              (line  64)
Packit d7e8d0
* gpgme_op_assuan_transact_start:        Using the Assuan protocol.
Packit d7e8d0
                                                              (line  47)
Packit d7e8d0
* gpgme_op_card_edit:                    Deprecated Functions.
Packit d7e8d0
                                                              (line  89)
Packit d7e8d0
* gpgme_op_card_edit_start:              Deprecated Functions.
Packit d7e8d0
                                                              (line  99)
Packit d7e8d0
* gpgme_op_createkey:                    Generating Keys.     (line  14)
Packit d7e8d0
* gpgme_op_createkey_start:              Generating Keys.     (line 119)
Packit d7e8d0
* gpgme_op_createsubkey:                 Generating Keys.     (line 132)
Packit d7e8d0
* gpgme_op_createsubkey_start:           Generating Keys.     (line 176)
Packit d7e8d0
* gpgme_op_decrypt:                      Decrypt.             (line   6)
Packit d7e8d0
* gpgme_op_decrypt_ext:                  Decrypt.             (line  30)
Packit d7e8d0
* gpgme_op_decrypt_ext_start:            Decrypt.             (line  60)
Packit d7e8d0
* gpgme_op_decrypt_result:               Decrypt.             (line 144)
Packit d7e8d0
* gpgme_op_decrypt_start:                Decrypt.             (line  20)
Packit d7e8d0
* gpgme_op_decrypt_verify:               Decrypt and Verify.  (line   6)
Packit d7e8d0
* gpgme_op_decrypt_verify_start:         Decrypt and Verify.  (line  30)
Packit d7e8d0
* gpgme_op_delete:                       Deleting Keys.       (line  47)
Packit d7e8d0
* gpgme_op_delete_ext:                   Deleting Keys.       (line   6)
Packit d7e8d0
* gpgme_op_delete_ext_start:             Deleting Keys.       (line  33)
Packit d7e8d0
* gpgme_op_delete_start:                 Deleting Keys.       (line  52)
Packit d7e8d0
* gpgme_op_edit:                         Deprecated Functions.
Packit d7e8d0
                                                              (line  48)
Packit d7e8d0
* gpgme_op_edit_start:                   Deprecated Functions.
Packit d7e8d0
                                                              (line  72)
Packit d7e8d0
* gpgme_op_encrypt:                      Encrypting a Plaintext.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_op_encrypt_result:               Encrypting a Plaintext.
Packit d7e8d0
                                                              (line 129)
Packit d7e8d0
* gpgme_op_encrypt_sign:                 Encrypting a Plaintext.
Packit d7e8d0
                                                              (line 140)
Packit d7e8d0
* gpgme_op_encrypt_sign_start:           Encrypting a Plaintext.
Packit d7e8d0
                                                              (line 151)
Packit d7e8d0
* gpgme_op_encrypt_start:                Encrypting a Plaintext.
Packit d7e8d0
                                                              (line 100)
Packit d7e8d0
* gpgme_op_export:                       Exporting Keys.      (line  46)
Packit d7e8d0
* gpgme_op_export_ext:                   Exporting Keys.      (line  79)
Packit d7e8d0
* gpgme_op_export_ext_start:             Exporting Keys.      (line 101)
Packit d7e8d0
* gpgme_op_export_keys:                  Exporting Keys.      (line 113)
Packit d7e8d0
* gpgme_op_export_keys_start:            Exporting Keys.      (line 140)
Packit d7e8d0
* gpgme_op_export_start:                 Exporting Keys.      (line  67)
Packit d7e8d0
* gpgme_op_genkey:                       Generating Keys.     (line 304)
Packit d7e8d0
* gpgme_op_genkey_result:                Generating Keys.     (line 418)
Packit d7e8d0
* gpgme_op_genkey_start:                 Generating Keys.     (line 369)
Packit d7e8d0
* gpgme_op_import:                       Importing Keys.      (line   9)
Packit d7e8d0
* gpgme_op_import_ext:                   Deprecated Functions.
Packit d7e8d0
                                                              (line  22)
Packit d7e8d0
* gpgme_op_import_keys:                  Importing Keys.      (line  35)
Packit d7e8d0
* gpgme_op_import_keys_start:            Importing Keys.      (line  65)
Packit d7e8d0
* gpgme_op_import_result:                Importing Keys.      (line 168)
Packit d7e8d0
* gpgme_op_import_start:                 Importing Keys.      (line  24)
Packit d7e8d0
* gpgme_op_interact:                     Advanced Key Editing.
Packit d7e8d0
                                                              (line  23)
Packit d7e8d0
* gpgme_op_interact_start:               Advanced Key Editing.
Packit d7e8d0
                                                              (line  53)
Packit d7e8d0
* gpgme_op_keylist_end:                  Listing Keys.        (line 111)
Packit d7e8d0
* gpgme_op_keylist_ext_start:            Listing Keys.        (line  34)
Packit d7e8d0
* gpgme_op_keylist_from_data_start:      Listing Keys.        (line  67)
Packit d7e8d0
* gpgme_op_keylist_next:                 Listing Keys.        (line  94)
Packit d7e8d0
* gpgme_op_keylist_result:               Listing Keys.        (line 166)
Packit d7e8d0
* gpgme_op_keylist_start:                Listing Keys.        (line   6)
Packit d7e8d0
* gpgme_op_keysign:                      Signing Keys.        (line  12)
Packit d7e8d0
* gpgme_op_keysign_start:                Signing Keys.        (line  73)
Packit d7e8d0
* gpgme_op_passwd:                       Changing Passphrases.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_op_passwd_start:                 Changing Passphrases.
Packit d7e8d0
                                                              (line  21)
Packit d7e8d0
* gpgme_op_query_swdb:                   Checking for updates.
Packit d7e8d0
                                                              (line  68)
Packit d7e8d0
* gpgme_op_query_swdb_result:            Checking for updates.
Packit d7e8d0
                                                              (line  80)
Packit d7e8d0
* gpgme_op_revuid:                       Generating Keys.     (line 224)
Packit d7e8d0
* gpgme_op_revuid_start:                 Generating Keys.     (line 252)
Packit d7e8d0
* gpgme_op_set_uid_flag_start:           Generating Keys.     (line 293)
Packit d7e8d0
* gpgme_op_set_ui_flag:                  Generating Keys.     (line 261)
Packit d7e8d0
* gpgme_op_sign:                         Creating a Signature.
Packit d7e8d0
                                                              (line  21)
Packit d7e8d0
* gpgme_op_sign_result:                  Creating a Signature.
Packit d7e8d0
                                                              (line  99)
Packit d7e8d0
* gpgme_op_sign_start:                   Creating a Signature.
Packit d7e8d0
                                                              (line  47)
Packit d7e8d0
* gpgme_op_spawn:                        Running other Programs.
Packit d7e8d0
                                                              (line  13)
Packit d7e8d0
* gpgme_op_spawn_start:                  Running other Programs.
Packit d7e8d0
                                                              (line  45)
Packit d7e8d0
* gpgme_op_tofu_policy:                  Changing TOFU Data.  (line  29)
Packit d7e8d0
* gpgme_op_tofu_policy_start:            Changing TOFU Data.  (line  43)
Packit d7e8d0
* gpgme_op_trustlist_end:                Listing Trust Items. (line  44)
Packit d7e8d0
* gpgme_op_trustlist_next:               Listing Trust Items. (line  27)
Packit d7e8d0
* gpgme_op_trustlist_start:              Listing Trust Items. (line   6)
Packit d7e8d0
* gpgme_op_verify:                       Verify.              (line   6)
Packit d7e8d0
* gpgme_op_verify_result:                Verify.              (line 283)
Packit d7e8d0
* gpgme_op_verify_start:                 Verify.              (line  26)
Packit d7e8d0
* gpgme_passphrase_cb_t:                 Passphrase Callback. (line  10)
Packit d7e8d0
* gpgme_pinentry_mode_t:                 Pinentry Mode.       (line  26)
Packit d7e8d0
* gpgme_progress_cb_t:                   Progress Meter Callback.
Packit d7e8d0
                                                              (line   8)
Packit d7e8d0
* gpgme_protocol_t:                      Protocols and Engines.
Packit d7e8d0
                                                              (line  17)
Packit d7e8d0
* gpgme_protocol_t <1>:                  Engine Information.  (line   7)
Packit d7e8d0
* gpgme_pubkey_algo_name:                Public Key Algorithms.
Packit d7e8d0
                                                              (line  58)
Packit d7e8d0
* gpgme_pubkey_algo_string:              Public Key Algorithms.
Packit d7e8d0
                                                              (line  68)
Packit d7e8d0
* gpgme_pubkey_algo_t:                   Public Key Algorithms.
Packit d7e8d0
                                                              (line  10)
Packit d7e8d0
* gpgme_query_swdb_result_t:             Checking for updates.
Packit d7e8d0
                                                              (line  11)
Packit d7e8d0
* gpgme_recipient_t:                     Decrypt.             (line  75)
Packit d7e8d0
* gpgme_register_io_cb_t:                I/O Callback Interface.
Packit d7e8d0
                                                              (line  23)
Packit d7e8d0
* gpgme_release:                         Destroying Contexts. (line   6)
Packit d7e8d0
* gpgme_result_ref:                      Result Management.   (line  15)
Packit d7e8d0
* gpgme_result_unref:                    Result Management.   (line  23)
Packit d7e8d0
* gpgme_set_armor:                       ASCII Armor.         (line   6)
Packit d7e8d0
* gpgme_set_ctx_flag:                    Status Message Callback.
Packit d7e8d0
                                                              (line  41)
Packit d7e8d0
* gpgme_set_engine_info:                 Engine Configuration.
Packit d7e8d0
                                                              (line  11)
Packit d7e8d0
* gpgme_set_global_flag:                 Library Version Check.
Packit d7e8d0
                                                              (line  44)
Packit d7e8d0
* gpgme_set_include_certs:               Included Certificates.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_set_io_cbs:                      Registering I/O Callbacks.
Packit d7e8d0
                                                              (line  35)
Packit d7e8d0
* gpgme_set_keylist_mode:                Key Listing Mode.    (line   6)
Packit d7e8d0
* gpgme_set_locale:                      Locale.              (line  14)
Packit d7e8d0
* gpgme_set_offline:                     Offline Mode.        (line   6)
Packit d7e8d0
* gpgme_set_passphrase_cb:               Passphrase Callback. (line  40)
Packit d7e8d0
* gpgme_set_pinentry_mode:               Pinentry Mode.       (line   6)
Packit d7e8d0
* gpgme_set_progress_cb:                 Progress Meter Callback.
Packit d7e8d0
                                                              (line  16)
Packit d7e8d0
* gpgme_set_protocol:                    Protocol Selection.  (line   6)
Packit d7e8d0
* gpgme_set_sender:                      Setting the Sender.  (line  13)
Packit d7e8d0
* gpgme_set_status_cb:                   Status Message Callback.
Packit d7e8d0
                                                              (line  17)
Packit d7e8d0
* gpgme_set_textmode:                    Text Mode.           (line   6)
Packit d7e8d0
* gpgme_signature_t:                     Verify.              (line  92)
Packit d7e8d0
* gpgme_signers_add:                     Selecting Signers.   (line  18)
Packit d7e8d0
* gpgme_signers_clear:                   Selecting Signers.   (line  11)
Packit d7e8d0
* gpgme_signers_count:                   Selecting Signers.   (line  25)
Packit d7e8d0
* gpgme_signers_enum:                    Selecting Signers.   (line  31)
Packit d7e8d0
* gpgme_sign_result_t:                   Creating a Signature.
Packit d7e8d0
                                                              (line  85)
Packit d7e8d0
* gpgme_sig_mode_t:                      Creating a Signature.
Packit d7e8d0
                                                              (line   7)
Packit d7e8d0
* gpgme_sig_notation_add:                Signature Notation Data.
Packit d7e8d0
                                                              (line  19)
Packit d7e8d0
* gpgme_sig_notation_clear:              Signature Notation Data.
Packit d7e8d0
                                                              (line  10)
Packit d7e8d0
* gpgme_sig_notation_get:                Signature Notation Data.
Packit d7e8d0
                                                              (line  45)
Packit d7e8d0
* gpgme_sig_notation_t:                  Verify.              (line  38)
Packit d7e8d0
* gpgme_sig_stat_t:                      Deprecated Functions.
Packit d7e8d0
                                                              (line 442)
Packit d7e8d0
* gpgme_ssize_t:                         Exchanging Data.     (line  32)
Packit d7e8d0
* gpgme_status_cb_t:                     Status Message Callback.
Packit d7e8d0
                                                              (line   8)
Packit d7e8d0
* gpgme_strerror:                        Error Strings.       (line   6)
Packit d7e8d0
* gpgme_strerror_r:                      Error Strings.       (line  15)
Packit d7e8d0
* gpgme_strsource:                       Error Strings.       (line  26)
Packit d7e8d0
* gpgme_subkey_t:                        Key objects.         (line 112)
Packit d7e8d0
* gpgme_tofu_info_t:                     Key objects.         (line 275)
Packit d7e8d0
* gpgme_tofu_policy_t:                   Changing TOFU Data.  (line  13)
Packit d7e8d0
* gpgme_trust_item_get_int_attr:         Deprecated Functions.
Packit d7e8d0
                                                              (line 426)
Packit d7e8d0
* gpgme_trust_item_get_string_attr:      Deprecated Functions.
Packit d7e8d0
                                                              (line 411)
Packit d7e8d0
* gpgme_trust_item_ref:                  Manipulating Trust Items.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* gpgme_trust_item_release:              Deprecated Functions.
Packit d7e8d0
                                                              (line  18)
Packit d7e8d0
* gpgme_trust_item_t:                    Trust Item Management.
Packit d7e8d0
                                                              (line   8)
Packit d7e8d0
* gpgme_trust_item_unref:                Manipulating Trust Items.
Packit d7e8d0
                                                              (line  10)
Packit d7e8d0
* gpgme_user_id_t:                       Key objects.         (line 217)
Packit d7e8d0
* gpgme_validity_t:                      Information About Keys.
Packit d7e8d0
                                                              (line   9)
Packit d7e8d0
* gpgme_verify_result_t:                 Verify.              (line 268)
Packit d7e8d0
* gpgme_wait:                            Waiting For Completion.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* IMPORT_FILES:                          UI Server Import/Export Keys.
Packit d7e8d0
                                                              (line   9)
Packit d7e8d0
* INPUT:                                 UI Server Encrypt.   (line  23)
Packit d7e8d0
* INPUT <1>:                             UI Server Sign.      (line  12)
Packit d7e8d0
* INPUT <2>:                             UI Server Decrypt.   (line  12)
Packit d7e8d0
* INPUT <3>:                             UI Server Verify.    (line  16)
Packit d7e8d0
* MESSAGE:                               UI Server Verify.    (line  10)
Packit d7e8d0
* MICALG:                                UI Server Sign.      (line  43)
Packit d7e8d0
* off_t (*gpgme_data_seek_cb_t) (void *HANDLE, off_t OFFSET, int WHENCE): Callback Based Data Buffers.
Packit d7e8d0
                                                              (line  43)
Packit d7e8d0
* OUTPUT:                                UI Server Encrypt.   (line  36)
Packit d7e8d0
* OUTPUT <1>:                            UI Server Sign.      (line  18)
Packit d7e8d0
* OUTPUT <2>:                            UI Server Decrypt.   (line  19)
Packit d7e8d0
* OUTPUT <3>:                            UI Server Verify.    (line  23)
Packit d7e8d0
* PREP_ENCRYPT:                          UI Server Encrypt.   (line  72)
Packit d7e8d0
* PROTOCOL:                              UI Server Encrypt.   (line  98)
Packit d7e8d0
* RECIPIENT:                             UI Server Encrypt.   (line   9)
Packit d7e8d0
* SENDER:                                Miscellaneous UI Server Commands.
Packit d7e8d0
                                                              (line  50)
Packit d7e8d0
* SESSION:                               Miscellaneous UI Server Commands.
Packit d7e8d0
                                                              (line  69)
Packit d7e8d0
* SIGN:                                  UI Server Sign.      (line  33)
Packit d7e8d0
* SIGN_FILES:                            UI Server Sign/Encrypt Files.
Packit d7e8d0
                                                              (line  10)
Packit d7e8d0
* SIGSTATUS:                             UI Server Verify.    (line  56)
Packit d7e8d0
* ssize_t (*gpgme_data_read_cb_t) (void *HANDLE, void *BUFFER, size_t SIZE): Callback Based Data Buffers.
Packit d7e8d0
                                                              (line  10)
Packit d7e8d0
* ssize_t (*gpgme_data_write_cb_t) (void *HANDLE, const void *BUFFER, size_t SIZE): Callback Based Data Buffers.
Packit d7e8d0
                                                              (line  27)
Packit d7e8d0
* START_CONFDIALOG:                      Miscellaneous UI Server Commands.
Packit d7e8d0
                                                              (line  41)
Packit d7e8d0
* START_KEYMANAGER:                      Miscellaneous UI Server Commands.
Packit d7e8d0
                                                              (line  31)
Packit d7e8d0
* struct gpgme_data_cbs:                 Callback Based Data Buffers.
Packit d7e8d0
                                                              (line  59)
Packit d7e8d0
* struct gpgme_io_cbs:                   Registering I/O Callbacks.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* VERIFY:                                UI Server Verify.    (line  31)
Packit d7e8d0
* VERIFY_FILES:                          UI Server Verify/Decrypt Files.
Packit d7e8d0
                                                              (line  10)
Packit d7e8d0
* void (*gpgme_data_release_cb_t) (void *HANDLE): Callback Based Data Buffers.
Packit d7e8d0
                                                              (line  54)
Packit d7e8d0
* void (*gpgme_event_io_cb_t) (void *DATA, gpgme_event_io_t TYPE, void *TYPE_DATA): I/O Callback Interface.
Packit d7e8d0
                                                              (line  89)
Packit d7e8d0
* void (*gpgme_progress_cb_t)(void *HOOK, const char *WHAT, int TYPE, int CURRENT, int TOTAL): Progress Meter Callback.
Packit d7e8d0
                                                              (line   6)
Packit d7e8d0
* void (*gpgme_remove_io_cb_t) (void *TAG): I/O Callback Interface.
Packit d7e8d0
                                                              (line  48)
Packit d7e8d0
* window-id:                             Miscellaneous UI Server Commands.
Packit d7e8d0
                                                              (line  21)
Packit d7e8d0