Home | History | Annotate | Line # | Download | only in inc
      1      1.1  jakllsch /*	$NetBSD: efiui.h,v 1.1.1.2 2018/08/16 18:17:47 jmcneill 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.1.2  jmcneill 
     14  1.1.1.2  jmcneill 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.1.2  jmcneill     is for a different language translation of the same string. The list
     20  1.1.1.2  jmcneill     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.1.2  jmcneill     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.1.2  jmcneill     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.1.2  jmcneill #define EFI_UI_INTERFACE_PROTOCOL_GUID \
     34      1.1  jakllsch     { 0x32dd7981, 0x2d27, 0x11d4, {0xbc, 0x8b, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
     35  1.1.1.2  jmcneill #define EFI_UI_PROTOCOL EFI_UI_INTERFACE_PROTOCOL_GUID
     36      1.1  jakllsch 
     37      1.1  jakllsch 
     38      1.1  jakllsch typedef enum {
     39      1.1  jakllsch     UiDeviceString,
     40      1.1  jakllsch     UiVendorString,
     41      1.1  jakllsch     UiMaxString
     42      1.1  jakllsch } UI_STRING_TYPE;
     43      1.1  jakllsch 
     44      1.1  jakllsch typedef struct {
     45      1.1  jakllsch     ISO_639_2   *LangCode;
     46      1.1  jakllsch     CHAR16      *UiString;
     47      1.1  jakllsch } UI_STRING_ENTRY;
     48      1.1  jakllsch 
     49  1.1.1.2  jmcneill #define EFI_UI_INTERFACE_PROTOCOL_VERSION 0x00010000
     50  1.1.1.2  jmcneill #define EFI_UI_VERSION                    EFI_UI_INTERFACE_PROTOCOL_VERSION
     51      1.1  jakllsch 
     52  1.1.1.2  jmcneill typedef struct _EFI_UI_INTERFACE_PROTOCOL {
     53      1.1  jakllsch     UINT32          Version;
     54      1.1  jakllsch     UI_STRING_ENTRY *Entry;
     55  1.1.1.2  jmcneill } EFI_UI_INTERFACE_PROTOCOL;
     56      1.1  jakllsch 
     57  1.1.1.2  jmcneill typedef struct _EFI_UI_INTERFACE_PROTOCOL _UI_INTERFACE;
     58  1.1.1.2  jmcneill typedef EFI_UI_INTERFACE_PROTOCOL UI_INTERFACE;
     59      1.1  jakllsch 
     60      1.1  jakllsch #endif
     61