version 0.3.33
[fms.git] / libs / libtomcrypt / headers / tomcrypt.h
1 #ifndef TOMCRYPT_H_
2 #define TOMCRYPT_H_
3 #include <assert.h>
4 #include <stdio.h>
5 #include <string.h>
6 #include <stdlib.h>
7 #include <time.h>
8 #include <ctype.h>
9 #include <limits.h>
10
11 /* use configuration data */
12 #include <tomcrypt_custom.h>
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 /* version */
19 #define CRYPT   0x0116
20 #define SCRYPT  "1.16"
21
22 /* max size of either a cipher/hash block or symmetric key [largest of the two] */
23 #define MAXBLOCKSIZE  128
24
25 /* descriptor table size */
26 #define TAB_SIZE      32
27
28 /* error codes [will be expanded in future releases] */
29 enum {
30    CRYPT_OK=0,             /* Result OK */
31    CRYPT_ERROR,            /* Generic Error */
32    CRYPT_NOP,              /* Not a failure but no operation was performed */
33
34    CRYPT_INVALID_KEYSIZE,  /* Invalid key size given */
35    CRYPT_INVALID_ROUNDS,   /* Invalid number of rounds */
36    CRYPT_FAIL_TESTVECTOR,  /* Algorithm failed test vectors */
37
38    CRYPT_BUFFER_OVERFLOW,  /* Not enough space for output */
39    CRYPT_INVALID_PACKET,   /* Invalid input packet given */
40
41    CRYPT_INVALID_PRNGSIZE, /* Invalid number of bits for a PRNG */
42    CRYPT_ERROR_READPRNG,   /* Could not read enough from PRNG */
43
44    CRYPT_INVALID_CIPHER,   /* Invalid cipher specified */
45    CRYPT_INVALID_HASH,     /* Invalid hash specified */
46    CRYPT_INVALID_PRNG,     /* Invalid PRNG specified */
47
48    CRYPT_MEM,              /* Out of memory */
49
50    CRYPT_PK_TYPE_MISMATCH, /* Not equivalent types of PK keys */
51    CRYPT_PK_NOT_PRIVATE,   /* Requires a private PK key */
52
53    CRYPT_INVALID_ARG,      /* Generic invalid argument */
54    CRYPT_FILE_NOTFOUND,    /* File Not Found */
55
56    CRYPT_PK_INVALID_TYPE,  /* Invalid type of PK key */
57    CRYPT_PK_INVALID_SYSTEM,/* Invalid PK system specified */
58    CRYPT_PK_DUP,           /* Duplicate key already in key ring */
59    CRYPT_PK_NOT_FOUND,     /* Key not found in keyring */
60    CRYPT_PK_INVALID_SIZE,  /* Invalid size input for PK parameters */
61
62    CRYPT_INVALID_PRIME_SIZE,/* Invalid size of prime requested */
63    CRYPT_PK_INVALID_PADDING /* Invalid padding on input */
64 };
65
66 #include <tomcrypt_cfg.h>
67 #include <tomcrypt_macros.h>
68 #include <tomcrypt_cipher.h>
69 #include <tomcrypt_hash.h>
70 #include <tomcrypt_mac.h>
71 #include <tomcrypt_prng.h>
72 #include <tomcrypt_pk.h>
73 #include <tomcrypt_math.h>
74 #include <tomcrypt_misc.h>
75 #include <tomcrypt_argchk.h>
76 #include <tomcrypt_pkcs.h>
77
78 #ifdef __cplusplus
79    }
80 #endif
81
82 #endif /* TOMCRYPT_H_ */
83
84
85 /* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt.h,v $ */
86 /* $Revision: 1.20 $ */
87 /* $Date: 2006/11/26 01:45:14 $ */