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