X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/80e2389990082500d76eb566d4946be3e786c3ef..d8f41ccd20de16f8ebe2ccc84d47bf1cb2b26bbb:/Security/libsecurity_cryptkit/lib/ECDSA_Profile.h diff --git a/Security/libsecurity_cryptkit/lib/ECDSA_Profile.h b/Security/libsecurity_cryptkit/lib/ECDSA_Profile.h new file mode 100644 index 00000000..eb7a7cc9 --- /dev/null +++ b/Security/libsecurity_cryptkit/lib/ECDSA_Profile.h @@ -0,0 +1,90 @@ +/* + File: ECDSA_Profile.h + + Contains: ECDSA Profiling support. + + + Copyright: Copyright (c) 1998,2011,2014 Apple Inc. All Rights Reserved. + + Change History (most recent first): + + <7> 10/06/98 ap Changed to compile with C++. + + To Do: +*/ + +/* Copyright (c) 1998,2011,2014 Apple Inc. All Rights Reserved. + * + * NOTICE: USE OF THE MATERIALS ACCOMPANYING THIS NOTICE IS SUBJECT + * TO THE TERMS OF THE SIGNED "FAST ELLIPTIC ENCRYPTION (FEE) REFERENCE + * SOURCE CODE EVALUATION AGREEMENT" BETWEEN APPLE, INC. AND THE + * ORIGINAL LICENSEE THAT OBTAINED THESE MATERIALS FROM APPLE, + * INC. ANY USE OF THESE MATERIALS NOT PERMITTED BY SUCH AGREEMENT WILL + * EXPOSE YOU TO LIABILITY. + *************************************************************************** + */ + +#ifndef _CK_ECDSA_PROFILE_H_ +#define _CK_ECDSA_PROFILE_H_ + +#include "ckconfig.h" + +#if CRYPTKIT_ECDSA_ENABLE + +#include "feeDebug.h" + +#ifdef FEE_DEBUG +#define ECDSA_PROFILE 0 +#else /* FEE_DEBUG */ +#define ECDSA_PROFILE 0 /* always off */ +#endif /* FEE_DEBUG */ + +#if ECDSA_PROFILE + +#include + +/* + * Unlike the profiling macros in feeDebug.h, these are intended to + * be used for fragments of code, not entire functions. + */ +#define SIGPROF_START \ +{ \ + struct tsval _profStartTime; \ + struct tsval _profEndTime; \ + kern_timestamp(&_profStartTime); + +/* + * This one goes at the end of the routine, just before the (only) return. + * There must be a static accumulator (an unsigned int) on a per-routine basis. + */ +#define SIGPROF_END(accum) \ + kern_timestamp(&_profEndTime); \ + accum += (_profEndTime.low_val - _profStartTime.low_val); \ +} + + +/* + * Accumulators. + */ +extern unsigned signStep1; +extern unsigned signStep2; +extern unsigned signStep34; +extern unsigned signStep5; +extern unsigned signStep67; +extern unsigned signStep8; +extern unsigned vfyStep1; +extern unsigned vfyStep3; +extern unsigned vfyStep4; +extern unsigned vfyStep5; +extern unsigned vfyStep6; +extern unsigned vfyStep7; + +#else /* ECDSA_PROFILE */ + +#define SIGPROF_START +#define SIGPROF_END(accum) + +#endif /* ECDSA_PROFILE */ + +#endif /* CRYPTKIT_ECDSA_ENABLE */ +#endif /* _CK_ECDSA_PROFILE_H_ */