Subversion Repositories HelenOS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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