#pragma once #include #include #include #include #include #include struct evt_core_ctx; struct evt_core_cat; typedef void (*evt_core_free_app_ctx)(void*); typedef void (*evt_core_cb)(struct evt_core_ctx*, struct evt_core_cat*); struct evt_core_cat { void* app_ctx; evt_core_free_app_ctx free_app_ctx; evt_core_cb cb; char* name; int flags; }; struct evt_core_ctx { int epollfd; GHashTable* catlist; GHashTable* socklist; }; void evt_core_init(struct evt_core_ctx* ctx);