libfortuna  1
FortunalibraryfunctionsextractedfromPostgreSQLsource
 All Data Structures Files Functions Variables Typedefs Macros
sha1.c File Reference
#include <sys/param.h>
#include <string.h>
#include "c.h"
#include "sha1.h"

Macros

#define K(t)   _K[(t) / 20]
 
#define F0(b, c, d)   (((b) & (c)) | ((~(b)) & (d)))
 
#define F1(b, c, d)   (((b) ^ (c)) ^ (d))
 
#define F2(b, c, d)   (((b) & (c)) | ((b) & (d)) | ((c) & (d)))
 
#define F3(b, c, d)   (((b) ^ (c)) ^ (d))
 
#define S(n, x)   (((x) << (n)) | ((x) >> (32 - (n))))
 
#define H(n)   (ctxt->h.b32[(n)])
 
#define COUNT   (ctxt->count)
 
#define BCOUNT   (ctxt->c.b64[0] / 8)
 
#define W(n)   (ctxt->m.b32[(n)])
 
#define PUTBYTE(x)
 
#define PUTPAD(x)
 

Functions

void sha1_step (struct sha1_ctxt *)
 
void sha1_init (struct sha1_ctxt *ctxt)
 
void sha1_pad (struct sha1_ctxt *ctxt)
 
void sha1_loop (struct sha1_ctxt *ctxt, const uint8 *input0, size_t len)
 
void sha1_result (struct sha1_ctxt *ctxt, uint8 *digest0)
 

Variables

uint32 _K [] = {0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6}
 

Macro Definition Documentation

#define BCOUNT   (ctxt->c.b64[0] / 8)
#define COUNT   (ctxt->count)
#define F0 (   b,
  c,
 
)    (((b) & (c)) | ((~(b)) & (d)))
#define F1 (   b,
  c,
 
)    (((b) ^ (c)) ^ (d))
#define F2 (   b,
  c,
 
)    (((b) & (c)) | ((b) & (d)) | ((c) & (d)))
#define F3 (   b,
  c,
 
)    (((b) ^ (c)) ^ (d))
#define H (   n)    (ctxt->h.b32[(n)])
#define K (   t)    _K[(t) / 20]
#define PUTBYTE (   x)
Value:
do { \
ctxt->m.b8[(COUNT % 64)] = (x); \
COUNT++; \
COUNT %= 64; \
ctxt->c.b64[0] += 8; \
if (COUNT % 64 == 0) \
sha1_step(ctxt); \
} while (0)
#define PUTPAD (   x)
Value:
do { \
ctxt->m.b8[(COUNT % 64)] = (x); \
COUNT++; \
COUNT %= 64; \
if (COUNT % 64 == 0) \
sha1_step(ctxt); \
} while (0)
#define S (   n,
 
)    (((x) << (n)) | ((x) >> (32 - (n))))
#define W (   n)    (ctxt->m.b32[(n)])

Function Documentation

void sha1_init ( struct sha1_ctxt ctxt)
void sha1_loop ( struct sha1_ctxt ctxt,
const uint8 input0,
size_t  len 
)
void sha1_pad ( struct sha1_ctxt ctxt)
void sha1_result ( struct sha1_ctxt ctxt,
uint8 digest0 
)
void sha1_step ( struct sha1_ctxt ctxt)

Variable Documentation

uint32 _K[] = {0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6}