/ OSX / libsecurity_cryptkit / lib / HmacSha1Legacy.h
HmacSha1Legacy.h
 1  /*
 2   * Copyright (c) 2000-2001,2011-2014 Apple Inc. All Rights Reserved.
 3   * 
 4   * The contents of this file constitute Original Code as defined in and are
 5   * subject to the Apple Public Source License Version 1.2 (the 'License').
 6   * You may not use this file except in compliance with the License. Please obtain
 7   * a copy of the License at http://www.apple.com/publicsource and read it before
 8   * using this file.
 9   * 
10   * This Original Code and all software distributed under the License are
11   * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12   * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13   * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14   * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15   * specific language governing rights and limitations under the License.
16   */
17  
18  
19  /*
20   	File:		HmacSha1Legacy.h
21   	Contains:	HMAC/SHA1, bug-for-bug compatible a legacy implementation.
22   	Copyright (c) 2001,2011-2014 Apple Inc. All Rights Reserved.
23  */
24  #ifndef __HMAC_SHA1_LEGACY__
25  #define __HMAC_SHA1_LEGACY__
26  
27  #if	!defined(__MACH__)
28  #include <ckconfig.h>
29  #else
30  #include <security_cryptkit/ckconfig.h>
31  #endif
32  
33  #include <MacTypes.h>
34  
35  #ifdef	__cplusplus
36  extern "C" {
37  #endif
38  
39  /*
40   * This version is bug-for-bug compatible with the HMACSHA1 implementation in 
41   * an old crypto library. 
42   */
43  struct hmacLegacyContext;
44  typedef struct hmacLegacyContext *hmacLegacyContextRef;
45  
46  hmacLegacyContextRef hmacLegacyAlloc(void);
47  void hmacLegacyFree(
48  	hmacLegacyContextRef hmac);
49  OSStatus hmacLegacyInit(
50  	hmacLegacyContextRef hmac,
51  	const void *keyPtr,
52  	UInt32 keyLen);
53  OSStatus hmacLegacyUpdate(
54  	hmacLegacyContextRef hmac,
55  	const void *textPtr,
56  	UInt32 textLen);
57  OSStatus hmacLegacyFinal(
58  	hmacLegacyContextRef hmac,
59  	void *resultPtr);		// caller mallocs, must be kSHA1DigestSize bytes
60  
61  #ifdef	__cplusplus
62  }
63  #endif
64  
65  #endif	/* __HMAC_SHA1_LEGACY__ */