pike.git
/
src
/
post_modules
/
Nettle
/
nettle.h
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/post_modules/Nettle/nettle.h:1:
/* nettle.h * * Shared declarations for the various files. */
+
#if 0
+
static void
+
werror(const char *format, ...)
+
{
+
va_list args;
+
+
va_start(args, format);
+
vfprintf(stderr, format, args);
+
va_end(args);
+
}
+
#else
+
#define werror(x)
+
#endif
+
+
#include <nettle/nettle-meta.h>
+
struct program; extern struct program *nettle_hash_program; extern struct program *hash_instance_program; extern struct program *nettle_hash_program; #define NO_WIDE_STRING(s) do { \ if ((s)->size_shift) \ Pike_error("Bad argument. Must be 8-bit string.\n"); \ } while(0) /* Hashing methods can normally process hundreds of megabytes per second so it's rather wasteful to enable threads during hashing of smaller data sizes. Limit is now 1 MB. */
-
#define THREADS_ALLOW_THRESHOLD (1024 * 1024)
+
#define
HASH_
THREADS_ALLOW_THRESHOLD (1024 * 1024)
-
+
/* Encrypt/decrypt methods are a bit more expensive. */
+
#define CIPHER_THREADS_ALLOW_THRESHOLD 1024
-
+
#ifdef HAVE_NETTLE_DSA_H
+
#include <nettle/dsa.h>
+
#endif
+
+
#ifdef dsa_params_init
+
/* We use the presence of the dsa_params_init remapping to detect Nettle
+
* 3.0 or later. This is the recommended way to detect Nettle version
+
* differences. In Nettle 3.0 length fields use size_t, where earlier
+
* it was unsigned.
+
*/
+
typedef size_t pike_nettle_size_t;
+
#else
+
typedef unsigned pike_nettle_size_t;
+
#endif
+
+
/* In Nettle 2.0 the nettle_*_func typedefs lost their pointers. */
+
#ifdef HAVE_NETTLE_CRYPT_FUNC_IS_POINTER
+
/* Nettle 1.x */
+
typedef nettle_crypt_func pike_nettle_crypt_func;
+
typedef nettle_hash_digest_func pike_nettle_hash_digest_func;
+
typedef nettle_hash_update_func pike_nettle_hash_update_func;
+
#else
+
/* Nettle 2.0 */
+
+
#ifdef dsa_params_init
+
/* Nettle 3.0 */
+
typedef nettle_cipher_func *pike_nettle_crypt_func;
+
#else
+
typedef nettle_crypt_func *pike_nettle_crypt_func;
+
#endif
+
+
typedef nettle_hash_digest_func *pike_nettle_hash_digest_func;
+
typedef nettle_hash_update_func *pike_nettle_hash_update_func;
+
#endif
+
+
char *pike_crypt_md5(int pl, const char *const pw,
-
int sl, const char *const salt);
+
int sl, const char *const salt
,
+
int ml, const char *const magic
);
void hash_init(void); void hash_exit(void); void cipher_init(void); void cipher_exit(void); void nt_init(void); void nt_exit(void);
-
+
+
void hogweed_init(void);
+
+
void hogweed_exit(void);
+
+
void mac_init(void);
+
+
void mac_exit(void);
+
+
void aead_init(void);
+
+
void aead_exit(void);