efirtlib.h revision 1.1.1.3 1 /* $NetBSD: efirtlib.h,v 1.1.1.3 2021/09/30 18:50:09 jmcneill Exp $ */
2
3 #ifndef _EFI_RT_LIB_INCLUDE_
4 #define _EFI_RT_LIB_INCLUDE_
5 /*++
6
7 Copyright (c) 1998 Intel Corporation
8
9 Module Name:
10
11 efilib.h
12
13 Abstract:
14
15 EFI Runtime library functions
16
17
18
19 Revision History
20
21 --*/
22
23 #include "efidebug.h"
24 #include "efipart.h"
25 #if defined(_M_X64) || defined(__x86_64__) || defined(__amd64__)
26 #include "x86_64/efilibplat.h"
27 #elif defined(_M_IX86) || defined(__i386__)
28 #include "ia32/efilibplat.h"
29 #elif defined(_M_IA64) || defined(__ia64__)
30 #include "ia64/efilibplat.h"
31 #elif defined (_M_ARM64) || defined(__aarch64__)
32 #include "aarch64/efilibplat.h"
33 #elif defined (_M_ARM) || defined(__arm__)
34 #include "arm/efilibplat.h"
35 #elif defined (_M_MIPS64) || defined(__mips64__)
36 #include "mips64el/efilibplat.h"
37 #elif defined (__riscv) && __riscv_xlen == 64
38 #include "riscv64/efilibplat.h"
39 #endif
40
41
42 VOID
43 RUNTIMEFUNCTION
44 RtZeroMem (
45 IN VOID *Buffer,
46 IN UINTN Size
47 );
48
49 VOID
50 RUNTIMEFUNCTION
51 RtSetMem (
52 IN VOID *Buffer,
53 IN UINTN Size,
54 IN UINT8 Value
55 );
56
57 VOID
58 RUNTIMEFUNCTION
59 RtCopyMem (
60 IN VOID *Dest,
61 IN CONST VOID *Src,
62 IN UINTN len
63 );
64
65 INTN
66 RUNTIMEFUNCTION
67 RtCompareMem (
68 IN CONST VOID *Dest,
69 IN CONST VOID *Src,
70 IN UINTN len
71 );
72
73 INTN
74 RUNTIMEFUNCTION
75 RtStrCmp (
76 IN CONST CHAR16 *s1,
77 IN CONST CHAR16 *s2
78 );
79
80
81 VOID
82 RUNTIMEFUNCTION
83 RtStrCpy (
84 IN CHAR16 *Dest,
85 IN CONST CHAR16 *Src
86 );
87
88 VOID
89 RUNTIMEFUNCTION
90 RtStrnCpy (
91 IN CHAR16 *Dest,
92 IN CONST CHAR16 *Src,
93 IN UINTN Len
94 );
95
96 CHAR16 *
97 RUNTIMEFUNCTION
98 RtStpCpy (
99 IN CHAR16 *Dest,
100 IN CONST CHAR16 *Src
101 );
102
103 CHAR16 *
104 RUNTIMEFUNCTION
105 RtStpnCpy (
106 IN CHAR16 *Dest,
107 IN CONST CHAR16 *Src,
108 IN UINTN Len
109 );
110
111 VOID
112 RUNTIMEFUNCTION
113 RtStrCat (
114 IN CHAR16 *Dest,
115 IN CONST CHAR16 *Src
116 );
117
118 VOID
119 RUNTIMEFUNCTION
120 RtStrnCat (
121 IN CHAR16 *Dest,
122 IN CONST CHAR16 *Src,
123 IN UINTN Len
124 );
125
126 UINTN
127 RUNTIMEFUNCTION
128 RtStrLen (
129 IN CONST CHAR16 *s1
130 );
131
132 UINTN
133 RUNTIMEFUNCTION
134 RtStrnLen (
135 IN CONST CHAR16 *s1,
136 IN UINTN Len
137 );
138
139 UINTN
140 RUNTIMEFUNCTION
141 RtStrSize (
142 IN CONST CHAR16 *s1
143 );
144
145 INTN
146 RUNTIMEFUNCTION
147 RtCompareGuid (
148 IN EFI_GUID *Guid1,
149 IN EFI_GUID *Guid2
150 );
151
152 UINT8
153 RUNTIMEFUNCTION
154 RtDecimaltoBCD(
155 IN UINT8 BcdValue
156 );
157
158 UINT8
159 RUNTIMEFUNCTION
160 RtBCDtoDecimal(
161 IN UINT8 BcdValue
162 );
163
164 //
165 // Virtual mapping transition support. (Only used during
166 // the virtual address change transisition)
167 //
168
169 VOID
170 RUNTIMEFUNCTION
171 RtLibEnableVirtualMappings (
172 VOID
173 );
174
175 VOID
176 RUNTIMEFUNCTION
177 RtConvertList (
178 IN UINTN DebugDisposition,
179 IN OUT LIST_ENTRY *ListHead
180 );
181
182 VOID
183 RUNTIMEFUNCTION
184 RtAcquireLock (
185 IN FLOCK *Lock
186 );
187
188 VOID
189 RUNTIMEFUNCTION
190 RtReleaseLock (
191 IN FLOCK *Lock
192 );
193
194
195 #endif
196