base
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
/*
|
||||
* Copyright (C) 2005 Jonathan Day, Nikos Mavroyanopoulos
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Library General Public License as published
|
||||
* by the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
|
||||
#if !defined(__MGLOBAL_H)
|
||||
#define __MGLOBAL_H
|
||||
|
||||
#define MHASH_API_NONE 0
|
||||
#define MHASH_API_CLASSIC 1
|
||||
#define MHASH_API_FAMILY 2
|
||||
|
||||
#define MHASH_API_VERSION 20060101
|
||||
#define MHASH_API_TYPE MHASH_API_CLASSIC
|
||||
/* #define MHASH_API_TYPE MHASH_API_FAMILY */
|
||||
#define MHASH_API_FULL
|
||||
|
||||
typedef enum __hashid {
|
||||
#if (MHASH_API_TYPE == MHASH_API_CLASSIC)
|
||||
MHASH_CRC32 = 0,
|
||||
MHASH_MD5 = 1,
|
||||
MHASH_SHA1 = 2,
|
||||
MHASH_HAVAL256 = 3,
|
||||
MHASH_RIPEMD160 = 5,
|
||||
MHASH_TIGER192 = 7,
|
||||
MHASH_GOST = 8,
|
||||
MHASH_CRC32B = 9,
|
||||
MHASH_HAVAL224 = 10,
|
||||
MHASH_HAVAL192 = 11,
|
||||
MHASH_HAVAL160 = 12,
|
||||
MHASH_HAVAL128 = 13,
|
||||
MHASH_TIGER128 = 14,
|
||||
MHASH_TIGER160 = 15,
|
||||
MHASH_MD4 = 16,
|
||||
MHASH_SHA256 = 17,
|
||||
MHASH_ADLER32 = 18,
|
||||
MHASH_SHA224 = 19,
|
||||
MHASH_SHA512 = 20,
|
||||
MHASH_SHA384 = 21,
|
||||
MHASH_WHIRLPOOL = 22,
|
||||
MHASH_RIPEMD128 = 23,
|
||||
MHASH_RIPEMD256 = 24,
|
||||
MHASH_RIPEMD320 = 25,
|
||||
MHASH_SNEFRU128 = 26,
|
||||
MHASH_SNEFRU256 = 27,
|
||||
MHASH_MD2 = 28,
|
||||
MHASH_AR = 64, /* NOT YET IMPLEMENTED */
|
||||
MHASH_BOOGNISH = 65, /* NOT YET IMPLEMENTED */
|
||||
MHASH_CELLHASH = 66, /* NOT YET IMPLEMENTED */
|
||||
MHASH_FFT_HASH_I = 67, /* NOT YET IMPLEMENTED */
|
||||
MHASH_FFT_HASH_II = 68, /* NOT YET IMPLEMENTED */
|
||||
MHASH_NHASH = 69, /* NOT YET IMPLEMENTED */
|
||||
MHASH_PANAMA = 70, /* NOT YET IMPLEMENTED */
|
||||
MHASH_SMASH = 71, /* NOT YET IMPLEMENTED */
|
||||
MHASH_SUBHASH = 72 /* NOT YET IMPLEMENTED */
|
||||
#endif
|
||||
#if (MHASH_API_TYPE == MHASH_API_FAMILY)
|
||||
MHASH_CRC32 = 0x0001,
|
||||
MHASH_CRC32B = 0x0002,
|
||||
MHASH_ADLER32 = 0x0011,
|
||||
MHASH_MD2 = 0x0101,
|
||||
MHASH_MD4 = 0x0111,
|
||||
MHASH_RIPEMD128 = 0x0112,
|
||||
MHASH_RIPEMD160 = 0x0113,
|
||||
MHASH_RIPEMD256 = 0x0114,
|
||||
MHASH_RIPEMD320 = 0x0115,
|
||||
MHASH_MD5 = 0x0121,
|
||||
MHASH_SHA1 = 0x0201,
|
||||
MHASH_SHA224 = 0x0201,
|
||||
MHASH_SHA256 = 0x0202,
|
||||
MHASH_SHA384 = 0x0203,
|
||||
MHASH_SHA512 = 0x0204,
|
||||
MHASH_HAVAL128 = 0x0301,
|
||||
MHASH_HAVAL160 = 0x0302,
|
||||
MHASH_HAVAL192 = 0x0303,
|
||||
MHASH_HAVAL224 = 0x0304,
|
||||
MHASH_HAVAL256 = 0x0305, /* 3 passes */
|
||||
MHASH_TIGER128 = 0x0401,
|
||||
MHASH_TIGER160 = 0x0402,
|
||||
MHASH_TIGER192 = 0x0403,
|
||||
MHASH_GOST = 0x0501,
|
||||
MHASH_WHIRLPOOL = 0x0601,
|
||||
MHASH_SNEFRU128 = 0x0701, /* 8 passes */
|
||||
MHASH_SNEFRU256 = 0x0702, /* 8 passes */
|
||||
MHASH_AR = 0x0801, /* NOT YET IMPLEMENTED */
|
||||
MHASH_BOOGNISH = 0x0901, /* NOT YET IMPLEMENTED */
|
||||
MHASH_CELLHASH = 0x0a01, /* NOT YET IMPLEMENTED */
|
||||
MHASH_FFT_HASH_I = 0x0b01, /* NOT YET IMPLEMENTED */
|
||||
MHASH_FFT_HASH_II = 0x0b02, /* NOT YET IMPLEMENTED */
|
||||
MHASH_NHASH = 0x0c01, /* NOT YET IMPLEMENTED */
|
||||
MHASH_PANAMA = 0x0d01, /* NOT YET IMPLEMENTED */
|
||||
MHASH_SMASH = 0x0e01, /* NOT YET IMPLEMENTED */
|
||||
MHASH_SUBHASH = 0x0f01 /* NOT YET IMPLEMENTED */
|
||||
#endif
|
||||
} hashid;
|
||||
|
||||
/* These aliases are actually quite useful and so will be kept */
|
||||
|
||||
#define MHASH_HAVAL MHASH_HAVAL256
|
||||
#define MHASH_TIGER MHASH_TIGER192
|
||||
|
||||
typedef enum __keygenid {
|
||||
KEYGEN_MCRYPT, /* The key generator used in mcrypt */
|
||||
KEYGEN_ASIS, /* Just returns the password as binary key */
|
||||
KEYGEN_HEX, /* Just converts a hex key into a binary one */
|
||||
KEYGEN_PKDES, /* The transformation used in Phil Karn's DES
|
||||
* encryption program */
|
||||
KEYGEN_S2K_SIMPLE, /* The OpenPGP (rfc2440) Simple S2K */
|
||||
KEYGEN_S2K_SALTED, /* The OpenPGP Salted S2K */
|
||||
KEYGEN_S2K_ISALTED /* The OpenPGP Iterated Salted S2K */
|
||||
} keygenid;
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user