, , (, ), , . , .
, API , , , , , . , , , , , , , .
, , . Linux/Unix/Posix select() poll(). , - ( ). , select()/poll() , - ( IP-) //, , , , , , , select()/poll().
, , , , , , - , . , , . , , . , , , . " " GUI : / , .
So yes, itβs quite simple to have an event-based system with C. Just have a loop with select () / poll () in it, define event types, create data structures for events and have a list of pointer functions that will be called with the new event structure as a parameter for each type of event.