#ifndef CX_ZIVUOS_LATCH_H_INCLUDED #define CX_ZIVUOS_LATCH_H_INCLUDED #include "zivu_types.h" typedef enum zv_latch_state_e { SAME, CHANGED } zv_latch_state_t; typedef union zv_latch_updater_u { intptr_t exists; zv_latch_state_t (*callback) (struct zv_latch_s *); } zv_latch_updater_t; typedef struct zv_latch_s { zv_universal_param_t data; zv_latch_state_t state; zv_latch_updater_t updater; } zv_latch_t; #endif