A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
hash-fnv.cc File Reference
#include <sys/types.h>
#include <stdlib.h>
#include "log.h"
#include "hash-fnv.h"
+ Include dependency graph for hash-fnv.cc:

Go to the source code of this file.

Namespaces

 ns3
 Every class exported by the ns3 library is enclosed in the ns3 namespace.
 
 ns3::Hash
 Hash function implementations.
 
 ns3::Hash::Function
 Hash functions.
 
 ns3::Hash::Function::Fnv1aImplementation
 

Macros

#define __FNV_H__
 
#define FNV0_32_INIT   ((Fnv1aImplementation::Fnv32_t)0)
 
#define FNV0_64_INIT   ((Fnv1aImplementation::Fnv64_t)0)
 
#define FNV1_32_INIT   ((Fnv1aImplementation::Fnv32_t)0x811c9dc5)
 
#define FNV1_32A_INIT   FNV1_32_INIT
 
#define FNV1_64_INIT   ((Fnv1aImplementation::Fnv64_t)0xcbf29ce484222325ULL)
 
#define FNV1A_64_INIT   FNV1_64_INIT
 
#define FNV_32_PRIME   ((Fnv1aImplementation::Fnv32_t)0x01000193)
 
#define FNV_64_PRIME   ((Fnv1aImplementation::Fnv64_t)0x100000001b3ULL)
 
#define FNV_VERSION   "5.0.2" /* @(#) FNV Version */
 
#define HAVE_64BIT_LONG_LONG
 

Typedefs

typedef u_int32_t ns3::Hash::Function::Fnv1aImplementation::Fnv32_t
 
typedef u_int64_t ns3::Hash::Function::Fnv1aImplementation::Fnv64_t
 

Enumerations

enum  ns3::Hash::Function::Fnv1aImplementation::fnv_type {
  ns3::Hash::Function::Fnv1aImplementation::FNV_NONE = 0, ns3::Hash::Function::Fnv1aImplementation::FNV0_32 = 1, ns3::Hash::Function::Fnv1aImplementation::FNV1_32 = 2, ns3::Hash::Function::Fnv1aImplementation::FNV1a_32 = 3,
  ns3::Hash::Function::Fnv1aImplementation::FNV0_64 = 4, ns3::Hash::Function::Fnv1aImplementation::FNV1_64 = 5, ns3::Hash::Function::Fnv1aImplementation::FNV1a_64 = 6
}
 

Functions

Fnv32_t ns3::Hash::Function::Fnv1aImplementation::fnv_32_buf (void *buf, size_t len, Fnv32_t hashval)
 
Fnv32_t ns3::Hash::Function::Fnv1aImplementation::fnv_32_str (char *buf, Fnv32_t hashval)
 
Fnv32_t ns3::Hash::Function::Fnv1aImplementation::fnv_32a_buf (void *buf, size_t len, Fnv32_t hashval)
 
Fnv32_t ns3::Hash::Function::Fnv1aImplementation::fnv_32a_str (char *buf, Fnv32_t hashval)
 
Fnv64_t ns3::Hash::Function::Fnv1aImplementation::fnv_64_buf (void *buf, size_t len, Fnv64_t hashval)
 
Fnv64_t ns3::Hash::Function::Fnv1aImplementation::fnv_64_str (char *buf, Fnv64_t hashval)
 
Fnv64_t ns3::Hash::Function::Fnv1aImplementation::fnv_64a_buf (void *buf, size_t len, Fnv64_t hashval)
 
Fnv64_t ns3::Hash::Function::Fnv1aImplementation::fnv_64a_str (char *buf, Fnv64_t hashval)
 

Macro Definition Documentation

#define __FNV_H__

Definition at line 137 of file hash-fnv.cc.

#define FNV0_32_INIT   ((Fnv1aImplementation::Fnv32_t)0)

Definition at line 159 of file hash-fnv.cc.

#define FNV0_64_INIT   ((Fnv1aImplementation::Fnv64_t)0)

Definition at line 209 of file hash-fnv.cc.

#define FNV1_32_INIT   ((Fnv1aImplementation::Fnv32_t)0x811c9dc5)

Definition at line 176 of file hash-fnv.cc.

#define FNV1_32A_INIT   FNV1_32_INIT

Definition at line 177 of file hash-fnv.cc.

Referenced by ns3::Hash::Function::Fnv1a::clear().

#define FNV1_64_INIT   ((Fnv1aImplementation::Fnv64_t)0xcbf29ce484222325ULL)

Definition at line 229 of file hash-fnv.cc.

#define FNV1A_64_INIT   FNV1_64_INIT

Definition at line 230 of file hash-fnv.cc.

Referenced by ns3::Hash::Function::Fnv1a::clear().

#define FNV_32_PRIME   ((Fnv1aImplementation::Fnv32_t)0x01000193)
#define FNV_64_PRIME   ((Fnv1aImplementation::Fnv64_t)0x100000001b3ULL)
#define FNV_VERSION   "5.0.2" /* @(#) FNV Version */

Definition at line 142 of file hash-fnv.cc.

#define HAVE_64BIT_LONG_LONG

Definition at line 184 of file hash-fnv.cc.