4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Root include file to support building OpenSSL Crypto Library.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncCopyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncThis program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncare licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncwhich accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// File operations are not required for building Open SSL,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// so FILE is mapped to VOID * to pass build
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#if !defined(__CC_ARM) // if va_list is not already defined
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#else // __CC_ARM
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define va_start(Marker, Parameter) __va_start(Marker, Parameter)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// #defines from EFI Application Toolkit required to buiild Open SSL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define BUFSIZ 1024 /* size of buffer used by setbuf */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define INT_MAX 2147483647 /* max value for an int */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define INT_MIN (-2147483647-1) /* min value for an int */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define LONG_MAX 2147483647L /* max value for a long */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define LONG_MIN (-2147483647-1) /* min value for a long */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define ULONG_MAX 0xffffffff /* max value for an unsigned long */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define LOG_ALERT 1 /* action must be taken immediately */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define LOG_NOTICE 5 /* normal but significant condition */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define LOG_PID 0x01 /* log the pid with each message */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define LOG_CONS 0x02 /* log on the console if errors in sending */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Macros from EFI Application Toolkit required to buiild Open SSL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/* The offsetof() macro calculates the offset of a structure member
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync in its structure. Unfortunately this cannot be written down
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync portably, hence it is provided by a Standard C header file.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync For pre-Standard C compilers, here is a version that usually works
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync (but watch out!): */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define offsetof(type, member) ( (int) & ((type*)0) -> member )
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Basic types from EFI Application Toolkit required to buiild Open SSL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Structures from EFI Application Toolkit required to buiild Open SSL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync char d_name[255 + 1]; /* name must be no longer than this */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync time_t st_mtime; /* time of last data modification */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync long st_mtimensec; /* nsec of last data modification */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync time_t st_ctime; /* time of last file status change */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync long st_ctimensec; /* nsec of last file status change */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Externs from EFI Application Toolkit required to buiild Open SSL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Function prototypes from EFI Application Toolkit required to buiild Open SSL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncvoid free (void *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint strcmp (const char *, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncchar *strcpy (char *, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncchar *strcat (char *, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncchar *strchr (const char *, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint strcasecmp (const char *, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint strncasecmp (const char *, const char *, size_t);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncchar *strrchr (const char *, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncunsigned long strtoul (const char *, char **, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynclong strtol (const char *, char **, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint printf (const char *, ...);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint sscanf (const char *, const char *, ...);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint open (const char *, int, ...);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncsize_t fwrite (const void *, size_t, size_t, FILE *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncvoid openlog (const char *, int, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncvoid syslog (int, const char *, ...);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncvoid qsort (void *, size_t, size_t, int (*)(const void *, const void *));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncchar *getenv (const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Global variables from EFI Application Toolkit required to buiild Open SSL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Macros that directly map functions to BaseLib, BaseMemoryLib, and DebugLib functions
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define memcpy(dest,source,count) CopyMem(dest,source,(UINTN)(count))
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define memset(dest,ch,count) SetMem(dest,(UINTN)(count),(UINT8)(ch))
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define memchr(buf,ch,count) ScanMem8(buf,(UINTN)(count),(UINT8)ch)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define memcmp(buf1,buf2,count) (int)(CompareMem(buf1,buf2,(UINTN)(count)))
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define memmove(dest,source,count) CopyMem(dest,source,(UINTN)(count))
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define strncmp(string1,string2,count) (int)(AsciiStrnCmp(string1,string2,(UINTN)(count)))
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define strcpy(strDest,strSource) AsciiStrCpy(strDest,strSource)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define strncpy(strDest,strSource,count) AsciiStrnCpy(strDest,strSource,(UINTN)count)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define strcat(strDest,strSource) AsciiStrCat(strDest,strSource)