// *++
//
// (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.<BR>
// Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
// (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
// 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.
//
//
// Module Name:
//
//   DpStrings.uni
//
// Abstract:
//
//   String definitions for the Shell dp command
//
// Revision History:
//
// --*/

/=#

#langdef   en-US "English"

#string STR_DP_UP                      #language en-US  "UP"
#string STR_DP_DOWN                    #language en-US  "DOWN"
#string STR_DP_DASHES                  #language en-US  "-------------------------------------------------------------------------------\n"
#string STR_DP_SECTION_HEADER          #language en-US  "\n==[ %s ]========\n"
#string STR_DP_INVALID_ARG             #language en-US  "Invalid argument(s)\n"
#string STR_DP_HANDLES_ERROR           #language en-US  "Locate all handles error - %r\n"
#string STR_DP_ERROR_NAME              #language en-US  "Unknown driver name"
#string STR_PERF_PROPERTY_NOT_FOUND    #language en-US  "Performance property not found\n"
#string STR_DP_BUILD_REVISION          #language en-US  "\nDP Build Version:       %d.%d\n"
#string STR_DP_KHZ                     #language en-US  "System Performance Timer Frequency:   %,8d (KHz)\n"
#string STR_DP_TIMER_PROPERTIES        #language en-US  "System Performance Timer counts %s from 0x%Lx to 0x%Lx\n"
#string STR_DP_VERBOSE_THRESHOLD       #language en-US  "Measurements less than %,Ld microseconds are not displayed.\n"
#string STR_DP_SECTION_PHASES          #language en-US  "Major Phases"
#string STR_DP_SEC_PHASE               #language en-US  "  SEC Phase Duration:      %L8d (us)\n"
#string STR_DP_PHASE_BDSTO             #language en-US  "         BDS Timeout:   %L8d (ms) included in BDS Duration\n"
#string STR_DP_PHASE_DURATION          #language en-US  "%5a Phase Duration:   %L8d (ms)\n"
#string STR_DP_TOTAL_DURATION          #language en-US  "Total       Duration:   %L8d (ms)\n"
#string STR_DP_SECTION_DRIVERS         #language en-US  "Drivers by Handle"
#string STR_DP_HANDLE_SECTION          #language en-US  "Index:  Handle                Driver Name               Description    Time(us)\n"
#string STR_DP_HANDLE_VARS             #language en-US  "%5d:  [%3x]   %36s    %11s    %L8d\n"
#string STR_DP_HANDLE_SECTION2         #language en-US  "Index: Handle               Driver Name             Description  Time(us)    ID\n"
#string STR_DP_HANDLE_VARS2            #language en-US  "%5d: [%3x]  %36s  %11s  %L8d %5d\n"
#string STR_DP_SECTION_PEIMS           #language en-US  "PEIMs"
#string STR_DP_PEIM_SECTION            #language en-US  "Index:  Pointer Value              Instance GUID              Token    Time(us)\n"
#string STR_DP_PEIM_VARS               #language en-US  "%5d:  0x%11p   %g   PEIM    %L8d\n"
#string STR_DP_PEIM_SECTION2           #language en-US  "Index: Pointer Value             Instance GUID            Token  Time(us)    ID\n"
#string STR_DP_PEIM_VARS2              #language en-US  "%5d: 0x%11p  %g PEIM  %L8d %5d\n"
#string STR_DP_SECTION_GENERAL         #language en-US  "General"
#string STR_DP_GLOBAL_SECTION          #language en-US  "Index                      Name                         Description    Time(us)\n"
#string STR_DP_GLOBAL_VARS             #language en-US  "%5d:%25s     %31s    %L8d\n"
#string STR_DP_GLOBAL_SECTION2         #language en-US  "Index                      Name                     Description  Time(us)    ID\n"
#string STR_DP_GLOBAL_VARS2            #language en-US  "%5d:%25s %31s  %L8d %5d\n"
#string STR_DP_SECTION_CUMULATIVE      #language en-US  "Cumulative"
#string STR_DP_CUMULATIVE_SECT_1       #language en-US  "(Times in microsec.)     Cumulative   Average     Shortest    Longest\n"
#string STR_DP_CUMULATIVE_SECT_2       #language en-US  "   Name         Count     Duration    Duration    Duration    Duration\n"
#string STR_DP_CUMULATIVE_STATS        #language en-US  "%11a   %8d  %L10d  %L10d  %L10d  %L10d\n"
#string STR_DP_SECTION_STATISTICS      #language en-US  "Statistics"
#string STR_DP_STATS_NUMTRACE          #language en-US  "There were %d measurements taken, of which:\n"
#string STR_DP_STATS_NUMINCOMPLETE     #language en-US  "%,8d are incomplete.\n"
#string STR_DP_STATS_NUMPHASES         #language en-US  "%,8d are major execution phases.\n"
#string STR_DP_STATS_NUMHANDLES        #language en-US  "%,8d have non-NULL handles, %d are NULL.\n"
#string STR_DP_STATS_NUMPEIMS          #language en-US  "%,8d are PEIMs.\n"
#string STR_DP_STATS_NUMGLOBALS        #language en-US  "%,8d are general measurements.\n"
#string STR_DP_STATS_NUMPROFILE        #language en-US  "%,8d are profiling records.\n"
#string STR_DP_SECTION_PROFILE         #language en-US  "Sequential Profile Records"
#string STR_DP_SECTION_ALL             #language en-US  "Sequential Trace Records"
#string STR_DP_ALL_HEADR               #language en-US  "\nIndex      Handle                 Module                      Token    Time(us)\n"
#string STR_DP_ALL_VARS                #language en-US  "%5d:%3s0x%08p %36s %13s %L8d\n"
#string STR_DP_ALL_DASHES2             #language en-US  "-------------------------------------------------------------------------------------\n"
#string STR_DP_ALL_HEADR2              #language en-US  "\nIndex      Handle                 Module                      Token    Time(us)    ID\n"
#string STR_DP_ALL_VARS2               #language en-US  "%5d:%3s0x%08p %36s %13s %L8d %5d\n"
#string STR_DP_SECTION_RAWTRACE        #language en-US  "RAW Trace"
#string STR_DP_SECTION_RAWPROFILE      #language en-US  "RAW Profile"
#string STR_DP_RAW_DASHES              #language en-US  "---------------------------------------------------------------------------------------------------------------------------\n"
#string STR_DP_RAW_VARS                #language en-US  "%5d: %16LX %16LX %16LX  %31a  %31a\n"
#string STR_DP_RAW_HEADR               #language en-US  "\nIndex       Handle        Start Count       End Count                  Token                          Module\n"
#string STR_DP_RAW_DASHES2             #language en-US  "---------------------------------------------------------------------------------------------------------------------------------\n"
#string STR_DP_RAW_VARS2               #language en-US  "%5d: %16LX %16LX %16LX  %31a  %31a %5d\n"
#string STR_DP_RAW_HEADR2              #language en-US  "\nIndex       Handle        Start Count       End Count                  Token                          Module                   ID\n"
#string STR_DP_INCOMPLETE              #language en-US  " I "
#string STR_DP_COMPLETE                #language en-US  "   "
#string STR_ALIT_UNKNOWN               #language en-US  "Unknown"

