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