#ifndef _IRR_PGP_H
#define _IRR_PGP_H
#include <config.h>
enum KEY_TYPE {
UNKNOWN_KT = 0,
RSA,
DSS
};
enum PGP_OP_TYPE {
PGP_DEL,
PGP_ADD,
PGP_FINGERPR,
PGP_VERIFY_REGULAR,
PGP_VERIFY_DETACHED,
PGP_SIGN_REGULAR,
PGP_SIGN_DETACHED
};
typedef struct _char_list_t {
char *key;
struct _char_list_t *next;
} char_list_t;
typedef struct _pgp_data_t {
enum KEY_TYPE type; /* RSA, DSS */
int sign_key; /* can this key be used for signing? */
int hex_cnt; /* number of hex ID's found */
int owner_cnt; /* number of uid/owner's found */
int fingerpr_cnt; /* number of fingerprints found */
char_list_t *hex_first; /* pointers to the hex ID list */
char_list_t *hex_last;
char_list_t *owner_first; /* pointers to the uid/owner's list */
char_list_t *owner_last;
char_list_t *fp_first; /* pointers to the fingerprint list */
char_list_t *fp_last;
} pgp_data_t;
/* function prototypes/lib linkables */
int pgp_add (trace_t *, char *, char *, pgp_data_t *);
int pgp_del (trace_t *, char *, char *);
int pgp_fingerpr (trace_t *, char *, char *, pgp_data_t *);
int pgp_verify_regular (trace_t *, char *, char *, char *, pgp_data_t *);
int pgp_verify_detached (trace_t *, char *, char *, char *, pgp_data_t *);
int pgp_hexid_check (char *, char *);
int pgp_sign_detached (trace_t *, char *, char *, char *, char *, char *);
int pgp_sign_regular (trace_t *, char *, char *, char *, char *, char *);
void pgp_free (pgp_data_t *);
/* debug */
void display_pgp_data (pgp_data_t *);
#endif /* _IRR_PGP_H */
syntax highlighted by Code2HTML, v. 0.9.1