Rev 2726 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 2726 | vana | 1 | #ifndef _EFI_UI_H |
| 2 | #define _EFI_UI_H |
||
| 3 | |||
| 4 | /*++ |
||
| 5 | |||
| 6 | Copyright (c) 200 Intel Corporation |
||
| 7 | |||
| 8 | Module Name: |
||
| 9 | |||
| 10 | EfiUi.h |
||
| 11 | |||
| 12 | Abstract: |
||
| 13 | Protocol used to build User Interface (UI) stuff. |
||
| 14 | |||
| 15 | This protocol is just data. It is a multi dimentional array. |
||
| 16 | For each string there is an array of UI_STRING_ENTRY. Each string |
||
| 17 | is for a different language translation of the same string. The list |
||
| 18 | is terminated by a NULL UiString. There can be any number of |
||
| 19 | UI_STRING_ENTRY arrays. A NULL array terminates the list. A NULL array |
||
| 20 | entry contains all zeros. |
||
| 21 | |||
| 22 | Thus the shortest possible EFI_UI_PROTOCOL has three UI_STRING_ENTRY. |
||
| 23 | The String, it's NULL terminator, and the NULL terminator for the entire |
||
| 24 | thing. |
||
| 25 | |||
| 26 | |||
| 27 | Revision History |
||
| 28 | |||
| 29 | --*/ |
||
| 30 | |||
| 31 | #define EFI_UI_PROTOCOL \ |
||
| 32 | { 0x32dd7981, 0x2d27, 0x11d4, {0xbc, 0x8b, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } |
||
| 33 | |||
| 34 | |||
| 35 | typedef enum { |
||
| 36 | UiDeviceString, |
||
| 37 | UiVendorString, |
||
| 38 | UiMaxString |
||
| 39 | } UI_STRING_TYPE; |
||
| 40 | |||
| 41 | typedef struct { |
||
| 42 | ISO_639_2 *LangCode; |
||
| 43 | CHAR16 *UiString; |
||
| 44 | } UI_STRING_ENTRY; |
||
| 45 | |||
| 46 | #define EFI_UI_VERSION 0x00010000 |
||
| 47 | |||
| 48 | typedef struct _UI_INTERFACE { |
||
| 49 | UINT32 Version; |
||
| 50 | UI_STRING_ENTRY *Entry; |
||
| 51 | } UI_INTERFACE; |
||
| 52 | |||
| 53 | |||
| 54 | #endif |