38 IN EFI_GUID *VendorGuid,
39 OUT UINTN *VariableSize
52 Status =
gRT->GetVariable (Name, VendorGuid, NULL, &BufferSize,
Buffer);
53 if (Status == EFI_BUFFER_TOO_SMALL) {
57 Buffer = AllocateZeroPool (BufferSize);
66 Status =
gRT->GetVariable (Name, VendorGuid, NULL, &BufferSize,
Buffer);
67 if (EFI_ERROR (Status)) {
74 *VariableSize = BufferSize;
94 IN EFI_DEVICE_PATH_PROTOCOL *Multi,
95 IN EFI_DEVICE_PATH_PROTOCOL *Single
98 EFI_DEVICE_PATH_PROTOCOL *Instance;
99 EFI_DEVICE_PATH_PROTOCOL *NewDevicePath;
100 EFI_DEVICE_PATH_PROTOCOL *TempNewDevicePath;
105 NewDevicePath = NULL;
106 TempNewDevicePath = NULL;
108 if ((Multi == NULL) || (Single == NULL)) {
112 Instance = GetNextDevicePathInstance (&Multi, &InstanceSize);
113 SingleDpSize = GetDevicePathSize (Single) - END_DEVICE_PATH_LENGTH;
114 InstanceSize -= END_DEVICE_PATH_LENGTH;
116 while (Instance != NULL) {
117 Size = (SingleDpSize < InstanceSize) ? SingleDpSize : InstanceSize;
123 TempNewDevicePath = NewDevicePath;
124 NewDevicePath = AppendDevicePathInstance (NewDevicePath, Instance);
125 if (TempNewDevicePath != NULL) {
126 FreePool (TempNewDevicePath);
131 Instance = GetNextDevicePathInstance (&Multi, &InstanceSize);
132 InstanceSize -= END_DEVICE_PATH_LENGTH;
135 return NewDevicePath;
154 IN EFI_DEVICE_PATH_PROTOCOL *Multi,
155 IN EFI_DEVICE_PATH_PROTOCOL *Single
158 EFI_DEVICE_PATH_PROTOCOL *DevicePath;
159 EFI_DEVICE_PATH_PROTOCOL *DevicePathInst;
162 if ((Multi == NULL) || (Single == NULL)) {
167 DevicePathInst = GetNextDevicePathInstance (&DevicePath, &
Size);
172 while (DevicePathInst != NULL) {
178 FreePool (DevicePathInst);
182 FreePool (DevicePathInst);
183 DevicePathInst = GetNextDevicePathInstance (&DevicePath, &
Size);