Subversion Repositories HelenOS

Rev

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