| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * Internal definitions for events | |
| * | |
| * Copyright 2021 Google LLC | |
| * Written by Simon Glass <sjg@chromium.org> | |
| */ | |
| #ifndef __event_internal_h | |
| #define __event_internal_h | |
| #include <event.h> | |
| #include <linux/list.h> | |
| /** | |
| * struct event_spy - a spy that watches for an event of a particular type | |
| * | |
| * @id: Spy ID | |
| * @type: Event type to subscribe to | |
| * @func: Function to call when the event is sent | |
| * @ctx: Context to pass to the function | |
| */ | |
| struct event_spy { | |
| struct list_head sibling_node; | |
| const char *id; | |
| enum event_t type; | |
| event_handler_t func; | |
| void *ctx; | |
| }; | |
| struct event_state { | |
| struct list_head spy_head; | |
| }; | |
| #endif |