/**
 * PROJECT:         ExectOS
 * COPYRIGHT:       See COPYING.md in the top level directory
 * FILE:            xtldr/includes/bldefs.h
 * DESCRIPTION:     Definitions for the XT boot loader
 * DEVELOPERS:      Rafal Kupiec <belliash@codingworkshop.eu.org>
 */

#ifndef __XTLDR_BLDEFS_H
#define __XTLDR_BLDEFS_H

#include <xtkmapi.h>


/* EFI XT boot devices */
#define XT_BOOT_DEVICE_UNKNOWN               0x00
#define XT_BOOT_DEVICE_CDROM                 0x01
#define XT_BOOT_DEVICE_FLOPPY                0x02
#define XT_BOOT_DEVICE_HARDDISK              0x03
#define XT_BOOT_DEVICE_RAMDISK               0x04

/* EFI XT protocols GUIDs */
#define XT_BOOT_LOADER_PROTOCOL_GUID         {0x21FF49E8, 0x5854, 0x424C, {0xE9, 0x11, 0x00, 0x86, 0xE1, 0x2C, 0xD9, 0xC1}}
#define XT_ELF_IMAGE_PROTOCOL_GUID           {0x9B539887, 0x5854, 0x424C, {0x42, 0xFA, 0x00, 0x90, 0xC9, 0x04, 0x66, 0xA4}}
#define XT_FRAMEBUFFER_PROTOCOL_GUID         {0x99A87C23, 0x5854, 0x424C, {0xE0, 0x10, 0x00, 0xAA, 0xC0, 0x00, 0xDB, 0xFF}}
#define XT_HIVE_IMAGE_PROTOCOL_GUID          {0x5A3688A2, 0x5854, 0x424C, {0xBC, 0xDF, 0x00, 0x8F, 0xAA, 0x52, 0x63, 0xD4}}
#define XT_PECOFF_IMAGE_PROTOCOL_GUID        {0x85DAFF92, 0x5854, 0x424C, {0xB1, 0xBF, 0x00, 0x79, 0x39, 0xEA, 0x6E, 0xFD}}

/* EFI XT boot protocols GUIDs */
#define XT_CHAIN_BOOT_PROTOCOL_GUID          {0xC4D19201, 0x5854, 0x424C, {0x3C, 0x01, 0x00, 0x64, 0x90, 0x11, 0x9E, 0xA1}}
#define XT_LINUX_BOOT_PROTOCOL_GUID          {0x6B2A9841, 0x5854, 0x424C, {0x93, 0x71, 0x00, 0x3C, 0x34, 0x9B, 0x11, 0x91}}
#define XT_WINNT_BOOT_PROTOCOL_GUID          {0x98A80819, 0x5854, 0x424C, {0x37, 0x17, 0x00, 0x2A, 0x55, 0xA3, 0x09, 0xDC}}
#define XT_XTOS_BOOT_PROTOCOL_GUID           {0xFF8AD077, 0x5854, 0x424C, {0xA1, 0x77, 0x00, 0x92, 0xEF, 0x1C, 0x09, 0xDC}}

#endif /* __XTLDR_BLDEFS_H */