| /* 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 |