File: gpgme.info, Node: Protocols and Engines, Next: Algorithms, Prev: Preparation, Up: Top 3 Protocols and Engines *********************** GPGME supports several cryptographic protocols, however, it does not implement them. Rather it uses backends (also called engines) which implement the protocol. GPGME uses inter-process communication to pass data back and forth between the application and the backend, but the details of the communication protocol and invocation of the backend is completely hidden by the interface. All complexity is handled by GPGME. Where an exchange of information between the application and the backend is necessary, GPGME provides the necessary callback function hooks and further interfaces. -- Data type: enum gpgme_protocol_t The ‘gpgme_protocol_t’ type specifies the set of possible protocol values that are supported by GPGME. The following protocols are supported: ‘GPGME_PROTOCOL_OpenPGP’ ‘GPGME_PROTOCOL_OPENPGP’ This specifies the OpenPGP protocol. ‘GPGME_PROTOCOL_CMS’ This specifies the Cryptographic Message Syntax. ‘GPGME_PROTOCOL_GPGCONF’ Under development. Please ask onfor help. ‘GPGME_PROTOCOL_ASSUAN’ SINCE: 1.2.0 This specifies the raw Assuan protocol. ‘GPGME_PROTOCOL_G13’ SINCE: 1.3.0 Under development. Please ask on for help. ‘GPGME_PROTOCOL_UISERVER’ Under development. Please ask on for help. ‘GPGME_PROTOCOL_SPAWN’ SINCE: 1.5.0 Special protocol for use with ‘gpgme_op_spawn’. ‘GPGME_PROTOCOL_UNKNOWN’ Reserved for future extension. You may use this to indicate that the used protocol is not known to the application. Currently, GPGME does not accept this value in any operation, though, except for ‘gpgme_get_protocol_name’. -- Function: const char * gpgme_get_protocol_name (gpgme_protocol_t PROTOCOL) The function ‘gpgme_get_protocol_name’ returns a statically allocated string describing the protocol PROTOCOL, or ‘NULL’ if the protocol number is not valid. * Menu: * Engine Version Check:: Verifying the engine version. * Engine Information:: Obtaining more information about the engines. * Engine Configuration:: Changing the engine configuration. * OpenPGP:: Support for the OpenPGP protocol. * Cryptographic Message Syntax:: Support for the CMS. * Assuan:: Support for the raw Assuan protocol.