CloverBootloader/rEFIt_UEFI/Platform/Utils.h
jief666 16c627596f Rename OSVersion to macOSVersion.
Fixed some icons ordering in main menu.
Fixed macOs version detection for custom entries.
Fixed main Big Sur partition appearing in menu.
Refactor IsValidGuidAsciiString.
2021-01-31 12:50:23 +03:00

76 lines
2.2 KiB
C

//
//All rights reserved. This program and the accompanying materials
//are licensed and made available under the terms and conditions of the BSD License
//which accompanies this distribution. The full text of the license may be found at
//http://opensource.org/licenses/bsd-license.php
//
//THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
//WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
//Module Name:
//
// Utils
//
//
#ifndef _UTILS_H_
#define _UTILS_H_
//Unicode
#define IS_COMMA(a) ((a) == L',')
#define IS_HYPHEN(a) ((a) == L'-')
#define IS_DOT(a) ((a) == L'.')
#define IS_LEFT_PARENTH(a) ((a) == L'(')
#define IS_RIGHT_PARENTH(a) ((a) == L')')
#define IS_SLASH(a) ((a) == L'/')
#define IS_NULL(a) ((a) == L'\0')
//Ascii
#define IS_DIGIT(a) (((a) >= '0') && ((a) <= '9'))
#define IS_HEX(a) ((((a) >= 'a') && ((a) <= 'f')) || (((a) >= 'A') && ((a) <= 'F')))
#define IS_UPPER(a) (((a) >= 'A') && ((a) <= 'Z'))
#define IS_ALFA(x) (((x >= 'a') && (x <='z')) || ((x >= 'A') && (x <='Z')))
#define IS_ASCII(x) ((x>=0x20) && (x<=0x7F))
#define IS_PUNCT(x) ((x == '.') || (x == '-'))
inline bool isPathSeparator(char32_t c) { return c == '/' || c == '\\'; }
////void LowCase (IN OUT CHAR8 *Str);
UINT32 hex2bin(IN const CHAR8 *hex, OUT UINT8 *bin, UINT32 len);
BOOLEAN IsHexDigit (CHAR8 c);
UINT8 hexstrtouint8 (CONST CHAR8* buf); //one or two hex letters to one byte
#ifdef __cplusplus
#include "../cpp_foundation/XString.h"
XString8 Bytes2HexStr(UINT8 *data, UINTN len);
inline UINT64 EFIAPI AsciiStrHexToUint64(const XString8& String)
{
return AsciiStrHexToUint64(String.c_str());
}
inline UINTN EFIAPI AsciiStrHexToUintn(const XString8& String)
{
return AsciiStrHexToUintn(String.c_str());
}
inline UINTN EFIAPI AsciiStrDecimalToUintn(const XString8& String)
{
return AsciiStrDecimalToUintn(String.c_str());
}
extern BOOLEAN haveError;
BOOLEAN CheckFatalError(IN EFI_STATUS Status, IN CONST CHAR16 *where);
BOOLEAN CheckError(IN EFI_STATUS Status, IN CONST CHAR16 *where);
#endif // __cplusplus
#endif // _UTILS_H_