md5.h
上传用户:uncom666
上传日期:2020-03-30
资源大小:1426k
文件大小:4k
- /*_############################################################################
- _##
- _## md5.h
- _##
- _## SNMP++v3.2.24
- _## -----------------------------------------------
- _## Copyright (c) 2001-2009 Jochen Katz, Frank Fock
- _##
- _## This software is based on SNMP++2.6 from Hewlett Packard:
- _##
- _## Copyright (c) 1996
- _## Hewlett-Packard Company
- _##
- _## ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS.
- _## Permission to use, copy, modify, distribute and/or sell this software
- _## and/or its documentation is hereby granted without fee. User agrees
- _## to display the above copyright notice and this license notice in all
- _## copies of the software and any documentation of the software. User
- _## agrees to assume all liability for the use of the software;
- _## Hewlett-Packard and Jochen Katz make no representations about the
- _## suitability of this software for any purpose. It is provided
- _## "AS-IS" without warranty of any kind, either express or implied. User
- _## hereby grants a royalty-free license to any and all derivatives based
- _## upon this software code base.
- _##
- _## Stuttgart, Germany, Fri May 29 22:35:14 CEST 2009
- _##
- _##########################################################################*/
- #include "snmp_pp/config_snmp_pp.h"
- #if !defined(_USE_LIBTOMCRYPT) && !defined(_USE_OPENSSL)
- /* MD5.H - header file for MD5C.C */
- /* Copyright (C) 1991, RSA Data Security, Inc. All rights reserved.
- License to copy and use this software is granted provided that it
- is identified as the "RSA Data Security, Inc. MD5 Message-Digest
- Algorithm" in all material mentioning or referencing this software
- or this function.
- License is also granted to make and use derivative works provided
- that such works are identified as "derived from the RSA Data
- Security, Inc. MD5 Message-Digest Algorithm" in all material
- mentioning or referencing the derived work.
- RSA Data Security, Inc. makes no representations concerning either
- the merchantability of this software or the suitability of this
- software for any particular purpose. It is provided "as is"
- without express or implied warranty of any kind.
- These notices must be retained in any copies of any part of this
- documentation and/or software.
- */
- // $Id: md5.h 288 2007-03-22 22:37:09Z katz $
- #ifndef _MD5_H_
- #define _MD5_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifdef SNMP_PP_NAMESPACE
- namespace Snmp_pp {
- #endif
- /* POINTER defines a generic pointer type */
- typedef unsigned char *POINTER;
- /* UINT2 defines a two byte word */
- typedef unsigned short int UINT2;
- /* UINT4 defines a four byte word */
- typedef unsigned int UINT4; /* for alpha */
- /*typedef unsigned long int UINT4; */
- /* BYTE defines a unsigned character */
- typedef unsigned char BYTE;
- /* internal signed value */
- typedef signed int signeddigit;
- #ifndef NULL_PTR
- #define NULL_PTR ((POINTER)0)
- #endif
- #ifndef UNUSED_ARG
- #define UNUSED_ARG(x) x = *(&x);
- #endif
- #ifndef PROTOTYPES
- #define PROTOTYPES
- #endif
- /* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
- If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
- returns an empty list. */
- #ifdef PROTOTYPES
- #define PROTO_LIST(list) list
- #else
- #define PROTO_LIST(list) ()
- #endif
- /* MD5 context. */
- typedef struct {
- UINT4 state[4]; /* state (ABCD) */
- UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
- unsigned char buffer[64]; /* input buffer */
- } MD5_CTX;
- DLLOPT void MD5Init PROTO_LIST ((MD5_CTX *));
- DLLOPT void MD5Update PROTO_LIST ((MD5_CTX *, const unsigned char *, const unsigned int));
- DLLOPT void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *));
- #ifdef SNMP_PP_NAMESPACE
- } // end of namespace Snmp_pp
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif
- #endif // !defined(_USE_LIBTOMCRYPT) && !defined(_USE_OPENSSL)