/***
 * libeloop - Simple Event-Loop Library
 *
 * Copyright (c) 2012-2013 David Herrmann <dh.herrmann@googlemail.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files
 * (the "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 ***/

LIBELOOP_1 {
global:
	ev_eloop_new;
	ev_eloop_ref;
	ev_eloop_unref;
local:
	*;
};

LIBELOOP_2 {
global:
	ev_eloop_flush_fd;
	ev_eloop_dispatch;
	ev_eloop_run;
	ev_eloop_exit;
	ev_eloop_get_fd;

	ev_eloop_new_eloop;
	ev_eloop_add_eloop;
	ev_eloop_rm_eloop;

	ev_fd_new;
	ev_fd_ref;
	ev_fd_unref;

	ev_fd_enable;
	ev_fd_disable;
	ev_fd_is_enabled;
	ev_fd_is_bound;
	ev_fd_set_cb_data;
	ev_fd_update;

	ev_eloop_new_fd;
	ev_eloop_add_fd;
	ev_eloop_rm_fd;

	ev_timer_new;
	ev_timer_ref;
	ev_timer_unref;

	ev_timer_enable;
	ev_timer_disable;
	ev_timer_is_enabled;
	ev_timer_is_bound;
	ev_timer_set_cb_data;
	ev_timer_update;
	ev_timer_drain;

	ev_eloop_new_timer;
	ev_eloop_add_timer;
	ev_eloop_rm_timer;

	ev_counter_new;
	ev_counter_ref;
	ev_counter_unref;

	ev_counter_enable;
	ev_counter_disable;
	ev_counter_is_enabled;
	ev_counter_is_bound;
	ev_counter_set_cb_data;
	ev_counter_inc;

	ev_eloop_new_counter;
	ev_eloop_add_counter;
	ev_eloop_rm_counter;

	ev_eloop_register_signal_cb;
	ev_eloop_unregister_signal_cb;

	ev_eloop_register_child_cb;
	ev_eloop_unregister_child_cb;

	ev_eloop_register_idle_cb;
	ev_eloop_unregister_idle_cb;

	ev_eloop_register_pre_cb;
	ev_eloop_unregister_pre_cb;

	ev_eloop_register_post_cb;
	ev_eloop_unregister_post_cb;
} LIBELOOP_1;