#string STR_GET_HELP_DP         #language en-US ""
".TH dp 0 "Display performance metrics"\r\n"
".SH NAME\r\n"
"Displays performance metrics that are stored in memory.\r\n"
".SH SYNOPSIS\r\n"
"DP [-b] [-v] [-x] [-s | -A | -R] [-T] [-P] [-t value] [-n count] [-c [token]][-i] [-h | -?]\r\n"
".SH OPTIONS\r\n"
" \r\n"
"  -b       - Displays on multiple pages\r\n"
"  -v       - Displays additional information\r\n"
"  -x       - Prevents display of individual measurements for cumulative items\r\n"
"  -s       - Displays summary information only\r\n"
"  -A       - Displays all measurements in a list\r\n"
"  -R       - Displays all measurements in raw format\r\n"
"  -T       - Displays trace measurements only\r\n"
"  -P       - Displays profile measurements only\r\n"
"  -t VALUE - Sets display threshold to VALUE microseconds\r\n"
"  -n COUNT - Limits display to COUNT lines in All and Raw modes\r\n"
"  -i       - Displays identifier\r\n"
"  -c TOKEN - Display pre-defined and custom cumulative data\r\n" 
"             Pre-defined cumulative token are:\r\n"
"             1. LoadImage:\r\n"
"             2. StartImage:\r\n"
"             3. DB:Start:\r\n"
"             4. DB:Support:\r\n"
"  -?       - Displays DP help information\r\n"
".SH DESCRIPTION\r\n"
" \r\n"
"NOTES:\r\n"
"  1. Displays Performance metrics that are stored in memory.\r\n"
".SH RETURNVALUES\r\n"
" \r\n"
"RETURN VALUES:\r\n"
"  SHELL_SUCCESS            The action was completed as requested.\r\n"
"  SHELL_NOT_FOUND          The requested option was not found.\r\n"
"  SHELL_INVALID_PARAMETER  One of the passed in parameters was incorrectly formatted or its value was out of bounds.\r\n"
"  SHELL_UNSUPPORTED        The action as requested was unsupported.\r\n"
"  SHELL_OUT_OF_RESOURCES   There was insufficient free space for the request to be completed.\r\n"
