blob: 8432c6f0e5ff54c2fca4e21e0a4240c5100d00a3 [file] [log] [blame]
Simon Glassaa4bce92022-03-04 08:43:00 -07001/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Internal definitions for events
4 *
5 * Copyright 2021 Google LLC
6 * Written by Simon Glass <sjg@chromium.org>
7 */
8
9#ifndef __event_internal_h
10#define __event_internal_h
11
12#include <event.h>
13#include <linux/list.h>
14
15/**
16 * struct event_spy - a spy that watches for an event of a particular type
17 *
18 * @id: Spy ID
19 * @type: Event type to subscribe to
20 * @func: Function to call when the event is sent
21 * @ctx: Context to pass to the function
22 */
23struct event_spy {
24 struct list_head sibling_node;
25 const char *id;
26 enum event_t type;
27 event_handler_t func;
28 void *ctx;
29};
30
31struct event_state {
32 struct list_head spy_head;
33};
34
35#endif