Mobile API Reference  MicroStrategy 2019
rmd160.h File Reference

Go to the source code of this file.

Macros

#define BYTES_TO_DWORD(strptr)
 
#define ROL(x, n)   (((x) << (n)) | ((x) >> (32-(n))))
 
#define F(x, y, z)   ((x) ^ (y) ^ (z))
 
#define G(x, y, z)   (((x) & (y)) | (~(x) & (z)))
 
#define H(x, y, z)   (((x) | ~(y)) ^ (z))
 
#define I(x, y, z)   (((x) & (z)) | ((y) & ~(z)))
 
#define J(x, y, z)   ((x) ^ ((y) | ~(z)))
 
#define FF(a, b, c, d, e, x, s)
 
#define GG(a, b, c, d, e, x, s)
 
#define HH(a, b, c, d, e, x, s)
 
#define II(a, b, c, d, e, x, s)
 
#define JJ(a, b, c, d, e, x, s)
 
#define FFF(a, b, c, d, e, x, s)
 
#define GGG(a, b, c, d, e, x, s)
 
#define HHH(a, b, c, d, e, x, s)
 
#define III(a, b, c, d, e, x, s)
 
#define JJJ(a, b, c, d, e, x, s)
 

Typedefs

typedef unsigned char byte
 
typedef unsigned int dword
 

Functions

void MDinit (dword *MDbuf)
 
void compress (dword *MDbuf, const dword *X, bool ibConvert=true)
 
void compressH (dword *MDbuf, const dword *X)
 
void MDfinish (dword *MDbuf, const byte *strptr, dword lswlen, dword mswlen)
 

Macro Definition Documentation

◆ BYTES_TO_DWORD

#define BYTES_TO_DWORD (   strptr)
Value:
(((dword) *((strptr)+3) << 24) | \
((dword) *((strptr)+2) << 16) | \
((dword) *((strptr)+1) << 8) | \
((dword) *(strptr)))
unsigned int dword
Definition: rmd160.h:27

◆ F

#define F (   x,
  y,
 
)    ((x) ^ (y) ^ (z))

◆ FF

#define FF (   a,
  b,
  c,
  d,
  e,
  x,
  s 
)
Value:
{\
(a) += F((b), (c), (d)) + (x);\
(a) = ROL((a), (s)) + (e);\
(c) = ROL((c), 10);\
}
#define ROL(x, n)
Definition: rmd160.h:43
#define s(x, c)
Definition: aesopt.h:408
#define F(x, y, z)
Definition: rmd160.h:46

◆ FFF

#define FFF (   a,
  b,
  c,
  d,
  e,
  x,
  s 
)
Value:
{\
(a) += F((b), (c), (d)) + (x);\
(a) = ROL((a), (s)) + (e);\
(c) = ROL((c), 10);\
}
#define ROL(x, n)
Definition: rmd160.h:43
#define s(x, c)
Definition: aesopt.h:408
#define F(x, y, z)
Definition: rmd160.h:46

◆ G

#define G (   x,
  y,
 
)    (((x) & (y)) | (~(x) & (z)))

◆ GG

#define GG (   a,
  b,
  c,
  d,
  e,
  x,
  s 
)
Value:
{\
(a) += G((b), (c), (d)) + (x) + 0x5a827999UL;\
(a) = ROL((a), (s)) + (e);\
(c) = ROL((c), 10);\
}
#define ROL(x, n)
Definition: rmd160.h:43
#define s(x, c)
Definition: aesopt.h:408
#define G(x, y, z)
Definition: rmd160.h:47

◆ GGG

#define GGG (   a,
  b,
  c,
  d,
  e,
  x,
  s 
)
Value:
{\
(a) += G((b), (c), (d)) + (x) + 0x7a6d76e9UL;\
(a) = ROL((a), (s)) + (e);\
(c) = ROL((c), 10);\
}
#define ROL(x, n)
Definition: rmd160.h:43
#define s(x, c)
Definition: aesopt.h:408
#define G(x, y, z)
Definition: rmd160.h:47

◆ H

#define H (   x,
  y,
 
)    (((x) | ~(y)) ^ (z))

◆ HH

#define HH (   a,
  b,
  c,
  d,
  e,
  x,
  s 
)
Value:
{\
(a) += H((b), (c), (d)) + (x) + 0x6ed9eba1UL;\
(a) = ROL((a), (s)) + (e);\
(c) = ROL((c), 10);\
}
#define ROL(x, n)
Definition: rmd160.h:43
#define s(x, c)
Definition: aesopt.h:408
#define H(x, y, z)
Definition: rmd160.h:48

◆ HHH

#define HHH (   a,
  b,
  c,
  d,
  e,
  x,
  s 
)
Value:
{\
(a) += H((b), (c), (d)) + (x) + 0x6d703ef3UL;\
(a) = ROL((a), (s)) + (e);\
(c) = ROL((c), 10);\
}
#define ROL(x, n)
Definition: rmd160.h:43
#define s(x, c)
Definition: aesopt.h:408
#define H(x, y, z)
Definition: rmd160.h:48

◆ I

#define I (   x,
  y,
 
)    (((x) & (z)) | ((y) & ~(z)))

◆ II

#define II (   a,
  b,
  c,
  d,
  e,
  x,
  s 
)
Value:
{\
(a) += I((b), (c), (d)) + (x) + 0x8f1bbcdcUL;\
(a) = ROL((a), (s)) + (e);\
(c) = ROL((c), 10);\
}
#define ROL(x, n)
Definition: rmd160.h:43
#define s(x, c)
Definition: aesopt.h:408
#define I(x, y, z)
Definition: rmd160.h:49

◆ III

#define III (   a,
  b,
  c,
  d,
  e,
  x,
  s 
)
Value:
{\
(a) += I((b), (c), (d)) + (x) + 0x5c4dd124UL;\
(a) = ROL((a), (s)) + (e);\
(c) = ROL((c), 10);\
}
#define ROL(x, n)
Definition: rmd160.h:43
#define s(x, c)
Definition: aesopt.h:408
#define I(x, y, z)
Definition: rmd160.h:49

◆ J

#define J (   x,
  y,
 
)    ((x) ^ ((y) | ~(z)))

◆ JJ

#define JJ (   a,
  b,
  c,
  d,
  e,
  x,
  s 
)
Value:
{\
(a) += J((b), (c), (d)) + (x) + 0xa953fd4eUL;\
(a) = ROL((a), (s)) + (e);\
(c) = ROL((c), 10);\
}
#define ROL(x, n)
Definition: rmd160.h:43
#define s(x, c)
Definition: aesopt.h:408
#define J(x, y, z)
Definition: rmd160.h:50

◆ JJJ

#define JJJ (   a,
  b,
  c,
  d,
  e,
  x,
  s 
)
Value:
{\
(a) += J((b), (c), (d)) + (x) + 0x50a28be6UL;\
(a) = ROL((a), (s)) + (e);\
(c) = ROL((c), 10);\
}
#define ROL(x, n)
Definition: rmd160.h:43
#define s(x, c)
Definition: aesopt.h:408
#define J(x, y, z)
Definition: rmd160.h:50

◆ ROL

#define ROL (   x,
 
)    (((x) << (n)) | ((x) >> (32-(n))))

Typedef Documentation

◆ byte

typedef unsigned char byte

◆ dword

typedef unsigned int dword

Function Documentation

◆ compress()

void compress ( dword MDbuf,
const dword X,
bool  ibConvert = true 
)

◆ compressH()

void compressH ( dword MDbuf,
const dword X 
)

◆ MDfinish()

void MDfinish ( dword MDbuf,
const byte strptr,
dword  lswlen,
dword  mswlen 
)

◆ MDinit()

void MDinit ( dword MDbuf)