xref: /openbsd/sys/arch/arm64/stand/efiboot/disk.h (revision 09467b48)
1 /* $OpenBSD: disk.h,v 1.2 2019/01/31 14:35:06 patrick Exp $ */
2 
3 #ifndef _DISK_H
4 #define _DISK_H
5 
6 #include <sys/queue.h>
7 
8 typedef struct efi_diskinfo {
9 	EFI_BLOCK_IO		*blkio;
10 	UINT32			 mediaid;
11 } *efi_diskinfo_t;
12 
13 struct diskinfo {
14 	struct efi_diskinfo ed;
15 	struct disklabel disklabel;
16 	struct sr_boot_volume *sr_vol;
17 
18 	u_int part;
19 	u_int flags;
20 #define DISKINFO_FLAG_GOODLABEL		(1 << 0)
21 
22 	int (*diskio)(int, struct diskinfo *, u_int, int, void *);
23 	int (*strategy)(void *, int, daddr32_t, size_t, void *, size_t *);
24 
25 	TAILQ_ENTRY(diskinfo) list;
26 };
27 TAILQ_HEAD(disklist_lh, diskinfo);
28 
29 extern struct diskinfo *bootdev_dip;
30 
31 extern struct disklist_lh disklist;
32 
33 #endif /* _DISK_H */
34