windows-nt/Source/XPSP1/NT/base/efiutil/sdk/shell/cls/cls.c

71 lines
1.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 1998 Intel Corporation
Module Name:
cls.c
Abstract:
Revision History
--*/
#include "shell.h"
EFI_STATUS
InitializeCls (
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
);
EFI_DRIVER_ENTRY_POINT(InitializeCls)
EFI_STATUS
InitializeCls (
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
{
UINTN Background;
/*
* Check to see if the app is to install as a "internal command"
* to the shell
*/
InstallInternalShellCommand (
ImageHandle, SystemTable, InitializeCls,
L"cls", /* command */
L"cls [background color]", /* command syntax */
L"Clear screen", /* 1 line descriptor */
NULL /* command help page */
);
/*
* We are no being installed as an internal command driver, initialize
* as an nshell app and run
*/
InitializeShellApplication (ImageHandle, SystemTable);
/*
*
*/
if ( SI->Argc > 1 ) {
Background = xtoi(SI->Argv[1]);
if (Background > EFI_LIGHTGRAY) {
Background = EFI_BLACK;
}
ST->ConOut->SetAttribute(ST->ConOut,(ST->ConOut->Mode->Attribute & 0x0f) | (Background << 4));
}
ST->ConOut->ClearScreen(ST->ConOut);
return EFI_SUCCESS;
}