mirror of
https://github.com/opnsense/src.git
synced 2026-02-26 03:13:02 -05:00
We use these to compile libefivar. The particular motivation for this update is
the inclusion of the RISC-V machine definitions that allow us to build the
library on the platform. This support could easily have been submitted as a
small local diff, but the timing of the release coincided with this work, and
it has been over 3 years since these sources were initially imported.
Note that this comes with a license change from regular BSD 2-clause to the
BSD+Patent license. This has been approved by core@ for this particular
project [1].
As with the original import, we retain only the subset of headers that we
actually need to build libefivar. I adapted imp@'s process slightly for this
update:
# Generate list of the headers needed to build
cp -r ../vendor/edk2/dist/MdePkg/Include sys/contrib/edk2
cd lib/libefivar
make
pushd `make -V .OBJDIR`
cat .depend*.o | grep sys/contrib | cut -d' ' -f 3 |
sort -u | sed -e 's=/full/path/sys/contrib/edk2/==' > /tmp/xxx
popd
# Merge the needed files
cd ../../sys/contrib/edk2
svn revert -R .
for i in `cat /tmp/xxx`; do
svn merge -c VendorRevision svn+ssh://repo.freebsd.org/base/vendor/edk2/dist/MdePkg/$i $i
done
svn merge -c VendorRevision svn+ssh://repo.freebsd.org/base/vendor/edk2/dist/MdePkg/MdePkg.dec MdePkg.dec
[1] https://www.freebsd.org/internal/software-license.html
66 lines
2 KiB
C
66 lines
2 KiB
C
/** @file
|
|
EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL as defined in UEFI 2.0.
|
|
This protocol provides service to convert text to device paths and device nodes.
|
|
|
|
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef __DEVICE_PATH_FROM_TEXT_PROTOCOL_H__
|
|
#define __DEVICE_PATH_FROM_TEXT_PROTOCOL_H__
|
|
|
|
///
|
|
/// Device Path From Text protocol
|
|
///
|
|
#define EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL_GUID \
|
|
{ \
|
|
0x5c99a21, 0xc70f, 0x4ad2, {0x8a, 0x5f, 0x35, 0xdf, 0x33, 0x43, 0xf5, 0x1e } \
|
|
}
|
|
|
|
/**
|
|
Convert text to the binary representation of a device node.
|
|
|
|
@param TextDeviceNode TextDeviceNode points to the text representation of a device
|
|
node. Conversion starts with the first character and continues
|
|
until the first non-device node character.
|
|
|
|
@retval a_pointer Pointer to the EFI device node.
|
|
@retval NULL if TextDeviceNode is NULL or there was insufficient memory.
|
|
|
|
**/
|
|
typedef
|
|
EFI_DEVICE_PATH_PROTOCOL*
|
|
(EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_NODE)(
|
|
IN CONST CHAR16 *TextDeviceNode
|
|
);
|
|
|
|
|
|
/**
|
|
Convert text to the binary representation of a device node.
|
|
|
|
@param TextDeviceNode TextDevicePath points to the text representation of a device
|
|
path. Conversion starts with the first character and continues
|
|
until the first non-device path character.
|
|
|
|
@retval a_pointer Pointer to the allocated device path.
|
|
@retval NULL if TextDeviceNode is NULL or there was insufficient memory.
|
|
|
|
**/
|
|
typedef
|
|
EFI_DEVICE_PATH_PROTOCOL*
|
|
(EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_PATH)(
|
|
IN CONST CHAR16 *TextDevicePath
|
|
);
|
|
|
|
///
|
|
/// This protocol converts text to device paths and device nodes.
|
|
///
|
|
typedef struct {
|
|
EFI_DEVICE_PATH_FROM_TEXT_NODE ConvertTextToDeviceNode;
|
|
EFI_DEVICE_PATH_FROM_TEXT_PATH ConvertTextToDevicePath;
|
|
} EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL;
|
|
|
|
extern EFI_GUID gEfiDevicePathFromTextProtocolGuid;
|
|
|
|
#endif
|