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