Subversion Repositories HelenOS

Rev

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

  1. /*++
  2.  
  3. Copyright (c) 1998  Intel Corporation
  4.  
  5. Module Name:
  6.  
  7.     data.c
  8.  
  9. Abstract:
  10.  
  11.     EFI library global data
  12.  
  13.  
  14.  
  15. Revision History
  16.  
  17. --*/
  18.  
  19. #include "lib.h"
  20.  
  21. //
  22. // LibInitialized - TRUE once InitializeLib() is called for the first time
  23. //
  24.  
  25. BOOLEAN  LibInitialized = FALSE;
  26.  
  27. //
  28. // ST - pointer to the EFI system table
  29. //
  30.  
  31. EFI_SYSTEM_TABLE        *ST;
  32.  
  33. //
  34. // BS - pointer to the boot services table
  35. //
  36.  
  37. EFI_BOOT_SERVICES       *BS;
  38.  
  39.  
  40. //
  41. // Default pool allocation type
  42. //
  43.  
  44. EFI_MEMORY_TYPE PoolAllocationType = EfiBootServicesData;
  45.  
  46. //
  47. // Unicode collation functions that are in use
  48. //
  49.  
  50. EFI_UNICODE_COLLATION_INTERFACE   LibStubUnicodeInterface = {
  51.     LibStubStriCmp,
  52.     LibStubMetaiMatch,
  53.     LibStubStrLwrUpr,
  54.     LibStubStrLwrUpr,
  55.     NULL,   // FatToStr
  56.     NULL,   // StrToFat
  57.     NULL    // SupportedLanguages
  58. };
  59.  
  60. EFI_UNICODE_COLLATION_INTERFACE   *UnicodeInterface = &LibStubUnicodeInterface;
  61.  
  62. //
  63. // Root device path
  64. //
  65.  
  66. EFI_DEVICE_PATH RootDevicePath[] = {
  67.    {END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, {END_DEVICE_PATH_LENGTH,0}}
  68. };
  69.  
  70. EFI_DEVICE_PATH EndDevicePath[] = {
  71.    {END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, {END_DEVICE_PATH_LENGTH, 0}}
  72. };
  73.  
  74. EFI_DEVICE_PATH EndInstanceDevicePath[] = {
  75.    {END_DEVICE_PATH_TYPE, END_INSTANCE_DEVICE_PATH_SUBTYPE, {END_DEVICE_PATH_LENGTH, 0}}
  76. };
  77.  
  78.  
  79. //
  80. // EFI IDs
  81. //
  82.  
  83. EFI_GUID EfiGlobalVariable  = EFI_GLOBAL_VARIABLE;
  84. EFI_GUID NullGuid = { 0,0,0,{0,0,0,0,0,0,0,0} };
  85.  
  86. //
  87. // Protocol IDs
  88. //
  89.  
  90. EFI_GUID DevicePathProtocol       = DEVICE_PATH_PROTOCOL;
  91. EFI_GUID LoadedImageProtocol      = LOADED_IMAGE_PROTOCOL;
  92. EFI_GUID TextInProtocol           = SIMPLE_TEXT_INPUT_PROTOCOL;
  93. EFI_GUID TextOutProtocol          = SIMPLE_TEXT_OUTPUT_PROTOCOL;
  94. EFI_GUID BlockIoProtocol          = BLOCK_IO_PROTOCOL;
  95. EFI_GUID DiskIoProtocol           = DISK_IO_PROTOCOL;
  96. EFI_GUID FileSystemProtocol       = SIMPLE_FILE_SYSTEM_PROTOCOL;
  97. EFI_GUID LoadFileProtocol         = LOAD_FILE_PROTOCOL;
  98. EFI_GUID DeviceIoProtocol         = DEVICE_IO_PROTOCOL;
  99. EFI_GUID UnicodeCollationProtocol = UNICODE_COLLATION_PROTOCOL;
  100. EFI_GUID SerialIoProtocol         = SERIAL_IO_PROTOCOL;
  101. EFI_GUID SimpleNetworkProtocol    = EFI_SIMPLE_NETWORK_PROTOCOL;
  102. EFI_GUID PxeBaseCodeProtocol      = EFI_PXE_BASE_CODE_PROTOCOL;
  103. EFI_GUID PxeCallbackProtocol      = EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL;
  104. EFI_GUID NetworkInterfaceIdentifierProtocol = EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL;
  105. EFI_GUID UiProtocol               = EFI_UI_PROTOCOL;
  106. //
  107. // File system information IDs
  108. //
  109.  
  110. EFI_GUID GenericFileInfo           = EFI_FILE_INFO_ID;
  111. EFI_GUID FileSystemInfo            = EFI_FILE_SYSTEM_INFO_ID;
  112. EFI_GUID FileSystemVolumeLabelInfo = EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID;
  113.  
  114. //
  115. // Reference implementation public protocol IDs
  116. //
  117.  
  118. EFI_GUID InternalShellProtocol = INTERNAL_SHELL_GUID;
  119. EFI_GUID VariableStoreProtocol = VARIABLE_STORE_PROTOCOL;
  120. EFI_GUID LegacyBootProtocol = LEGACY_BOOT_PROTOCOL;
  121. EFI_GUID VgaClassProtocol = VGA_CLASS_DRIVER_PROTOCOL;
  122.  
  123. EFI_GUID TextOutSpliterProtocol = TEXT_OUT_SPLITER_PROTOCOL;
  124. EFI_GUID ErrorOutSpliterProtocol = ERROR_OUT_SPLITER_PROTOCOL;
  125. EFI_GUID TextInSpliterProtocol = TEXT_IN_SPLITER_PROTOCOL;
  126.  
  127. EFI_GUID AdapterDebugProtocol = ADAPTER_DEBUG_PROTOCOL;
  128.  
  129. //
  130. // Device path media protocol IDs
  131. //
  132. EFI_GUID PcAnsiProtocol = DEVICE_PATH_MESSAGING_PC_ANSI;
  133. EFI_GUID Vt100Protocol  = DEVICE_PATH_MESSAGING_VT_100;
  134.  
  135. //
  136. // EFI GPT Partition Type GUIDs
  137. //
  138. EFI_GUID EfiPartTypeSystemPartitionGuid = EFI_PART_TYPE_EFI_SYSTEM_PART_GUID;
  139. EFI_GUID EfiPartTypeLegacyMbrGuid = EFI_PART_TYPE_LEGACY_MBR_GUID;
  140.  
  141.  
  142. //
  143. // Reference implementation Vendor Device Path Guids
  144. //
  145. EFI_GUID UnknownDevice      = UNKNOWN_DEVICE_GUID;
  146.  
  147. //
  148. // Configuration Table GUIDs
  149. //
  150.  
  151. EFI_GUID MpsTableGuid             = MPS_TABLE_GUID;
  152. EFI_GUID AcpiTableGuid            = ACPI_TABLE_GUID;
  153. EFI_GUID SMBIOSTableGuid          = SMBIOS_TABLE_GUID;
  154. EFI_GUID SalSystemTableGuid       = SAL_SYSTEM_TABLE_GUID;
  155.