rpm 5.3.12
rpmio/rpmbc.h
Go to the documentation of this file.
00001 #ifndef H_RPMBC
00002 #define H_RPMBC
00003 
00008 #include <beecrypt/api.h>
00009 
00010 #include <rpmiotypes.h>
00011 #include <rpmpgp.h>
00012 #include <rpmsw.h>
00013 
00014 /* Drag in the beecrypt includes. */
00015 #include <beecrypt/beecrypt.h>
00016 #include <beecrypt/base64.h>
00017 #include <beecrypt/dsa.h>
00018 #include <beecrypt/endianness.h>
00019 #include <beecrypt/md4.h>
00020 #include <beecrypt/md5.h>
00021 #include <beecrypt/mp.h>
00022 #include <beecrypt/rsa.h>
00023 #include <beecrypt/rsapk.h>
00024 #include <beecrypt/elgamal.h>
00025 #include <beecrypt/ripemd128.h>
00026 #include <beecrypt/ripemd160.h>
00027 #include <beecrypt/ripemd256.h>
00028 #include <beecrypt/ripemd320.h>
00029 #include <beecrypt/sha1.h>
00030 #include <beecrypt/sha224.h>
00031 #include <beecrypt/sha256.h>
00032 #include <beecrypt/sha384.h>
00033 #include <beecrypt/sha512.h>
00034 
00037 typedef /*abstract@*/ struct rpmbc_s * rpmbc;
00038 
00041 #if defined(_RPMBC_INTERNAL)
00042 struct rpmbc_s {
00043     int in_fips_mode;   /* XXX trsa */
00044     int nbits;          /* XXX trsa */
00045     int qbits;          /* XXX trsa */
00046     int badok;          /* XXX trsa */
00047     int err;
00048 
00049     void * digest;
00050     size_t digestlen;
00051 
00052     randomGeneratorContext rngc;
00053 
00054     rsakp rsa_keypair;
00055 
00056     dsakp dsa_keypair;
00057 
00058     dlkp_p elg_keypair;
00059 #ifdef  DYING
00060 dldp_p elg_params;
00061 #endif
00062 
00063     /* DSA parameters. */
00064     mpnumber r;
00065     mpnumber s;
00066 
00067     /* RSA parameters. */
00068     mpnumber hm;
00069     mpnumber m;
00070     mpnumber c;
00071 };
00072 #endif
00073 
00074 /*@unchecked@*/
00075 extern pgpImplVecs_t rpmbcImplVecs;
00076 
00077 #endif  /* H_RPMBC */