gpg-interface.hon commit Merge branch 'jk/doc-the-this' into next (6625e50)
   1#ifndef GPG_INTERFACE_H
   2#define GPG_INTERFACE_H
   3
   4#define GPG_VERIFY_VERBOSE              1
   5#define GPG_VERIFY_RAW                  2
   6#define GPG_VERIFY_OMIT_STATUS  4
   7
   8struct signature_check {
   9        char *payload;
  10        char *gpg_output;
  11        char *gpg_status;
  12
  13        /*
  14         * possible "result":
  15         * 0 (not checked)
  16         * N (checked but no further result)
  17         * U (untrusted good)
  18         * G (good)
  19         * B (bad)
  20         */
  21        char result;
  22        char *signer;
  23        char *key;
  24};
  25
  26extern void signature_check_clear(struct signature_check *sigc);
  27extern size_t parse_signature(const char *buf, unsigned long size);
  28extern void parse_gpg_output(struct signature_check *);
  29extern int sign_buffer(struct strbuf *buffer, struct strbuf *signature, const char *signing_key);
  30extern int verify_signed_buffer(const char *payload, size_t payload_size, const char *signature, size_t signature_size, struct strbuf *gpg_output, struct strbuf *gpg_status);
  31extern int git_gpg_config(const char *, const char *, void *);
  32extern void set_signing_key(const char *);
  33extern const char *get_signing_key(void);
  34extern int check_signature(const char *payload, size_t plen,
  35        const char *signature, size_t slen, struct signature_check *sigc);
  36void print_signature_buffer(const struct signature_check *sigc, unsigned flags);
  37
  38#endif