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