2  * Copyright (c) 2000-2001,2011-2014 Apple Inc. All Rights Reserved. 
   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 
  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. 
  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. 
  24 #ifndef __HMAC_SHA1_LEGACY__ 
  25 #define __HMAC_SHA1_LEGACY__ 
  27 #if     !defined(__MACH__) 
  30 #include <security_cryptkit/ckconfig.h> 
  33 #if     CRYPTKIT_HMAC_LEGACY 
  42  * This version is bug-for-bug compatible with the HMACSHA1 implementation in  
  43  * an old crypto library.  
  45 struct hmacLegacyContext
; 
  46 typedef struct hmacLegacyContext 
*hmacLegacyContextRef
; 
  48 hmacLegacyContextRef 
hmacLegacyAlloc(void); 
  50         hmacLegacyContextRef hmac
); 
  51 OSStatus 
hmacLegacyInit( 
  52         hmacLegacyContextRef hmac
, 
  55 OSStatus 
hmacLegacyUpdate( 
  56         hmacLegacyContextRef hmac
, 
  59 OSStatus 
hmacLegacyFinal( 
  60         hmacLegacyContextRef hmac
, 
  61         void *resultPtr
);               // caller mallocs, must be kSHA1DigestSize bytes 
  67 #endif  /* CRYPTKIT_HMAC_LEGACY */ 
  69 #endif  /* __HMAC_SHA1_LEGACY__ */