aboutsummaryrefslogtreecommitdiff
path: root/include/efi_loader.h
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2019-05-04 17:27:54 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2019-05-07 21:10:04 +0200
commitab15d4149ee950820f65e5a5235b1e6b745fc678 (patch)
tree68c5d3fa39f71359d73a48116df82840fda6dd89 /include/efi_loader.h
parent3626e539903f05565e0f6b54fae7f19da7a0bf34 (diff)
downloadu-boot-ab15d4149ee950820f65e5a5235b1e6b745fc678.zip
u-boot-ab15d4149ee950820f65e5a5235b1e6b745fc678.tar.gz
u-boot-ab15d4149ee950820f65e5a5235b1e6b745fc678.tar.bz2
efi_loader: implement RegisterProtocolNotify()
The RegisterProtocolNotify() boot service registers an event to be notified upon the installation of a protocol interface with the specified GUID. Add the missing implementation. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'include/efi_loader.h')
-rw-r--r--include/efi_loader.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 4e4cffa..d3a1d4c 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -271,6 +271,25 @@ extern struct list_head efi_obj_list;
/* List of all events */
extern struct list_head efi_events;
+/**
+ * efi_register_notify_event - event registered by RegisterProtocolNotify()
+ *
+ * The address of this structure serves as registration value.
+ *
+ * @link: link to list of all registered events
+ * @event: registered event. The same event may registered for
+ * multiple GUIDs.
+ * @protocol: protocol for which the event is registered
+ */
+struct efi_register_notify_event {
+ struct list_head link;
+ struct efi_event *event;
+ efi_guid_t protocol;
+};
+
+/* List of all events registered by RegisterProtocolNotify() */
+extern struct list_head efi_register_notify_events;
+
/* Initialize efi execution environment */
efi_status_t efi_init_obj_list(void);
/* Called by bootefi to initialize root node */