From da727875ac954b13ecb16521d255499511bb7424 Mon Sep 17 00:00:00 2001 From: mannol Date: Sun, 13 Oct 2013 16:16:47 +0200 Subject: tox A/V: RTP/MSI implementation --- toxmsi/toxmsi_event.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 toxmsi/toxmsi_event.h (limited to 'toxmsi/toxmsi_event.h') diff --git a/toxmsi/toxmsi_event.h b/toxmsi/toxmsi_event.h new file mode 100644 index 00000000..032e4df5 --- /dev/null +++ b/toxmsi/toxmsi_event.h @@ -0,0 +1,46 @@ +#ifndef _MSI__EVENT_H_ +#define _MSI__EVENT_H_ + +#include +#include +#include + +typedef void* event_arg_t; + +typedef void ( *event_t ) ( event_arg_t ); +typedef void ( *timed_event_t ) ( event_arg_t ); + +typedef struct event_container_s { + event_t _event; + event_arg_t _event_args; + uint32_t _timeout; + long long _id; + +} event_container_t; + +typedef struct event_handler_s { + event_container_t* _events; + size_t _events_count; + + event_container_t* _timed_events; + size_t _timed_events_count; + + uint32_t _frequms; + int _running; + + pthread_mutex_t _mutex; + pthread_t _thread_id; + +} event_handler_t; + +event_handler_t* init_event_poll ( uint32_t _frequms ); +int terminate_event_poll ( event_handler_t* _event_handler ); + +void throw_event ( void* _event_handler_p, event_t _func, event_arg_t _arg ); + +/* Not yet ready for use */ +int throw_timer_event ( void* _event_handler_p, event_t _func, event_arg_t _arg, uint32_t _timeout); +int cancel_timer_event ( void* _event_handler_p, int _id ); + + +#endif /* _MSI__EVENT_H_ */ -- cgit v1.2.3