blob: 54f1d5d9c51bd682372e9b379ea9e3bf8af9f90d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
/*
* ========================================================
*
* NewBoot
* Copyright Mahrouss Logic, all rights reserved.
*
* ========================================================
*/
/***********************************************************************************/
/// @file Boot.hxx
/// @brief Bootloader API.
/***********************************************************************************/
#pragma once
#include <NewKit/Defines.hpp>
using namespace HCore;
typedef VoidPtr PEFImagePtr;
typedef VoidPtr PEImagePtr;
enum {
kSegmentCode = 2,
kSegmentData = 4,
kSegmentBss = 6,
};
typedef wchar_t CharacterType;
/**
* @brief BootKit Text Writer class
* Writes to UEFI StdOut.
*/
class BTextWriter final {
public:
BTextWriter &WriteString(const CharacterType *str);
BTextWriter &WriteCharacter(CharacterType c);
public:
explicit BTextWriter() = default;
~BTextWriter() = default;
public:
BTextWriter &operator=(const BTextWriter &) = default;
BTextWriter(const BTextWriter &) = default;
};
HCore::SizeT BStrLen(const CharacterType *ptr);
HCore::SizeT BSetMem(CharacterType *src, const CharacterType byte,
const HCore::SizeT len);
/**
* @brief BootKit File Reader class
* Reads using the UEFI Simple File protocol.
*/
class BFileReader final {
public:
explicit BFileReader(const CharacterType *path);
~BFileReader() = default;
HCore::VoidPtr ReadAll();
public:
BFileReader &operator=(const BFileReader &) = default;
BFileReader(const BFileReader &) = default;
private:
CharacterType mPath[255];
};
/***********************************************************************************/
/// Include other APIs.
/***********************************************************************************/
#include <BootKit/Platform.hxx>
#include <BootKit/Protocol.hxx>
|