Electroneum
hash.h File Reference
#include <stddef.h>
#include <iostream>
#include <boost/utility/value_init.hpp>
#include "common/pod-class.h"
#include "generic-ops.h"
#include "hex.h"
#include "span.h"
#include "hash-ops.h"
Include dependency graph for hash.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  crypto::hash_state
 

Namespaces

 crypto
 crypto namespace.
 

Enumerations

enum  { crypto::HASH_SIZE = 32, crypto::HASH_DATA_AREA = 136 }
 

Functions

void crypto::hash_permutation (union hash_state *state)
 
void crypto::hash_process (union hash_state *state, const uint8_t *buf, size_t count)
 
void crypto::cn_fast_hash (const void *data, size_t length, char *hash)
 
void crypto::cn_slow_hash (const void *data, size_t length, char *hash, int variant, int prehashed, uint64_t height)
 
void crypto::hash_extra_blake (const void *data, size_t length, char *hash)
 
void crypto::hash_extra_groestl (const void *data, size_t length, char *hash)
 
void crypto::hash_extra_jh (const void *data, size_t length, char *hash)
 
void crypto::hash_extra_skein (const void *data, size_t length, char *hash)
 
void crypto::tree_hash (const char(*hashes)[HASH_SIZE], size_t count, char *root_hash)
 
void crypto::cn_fast_hash (const void *data, std::size_t length, hash &hash)
 
hash crypto::cn_fast_hash (const void *data, std::size_t length)
 
void crypto::cn_slow_hash (const void *data, std::size_t length, hash &hash, int variant=0, uint64_t height=0)
 
void crypto::cn_slow_hash_prehashed (const void *data, std::size_t length, hash &hash, int variant=0, uint64_t height=0)
 
void crypto::tree_hash (const hash *hashes, std::size_t count, hash &root_hash)
 
std::ostream & crypto::operator<< (std::ostream &o, const crypto::hash &v)
 
std::ostream & crypto::operator<< (std::ostream &o, const crypto::hash8 &v)
 
std::ostream & crypto::operator<< (std::ostream &o, const crypto::hash64 &v)
 

Variables

 crypto::PUSH_WARNINGS
 
POD_CLASS crypto::hash
 
POD_CLASS crypto::hash8
 
POD_CLASS crypto::hash64