aboutsummaryrefslogtreecommitdiffstats
path: root/g10
diff options
context:
space:
mode:
Diffstat (limited to 'g10')
-rw-r--r--g10/Makefile.am1
-rw-r--r--g10/cipher.h108
-rw-r--r--g10/zlib-riscos.h133
3 files changed, 242 insertions, 0 deletions
diff --git a/g10/Makefile.am b/g10/Makefile.am
index abf41c30c..3e81ae418 100644
--- a/g10/Makefile.am
+++ b/g10/Makefile.am
@@ -48,6 +48,7 @@ endif
common_source = \
gpg.h \
+ cipher.h \
build-packet.c \
compress.c \
$(bzip2_source) \
diff --git a/g10/cipher.h b/g10/cipher.h
new file mode 100644
index 000000000..7e784d238
--- /dev/null
+++ b/g10/cipher.h
@@ -0,0 +1,108 @@
+/* cipher.h - Definitions for OpenPGP
+ * Copyright (C) 1998, 1999, 2000, 2001, 2006,
+ * 2007, 2010 Free Software Foundation, Inc.
+ *
+ * This file is part of GnuPG.
+ *
+ * GnuPG is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GnuPG is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef G10_CIPHER_H
+#define G10_CIPHER_H
+
+#include <gcrypt.h>
+
+/* Constants for OpenPGP. */
+
+#define CIPHER_ALGO_NONE /* 0 */ GCRY_CIPHER_NONE
+#define CIPHER_ALGO_IDEA /* 1 */ GCRY_CIPHER_IDEA
+#define CIPHER_ALGO_3DES /* 2 */ GCRY_CIPHER_3DES
+#define CIPHER_ALGO_CAST5 /* 3 */ GCRY_CIPHER_CAST5
+#define CIPHER_ALGO_BLOWFISH /* 4 */ GCRY_CIPHER_BLOWFISH /* 128 bit */
+/* 5 & 6 are reserved */
+#define CIPHER_ALGO_AES /* 7 */ GCRY_CIPHER_AES
+#define CIPHER_ALGO_AES192 /* 8 */ GCRY_CIPHER_AES192
+#define CIPHER_ALGO_AES256 /* 9 */ GCRY_CIPHER_AES256
+#define CIPHER_ALGO_RIJNDAEL CIPHER_ALGO_AES
+#define CIPHER_ALGO_RIJNDAEL192 CIPHER_ALGO_AES192
+#define CIPHER_ALGO_RIJNDAEL256 CIPHER_ALGO_AES256
+#define CIPHER_ALGO_TWOFISH /* 10 */ GCRY_CIPHER_TWOFISH /* 256 bit */
+/* Note: Camellia ids don't match those used by libgcrypt. */
+#define CIPHER_ALGO_CAMELLIA128 11
+#define CIPHER_ALGO_CAMELLIA192 12
+#define CIPHER_ALGO_CAMELLIA256 13
+#define CIPHER_ALGO_DUMMY 110 /* No encryption at all. */
+
+#define PUBKEY_ALGO_RSA /* 1 */ GCRY_PK_RSA
+#define PUBKEY_ALGO_RSA_E /* 2 */ GCRY_PK_RSA_E /* RSA encrypt only. */
+#define PUBKEY_ALGO_RSA_S /* 3 */ GCRY_PK_RSA_S /* RSA sign only. */
+#define PUBKEY_ALGO_ELGAMAL_E /* 16 */ GCRY_PK_ELG_E /* Elgamal encr only */
+#define PUBKEY_ALGO_DSA /* 17 */ GCRY_PK_DSA
+#define PUBKEY_ALGO_ECDH 18
+#define PUBKEY_ALGO_ECDSA 19
+#define PUBKEY_ALGO_ELGAMAL /* 20 */ GCRY_PK_ELG /* Elgamal encr+sign */
+#define PUBKEY_ALGO_EDDSA 105 /* Experimental! */
+
+#define PUBKEY_USAGE_SIG GCRY_PK_USAGE_SIGN /* Good for signatures. */
+#define PUBKEY_USAGE_ENC GCRY_PK_USAGE_ENCR /* Good for encryption. */
+#define PUBKEY_USAGE_CERT GCRY_PK_USAGE_CERT /* Also good to certify keys.*/
+#define PUBKEY_USAGE_AUTH GCRY_PK_USAGE_AUTH /* Good for authentication. */
+#define PUBKEY_USAGE_UNKNOWN GCRY_PK_USAGE_UNKN /* Unknown usage flag. */
+#define PUBKEY_USAGE_NONE 256 /* No usage given. */
+#if (GCRY_PK_USAGE_SIGN | GCRY_PK_USAGE_ENCR | GCRY_PK_USAGE_CERT \
+ | GCRY_PK_USAGE_AUTH | GCRY_PK_USAGE_UNKN) >= 256
+# error Please choose another value for PUBKEY_USAGE_NONE
+#endif
+
+#define DIGEST_ALGO_MD5 /* 1 */ GCRY_MD_MD5
+#define DIGEST_ALGO_SHA1 /* 2 */ GCRY_MD_SHA1
+#define DIGEST_ALGO_RMD160 /* 3 */ GCRY_MD_RMD160
+/* 4, 5, 6, and 7 are reserved */
+#define DIGEST_ALGO_SHA256 /* 8 */ GCRY_MD_SHA256
+#define DIGEST_ALGO_SHA384 /* 9 */ GCRY_MD_SHA384
+#define DIGEST_ALGO_SHA512 /* 10 */ GCRY_MD_SHA512
+/* SHA224 is only available in libgcrypt 1.4.0; thus we
+ can't use the GCRY macro here. */
+#define DIGEST_ALGO_SHA224 /* 11 */ 11 /* GCRY_MD_SHA224 */
+
+#define COMPRESS_ALGO_NONE 0
+#define COMPRESS_ALGO_ZIP 1
+#define COMPRESS_ALGO_ZLIB 2
+#define COMPRESS_ALGO_BZIP2 3
+
+#define is_RSA(a) ((a)==PUBKEY_ALGO_RSA || (a)==PUBKEY_ALGO_RSA_E \
+ || (a)==PUBKEY_ALGO_RSA_S )
+#define is_ELGAMAL(a) ((a)==PUBKEY_ALGO_ELGAMAL_E)
+#define is_DSA(a) ((a)==PUBKEY_ALGO_DSA)
+
+/* The data encryption key object. */
+typedef struct
+{
+ int algo;
+ int keylen;
+ int algo_info_printed;
+ int use_mdc;
+ int symmetric;
+ byte key[32]; /* This is the largest used keylen (256 bit). */
+ char s2k_cacheid[1+16+1];
+} DEK;
+
+
+
+/* Constants to allocate static MPI arrays. */
+#define PUBKEY_MAX_NPKEY 5
+#define PUBKEY_MAX_NSKEY 7
+#define PUBKEY_MAX_NSIG 2
+#define PUBKEY_MAX_NENC 2
+
+#endif /*G10_CIPHER_H*/
diff --git a/g10/zlib-riscos.h b/g10/zlib-riscos.h
new file mode 100644
index 000000000..0f547d380
--- /dev/null
+++ b/g10/zlib-riscos.h
@@ -0,0 +1,133 @@
+/* zlib-riscos.h
+ * Copyright (C) 2002 Free Software Foundation, Inc.
+ *
+ * This file is part of GNUPG.
+ *
+ * GNUPG is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GNUPG is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef G10_ZLIB_RISCOS_H
+#define G10_ZLIB_RISCOS_H
+
+#include <kernel.h>
+#include <swis.h>
+
+static const char * const zlib_path[] = {
+ "System:310.Modules.ZLib",
+ NULL
+};
+
+#define ZLib_Compress 0x53AC0
+#define ZLib_Decompress 0x53AC1
+#define ZLib_CRC32 0x53AC2
+#define ZLib_Adler32 0x53AC3
+#define ZLib_Version 0x53AC4
+#define ZLib_ZCompress 0x53AC5
+#define ZLib_ZCompress2 0x53AC6
+#define ZLib_ZUncompress 0x53AC7
+#define ZLib_DeflateInit 0x53AC8
+#define ZLib_InflateInit 0x53AC9
+#define ZLib_DeflateInit2 0x53ACA
+#define ZLib_InflateInit2 0x53ACB
+#define ZLib_Deflate 0x53ACC
+#define ZLib_DeflateEnd 0x53ACD
+#define ZLib_Inflate 0x53ACE
+#define ZLib_InflateEnd 0x53ACF
+#define ZLib_DeflateSetDictionary 0x53AD0
+#define ZLib_DeflateCopy 0x53AD1
+#define ZLib_DeflateReset 0x53AD2
+#define ZLib_DeflateParams 0x53AD3
+#define ZLib_InflateSetDictionary 0x53AD4
+#define ZLib_InflateSync 0x53AD5
+#define ZLib_InflateReset 0x53AD6
+#define ZLib_GZOpen 0x53AD7
+#define ZLib_GZRead 0x53AD8
+#define ZLib_GRWrite 0x53AD9
+#define ZLib_GZFlush 0x53ADA
+#define ZLib_GZClose 0x53ADB
+#define ZLib_GZError 0x53ADC
+#define ZLib_GZSeek 0x53ADD
+#define ZLib_GZTell 0x53ADE
+#define ZLib_GZEOF 0x53ADF
+#define ZLib_TaskAssociate 0x53AE0
+
+#define crc32(r0,r1,r2) \
+ _swi(ZLib_CRC32, _INR(0,2) | _RETURN(0), r0,r1,r2)
+#define adler32(r0,r1,r2) \
+ _swi(ZLib_Adler32, _INR(0,2) | _RETURN(0), r0,r1,r2)
+#define zlibVersion() \
+ _swi(ZLib_Version, _RETURN(0))
+#define compress(r0,r1,r2,r3) \
+ _swi(ZLib_ZCompress, _INR(0,3) | _RETURN(0)|_OUT(1), r0,r1,r2,r3, &r1)
+#define compress2(r0,r1,r2,r3,r4) \
+ _swi(ZLib_ZCompress2, _INR(0,4) | _RETURN(0)|_OUT(1), r0,r1,r2,r3,r4, &r1)
+#define uncompress(r0,r1,r2,r3) \
+ _swi(ZLib_ZUncompress, _INR(0,3) | _RETURN(0)|_OUT(1), r0,r1,r2,r3, &r1)
+#define deflateInit_(r0,r1,r2,r3) \
+ _swi(ZLib_DeflateInit, _INR(0,3) | _RETURN(0), r0,r1,r2,r3)
+#define inflateInit_(r0,r1,r2) \
+ _swi(ZLib_InflateInit, _INR(0,2) | _RETURN(0), r0,r1,r2)
+#define deflateInit2_(r0,r1,r2,r3,r4,r5,r6,r7) \
+ _swi(ZLib_DeflateInit2, _INR(0,7) | _RETURN(0), r0,r1,r2,r3,r4,r5,r6,r7)
+#define inflateInit2_(r0,r1,r2,r3) \
+ _swi(ZLib_InflateInit2, _INR(0,3) | _RETURN(0), r0,r1,r2,r3)
+#define deflate(r0,r1) \
+ _swi(ZLib_Deflate, _INR(0,1) | _RETURN(0), r0,r1)
+#define deflateEnd(r0) \
+ _swi(ZLib_DeflateEnd, _IN(0) | _RETURN(0), r0)
+#define inflate(r0,r1) \
+ _swi(ZLib_Inflate, _INR(0,1) | _RETURN(0), r0,r1)
+#define inflateEnd(r0) \
+ _swi(ZLib_InflateEnd, _IN(0) | _RETURN(0), r0)
+#define deflateSetDictionary(r0,r1,r2) \
+ _swi(ZLib_DeflateSetDictionary, _INR(0,2) | _RETURN(0), r0,r1,r2)
+#define deflateCopy(r0,r1) \
+ _swi(ZLib_DeflateCopy, _INR(0,1) | _RETURN(0), r0,r1)
+#define deflateReset(r0) \
+ _swi(ZLib_DeflateReset, _IN(0) | _RETURN(0), r0)
+#define deflateParams(r0,r1,r2) \
+ _swi(ZLib_DeflateParams, _INR(0,2) | _RETURN(0), r0,r1,r2)
+#define inflateSetDictionary(r0,r1,r2) \
+ _swi(ZLib_InflateSetDictionary, _INR(0,2) | _RETURN(0), r0,r1,r2)
+#define inflateSync(r0) \
+ _swi(ZLib_InflateSync, _IN(0) | _RETURN(0), r0)
+#define inflateReset(r0) \
+ _swi(ZLib_InflateReset, _IN(0) | _RETURN(0), r0)
+#define gzopen(r0,r1) \
+ _swi(ZLib_GZOpen, _INR(0,1) | _RETURN(0), r0)
+#define gzdopen(r0,r1) BUG()
+#define gzsetparams(r0,r1,r2) BUG()
+#define gzread(r0,r1,r2) \
+ _swi(ZLib_GZRead, _INR(0,2) | _RETURN(0), r0,r1,r2)
+#define gzwrite(r0,r1,r2) \
+ _swi(ZLib_GZWrite, _INR(0,2) | _RETURN(0), r0,r1,r2)
+#define gzprintf(r0,r1,...) BUG()
+#define gzputs(r0,r1) BUG()
+#define gzgets(r0,r1,r2) BUG()
+#define gzputc(r0,r1) BUG()
+#define gzgetc(r0) BUG()
+#define gzflush(r0,r1) \
+ _swi(ZLib_GZFlush, _INR(0,1) | _RETURN(0), r0,r1)
+#define gzclose(r0) \
+ _swi(ZLib_GZClose, _IN(0) | _RETURN(0), r0)
+#define gzerror(r0,r1) \
+ _swi(ZLib_GZError, _IN(0) | _RETURN(0)|_OUT(1), r0, &r1)
+#define gzseek(r0,r1,r2) \
+ _swi(ZLib_GZSeek, _INR(0,2) | _RETURN(0), r0,r1,r2)
+#define gzrewind(r0) BUG()
+#define gztell(r0) \
+ _swi(ZLib_GZTell, _IN(0) | _RETURN(0), r0)
+#define gzeof(r0) \
+ _swi(ZLib_GZEOF, _IN(0) | _RETURN(0), r0)
+
+#endif /* G10_ZLIB_RISCOS_H */