From patchwork Mon Aug 4 09:50:22 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Olivier Martin X-Patchwork-Id: 34825 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-pa0-f70.google.com (mail-pa0-f70.google.com [209.85.220.70]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id A859C21F5F for ; Mon, 4 Aug 2014 09:50:55 +0000 (UTC) Received: by mail-pa0-f70.google.com with SMTP id lf10sf48604583pab.5 for ; Mon, 04 Aug 2014 02:50:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:message-id:from:to:date :mime-version:thread-index:cc:subject:precedence:reply-to:list-id :list-unsubscribe:list-archive:list-post:list-help:list-subscribe :errors-to:x-original-sender:x-original-authentication-results :mailing-list:content-language:content-type :content-transfer-encoding; bh=6LGDxAtEQgtYtA+az4/+oUUzrnDEcROQjqia9vbsEA4=; b=ezl2+UEmjGjZw6EtVc8r8Pvf6Vp+T27M2miUiNpV367KaCa718RjHF8OiE6E9lb43T aDXOPsUbdQDevPzcV27jSFOo8NymEDjfc/ya0HolClcpPBce0EChr5DUuYKCCTqnLx5S QNwpSn9QVl3mjyCmItM7HbIpzCdskbkBbQkyJy9mmDktGGlha4rUBp6QEOHtl1ebHcQr eiiuyyuAvHboY1305An6upUKBJ68T9SsHJ1buZ8O80Z0Ja9YXH+u7W3NY+Pa0QABVo0E owcwEVsb49VM5FKmBw0Q8s7cHyoSXtgr/S5FcJIinpKju5EtfEWvE6kHiRXi0rO0G66k Np1Q== X-Gm-Message-State: ALoCoQnh5ohvUSvpZMI+1JbqNPsHGJ2ccmFmkvBPejVzi7dfjhqAS+Ro0FnrAW7CSg9UDivWhgY5 X-Received: by 10.67.5.101 with SMTP id cl5mr7761559pad.41.1407145854778; Mon, 04 Aug 2014 02:50:54 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.32.97 with SMTP id g88ls351865qgg.1.gmail; Mon, 04 Aug 2014 02:50:54 -0700 (PDT) X-Received: by 10.52.166.10 with SMTP id zc10mr1593787vdb.61.1407145854648; Mon, 04 Aug 2014 02:50:54 -0700 (PDT) Received: from mail-vc0-f176.google.com (mail-vc0-f176.google.com [209.85.220.176]) by mx.google.com with ESMTPS id a10si11593308vcl.90.2014.08.04.02.50.54 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 04 Aug 2014 02:50:54 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.176 as permitted sender) client-ip=209.85.220.176; Received: by mail-vc0-f176.google.com with SMTP id id10so10492755vcb.7 for ; Mon, 04 Aug 2014 02:50:54 -0700 (PDT) X-Received: by 10.52.166.10 with SMTP id zc10mr1593778vdb.61.1407145854418; Mon, 04 Aug 2014 02:50:54 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.221.37.5 with SMTP id tc5csp291518vcb; Mon, 4 Aug 2014 02:50:53 -0700 (PDT) X-Received: by 10.42.35.8 with SMTP id o8mr30186599icd.41.1407145853790; Mon, 04 Aug 2014 02:50:53 -0700 (PDT) Received: from lists.sourceforge.net (lists.sourceforge.net. [216.34.181.88]) by mx.google.com with ESMTPS id mi6si39152167icb.102.2014.08.04.02.50.53 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 04 Aug 2014 02:50:53 -0700 (PDT) Received-SPF: pass (google.com: domain of edk2-devel-bounces@lists.sourceforge.net designates 216.34.181.88 as permitted sender) client-ip=216.34.181.88; Message-ID: <53df577d.06f92a0a.243d.ffffac37SMTPIN_ADDED_BROKEN@mx.google.com> Received: from localhost ([127.0.0.1] helo=sfs-ml-4.v29.ch3.sourceforge.com) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1XEEui-000193-Qv; Mon, 04 Aug 2014 09:50:44 +0000 Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1XEEuh-00018l-E9 for edk2-devel@lists.sourceforge.net; Mon, 04 Aug 2014 09:50:43 +0000 Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of arm.com designates 91.220.42.44 as permitted sender) client-ip=91.220.42.44; envelope-from=olivier.martin@arm.com; helo=service87.mimecast.com; Received: from service87.mimecast.com ([91.220.42.44]) by sog-mx-3.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1XEEuf-00062M-Ru for edk2-devel@lists.sourceforge.net; Mon, 04 Aug 2014 09:50:43 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Mon, 04 Aug 2014 10:50:35 +0100 Received: from E102252 ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 4 Aug 2014 10:50:35 +0100 From: "Olivier Martin" To: "'Carsey, Jaben'" Date: Mon, 4 Aug 2014 10:50:22 +0100 MIME-Version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: Ac+s6mjsCkidiDreTdqOO/DVuflzdAC3lhLQ X-OriginalArrivalTime: 04 Aug 2014 09:50:35.0237 (UTC) FILETIME=[89CF1150:01CFAFC9] X-MC-Unique: 114080410503502901 X-Spam-Score: -0.5 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 1.0 MSGID_MULTIPLE_AT Message-ID contains multiple '@' characters -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain -0.0 SPF_PASS SPF: sender matches SPF record X-Headers-End: 1XEEuf-00062M-Ru Cc: edk2-devel@lists.sourceforge.net Subject: [edk2] FW: SF.net SVN: edk2:[15731] trunk/edk2/ShellPkg X-BeenThere: edk2-devel@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list Reply-To: edk2-devel@lists.sourceforge.net List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , List-Subscribe: , Errors-To: edk2-devel-bounces@lists.sourceforge.net X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: olivier.martin@arm.com X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.176 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 Content-Language: en-gb Hello Jaben, Interestingly it was a feature I was thinking to add to the Shell specification a couple of month ago because we needed it. But I have just seen it has been added to the latest Shell spec. Are you planning to implement this feature in the next few weeks? If no, ARM Ltd could do it. Regards, Olivier -----Original Message----- From: jcarsey@users.sourceforge.net [mailto:jcarsey@users.sourceforge.net] Sent: 31 July 2014 19:08 To: edk2-commits@lists.sourceforge.net Subject: SF.net SVN: edk2:[15731] trunk/edk2/ShellPkg Revision: 15731 http://sourceforge.net/p/edk2/code/15731 Author: jcarsey Date: 2014-07-31 18:07:43 +0000 (Thu, 31 Jul 2014) Log Message: ----------- ShellPkg: Add new dynamic command protocol Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jaben Carsey Modified Paths: -------------- trunk/edk2/ShellPkg/ShellPkg.dec Added Paths: ----------- trunk/edk2/ShellPkg/Include/Protocol/EfiShellDynamicCommand.h Added: trunk/edk2/ShellPkg/Include/Protocol/EfiShellDynamicCommand.h =================================================================== --- trunk/edk2/ShellPkg/Include/Protocol/EfiShellDynamicCommand.h (rev 0) +++ trunk/edk2/ShellPkg/Include/Protocol/EfiShellDynamicCommand.h 2014-07-31 18:07:43 UTC (rev 15731) @@ -0,0 +1,86 @@ +/** @file + EFI Shell Dynamic Command registration protocol + + Copyright (c) 2012 Hewlett-Packard Company. All rights reserved.
+ This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef __EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL__ +#define __EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL__ + +#include +#include +#include + + +// {0CD3258C-D677-4fcc-B343-934D30983888} +#define EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL_GUID \ + { \ + 0xcd3258c, 0xd677, 0x4fcc, { 0xb3, 0x43, 0x93, 0x4d, 0x30, 0x98, 0x38, 0x88 } \ + } + + +// +// Define for forward reference. +// +typedef struct _EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL; + + +/** + This is the shell command handler function pointer callback type. This + function handles the command when it is invoked in the shell. + + @param[in] This The instance of the EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL. + @param[in] SystemTable The pointer to the system table. + @param[in] ShellParameters The parameters associated with the command. + @param[in] Shell The instance of the shell protocol used in the context + of processing this command. + + @return EFI_SUCCESS the operation was sucessful + @return other the operation failed. +**/ +typedef +SHELL_STATUS +(EFIAPI * SHELL_COMMAND_HANDLER)( + IN EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *This, + IN EFI_SYSTEM_TABLE *SystemTable, + IN EFI_SHELL_PARAMETERS_PROTOCOL *ShellParameters, + IN EFI_SHELL_PROTOCOL *Shell + ); + +/** + This is the command help handler function pointer callback type. This + function is responsible for displaying help information for the associated + command. + + @param[in] This The instance of the EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL. + @param[in] Language The pointer to the language string to use. + + @return string Pool allocated help string, must be freed by caller +**/ +typedef +CHAR16* +(EFIAPI * SHELL_COMMAND_GETHELP)( + IN EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *This, + IN CONST CHAR8 *Language + ); + +/// EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL protocol structure. +typedef struct _EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL { + + CONST CHAR16 *CommandName; + SHELL_COMMAND_HANDLER Handler; + SHELL_COMMAND_GETHELP GetHelp; + +} EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL; + +extern EFI_GUID gEfiShellDynamicCommandProtocolGuid; + +#endif Modified: trunk/edk2/ShellPkg/ShellPkg.dec # the terms and conditions of the BSD License which accompanies this distribution. @@ -62,10 +62,11 @@ gShellNetwork1HiiGuid = {0xf3d301bb, 0xf4a5, 0x45a8, {0xb0, 0xb7, 0xfa, 0x99, 0x9c, 0x62, 0x37, 0xae}} [Protocols] - gEfiShellProtocolGuid = {0x6302d008, 0x7f9b, 0x4f30, {0x87, 0xac, 0x60, 0xc9, 0xfe, 0xf5, 0xda, 0x4e}} - gEfiShellParametersProtocolGuid = {0x752f3136, 0x4e16, 0x4fdc, {0xa2, 0x2a, 0xe5, 0xf4, 0x68, 0x12, 0xf4, 0xca}} - gEfiShellEnvironment2Guid = {0x47c7b221, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}} - gEfiShellInterfaceGuid = {0x47c7b223, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}} + gEfiShellProtocolGuid = {0x6302d008, 0x7f9b, 0x4f30, {0x87, 0xac, 0x60, 0xc9, 0xfe, 0xf5, 0xda, 0x4e}} + gEfiShellParametersProtocolGuid = {0x752f3136, 0x4e16, 0x4fdc, {0xa2, 0x2a, 0xe5, 0xf4, 0x68, 0x12, 0xf4, 0xca}} + gEfiShellEnvironment2Guid = {0x47c7b221, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}} + gEfiShellInterfaceGuid = {0x47c7b223, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}} + gEfiShellDynamicCommandProtocolGuid = {0xcd3258c, 0xd677, 0x4fcc, { 0xb3, 0x43, 0x93, 0x4d, 0x30, 0x98, 0x38, 0x88}} [PcdsFeatureFlag] ## This flag is used to control whether the shell includes NT32 platform Guids This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ---------------------------------------------------------------------------- --- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk =================================================================== --- trunk/edk2/ShellPkg/ShellPkg.dec 2014-07-31 15:45:27 UTC (rev 15730) +++ trunk/edk2/ShellPkg/ShellPkg.dec 2014-07-31 18:07:43 UTC (rev 15731) @@ -3,7 +3,7 @@ # This Package provides all definitions for EFI and UEFI Shell # # Copyright (c) 2013, Hewlett-Packard Development Company, L.P. -# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.
+# Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
# # This program and the accompanying materials are licensed and made available under