Home | History | Annotate | Line # | Download | only in openssl
      1 /*
      2  * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
      3  *
      4  * Licensed under the OpenSSL license (the "License").  You may not use
      5  * this file except in compliance with the License.  You can obtain a copy
      6  * in the file LICENSE in the source distribution or at
      7  * https://www.openssl.org/source/license.html
      8  */
      9 
     10 #ifndef HEADER_MD2_H
     11 # define HEADER_MD2_H
     12 
     13 # include <openssl/opensslconf.h>
     14 
     15 # ifndef OPENSSL_NO_MD2
     16 # include <stddef.h>
     17 # ifdef  __cplusplus
     18 extern "C" {
     19 # endif
     20 
     21 typedef unsigned char MD2_INT;
     22 
     23 # define MD2_DIGEST_LENGTH       16
     24 # define MD2_BLOCK               16
     25 
     26 typedef struct MD2state_st {
     27     unsigned int num;
     28     unsigned char data[MD2_BLOCK];
     29     MD2_INT cksm[MD2_BLOCK];
     30     MD2_INT state[MD2_BLOCK];
     31 } MD2_CTX;
     32 
     33 const char *MD2_options(void);
     34 int MD2_Init(MD2_CTX *c);
     35 int MD2_Update(MD2_CTX *c, const unsigned char *data, size_t len);
     36 int MD2_Final(unsigned char *md, MD2_CTX *c);
     37 unsigned char *MD2(const unsigned char *d, size_t n, unsigned char *md);
     38 
     39 # ifdef  __cplusplus
     40 }
     41 # endif
     42 # endif
     43 
     44 #endif
     45