2021-04-03 12:55:25 +02:00
//
// Platform.h.h
// cpp_tests
//
// Created by jief on 23.02.20.
// Copyright © 2020 Jief_Machak. All rights reserved.
//
# ifndef Platform_h_h
# define Platform_h_h
2021-05-06 09:55:11 +02:00
// Replacing uintptr_t with unsigned long long doesn't work anymore with stdlic++ with xcode 12.5 (or probably some before)
//
//#ifndef _UINTPTR_T
//#define _UINTPTR_T // to prevent macOS/Clang definition of uintptr_t (map to a long). We prefer long long so we can use %llu on all platform (including microsoft)
//#endif
//#ifndef _PTRDIFF_T_DECLARED
//#define _PTRDIFF_T_DECLARED // to prevent macOS/GCC definition of uintptr_t (map to a long). We prefer long long so we can use %llu on all platform (including microsoft)
//#endif
//
//// Replacement of uintptr_t to avoid warning in printf. It needs macro _UINTPTR_T to avoid to standard definition
//typedef unsigned long long uintptr_t;
//#undef PRIuPTR
//#define PRIuPTR "llu"
////#define _UINTPTR_T
2021-04-06 15:39:55 +02:00
2021-04-03 12:55:25 +02:00
# ifdef _MSC_VER
# include <Windows.h>
# endif
//#pragma clang diagnostic ignored "-Wc99-extensions"
2021-09-28 10:28:45 +02:00
# ifdef __cplusplus
# include "../../cpp_foundation/XBool.h"
# endif
2021-04-03 12:55:25 +02:00
# ifdef __cplusplus
extern " C " {
# endif
# include <Uefi.h>
# include <Base.h>
# include <Library/BaseLib.h>
2021-05-05 12:20:40 +02:00
//#include <Library/BaseMemoryLib.h>
//#include <Library/MemoryAllocationLib.h>
2021-04-03 12:55:25 +02:00
# include "../../../../rEFIt_UEFI/Platform/BootLog.h"
# include <Library/DebugLib.h> // this is just to define DEBUG, because Slice wrongly did some #ifdef DEBUG
# ifdef __cplusplus
}
# endif
# include <stdio.h>
# include <limits.h>
# include <stdarg.h>
2021-05-05 12:20:40 +02:00
# include <stdbool.h>
2021-04-03 12:55:25 +02:00
# include <stdint.h>
# include <string.h>
# include <inttypes.h>
# include <wchar.h>
# include "posix/posix.h"
# include "../../../../rEFIt_UEFI/include/OneLinerMacros.h"
2021-05-05 12:20:40 +02:00
//#ifndef __cplusplus
////typedef uint16_t wchar_t;
//typedef uint32_t char32_t;
//typedef uint16_t char16_t;
//typedef uint8_t bool;
//#endif
2021-04-03 12:55:25 +02:00
# include "./posix/abort.h"
# include "../../../rEFIt_UEFI/cpp_foundation/unicode_conversions.h"
# ifdef __cplusplus
# include "../../../rEFIt_UEFI/cpp_foundation/XString.h"
2021-04-05 14:00:17 +02:00
# include "../../../rEFIt_UEFI/cpp_foundation/XArray.h"
2021-04-03 12:55:25 +02:00
# include "../../../rEFIt_UEFI/cpp_foundation/XObjArray.h"
2021-04-05 14:00:17 +02:00
# include "../include/remove_ref.h"
# include "../cpp_lib/undefinable.h"
# include "../include/OneLinerMacros.h"
2021-04-03 12:55:25 +02:00
# include "../../../rEFIt_UEFI/entry_scan/common.h"
# include "../../../rEFIt_UEFI/libeg/BmLib.h"
2021-04-05 14:00:17 +02:00
# include "../Platform/BootLog.h"
# include "../Platform/BasicIO.h"
# include "../Platform/VersionString.h"
# include "../Platform/Utils.h"
2021-04-03 12:55:25 +02:00
# include "../../../rEFIt_UEFI/Platform/Utils.h"
2021-04-05 14:00:17 +02:00
# endif
2021-04-03 12:55:25 +02:00
2021-04-11 07:18:52 +02:00
# if defined(__clang__) // it works to include <Foundation/Foundation.h> and that allows to use NS... objects. Could be useful for a tool running on macOS.
//#ifdef __OBJC__
//#define _MACH_H_
//#define __DEBUGGING__
//#import <Foundation/Foundation.h>
//#undef CMASK
//#endif
2021-04-06 15:39:55 +02:00
# endif
2021-04-03 12:55:25 +02:00
// to be able to compile AutoGen.c
# ifdef __cplusplus
extern " C " {
# endif
2021-04-29 19:08:51 +02:00
//#include "../../Build/Clover/DEBUGMACOS_XCODE8/X64/rEFIt_UEFI/refit/DEBUG/AutoGen.h"
2021-04-03 12:55:25 +02:00
EFI_STATUS
EFIAPI
RefitMain ( IN EFI_HANDLE ImageHandle ,
IN EFI_SYSTEM_TABLE * SystemTable ) ;
# ifdef __cplusplus
}
# endif
# endif /* Platform_h_h */