rpm 5.3.12
rpmio/rpmgc.h
Go to the documentation of this file.
00001 #ifndef H_RPMGC
00002 #define H_RPMGC
00003 
00008 #include <rpmiotypes.h>
00009 #include <rpmpgp.h>
00010 #include <rpmsw.h>
00011 
00012 /* Implementation specific includes. */
00013 #if defined(_RPMGC_INTERNAL)
00014 #include <gcrypt.h>
00015 #endif
00016 
00019 typedef /*abstract@*/ struct rpmgc_s * rpmgc;
00020 
00024 #if defined(_RPMGC_INTERNAL)
00025 struct rpmgc_s {
00026     int in_fips_mode;   /* XXX trsa */
00027     int nbits;          /* XXX trsa */
00028     int qbits;          /* XXX trsa */
00029     gcry_error_t badok; /* XXX trsa */
00030     gcry_error_t err;
00031 
00032     void * digest;
00033     size_t digestlen;
00034 
00035     gcry_sexp_t key_spec;       /* XXX private to Generate? */
00036     gcry_sexp_t key_pair;       /* XXX private to Generate? */
00037 
00038     gcry_sexp_t pub_key;
00039     gcry_sexp_t sec_key;
00040     gcry_sexp_t hash;
00041     gcry_sexp_t sig;
00042 
00043     /* DSA parameters. */
00044     gcry_mpi_t p;
00045     gcry_mpi_t q;
00046     gcry_mpi_t g;
00047     gcry_mpi_t y;
00048 
00049     gcry_mpi_t r;
00050     gcry_mpi_t s;
00051 
00052     gcry_mpi_t hm;
00053 
00054     /* RSA parameters. */
00055     gcry_mpi_t n;
00056     gcry_mpi_t e;
00057     gcry_mpi_t c;
00058 
00059     /* ECDSA parameters (none atm). */
00060 
00061 };
00062 #endif
00063 
00064 /*@unchecked@*/
00065 extern pgpImplVecs_t rpmgcImplVecs;
00066 
00067 #endif  /* H_RPMGC */