diff options
author | eric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-06-30 05:08:49 +0000 |
---|---|---|
committer | eric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-06-30 05:08:49 +0000 |
commit | 804405e7d10525e41720216137b2551f62a0663f (patch) | |
tree | a615301e36e63aba81adcb0a963e4d3aa7830863 /UnixPkg/UnixUgaDxe/UnixUga.h | |
parent | 27d55a2d56320e6e7a1dda2b02089721540d6bc3 (diff) | |
download | edk2-804405e7d10525e41720216137b2551f62a0663f.zip edk2-804405e7d10525e41720216137b2551f62a0663f.tar.gz edk2-804405e7d10525e41720216137b2551f62a0663f.tar.bz2 |
Port EdkUnixPkg to UnixPkg. The changes are listed as follows:
1. change *.msa to *.inf, and create platform configuration files .dec&.dsc&.fdf to comply with Edk2 build process
2. using PCD mechanism to replace macro.
3. change Sec code to cowork with PI1.0 Pei Core and produce temparory memory ppi.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5380 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'UnixPkg/UnixUgaDxe/UnixUga.h')
-rw-r--r-- | UnixPkg/UnixUgaDxe/UnixUga.h | 304 |
1 files changed, 304 insertions, 0 deletions
diff --git a/UnixPkg/UnixUgaDxe/UnixUga.h b/UnixPkg/UnixUgaDxe/UnixUga.h new file mode 100644 index 0000000..8401029 --- /dev/null +++ b/UnixPkg/UnixUgaDxe/UnixUga.h @@ -0,0 +1,304 @@ +/*++ + +Copyright (c) 2006 - 2008, Intel Corporation +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. + +Module Name: + + UnixUga.h + +Abstract: + + Private data for the Uga driver that is bound to the Unix Thunk protocol + +--*/ + +#ifndef _UNIX_UGA_H_ +#define _UNIX_UGA_H_ + +#include "PiDxe.h" +#include <Guid/EventGroup.h> +#include <Protocol/SimpleTextIn.h> +#include <Protocol/UgaDraw.h> +#include "Protocol/UnixUgaIo.h" +#include <Library/DebugLib.h> +#include <Library/BaseLib.h> +#include <Library/UefiDriverEntryPoint.h> +#include <Library/UefiLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/MemoryAllocationLib.h> +#include <Library/UefiBootServicesTableLib.h> +#include "UnixDxe.h" + +extern EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding; +extern EFI_COMPONENT_NAME_PROTOCOL gUnixUgaComponentName; + +#define UNIX_UGA_CLASS_NAME L"UnixUgaWindow" + +#define UGA_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('S', 'g', 'o', 'N') +typedef struct { + UINT64 Signature; + + EFI_HANDLE Handle; + EFI_UGA_DRAW_PROTOCOL UgaDraw; + EFI_SIMPLE_TEXT_INPUT_PROTOCOL SimpleTextIn; + + EFI_UNIX_THUNK_PROTOCOL *UnixThunk; + + EFI_UNICODE_STRING_TABLE *ControllerNameTable; + + // + // UGA Private Data for GetMode () + // + UINT32 HorizontalResolution; + UINT32 VerticalResolution; + UINT32 ColorDepth; + UINT32 RefreshRate; + + // + // UGA Private Data knowing when to start hardware + // + BOOLEAN HardwareNeedsStarting; + + CHAR16 *WindowName; + + EFI_UNIX_UGA_IO_PROTOCOL *UgaIo; + +} UGA_PRIVATE_DATA; + +#define UGA_DRAW_PRIVATE_DATA_FROM_THIS(a) \ + CR(a, UGA_PRIVATE_DATA, UgaDraw, UGA_PRIVATE_DATA_SIGNATURE) + +#define UGA_PRIVATE_DATA_FROM_TEXT_IN_THIS(a) \ + CR(a, UGA_PRIVATE_DATA, SimpleTextIn, UGA_PRIVATE_DATA_SIGNATURE) + +// +// Global Protocol Variables +// +extern EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding; +extern EFI_COMPONENT_NAME_PROTOCOL gUnixUgaComponentName; + +// +// Uga Hardware abstraction internal worker functions +// +EFI_STATUS +UnixUgaSupported ( + IN EFI_UNIX_IO_PROTOCOL *UnixIo + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + UnixIo - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +EFI_STATUS +UnixUgaConstructor ( + IN UGA_PRIVATE_DATA *Private + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + Private - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +EFI_STATUS +UnixUgaDestructor ( + IN UGA_PRIVATE_DATA *Private + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + Private - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +// +// EFI 1.1 driver model prototypes for Win UNIX UGA +// + +EFI_STATUS +EFIAPI +UnixUgaInitialize ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + ImageHandle - TODO: add argument description + SystemTable - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +EFI_STATUS +EFIAPI +UnixUgaDriverBindingSupported ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Handle, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + Handle - TODO: add argument description + RemainingDevicePath - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +EFI_STATUS +EFIAPI +UnixUgaDriverBindingStart ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Handle, + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + Handle - TODO: add argument description + RemainingDevicePath - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +EFI_STATUS +EFIAPI +UnixUgaDriverBindingStop ( + IN EFI_DRIVER_BINDING_PROTOCOL *This, + IN EFI_HANDLE Handle, + IN UINTN NumberOfChildren, + IN EFI_HANDLE *ChildHandleBuffer + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + Handle - TODO: add argument description + NumberOfChildren - TODO: add argument description + ChildHandleBuffer - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +EFI_STATUS +UgaPrivateAddQ ( + IN UGA_PRIVATE_DATA *Private, + IN EFI_INPUT_KEY Key + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + Private - TODO: add argument description + Key - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +EFI_STATUS +UnixUgaInitializeSimpleTextInForWindow ( + IN UGA_PRIVATE_DATA *Private + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + Private - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; +#endif |