On Sep 18, 2014, at 10:21 PM, J. E. <[email protected]> wrote:
> Yep thats the first thing I did, search all of UDK for SHELLENV_GET_ENV using
> Agent Ransack which searches binary and unicode as well.
> I found nothing except for the EfiShellEnvironment2.h and UefiShellLib.lib
> files.
> No idea where SHELLENV_GET_ENV is defined, it doesnt make sense.
A Protocol is a C structure, typically with member functions, that is named by
a GUID.
If you grep for EFI_SHELL_EXECUTE
~/work/src/edk2(master)>git grep EFI_SHELL_EXECUTE -- *.h
ShellPkg/Include/Protocol/EfiShell.h:197:(EFIAPI *EFI_SHELL_EXECUTE) (
ShellPkg/Include/Protocol/EfiShell.h:1080: EFI_SHELL_EXECUTE
Execute;
We see that it is a typedef for a member function in a protocol the structure
for the protocol is EFI_SHELL_PROTOCOL, the name of the protocol is
gEfiShellProtocolGuid. The EFI_SHELL_EXECUTE typedef is only used to define the
protocol structure, you will not tend to see these in other places.
~/work/src/edk2(master)>git grep gEfiShellProtocolGuid -- *.c
ShellPkg/Application/Shell/ShellProtocol.c:3478:
&gEfiShellProtocolGuid,
ShellPkg/Application/Shell/ShellProtocol.c:3491:
&gEfiShellProtocolGuid,
ShellPkg/Application/Shell/ShellProtocol.c:3506:
&gEfiShellProtocolGuid,
ShellPkg/Application/Shell/ShellProtocol.c:3519:
&gEfiShellProtocolGuid,
ShellPkg/Application/Shell/ShellProtocol.c:3542:
&gEfiShellProtocolGuid,
ShellPkg/Application/Shell/ShellProtocol.c:3588:
&gEfiShellProtocolGuid,
ShellPkg/Application/Shell/ShellProtocol.c:3598:
&gEfiShellProtocolGuid,
ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c:784:
{STRING_TOKEN(STR_SHELL), &gEfiShellProtocolGuid,
NULL},
ShellPkg/Library/UefiShellLib/UefiShellLib.c:188: &gEfiShellProtocolGuid,
ShellPkg/Library/UefiShellLib/UefiShellLib.c:199: &gEfiShellProtocolGuid,
ShellPkg/Library/UefiShellLib/UefiShellLib.c:339:
&gEfiShellProtocolGuid,
If you search for the EFI_GUID you can find the producers and the consumers of
the interface.
Thanks,
Andrew Fish
------------------------------------------------------------------------------
Slashdot TV. Video for Nerds. Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel