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