(root)/
libxcrypt-4.4.36/
lib/
alg-md4.h
       1  /*
       2   * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc.
       3   * MD4 Message-Digest Algorithm (RFC 1320).
       4   *
       5   * Homepage:
       6   * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md4
       7   *
       8   * Author:
       9   * Alexander Peslyak, better known as Solar Designer <solar at openwall.com>
      10   *
      11   * This software was written by Alexander Peslyak in 2001.  No copyright is
      12   * claimed, and the software is hereby placed in the public domain.
      13   * In case this attempt to disclaim copyright and place the software in the
      14   * public domain is deemed null and void, then the software is
      15   * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the
      16   * general public under the following terms:
      17   *
      18   * Redistribution and use in source and binary forms, with or without
      19   * modification, are permitted.
      20   *
      21   * There's ABSOLUTELY NO WARRANTY, express or implied.
      22   *
      23   * See md4.c for more information.
      24   */
      25  
      26  #ifndef _CRYPT_ALG_MD4_H
      27  #define _CRYPT_ALG_MD4_H 1
      28  
      29  /* Any 32-bit or wider unsigned integer data type will do */
      30  typedef uint32_t MD4_u32plus;
      31  
      32  typedef struct {
      33  	MD4_u32plus lo, hi;
      34  	MD4_u32plus a, b, c, d;
      35  	uint8_t buffer[64];
      36  	MD4_u32plus block[16];
      37  } MD4_CTX;
      38  
      39  extern void MD4_Init(MD4_CTX *ctx);
      40  extern void MD4_Update(MD4_CTX *ctx, const void *data, size_t size);
      41  extern void MD4_Final(uint8_t result[16], MD4_CTX *ctx);
      42  
      43  #endif /* alg-md4.h */