#ifndef CX_ZIVUOS_EVENT_H_INCLUDED #define CX_ZIVUOS_EVENT_H_INCLUDED #include "zv_types.h" #include "event_type.h" #include "zv_time.h" typedef union zv_event_content_u { void *object; zv_time_t time; uint64_t unumber; int64_t number; } zv_event_content_t; typedef struct zv_event_s { zv_event_type_t type; zv_event_content_t content; } zv_event_t; bool zv_event_push_number( struct zv_kernel_s *self, zv_tid_t target, int64_t content ); bool zv_event_push_unumber( struct zv_kernel_s *self, zv_tid_t target, uint64_t content ); bool zv_event_set_timer( struct zv_kernel_s *self, zv_tid_t target, zv_time_t time ); bool zv_event_push_object( struct zv_kernel_s *self, zv_tid_t target, void *content ); #endif