1/* Copyright (c) 1998 Apple Computer, Inc. All rights reserved. 2 * 3 * NOTICE: USE OF THE MATERIALS ACCOMPANYING THIS NOTICE IS SUBJECT 4 * TO THE TERMS OF THE SIGNED "FAST ELLIPTIC ENCRYPTION (FEE) REFERENCE 5 * SOURCE CODE EVALUATION AGREEMENT" BETWEEN APPLE COMPUTER, INC. AND THE 6 * ORIGINAL LICENSEE THAT OBTAINED THESE MATERIALS FROM APPLE COMPUTER, 7 * INC. ANY USE OF THESE MATERIALS NOT PERMITTED BY SUCH AGREEMENT WILL 8 * EXPOSE YOU TO LIABILITY. 9 *************************************************************************** 10 * 11 * platform.h - platform-dependent C functions 12 * 13 * Revision History 14 * ---------------- 15 * 6 Sep 96 Doug Mitchell at NeXT 16 * Created. 17 */ 18 19#ifndef _CK_PLATFORM_H_ 20#define _CK_PLATFORM_H_ 21 22#ifdef __cplusplus 23extern "C" { 24#endif 25 26#include <string.h> 27#include <stdlib.h> 28 29/* many ways to determin macintosh - different for 68k, PPC/OS9, X */ 30#if defined(__POWERPC__) || defined(__CFM68K__) || defined(__APPLE__) 31 #undef __MAC_BUILD__ 32 #define __MAC_BUILD__ 1 33#endif 34 35/* 36 * Make sure endianness is defined... 37 */ 38#if defined(__BIG_ENDIAN__) && defined(__LITTLE_ENDIAN__) 39#error Hey! multiply defined endianness! 40#endif 41#if !defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) 42 #if __MAC_BUILD__ 43 #define __BIG_ENDIAN__ 1 44 #elif __i386__ || __i486__ 45 #define __LITTLE_ENDIAN__ 1 46 #else 47 #error Platform dependent work needed 48 #endif 49#endif /* endian */ 50 51#ifndef NeXT 52 #define bcopy(s, d, l) memmove(d, s, l) 53 #define bzero(s, l) memset(s, 0, l) 54 #define bcmp(s, d, l) memcmp(s, d, l) 55#endif 56 57/* 58 * Other platform-dependent functions in platform.c. 59 */ 60 61extern void CKRaise(const char *reason); 62 63/* 64 * Come up with some kind of "really" random int with which to seed the 65 * random number generator. 66 */ 67extern unsigned createRandomSeed(void); 68 69#ifdef __cplusplus 70} 71#endif 72 73#endif /*_CK_PLATFORM_H_*/ 74