aboutsummaryrefslogtreecommitdiff
path: root/vapi/gpgme.vapi
diff options
context:
space:
mode:
Diffstat (limited to 'vapi/gpgme.vapi')
-rw-r--r--vapi/gpgme.vapi1224
1 files changed, 0 insertions, 1224 deletions
diff --git a/vapi/gpgme.vapi b/vapi/gpgme.vapi
deleted file mode 100644
index 49fd2d78..00000000
--- a/vapi/gpgme.vapi
+++ /dev/null
@@ -1,1224 +0,0 @@
-/* libgpgme.vapi
- *
- * Copyright (C) 2009 Sebastian Reichel <sre@ring0.de>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- */
-
-/**
- * GPGME is an API wrapper around GnuPG, which parses the output of GnuPG.
- */
-[CCode (lower_case_cprefix = "gpgme_", cheader_filename = "gpgme.h")]
-namespace GPG {
- /**
- * EngineInfo as List
- */
- [CCode (cname = "struct _gpgme_engine_info")]
- public struct EngineInfo {
- /**
- * Next entry in the list
- */
- EngineInfo* next;
-
- /**
- * The protocol ID
- */
- Protocol protocol;
-
- /**
- * filename of the engine binary
- */
- string file_name;
-
- /**
- * version string of the installed binary
- */
- string version;
-
- /**
- * minimum version required for gpgme
- */
- string req_version;
-
- /**
- * home directory to be used or null for default
- */
- string? home_dir;
- }
-
- /**
- * A Key from the Keyring
- */
- [CCode (cname = "struct _gpgme_key", ref_function = "gpgme_key_ref", ref_function_void = true, unref_function = "gpgme_key_unref", free_function = "gpgme_key_release")]
- public class Key {
- public bool revoked;
- public bool expired;
- public bool disabled;
- public bool invalid;
- public bool can_encrypt;
- public bool can_sign;
- public bool can_certify;
- public bool secret;
- public bool can_authenticate;
- public bool is_qualified;
- public Protocol protocol;
-
- /**
- * If protocol is CMS, this string contains the issuer's serial
- */
- public string issuer_serial;
-
- /**
- * If protocol is CMS, this string contains the issuer's name
- */
- public string issuer_name;
-
- /**
- * If protocol is CMS, this string contains the issuer's ID
- */
- public string issuer_id;
-
- /**
- * If protocol is OpenPGP, this field contains the owner trust level
- */
- public Validity owner_trust;
-
- /**
- * The key's subkeys
- */
- [CCode(array_null_terminated = true)]
- public SubKey[] subkeys;
-
- /**
- * The key's user ids
- */
- [CCode(array_null_terminated = true)]
- public UserID[] uids;
-
- public KeylistMode keylist_mode;
- }
-
- /**
- * A signature notation
- */
- [CCode (cname = "struct _gpgme_sig_notation")]
- public struct SigNotation {
- /**
- * The next SigNotation from the list
- */
- SigNotation* next;
-
- /**
- * If name is a null pointer value contains a policy url rather than a notation
- */
- string? name;
-
- /**
- * The value of the notation data
- */
- string value;
-
- /**
- * The length of the name of the notation data
- */
- int name_len;
-
- /**
- * The length of the value of the notation data
- */
- int value_len;
-
- /**
- * The accumulated flags
- */
- SigNotationFlags flags;
-
- /**
- * notation data is human readable
- */
- bool human_readable;
-
- /**
- * notation data is critical
- */
- bool critical;
- }
-
- /**
- * A subkey from a Key
- */
- [CCode (cname = "struct _gpgme_subkey")]
- public struct SubKey {
- SubKey* next;
- bool revoked;
- bool expired;
- bool disabled;
- bool invalid;
- bool can_encrypt;
- bool can_sign;
- bool can_certify;
- bool secret;
- bool can_authenticate;
- bool is_qualified;
- bool is_cardkey;
- PublicKeyAlgorithm algo;
- uint length;
- string keyid;
-
- /**
- * Fingerprint of the key in hex form
- */
- string fpr;
-
- /**
- * The creation timestamp.
- * -1 = invalid,
- * 0 = not available
- */
- long timestamp;
-
- /**
- * The expiration timestamp.
- * 0 = key does not expire
- */
- long expires;
-
- /**
- * The serial number of the smartcard holding this key or null
- */
- string? cardnumber;
- }
-
- /**
- * A signature on a UserID
- */
- [CCode (cname = "struct _gpgme_key_sig")]
- public struct KeySig {
- /**
- * The next signature from the list
- */
- KeySig* next;
- bool invoked;
- bool expired;
- bool invalid;
- bool exportable;
- PublicKeyAlgorithm algo;
- string keyid;
-
- /**
- * The creation timestamp.
- * -1 = invalid,
- * 0 = not available
- */
- long timestamp;
-
- /**
- * The expiration timestamp.
- * 0 = key does not expire
- */
- long expires;
-
- GPGError.ErrorCode status;
-
- string uid;
- string name;
- string email;
- string comment;
-
- /**
- * Crypto backend specific signature class
- */
- uint sig_class;
-
- SigNotation notations;
- }
-
- /**
- * A UserID from a Key
- */
- [CCode (cname = "struct _gpgme_user_id")]
- public struct UserID {
- /**
- * The next UserID from the list
- */
- UserID* next;
-
- bool revoked;
- bool invalid;
- Validity validity;
- string uid;
- string name;
- string email;
- string comment;
-
- KeySig signatures;
- }
-
- /**
- * verify result of OP
- */
- [CCode (cname = "struct _gpgme_op_verify_result")]
- public struct VerifyResult {
- Signature* signatures;
-
- /**
- * The original file name of the plaintext message, if available
- */
- string? file_name;
- }
-
- /**
- * sign result of OP
- */
- [CCode (cname = "struct _gpgme_op_sign_result")]
- public struct SignResult {
- InvalidKey invalid_signers;
- Signature* signatures;
- }
-
- /**
- * encrypt result of OP
- */
- [CCode (cname = "struct _gpgme_op_encrypt_result")]
- public struct EncryptResult {
- /**
- * The list of invalid repipients
- */
- InvalidKey invalid_signers;
- }
-
- /**
- * decrypt result of OP
- */
- [CCode (cname = "struct _gpgme_op_decrypt_result")]
- public struct DecryptResult {
- string unsupported_algorithm;
- bool wrong_key_usage;
- Recipient recipients;
- string filename;
- }
-
- /**
- * An receipient
- */
- [CCode (cname = "struct _gpgme_recipient")]
- public struct Recipient {
- Recipient *next;
- string keyid;
- PublicKeyAlgorithm pubkey_algo;
- GPGError.ErrorCode status;
- }
-
- /**
- * list of invalid keys
- */
- [CCode (cname = "struct _gpgme_invalid_key")]
- public struct InvalidKey {
- InvalidKey *next;
- string fpr;
- GPGError.ErrorCode reason;
- }
-
- /**
- * A Signature
- */
- [CCode (cname = "struct _gpgme_signature")]
- public struct Signature {
- /**
- * The next signature in the list
- */
- Signature *next;
-
- /**
- * A summary of the signature status
- */
- Sigsum summary;
-
- /**
- * Fingerprint or key ID of the signature
- */
- string fpr;
-
- /**
- * The Error status of the signature
- */
- GPGError.ErrorCode status;
-
- /**
- * Notation data and policy URLs
- */
- SigNotation notations;
-
- /**
- * Signature creation time
- */
- ulong timestamp;
-
- /**
- * Signature expiration time or 0
- */
- ulong exp_timestamp;
-
- /**
- * Key should not have been used for signing
- */
- bool wrong_key_usage;
-
- /**
- * PKA status
- */
- PKAStatus pka_trust;
-
- /**
- * Validity has been verified using the chain model
- */
- bool chain_model;
-
- /**
- * Validity
- */
- Validity validity;
-
- /**
- * Validity reason
- */
- GPGError.ErrorCode validity_reason;
-
- /**
- * public key algorithm used to create the signature
- */
- PublicKeyAlgorithm pubkey_algo;
-
- /**
- * The hash algorithm used to create the signature
- */
- HashAlgorithm hash_algo;
-
- /**
- * The mailbox from the PKA information or null
- */
- string? pka_adress;
- }
-
- /**
- * PKA Status
- */
- public enum PKAStatus {
- NOT_AVAILABLE,
- BAD,
- OKAY,
- RFU
- }
-
- /**
- * Flags used for the summary field in a Signature
- */
- [CCode (cname = "gpgme_sigsum_t", cprefix = "GPGME_SIGSUM_")]
- public enum Sigsum {
- /**
- * The signature is fully valid
- */
- VALID,
-
- /**
- * The signature is good
- */
- GREEN,
-
- /**
- * The signature is bad
- */
- RED,
-
- /**
- * One key has been revoked
- */
- KEY_REVOKED,
-
- /**
- * One key has expired
- */
- KEY_EXPIRED,
-
- /**
- * The signature has expired
- */
- SIG_EXPIRED,
-
- /**
- * Can't verfiy - missing key
- */
- KEY_MISSING,
-
- /**
- * CRL not available
- */
- CRL_MISSING,
-
- /**
- * Available CRL is too old
- */
- CRL_TOO_OLD,
-
- /**
- * A policy was not met
- */
- BAD_POLICY,
-
- /**
- * A system error occured
- */
- SYS_ERROR
- }
-
- /**
- * Encoding modes of Data objects
- */
- [CCode (cname = "gpgme_data_encoding_t", cprefix = "GPGME_DATA_ENCODING_")]
- public enum DataEncoding {
- /**
- * Not specified
- */
- NONE,
- /**
- * Binary encoded
- */
- BINARY,
- /**
- * Base64 encoded
- */
- BASE64,
- /**
- * Either PEM or OpenPGP Armor
- */
- ARMOR,
- /**
- * LF delimited URL list
- */
- URL,
- /**
- * LF percent escaped, delimited URL list
- */
- URLESC,
- /**
- * Nul determined URL list
- */
- URL0
- }
-
- /**
- * Public Key Algorithms from libgcrypt
- */
- [CCode (cname = "gpgme_pubkey_algo_t", cprefix = "GPGME_PK_")]
- public enum PublicKeyAlgorithm {
- RSA,
- RSA_E,
- RSA_S,
- ELG_E,
- DSA,
- ELG
- }
-
- /**
- * Hash Algorithms from libgcrypt
- */
- [CCode (cname = "gpgme_hash_algo_t", cprefix = "GPGME_MD_")]
- public enum HashAlgorithm {
- NONE,
- MD5,
- SHA1,
- RMD160,
- MD2,
- TIGER,
- HAVAL,
- SHA256,
- SHA384,
- SHA512,
- MD4,
- MD_CRC32,
- MD_CRC32_RFC1510,
- MD_CRC24_RFC2440
- }
-
- /**
- * Signature modes
- */
- [CCode (cname = "gpgme_sig_mode_t", cprefix = "GPGME_SIG_MODE_")]
- public enum SigMode {
- NORMAL,
- DETACH,
- CLEAR
- }
-
- /**
- * Validities for a trust item or key
- */
- [CCode (cname = "gpgme_validity_t", cprefix = "GPGME_VALIDITY_")]
- public enum Validity {
- UNKNOWN,
- UNDEFINED,
- NEVER,
- MARGINAL,
- FULL,
- ULTIMATE
- }
-
- /**
- * Protocols
- */
- [CCode (cname = "gpgme_protocol_t", cprefix = "GPGME_PROTOCOL_")]
- public enum Protocol {
- /**
- * Default Mode
- */
- OpenPGP,
- /**
- * Cryptographic Message Syntax
- */
- CMS,
- /**
- * Special code for gpgconf
- */
- GPGCONF,
- /**
- * Low-level access to an Assuan server
- */
- ASSUAN,
- UNKNOWN
- }
-
- /**
- * Keylist modes used by Context
- */
- [CCode (cname = "gpgme_keylist_mode_t", cprefix = "GPGME_KEYLIST_MODE_")]
- public enum KeylistMode {
- LOCAL,
- EXTERN,
- SIGS,
- SIG_NOTATIONS,
- EPHEMERAL,
- VALIDATE
- }
-
- /**
- * Export modes used by Context
- */
- [CCode (cname = "gpgme_export_mode_t", cprefix = "GPGME_EXPORT_MODE_")]
- public enum ExportMode {
- EXTERN
- }
-
- /**
- * Audit log function flags
- */
- [CCode (cprefix = "GPGME_AUDITLOG_")]
- public enum AuditLogFlag {
- HTML,
- WITH_HELP
- }
-
- /**
- * Signature notation flags
- */
- [CCode (cname = "gpgme_sig_notation_flags_t", cprefix = "GPGME_SIG_NOTATION_")]
- public enum SigNotationFlags {
- HUMAN_READABLE,
- CRITICAL
- }
-
- /**
- * Encryption Flags
- */
- [CCode (cname = "gpgme_encrypt_flags_t", cprefix = "GPGME_ENCRYPT_")]
- public enum EncryptFlags {
- ALWAYS_TRUST,
- NO_ENCRYPT_TO
- }
-
- /**
- * Edit Operation Stati
- */
- [CCode (cname = "gpgme_status_code_t", cprefix = "GPGME_STATUS_")]
- public enum StatusCode {
- EOF,
- ENTER,
- LEAVE,
- ABORT,
- GOODSIG,
- BADSIG,
- ERRSIG,
- BADARMOR,
- RSA_OR_IDEA,
- KEYEXPIRED,
- KEYREVOKED,
- TRUST_UNDEFINED,
- TRUST_NEVER,
- TRUST_MARGINAL,
- TRUST_FULLY,
- TRUST_ULTIMATE,
- SHM_INFO,
- SHM_GET,
- SHM_GET_BOOL,
- SHM_GET_HIDDEN,
- NEED_PASSPHRASE,
- VALIDSIG,
- SIG_ID,
- SIG_TO,
- ENC_TO,
- NODATA,
- BAD_PASSPHRASE,
- NO_PUBKEY,
- NO_SECKEY,
- NEED_PASSPHRASE_SYM,
- DECRYPTION_FAILED,
- DECRYPTION_OKAY,
- MISSING_PASSPHRASE,
- GOOD_PASSPHRASE,
- GOODMDC,
- BADMDC,
- ERRMDC,
- IMPORTED,
- IMPORT_OK,
- IMPORT_PROBLEM,
- IMPORT_RES,
- FILE_START,
- FILE_DONE,
- FILE_ERROR,
- BEGIN_DECRYPTION,
- END_DECRYPTION,
- BEGIN_ENCRYPTION,
- END_ENCRYPTION,
- DELETE_PROBLEM,
- GET_BOOL,
- GET_LINE,
- GET_HIDDEN,
- GOT_IT,
- PROGRESS,
- SIG_CREATED,
- SESSION_KEY,
- NOTATION_NAME,
- NOTATION_DATA,
- POLICY_URL,
- BEGIN_STREAM,
- END_STREAM,
- KEY_CREATED,
- USERID_HINT,
- UNEXPECTED,
- INV_RECP,
- NO_RECP,
- ALREADY_SIGNED,
- SIGEXPIRED,
- EXPSIG,
- EXPKEYSIG,
- TRUNCATED,
- ERROR,
- NEWSIG,
- REVKEYSIG,
- SIG_SUBPACKET,
- NEED_PASSPHRASE_PIN,
- SC_OP_FAILURE,
- SC_OP_SUCCESS,
- CARDCTRL,
- BACKUP_KEY_CREATED,
- PKA_TRUST_BAD,
- PKA_TRUST_GOOD,
- PLAINTEXT
- }
-
- /**
- * The Context object represents a GPG instance
- */
- [Compact]
- [CCode (cname = "struct gpgme_context", free_function = "gpgme_release", cprefix = "gpgme_")]
- public class Context {
- /**
- * Create a new context, returns Error Status Code
- */
- [CCode (cname = "gpgme_new")]
- public static GPGError.ErrorCode Context(out Context ctx);
-
- public GPGError.ErrorCode set_protocol(Protocol p);
- public Protocol get_protocol();
-
- public void set_armor(bool yes);
- public bool get_armor();
-
- public void set_textmode(bool yes);
- public bool get_textmode();
-
- public GPGError.ErrorCode set_keylist_mode(KeylistMode mode);
- public KeylistMode get_keylist_mode();
-
- /**
- * Include up to nr_of_certs certificates in an S/MIME message,
- * Use "-256" to use the backend's default.
- */
- public void set_include_certs(int nr_of_certs = -256);
-
- /**
- * Return the number of certs to include in an S/MIME message
- */
- public int get_include_certs();
-
- /**
- * Set callback function for requesting passphrase. hook_value will be
- * passed as first argument.
- */
- public void set_passphrase_cb(passphrase_callback cb, void* hook_value = null);
-
- /**
- * Get callback function and hook_value
- */
- public void get_passphrase_cb(out passphrase_callback cb, out void* hook_value);
-
- public GPGError.ErrorCode set_locale(int category, string val);
-
- /**
- * Get information about the configured engines. The returned data is valid
- * until the next set_engine_info() call.
- */
- [CCode (cname = "gpgme_ctx_get_engine_info")]
- public EngineInfo* get_engine_info();
-
- /**
- * Set information about the configured engines. The string parameters may not
- * be free'd after this calls, because they are not copied.
- */
- [CCode (cname = "gpgme_ctx_set_engine_info")]
- public GPGError.ErrorCode set_engine_info(Protocol proto, string file_name, string home_dir);
-
- /**
- * Delete all signers
- */
- public void signers_clear();
-
- /**
- * Add key to list of signers
- */
- public GPGError.ErrorCode signers_add(Key key);
-
- /**
- * Get the n-th signer's key
- */
- public Key* signers_enum(int n);
-
- /**
- * Clear all notation data
- */
- public void sig_notation_clear();
-
- /**
- * Add human readable notation data. If name is null,
- * then value val should be a policy URL. The HUMAN_READABLE
- * flag is forced to be true for notation data and false
- * for policy URLs.
- */
- public GPGError.ErrorCode sig_notation_add(string name, string val, SigNotationFlags flags);
-
- /**
- * Get sig notations
- */
- public SigNotation* sig_notation_get();
-
- /**
- * Get key with the fingerprint FPR from the crypto backend.
- * If SECRET is true, get the secret key.
- */
- public GPGError.ErrorCode get_key(string fpr, out Key key, bool secret);
-
- /**
- * process the pending operation and, if hang is true, wait for
- * the pending operation to finish.
- */
- public Context* wait(out GPGError.ErrorCode status, bool hang);
-
- /**
- * Retrieve a pointer to the results of the signing operation
- */
- public SignResult* op_sign_result();
-
- /**
- * Sign the plaintext PLAIN and store the signature in SIG.
- */
- public GPGError.ErrorCode op_sign(Data plain, Data sig, SigMode mode);
-
- /**
- * Retrieve a pointer to the result of the verify operation
- */
- public VerifyResult* op_verify_result();
-
- /**
- * Verify that SIG is a valid signature for SIGNED_TEXT.
- */
- public GPGError.ErrorCode op_verify(Data sig, Data signed_text, Data? plaintext);
-
- /**
- * Retrieve a pointer to the result of the encrypt operation
- */
- public EncryptResult* op_encrypt_result();
-
- /**
- * Encrypt plaintext PLAIN for the recipients RECP and store the
- * resulting ciphertext in CIPHER.
- */
- public GPGError.ErrorCode op_encrypt([CCode (array_length = false)] Key[] recp, EncryptFlags flags, Data plain, Data cipher);
-
- /**
- * Retrieve a pointer to the result of the decrypt operation
- */
- public DecryptResult* op_decrypt_result();
-
- /**
- * Decrypt ciphertext CIPHER and store the resulting plaintext
- * in PLAIN.
- */
- public GPGError.ErrorCode op_decrypt(Data cipher, Data plain);
-
- /**
- * Export the keys found by PATTERN into KEYDATA. If PATTERN is
- * NULL all keys will be exported.
- */
- public GPGError.ErrorCode op_export(string? pattern, ExportMode mode, Data keydata);
-
- /**
- * Import the keys in KEYDATA.
- */
- public GPGError.ErrorCode op_import(Data keydata);
-
- /**
- * Get result of last op_import.
- */
- public unowned ImportResult op_import_result();
-
- /**
- * Initiates a key listing operation. It sets everything up, so that
- * subsequent invocations of op_keylist_next() return the keys in the list.
- *
- * If pattern is NULL, all available keys are returned. Otherwise, pattern
- * contains an engine specific expression that is used to limit the list to
- * all keys matching the pattern.
- *
- * If secret_only is not 0, the list is restricted to secret keys only.
- *
- * The context will be busy until either all keys are received (and
- * op_keylist_next() returns GPG_ERR_EOF), or gpgme_op_keylist_end is called
- * to finish the operation.
- *
- * The function returns the error code GPG_ERR_INV_VALUE if ctx is not a valid
- * pointer, and passes through any errors that are reported by the crypto engine
- * support routines.
- */
- public GPGError.ErrorCode op_keylist_start(string? pattern = null, int secret_only = 0);
-
- /**
- * returns the next key in the list created by a previous op_keylist_start()
- * operation in the context ctx. The key will have one reference for the user.
- *
- * If the last key in the list has already been returned, op_keylist_next()
- * returns GPG_ERR_EOF.
- *
- * The function returns the error code GPG_ERR_INV_VALUE if ctx or r_key is
- * not a valid pointer, and GPG_ERR_ENOMEM if there is not enough memory for
- * the operation.
- */
- public GPGError.ErrorCode op_keylist_next(out Key key);
-
- /**
- * ends a pending key list operation in the context.
- *
- * After the operation completed successfully, the result of the key listing
- * operation can be retrieved with op_keylist_result().
- *
- * The function returns the error code GPG_ERR_INV_VALUE if ctx is not a valid
- * pointer, and GPG_ERR_ENOMEM if at some time during the operation there was
- * not enough memory available.
- */
- public GPGError.ErrorCode op_keylist_end();
-
- /**
- * The function op_keylist_result() returns a KeylistResult holding the result of
- * a op_keylist_*() operation. The returned KeylistResult is only valid if the last
- * operation on the context was a key listing operation, and if this operation
- * finished successfully. The returned KeylistResult is only valid until the next
- * operation is started on the context.
- */
- public KeylistResult op_keylist_result();
- }
-
- [Flags]
- [CCode (cname="unsigned int")]
- public enum ImportStatusFlags {
- /**
- * The key was new.
- */
- [CCode (cname = "GPGME_IMPORT_NEW")]
- NEW,
- /**
- * The key contained new user IDs.
- */
- [CCode (cname = "GPGME_IMPORT_UID")]
- UID,
- /**
- * The key contained new signatures.
- */
- [CCode (cname = "GPGME_IMPORT_SIG")]
- SIG,
- /**
- * The key contained new sub keys.
- */
- [CCode (cname = "GPGME_IMPORT_SUBKEY")]
- SUBKEY,
- /**
- * The key contained a secret key.
- */
- [CCode (cname = "GPGME_IMPORT_SECRET")]
- SECRET
- }
-
- [Compact]
- [CCode (cname = "struct _gpgme_import_status")]
- public class ImportStatus {
- /**
- * This is a pointer to the next status structure in the linked list, or null
- * if this is the last element.
- */
- public ImportStatus? next;
-
- /**
- * fingerprint of the key that was considered.
- */
- public string fpr;
-
- /**
- * If the import was not successful, this is the error value that caused the
- * import to fail. Otherwise the error code is GPG_ERR_NO_ERROR.
- */
- public GPGError.ErrorCode result;
-
- /**
- * Flags what parts of the key have been imported. May be 0, if the key has
- * already been known.
- */
- public ImportStatusFlags status;
- }
-
- [Compact]
- [CCode (cname = "struct _gpgme_op_import_result")]
- public class ImportResult {
- /**
- * The total number of considered keys.
- */
- public int considered;
-
- /**
- * The number of keys without user ID.
- */
- public int no_user_id;
-
- /**
- * The total number of imported keys.
- */
- public int imported;
-
- /**
- * The number of imported RSA keys.
- */
- public int imported_rsa;
-
- /**
- * The number of unchanged keys.
- */
- public int unchanged;
-
- /**
- * The number of new user IDs.
- */
- public int new_user_ids;
-
- /**
- * The number of new sub keys.
- */
- public int new_sub_keys;
-
- /**
- * The number of new signatures.
- */
- public int new_signatures;
-
- /**
- * The number of new revocations.
- */
- public int new_revocations;
-
- /**
- * The total number of secret keys read.
- */
- public int secret_read;
-
- /**
- * The number of imported secret keys.
- */
- public int secret_imported;
-
- /**
- * The number of unchanged secret keys.
- */
- public int secret_unchanged;
-
- /**
- * The number of keys not imported.
- */
- public int not_imported;
-
- /*
- * A linked list of ImportStatus objects which
- * contains more information about the keys for
- * which an import was attempted.
- */
- public ImportStatus imports;
- }
-
- [Compact]
- [CCode (cname = "struct _gpgme_op_keylist_result")]
- public class KeylistResult {
- uint truncated;
- }
-
-
- /**
- * Data Object, contains encrypted and/or unencrypted data
- */
- [Compact]
- [CCode (cname = "struct gpgme_data", free_function = "gpgme_data_release", cprefix = "gpgme_data_")]
- public class Data {
- /**
- * Create a new data buffer, returns Error Status Code.
- */
- [CCode (cname = "gpgme_data_new")]
- public static GPGError.ErrorCode create(out Data d);
-
- /**
- * Create a new data buffer filled with SIZE bytes starting
- * from BUFFER. If COPY is false, COPYING is delayed until
- * necessary and the data is taken from the original location
- * when needed. Returns Error Status Code.
- */
- [CCode (cname = "gpgme_data_new_from_mem")]
- public static GPGError.ErrorCode create_from_memory(out Data d, uint8[] buffer, bool copy);
-
- /**
- * Create a new data buffer filled with the content of the file.
- * COPY must be non-zero. For delayed read, please use
- * create_from_fd or create_from stream instead.
- */
- [CCode (cname = "gpgme_data_new_from_file")]
- public static GPGError.ErrorCode create_from_file(out Data d, string filename, int copy = 1);
-
-
- /**
- * Destroy the object and return a pointer to its content.
- * It's size is returned in R_LEN.
- */
- [CCode (cname = "gpgme_data_release_and_get_mem")]
- public string release_and_get_mem(out size_t len);
-
- /**
- * Read up to SIZE bytes into buffer BUFFER from the data object.
- * Return the number of characters read, 0 on EOF and -1 on error.
- * If an error occurs, errno is set.
- */
- public ssize_t read(uint8[] buf);
-
- /**
- * Write up to SIZE bytes from buffer BUFFER to the data object.
- * Return the number of characters written, or -1 on error.
- * If an error occurs, errno is set.
- */
- public ssize_t write(uint8[] buf);
-
- /**
- * Set the current position from where the next read or write
- * starts in the data object to OFFSET, relativ to WHENCE.
- */
- public long seek(long offset, int whence=0);
-
- /**
- * Get the encoding attribute of the buffer
- */
- public DataEncoding *get_encoding();
-
- /**
- * Set the encoding attribute of the buffer to ENC
- */
- public GPGError.ErrorCode set_encoding(DataEncoding enc);
- }
-
- [CCode (cname = "gpgme_get_protocol_name")]
- public unowned string get_protocol_name(Protocol p);
-
- [CCode (cname = "gpgme_pubkey_algo_name")]
- public unowned string get_public_key_algorithm_name(PublicKeyAlgorithm algo);
-
- [CCode (cname = "gpgme_hash_algo_name")]
- public unowned string get_hash_algorithm_name(HashAlgorithm algo);
-
- [CCode (cname = "gpgme_passphrase_cb_t", has_target = false)]
- public delegate GPGError.ErrorCode passphrase_callback(void* hook, string uid_hint, string passphrase_info, bool prev_was_bad, int fd);
-
- /**
- * Get version of libgpgme
- * Always call this function before using gpgme, it initializes some stuff
- */
- [CCode (cname = "gpgme_check_version")]
- public unowned string check_version(string? required_version = null);
-
- /**
- * Verify that the engine implementing proto is installed and
- * available.
- */
- [CCode (cname = "gpgme_engine_check_version")]
- public GPGError.ErrorCode engine_check_version(Protocol proto);
-
- /**
- * Get information about the configured engines. The returned data is valid
- * until the next set_engine_info() call.
- */
- [CCode (cname = "gpgme_get_engine_information")]
- public GPGError.ErrorCode get_engine_information(out EngineInfo engine_info);
-
- /**
- * Return the error string for ERR in the user-supplied buffer BUF
- * of size BUFLEN. This function is thread-safe, if a thread-safe
- * strerror_r() function is provided by the system. If the function
- * succeeds, 0 is returned and BUF contains the string describing
- * the error. If the buffer was not large enough, ERANGE is returned
- * and BUF contains as much of the beginning of the error string as
- * fits into the buffer. Returns Error Status Code.
- */
- [CCode (cname = "gpgme_strerror_r")]
- public int strerror_r(GPGError.ErrorCode err, uint8[] buf);
-
- /**
- * Like strerror_r, but returns a pointer to the string. This method
- * is not thread safe!
- */
- [CCode (cname = "gpgme_strerror")]
- public unowned string strerror(GPGError.ErrorCode err);
-}