aboutsummaryrefslogtreecommitdiff
path: root/gpgme-vala/vapi/gpgme_public.vapi
diff options
context:
space:
mode:
authorfiaxh <git@mx.ax.lt>2017-03-10 16:16:48 +0100
committerfiaxh <git@mx.ax.lt>2017-03-10 17:29:23 +0100
commit9b8cf706d6b0ff83472af53c31b96c4c2f55f6b7 (patch)
treef31048126f135156da9d98f20cb4254933d9841d /gpgme-vala/vapi/gpgme_public.vapi
parent2fe8489d368a371aefbfbe66e74621a8df14cdc2 (diff)
downloaddino-9b8cf706d6b0ff83472af53c31b96c4c2f55f6b7.tar.gz
dino-9b8cf706d6b0ff83472af53c31b96c4c2f55f6b7.zip
Outfactor PGP into pgpme-vala
Diffstat (limited to 'gpgme-vala/vapi/gpgme_public.vapi')
-rw-r--r--gpgme-vala/vapi/gpgme_public.vapi160
1 files changed, 160 insertions, 0 deletions
diff --git a/gpgme-vala/vapi/gpgme_public.vapi b/gpgme-vala/vapi/gpgme_public.vapi
new file mode 100644
index 00000000..86963025
--- /dev/null
+++ b/gpgme-vala/vapi/gpgme_public.vapi
@@ -0,0 +1,160 @@
+[CCode (lower_case_cprefix = "gpgme_", cheader_filename = "gpgme.h")]
+namespace GPG {
+
+[CCode (cname = "gpgme_check_version")]
+public unowned string check_version(string? required_version = null);
+
+[Compact]
+[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;
+ public string issuer_serial;
+ public string issuer_name;
+ public string issuer_id;
+ public Validity owner_trust;
+ [CCode(array_null_terminated = true)]
+ public SubKey[] subkeys;
+ [CCode(array_null_terminated = true)]
+ public UserID[] uids;
+ public KeylistMode keylist_mode;
+}
+
+[CCode (cname = "struct _gpgme_user_id")]
+public struct UserID {
+ UserID* next;
+
+ bool revoked;
+ bool invalid;
+ Validity validity;
+ string uid;
+ string name;
+ string email;
+ string comment;
+ KeySig signatures;
+}
+
+[CCode (cname = "struct _gpgme_key_sig")]
+public struct KeySig {
+ KeySig* next;
+ bool invoked;
+ bool expired;
+ bool invalid;
+ bool exportable;
+ PublicKeyAlgorithm algo;
+ string keyid;
+ long timestamp;
+ long expires;
+// GPGError.Error status;
+ string uid;
+ string name;
+ string email;
+ string comment;
+ uint sig_class;
+ SigNotation notations;
+}
+
+[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;
+
+ string fpr;
+ long timestamp;
+ long expires;
+ string? cardnumber;
+}
+
+[CCode (cname = "struct _gpgme_sig_notation")]
+public struct SigNotation {
+ SigNotation* next;
+ string? name;
+ string value;
+ int name_len;
+ int value_len;
+ SigNotationFlags flags;
+ bool human_readable;
+ bool critical;
+}
+
+[CCode (cname = "gpgme_sig_notation_flags_t", cprefix = "GPGME_SIG_NOTATION_")]
+public enum SigNotationFlags {
+ HUMAN_READABLE,
+ CRITICAL
+}
+
+[CCode (cname = "gpgme_sig_mode_t", cprefix = "GPGME_SIG_MODE_")]
+public enum SigMode {
+ NORMAL,
+ DETACH,
+ CLEAR
+}
+
+[CCode (cname = "gpgme_encrypt_flags_t", cprefix = "GPGME_ENCRYPT_")]
+public enum EncryptFlags {
+ ALWAYS_TRUST,
+ NO_ENCRYPT_TO
+}
+
+[CCode (cname = "gpgme_pubkey_algo_t", cprefix = "GPGME_PK_")]
+public enum PublicKeyAlgorithm {
+ RSA,
+ RSA_E,
+ RSA_S,
+ ELG_E,
+ DSA,
+ ELG
+}
+
+[CCode (cname = "gpgme_protocol_t", cprefix = "GPGME_PROTOCOL_")]
+public enum Protocol {
+ OpenPGP,
+ CMS,
+ GPGCONF,
+ ASSUAN,
+ UNKNOWN
+}
+
+[CCode (cname = "gpgme_keylist_mode_t", cprefix = "GPGME_KEYLIST_MODE_")]
+public enum KeylistMode {
+ LOCAL,
+ EXTERN,
+ SIGS,
+ SIG_NOTATIONS,
+ EPHEMERAL,
+ VALIDATE
+}
+
+[CCode (cname = "gpgme_validity_t", cprefix = "GPGME_VALIDITY_")]
+public enum Validity {
+ UNKNOWN,
+ UNDEFINED,
+ NEVER,
+ MARGINAL,
+ FULL,
+ ULTIMATE
+}
+
+} \ No newline at end of file