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