#ifndef MD5_H
#define MD5_H

#include <stddef.h>
#include <stdint.h>

struct md5_ctx
{
  uint32_t buf[4];
  uint32_t bits[2];
  char in[64];
};

void md5_init_ctx (struct md5_ctx *context);
void md5_process_bytes (const void *buf, size_t len, struct md5_ctx *context);
char *md5_finish_ctx (struct md5_ctx *context, char digest[16]);
char *md5_buffer (const void *buf, size_t len, char resblock[16]);

#endif /* !MD5_H */
