Allegro 5 api
#include <allegro5/allegro.h> void al_wait_for_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event)
Wait until the event queue specified is non-empty. If ret_event is not NULL, the first event in the queue will be copied into ret_event and removed from the queue. If ret_event is NULL the first event is left at the head of the queue.
ALLEGRO_EVENT(3alleg5), al_wait_for_event_timed(3alleg5), al_wait_for_event_until(3alleg5), al_get_next_event(3alleg5)