Home | History | Annotate | Download | only in Include
      1 /*++
      2 
      3 Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
      4 This program and the accompanying materials
      5 are licensed and made available under the terms and conditions of the BSD License
      6 which accompanies this distribution.  The full text of the license may be found at
      7 http://opensource.org/licenses/bsd-license.php
      8 
      9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     11 
     12 Module Name:
     13 
     14   TianoHii.h
     15 
     16 Abstract:
     17 
     18   Tiano specific HII relative definition.
     19 
     20 Revision History
     21 
     22 --*/
     23 
     24 #ifndef _TIANO_HII_H_
     25 #define _TIANO_HII_H_
     26 
     27 #include "EfiHii.h"
     28 
     29 #define NARROW_CHAR         0xFFF0
     30 #define WIDE_CHAR           0xFFF1
     31 #define NON_BREAKING_CHAR   0xFFF2
     32 
     33 #define GLYPH_WIDTH         EFI_GLYPH_WIDTH
     34 #define GLYPH_HEIGHT        EFI_GLYPH_HEIGHT
     35 
     36 //
     37 // State defined for password statemachine
     38 //
     39 #define BROWSER_STATE_VALIDATE_PASSWORD  0
     40 #define BROWSER_STATE_SET_PASSWORD       1
     41 
     42 //
     43 // References to string tokens must use this macro to enable scanning for
     44 // token usages.
     45 //
     46 #define STRING_TOKEN(t) t
     47 
     48 //
     49 // GUIDed opcodes defined for Tiano
     50 //
     51 #define EFI_IFR_TIANO_GUID \
     52   { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce} }
     53 //
     54 // ClassGuid for Front Page
     55 //
     56 #define EFI_HII_FRONT_PAGE_CLASS_GUID \
     57   { 0x94d411b7, 0x7669, 0x45c3, {0xba, 0x3b, 0xf3, 0xa5, 0x8a, 0x71, 0x56, 0x81} }
     58 
     59 #pragma pack(1)
     60 
     61 #define EFI_IFR_EXTEND_OP_LABEL       0x0
     62 #define EFI_IFR_EXTEND_OP_BANNER      0x1
     63 #define EFI_IFR_EXTEND_OP_TIMEOUT     0x2
     64 #define EFI_IFR_EXTEND_OP_CLASS       0x3
     65 #define EFI_IFR_EXTEND_OP_SUBCLASS    0x4
     66 
     67 typedef struct _EFI_IFR_GUID_LABEL {
     68   EFI_IFR_OP_HEADER   Header;
     69   EFI_GUID            Guid;
     70   UINT8               ExtendOpCode;
     71   UINT16              Number;
     72 } EFI_IFR_GUID_LABEL;
     73 
     74 #define EFI_IFR_BANNER_ALIGN_LEFT     0
     75 #define EFI_IFR_BANNER_ALIGN_CENTER   1
     76 #define EFI_IFR_BANNER_ALIGN_RIGHT    2
     77 
     78 typedef struct _EFI_IFR_GUID_BANNER {
     79   EFI_IFR_OP_HEADER   Header;
     80   EFI_GUID            Guid;
     81   UINT8               ExtendOpCode; // Extended opcode is EFI_IFR_EXTEND_OP_BANNER
     82   EFI_STRING_ID       Title;        // The string token for the banner title
     83   UINT16              LineNumber;   // 1-based line number
     84   UINT8               Alignment;    // left, center, or right-aligned
     85 } EFI_IFR_GUID_BANNER;
     86 
     87 typedef struct _EFI_IFR_GUID_TIMEOUT {
     88   EFI_IFR_OP_HEADER   Header;
     89   EFI_GUID            Guid;
     90   UINT8               ExtendOpCode;
     91   UINT16              TimeOut;
     92 } EFI_IFR_GUID_TIMEOUT;
     93 
     94 #define EFI_NON_DEVICE_CLASS              0x00
     95 #define EFI_DISK_DEVICE_CLASS             0x01
     96 #define EFI_VIDEO_DEVICE_CLASS            0x02
     97 #define EFI_NETWORK_DEVICE_CLASS          0x04
     98 #define EFI_INPUT_DEVICE_CLASS            0x08
     99 #define EFI_ON_BOARD_DEVICE_CLASS         0x10
    100 #define EFI_OTHER_DEVICE_CLASS            0x20
    101 
    102 typedef struct _EFI_IFR_GUID_CLASS {
    103   EFI_IFR_OP_HEADER   Header;
    104   EFI_GUID            Guid;
    105   UINT8               ExtendOpCode;
    106   UINT16              Class;
    107 } EFI_IFR_GUID_CLASS;
    108 
    109 #define EFI_SETUP_APPLICATION_SUBCLASS    0x00
    110 #define EFI_GENERAL_APPLICATION_SUBCLASS  0x01
    111 #define EFI_FRONT_PAGE_SUBCLASS           0x02
    112 #define EFI_SINGLE_USE_SUBCLASS           0x03
    113 
    114 typedef struct _EFI_IFR_GUID_SUBCLASS {
    115   EFI_IFR_OP_HEADER   Header;
    116   EFI_GUID            Guid;
    117   UINT8               ExtendOpCode;
    118   UINT16              SubClass;
    119 } EFI_IFR_GUID_SUBCLASS;
    120 
    121 #pragma pack()
    122 
    123 #endif
    124