Home | History | Annotate | Line # | Download | only in inc
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