mirror of
				https://git.proxmox.com/git/efi-boot-shim
				synced 2025-11-04 14:59:04 +00:00 
			
		
		
		
	This is the first stage of porting the MokManager UI to the UI code used by the Linux Foundation UEFI loader.
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* definitions straight from TianoCore */
 | 
						|
 | 
						|
typedef UINT32 EFI_IMAGE_EXECUTION_ACTION;
 | 
						|
 | 
						|
#define EFI_IMAGE_EXECUTION_AUTHENTICATION      0x00000007 
 | 
						|
#define EFI_IMAGE_EXECUTION_AUTH_UNTESTED       0x00000000
 | 
						|
#define EFI_IMAGE_EXECUTION_AUTH_SIG_FAILED     0x00000001
 | 
						|
#define EFI_IMAGE_EXECUTION_AUTH_SIG_PASSED     0x00000002
 | 
						|
#define EFI_IMAGE_EXECUTION_AUTH_SIG_NOT_FOUND  0x00000003
 | 
						|
#define EFI_IMAGE_EXECUTION_AUTH_SIG_FOUND      0x00000004
 | 
						|
#define EFI_IMAGE_EXECUTION_POLICY_FAILED       0x00000005
 | 
						|
#define EFI_IMAGE_EXECUTION_INITIALIZED         0x00000008
 | 
						|
 | 
						|
typedef struct {
 | 
						|
  ///
 | 
						|
  /// Describes the action taken by the firmware regarding this image.
 | 
						|
  ///
 | 
						|
  EFI_IMAGE_EXECUTION_ACTION    Action;
 | 
						|
  ///
 | 
						|
  /// Size of all of the entire structure.
 | 
						|
  ///
 | 
						|
  UINT32                        InfoSize;
 | 
						|
  ///
 | 
						|
  /// If this image was a UEFI device driver (for option ROM, for example) this is the 
 | 
						|
  /// null-terminated, user-friendly name for the device. If the image was for an application, 
 | 
						|
  /// then this is the name of the application. If this cannot be determined, then a simple 
 | 
						|
  /// NULL character should be put in this position.
 | 
						|
  /// CHAR16                    Name[];
 | 
						|
  ///
 | 
						|
 | 
						|
  ///
 | 
						|
  /// For device drivers, this is the device path of the device for which this device driver 
 | 
						|
  /// was intended. In some cases, the driver itself may be stored as part of the system 
 | 
						|
  /// firmware, but this field should record the device's path, not the firmware path. For 
 | 
						|
  /// applications, this is the device path of the application. If this cannot be determined, 
 | 
						|
  /// a simple end-of-path device node should be put in this position.
 | 
						|
  /// EFI_DEVICE_PATH_PROTOCOL  DevicePath;
 | 
						|
  ///
 | 
						|
 | 
						|
  ///
 | 
						|
  /// Zero or more image signatures. If the image contained no signatures, 
 | 
						|
  /// then this field is empty.
 | 
						|
  ///
 | 
						|
  ///EFI_SIGNATURE_LIST            Signature;
 | 
						|
  UINT8 Data[];
 | 
						|
} EFI_IMAGE_EXECUTION_INFO;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
  ///
 | 
						|
  /// Number of EFI_IMAGE_EXECUTION_INFO structures.
 | 
						|
  ///
 | 
						|
  UINTN                     NumberOfImages; 
 | 
						|
  ///
 | 
						|
  /// Number of image instances of EFI_IMAGE_EXECUTION_INFO structures.
 | 
						|
  ///
 | 
						|
  EFI_IMAGE_EXECUTION_INFO  InformationInfo[];
 | 
						|
} EFI_IMAGE_EXECUTION_INFO_TABLE;
 | 
						|
 | 
						|
 | 
						|
void *
 | 
						|
configtable_get_table(EFI_GUID *guid);
 | 
						|
EFI_IMAGE_EXECUTION_INFO_TABLE *
 | 
						|
configtable_get_image_table(void);
 | 
						|
EFI_IMAGE_EXECUTION_INFO *
 | 
						|
configtable_find_image(const EFI_DEVICE_PATH *DevicePath);
 | 
						|
int
 | 
						|
configtable_image_is_forbidden(const EFI_DEVICE_PATH *DevicePath);
 | 
						|
 |