#
e42fb487 |
| 15-Oct-2024 |
Thu Nguyen <thu@os.amperecomputing.com> |
Change include style to use system includes
The libcper header files in `libcper` are installed to `usr/include/libcper`. Use that system includes in `libcper` source instead of using the project in
Change include style to use system includes
The libcper header files in `libcper` are installed to `usr/include/libcper`. Use that system includes in `libcper` source instead of using the project includes.
Change-Id: I596edc2c754dae4829844f535a1e34caa246fb43 Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
show more ...
|
#
a3b7f8a2 |
| 04-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Unflatten edk includes
Installing the edk headers into a folder requires us to do odd things with imports, and either include headers with "..", or otherwise get the include directories lined up.
M
Unflatten edk includes
Installing the edk headers into a folder requires us to do odd things with imports, and either include headers with "..", or otherwise get the include directories lined up.
Move the contents of edk/*.c/h up a level, and just simplify the include structure. This is done to fix the immediate change of the prior patch and make this build again. Happy to discuss other options.
Change-Id: I328f20bca6d23100993493445bee0e5e11d2866a Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
a7d2cddd |
| 15-Jul-2024 |
Ed Tanous <etanous@nvidia.com> |
Move to embedded base64
Base64 encode/decode is a relatively simple algorithm, and currently libcper takes a dependency on libb64 for this. libb64 does not have methods for determining the encoded
Move to embedded base64
Base64 encode/decode is a relatively simple algorithm, and currently libcper takes a dependency on libb64 for this. libb64 does not have methods for determining the encoded size or decoded size, and rely on the user to provide the right buffer sizes, which libcper currently approximates as 2X the input size (which is incorrect).
This commit removes the libb64 dependency entirely, and inlines a libcper specific base64 encoder and decoder, using EDK2-allowed types.
The implementation itself is unique to libcper and makes the following design decisions. 1. Malloc is performed within the base64_<> functions. This reduces the number of malloc calls total, and removes the need for separately determining the output size. 2. Arguments are passed in by EDK2-types under the assumption that this will keep compatibility with EDK2 implementations. 3. Incremental parsing is not supported. CPER records are expected to be algorithmically small, and buffered such that the entire value fits in memory. This was already an assumption, but dropping the support for incremental encoding significantly reduces the amount of code to support it. It could be added back in the future if needed.
Change-Id: Idb010db105067ea317dbee05c2663511ab3c6611 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|