Subversion Repositories HelenOS

Rev

Rev 2726 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2726 Rev 2782
1
#ifndef _EFI_UI_H
1
#ifndef _EFI_UI_H
2
#define _EFI_UI_H
2
#define _EFI_UI_H
3
 
3
 
4
/*++
4
/*++
5
 
5
 
6
Copyright (c) 200  Intel Corporation
6
Copyright (c) 200  Intel Corporation
7
 
7
 
8
Module Name:
8
Module Name:
9
 
9
 
10
    EfiUi.h
10
    EfiUi.h
11
   
11
   
12
Abstract:  
12
Abstract:  
13
    Protocol used to build User Interface (UI) stuff.
13
    Protocol used to build User Interface (UI) stuff.
14
 
14
 
15
    This protocol is just data. It is a multi dimentional array.
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
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
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
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
19
    UI_STRING_ENTRY arrays. A NULL array terminates the list. A NULL array
20
    entry contains all zeros.  
20
    entry contains all zeros.  
21
 
21
 
22
    Thus the shortest possible EFI_UI_PROTOCOL has three UI_STRING_ENTRY.
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
23
    The String, it's NULL terminator, and the NULL terminator for the entire
24
    thing.
24
    thing.
25
 
25
 
26
 
26
 
27
Revision History
27
Revision History
28
 
28
 
29
--*/
29
--*/
30
 
30
 
31
#define EFI_UI_PROTOCOL \
31
#define EFI_UI_PROTOCOL \
32
    { 0x32dd7981, 0x2d27, 0x11d4, {0xbc, 0x8b, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
32
    { 0x32dd7981, 0x2d27, 0x11d4, {0xbc, 0x8b, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
33
 
33
 
34
 
34
 
35
typedef enum {
35
typedef enum {
36
    UiDeviceString,
36
    UiDeviceString,
37
    UiVendorString,
37
    UiVendorString,
38
    UiMaxString
38
    UiMaxString
39
} UI_STRING_TYPE;
39
} UI_STRING_TYPE;
40
 
40
 
41
typedef struct {
41
typedef struct {
42
    ISO_639_2   *LangCode;
42
    ISO_639_2   *LangCode;
43
    CHAR16      *UiString;
43
    CHAR16      *UiString;
44
} UI_STRING_ENTRY;
44
} UI_STRING_ENTRY;
45
 
45
 
46
#define EFI_UI_VERSION      0x00010000
46
#define EFI_UI_VERSION      0x00010000
47
 
47
 
48
typedef struct _UI_INTERFACE {
48
typedef struct _UI_INTERFACE {
49
    UINT32          Version;
49
    UINT32          Version;
50
    UI_STRING_ENTRY *Entry;
50
    UI_STRING_ENTRY *Entry;
51
} UI_INTERFACE;
51
} UI_INTERFACE;
52
 
52
 
53
 
53
 
54
#endif
54
#endif
55
 
55