1 /* 2 * Copyright (C) 2018-2022 Intel Corporation. 3 * SPDX-License-Identifier: BSD-3-Clause 4 */ 5 6 #ifndef __EVENT_QUEUE_H__ 7 #define __EVENT_QUEUE_H__ 8 9 #include <sys/queue.h> 10 11 enum event_type_t { 12 CRASH, 13 INFO, 14 UPTIME, 15 HEART_BEAT, 16 REBOOT, 17 VM, 18 UNKNOWN 19 }; 20 21 extern const char *etype_str[]; 22 23 __extension__ 24 struct event_t { 25 int watchfd; 26 enum event_type_t event_type; 27 const char *channel; 28 void *private; 29 30 TAILQ_ENTRY(event_t) entries; 31 32 /* dir to storage logs */ 33 char *dir; 34 size_t dlen; 35 int len; 36 char path[0]; /* keep this at tail*/ 37 }; 38 39 void event_enqueue(struct event_t *event); 40 int events_count(void); 41 struct event_t *event_dequeue(void); 42 void init_event_queue(void); 43 44 #endif 45