Navigation

Operators and Keywords

Function List:

C++ API

md5.c File Reference

#include <config.h>
#include "md5.h"
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
Include dependency graph for md5.c:

Defines

#define SWAP(n)   (n)
#define BLOCKSIZE   32768
#define alignof(type)   offsetof (struct { char c; type x; }, x)
#define UNALIGNED_P(p)   (((size_t) p) % alignof (uint32_t) != 0)
#define FF(b, c, d)   (d ^ (b & (c ^ d)))
#define FG(b, c, d)   FF (d, b, c)
#define FH(b, c, d)   (b ^ c ^ d)
#define FI(b, c, d)   (c ^ (b | ~d))
#define OP(a, b, c, d, s, T)
#define CYCLIC(w, s)   (w = (w << s) | (w >> (32 - s)))
#define OP(f, a, b, c, d, k, s, T)

Functions

void md5_init_ctx (struct md5_ctx *ctx)
void * md5_read_ctx (const struct md5_ctx *ctx, void *resbuf)
void * md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
int md5_stream (FILE *stream, void *resblock)
void * md5_buffer (const char *buffer, size_t len, void *resblock)
void md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx)
void md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx)

Define Documentation

#define alignof (   type  )     offsetof (struct { char c; type x; }, x)
#define BLOCKSIZE   32768
#define CYCLIC (   w,
  s 
)    (w = (w << s) | (w >> (32 - s)))
#define FF (   b,
  c,
  d 
)    (d ^ (b & (c ^ d)))
#define FG (   b,
  c,
  d 
)    FF (d, b, c)
#define FH (   b,
  c,
  d 
)    (b ^ c ^ d)
#define FI (   b,
  c,
  d 
)    (c ^ (b | ~d))
#define OP (   a,
  b,
  c,
  d,
  s,
  T 
)
Value:
do                                                                \
        {                                                               \
          a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T;             \
          ++words;                                                      \
          CYCLIC (a, s);                                                \
          a += b;                                                       \
        }                                                               \
      while (0)
#define OP (   f,
  a,
  b,
  c,
  d,
  k,
  s,
  T 
)
Value:
do                                                                \
        {                                                               \
          a += f (b, c, d) + correct_words[k] + T;                      \
          CYCLIC (a, s);                                                \
          a += b;                                                       \
        }                                                               \
      while (0)
#define SWAP (   n  )     (n)
#define UNALIGNED_P (   p  )     (((size_t) p) % alignof (uint32_t) != 0)

Function Documentation

void* md5_buffer ( const char *  buffer,
size_t  len,
void *  resblock 
)
void* md5_finish_ctx ( struct md5_ctx ctx,
void *  resbuf 
)
void md5_init_ctx ( struct md5_ctx ctx  ) 
void md5_process_block ( const void *  buffer,
size_t  len,
struct md5_ctx ctx 
)
void md5_process_bytes ( const void *  buffer,
size_t  len,
struct md5_ctx ctx 
)
void* md5_read_ctx ( const struct md5_ctx ctx,
void *  resbuf 
)
int md5_stream ( FILE *  stream,
void *  resblock 
)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines