X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccrypt%2Fsilchash.h;h=8de3e5eb8db07bab37319c8efb44addef2c69df2;hb=a818c5b5411bbc4436d1c5f011236985c96bb787;hp=d922d05212c94a2661afa17dcda80368805a647e;hpb=fb8dbc2d9cd7ff5d197654f873ac18aa6ef9c5e3;p=silc.git diff --git a/lib/silccrypt/silchash.h b/lib/silccrypt/silchash.h index d922d052..8de3e5eb 100644 --- a/lib/silccrypt/silchash.h +++ b/lib/silccrypt/silchash.h @@ -24,14 +24,14 @@ /* The default Silc hash object to represent any hash function in SILC. */ typedef struct { char *name; - uint32 hash_len; - uint32 block_len; + SilcUInt32 hash_len; + SilcUInt32 block_len; void (*init)(void *); - void (*update)(void *, unsigned char *, uint32); + void (*update)(void *, unsigned char *, SilcUInt32); void (*final)(void *, unsigned char *); - void (*transform)(uint32 *, unsigned char *); - uint32 (*context_len)(); + void (*transform)(SilcUInt32 *, unsigned char *); + SilcUInt32 (*context_len)(); } SilcHashObject; /* The main SILC hash structure. Use SilcHash instead of SilcHashStruct. @@ -41,7 +41,7 @@ typedef struct SilcHashStruct { void *context; void (*make_hash)(struct SilcHashStruct *, const unsigned char *, - uint32, unsigned char *); + SilcUInt32, unsigned char *); } *SilcHash; /* Marks for all hash functions. This can be used in silc_hash_unregister @@ -49,7 +49,10 @@ typedef struct SilcHashStruct { #define SILC_ALL_HASH_FUNCTIONS ((SilcHashObject *)1) /* Default hash functions for silc_hash_register_default(). */ -extern SilcHashObject silc_default_hash[]; +extern DLLAPI SilcHashObject silc_default_hash[]; + +/* Default HASH function in the SILC protocol */ +#define SILC_DEFAULT_HASH "sha1" /* Macros */ @@ -71,14 +74,14 @@ extern SilcHashObject silc_default_hash[]; void silc_##hash##_init(void *context) #define SILC_HASH_API_UPDATE(hash) \ void silc_##hash##_update(void *context, unsigned char *data, \ - uint32 len) + SilcUInt32 len) #define SILC_HASH_API_FINAL(hash) \ void silc_##hash##_final(void *context, unsigned char *digest) #define SILC_HASH_API_TRANSFORM(hash) \ -void silc_##hash##_transform(uint32 *state, \ +void silc_##hash##_transform(SilcUInt32 *state, \ unsigned char *buffer) #define SILC_HASH_API_CONTEXT_LEN(hash) \ -uint32 silc_##hash##_context_len() +SilcUInt32 silc_##hash##_context_len() /* Prototypes */ bool silc_hash_register(SilcHashObject *hash); @@ -86,12 +89,14 @@ bool silc_hash_unregister(SilcHashObject *hash); bool silc_hash_register_default(void); bool silc_hash_alloc(const unsigned char *name, SilcHash *new_hash); void silc_hash_free(SilcHash hash); -uint32 silc_hash_len(SilcHash hash); +SilcUInt32 silc_hash_len(SilcHash hash); bool silc_hash_is_supported(const unsigned char *name); char *silc_hash_get_supported(void); void silc_hash_make(SilcHash hash, const unsigned char *data, - uint32 len, unsigned char *return_hash); + SilcUInt32 len, unsigned char *return_hash); char *silc_hash_fingerprint(SilcHash hash, const unsigned char *data, - uint32 data_len); + SilcUInt32 data_len); +char *silc_hash_babbleprint(SilcHash hash, const unsigned char *data, + SilcUInt32 data_len); #endif