From: Ivo Timmermans Date: Thu, 2 May 2002 13:11:55 +0000 (+0000) Subject: Moved event.c/h X-Git-Tag: import-tinc-1.1~796 X-Git-Url: https://git.meshlink.io/?a=commitdiff_plain;h=a9bb66367df82d062175f2b9b4bf236d77ae3ff1;p=meshlink Moved event.c/h --- diff --git a/lib/Makefile.am b/lib/Makefile.am index f0a01221..082d4c55 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,17 +1,17 @@ ## Process this file with automake to produce Makefile.in -# $Id: Makefile.am,v 1.8 2002/05/02 11:50:07 zarq Exp $ +# $Id: Makefile.am,v 1.9 2002/05/02 13:11:55 zarq Exp $ noinst_LIBRARIES = libtinc.a INCLUDES = @INCLUDES@ -I. -I$(top_builddir) -I$(top_srcdir)/intl libtinc_a_SOURCES = xmalloc.c pidfile.c utils.c getopt.c getopt1.c \ - list.c avl_tree.c hooks.c dropin.c edge.c conf.c netutl.c logging.c connection.c subnet.c node.c graph.c + list.c avl_tree.c hooks.c dropin.c edge.c conf.c netutl.c logging.c connection.c subnet.c node.c graph.c event.c libtinc_a_LIBADD = @LIBOBJS@ @ALLOCA@ libtinc_a_DEPENDENCIES = $(libvpn_a_LIBADD) noinst_HEADERS = xalloc.h pidfile.h utils.h getopt.h list.h avl_tree.h \ - hooks.h dropin.h edge.h net.h conf.h netutl.h logging.h connection.h subnet.h node.h graph.h + hooks.h dropin.h edge.h net.h conf.h netutl.h logging.h connection.h subnet.h node.h graph.h event.h EXTRA_DIST = README diff --git a/lib/event.c b/lib/event.c new file mode 100644 index 00000000..3c54c692 --- /dev/null +++ b/lib/event.c @@ -0,0 +1,110 @@ +/* + event.c -- event queue + Copyright (C) 2002 Guus Sliepen , + 2002 Ivo Timmermans + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + $Id: event.c,v 1.1 2002/05/02 13:11:55 zarq Exp $ +*/ + +#include "config.h" + +#include +#include +#include +#include +#include +#include + +#include "event.h" + +#include "system.h" + +avl_tree_t *event_tree; +extern time_t now; + +int id; + +int event_compare(event_t *a, event_t *b) +{ + if(a->time > b->time) + return 1; + if(a->time < b->time) + return -1; + return a->id - b->id; +} + +void init_events(void) +{ +cp + event_tree = avl_alloc_tree((avl_compare_t)event_compare, NULL); +cp +} + +void exit_events(void) +{ +cp + avl_delete_tree(event_tree); +cp +} + +event_t *new_event(void) +{ + event_t *event; +cp + event = (event_t *)xmalloc_and_zero(sizeof(*event)); +cp + return event; +} + +void free_event(event_t *event) +{ +cp + free(event); +cp +} + +void event_add(event_t *event) +{ +cp + event->id = ++id; + avl_insert(event_tree, event); +cp +} + +void event_del(event_t *event) +{ +cp + avl_delete(event_tree, event); +cp +} + +event_t *get_expired_event(void) +{ + event_t *event; +cp + if(event_tree->head) + { + event = (event_t *)event_tree->head->data; + if(event->time < now) + { + avl_delete(event_tree, event); + return event; + } + } +cp + return NULL; +} diff --git a/lib/event.h b/lib/event.h new file mode 100644 index 00000000..df0c6d8c --- /dev/null +++ b/lib/event.h @@ -0,0 +1,48 @@ +/* + event.h -- header for event.c + Copyright (C) 2002 Guus Sliepen , + 2002 Ivo Timmermans + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + $Id: event.h,v 1.1 2002/05/02 13:11:55 zarq Exp $ +*/ + +#ifndef __TINC_EVENT_H__ +#define __TINC_EVENT_H__ + +#include +#include + +avl_tree_t *event_tree; + +typedef void (*event_handler_t)(void *); + +typedef struct { + time_t time; + int id; + event_handler_t handler; + void *data; +} event_t; + +extern void init_events(void); +extern void exit_events(void); +extern event_t *new_event(void); +extern void free_event(event_t *); +extern void event_add(event_t *); +extern void event_del(event_t *); +extern event_t *get_expired_event(void); + +#endif /* __TINC_EVENT_H__ */ diff --git a/src/Makefile.am b/src/Makefile.am index b4efc964..eb7d3f21 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,5 +1,5 @@ ## Produce this file with automake to get Makefile.in -# $Id: Makefile.am,v 1.11 2002/05/02 11:50:07 zarq Exp $ +# $Id: Makefile.am,v 1.12 2002/05/02 13:11:55 zarq Exp $ SUBDIRS = pokey @@ -7,13 +7,13 @@ sbin_PROGRAMS = tincd EXTRA_DIST = linux/device.c freebsd/device.c openbsd/device.c solaris/device.c -tincd_SOURCES = read_conf.c device.c event.c meta.c net_packet.c net_setup.c \ +tincd_SOURCES = read_conf.c device.c meta.c net_packet.c net_setup.c \ net_socket.c process.c protocol.c protocol_auth.c protocol_edge.c protocol_misc.c \ protocol_key.c protocol_subnet.c route.c tincd.c net.c callbacks.c INCLUDES = @INCLUDES@ -I$(top_builddir) -I$(top_srcdir)/lib -I$(top_srcdir)/intl -noinst_HEADERS = read_conf.h device.h event.h meta.h process.h \ +noinst_HEADERS = read_conf.h device.h meta.h process.h \ protocol.h route.h callbacks.h LIBS = @LIBS@ @INTLLIBS@ diff --git a/src/event.c b/src/event.c deleted file mode 100644 index 8e332fa0..00000000 --- a/src/event.c +++ /dev/null @@ -1,110 +0,0 @@ -/* - event.c -- event queue - Copyright (C) 2002 Guus Sliepen , - 2002 Ivo Timmermans - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id: event.c,v 1.2 2002/04/09 15:26:00 zarq Exp $ -*/ - -#include "config.h" - -#include -#include -#include -#include -#include -#include - -#include "event.h" - -#include "system.h" - -avl_tree_t *event_tree; -extern time_t now; - -int id; - -int event_compare(event_t *a, event_t *b) -{ - if(a->time > b->time) - return 1; - if(a->time < b->time) - return -1; - return a->id - b->id; -} - -void init_events(void) -{ -cp - event_tree = avl_alloc_tree((avl_compare_t)event_compare, NULL); -cp -} - -void exit_events(void) -{ -cp - avl_delete_tree(event_tree); -cp -} - -event_t *new_event(void) -{ - event_t *event; -cp - event = (event_t *)xmalloc_and_zero(sizeof(*event)); -cp - return event; -} - -void free_event(event_t *event) -{ -cp - free(event); -cp -} - -void event_add(event_t *event) -{ -cp - event->id = ++id; - avl_insert(event_tree, event); -cp -} - -void event_del(event_t *event) -{ -cp - avl_delete(event_tree, event); -cp -} - -event_t *get_expired_event(void) -{ - event_t *event; -cp - if(event_tree->head) - { - event = (event_t *)event_tree->head->data; - if(event->time < now) - { - avl_delete(event_tree, event); - return event; - } - } -cp - return NULL; -} diff --git a/src/event.h b/src/event.h deleted file mode 100644 index 4b238ccb..00000000 --- a/src/event.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - event.h -- header for event.c - Copyright (C) 2002 Guus Sliepen , - 2002 Ivo Timmermans - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id: event.h,v 1.2 2002/04/09 15:26:00 zarq Exp $ -*/ - -#ifndef __TINC_EVENT_H__ -#define __TINC_EVENT_H__ - -#include -#include - -avl_tree_t *event_tree; - -typedef void (*event_handler_t)(void *); - -typedef struct { - time_t time; - int id; - event_handler_t handler; - void *data; -} event_t; - -extern void init_events(void); -extern void exit_events(void); -extern event_t *new_event(void); -extern void free_event(event_t *); -extern void event_add(event_t *); -extern void event_del(event_t *); -extern event_t *get_expired_event(void); - -#endif /* __TINC_EVENT_H__ */ diff --git a/src/pokey/Makefile.am b/src/pokey/Makefile.am index 20281743..48e9f498 100644 --- a/src/pokey/Makefile.am +++ b/src/pokey/Makefile.am @@ -1,9 +1,9 @@ ## Produce this file with automake to get Makefile.in -# $Id: Makefile.am,v 1.3 2002/05/02 11:50:07 zarq Exp $ +# $Id: Makefile.am,v 1.4 2002/05/02 13:11:55 zarq Exp $ sbin_PROGRAMS = pokey -pokey_SOURCES = event.c graph.c \ +pokey_SOURCES = graph.c \ interface.c meta.c net.c net_packet.c net_setup.c net_socket.c netutl.c \ process.c protocol.c protocol_auth.c protocol_edge.c \ protocol_misc.c protocol_key.c protocol_subnet.c route.c \ @@ -11,7 +11,7 @@ pokey_SOURCES = event.c graph.c \ INCLUDES = @INCLUDES@ -I$(top_builddir) -I$(top_srcdir)/lib -I$(top_srcdir)/intl -I$(top_srcdir)/src -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/libglade-1.0 -I/usr/include/gnome-1.0 -I/usr/include/gnome-xml -I/usr/include/libglade-1.0 -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include -noinst_HEADERS = device.h event.h graph.h meta.h net.h netutl.h process.h \ +noinst_HEADERS = device.h graph.h meta.h net.h netutl.h process.h \ protocol.h route.h read_conf.h LIBS = @LIBS@ @INTLLIBS@ diff --git a/src/pokey/event.c b/src/pokey/event.c deleted file mode 100644 index 87a1c8ae..00000000 --- a/src/pokey/event.c +++ /dev/null @@ -1,110 +0,0 @@ -/* - event.c -- event queue - Copyright (C) 2002 Guus Sliepen , - 2002 Ivo Timmermans - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id: event.c,v 1.1 2002/04/28 12:46:26 zarq Exp $ -*/ - -#include "config.h" - -#include -#include -#include -#include -#include -#include - -#include "event.h" - -#include "system.h" - -avl_tree_t *event_tree; -extern time_t now; - -int id; - -int event_compare(event_t *a, event_t *b) -{ - if(a->time > b->time) - return 1; - if(a->time < b->time) - return -1; - return a->id - b->id; -} - -void init_events(void) -{ -cp - event_tree = avl_alloc_tree((avl_compare_t)event_compare, NULL); -cp -} - -void exit_events(void) -{ -cp - avl_delete_tree(event_tree); -cp -} - -event_t *new_event(void) -{ - event_t *event; -cp - event = (event_t *)xmalloc_and_zero(sizeof(*event)); -cp - return event; -} - -void free_event(event_t *event) -{ -cp - free(event); -cp -} - -void event_add(event_t *event) -{ -cp - event->id = ++id; - avl_insert(event_tree, event); -cp -} - -void event_del(event_t *event) -{ -cp - avl_delete(event_tree, event); -cp -} - -event_t *get_expired_event(void) -{ - event_t *event; -cp - if(event_tree->head) - { - event = (event_t *)event_tree->head->data; - if(event->time < now) - { - avl_delete(event_tree, event); - return event; - } - } -cp - return NULL; -} diff --git a/src/pokey/event.h b/src/pokey/event.h deleted file mode 100644 index 989cc07e..00000000 --- a/src/pokey/event.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - event.h -- header for event.c - Copyright (C) 2002 Guus Sliepen , - 2002 Ivo Timmermans - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id: event.h,v 1.1 2002/04/28 12:46:26 zarq Exp $ -*/ - -#ifndef __TINC_EVENT_H__ -#define __TINC_EVENT_H__ - -#include -#include - -avl_tree_t *event_tree; - -typedef void (*event_handler_t)(void *); - -typedef struct { - time_t time; - int id; - event_handler_t handler; - void *data; -} event_t; - -extern void init_events(void); -extern void exit_events(void); -extern event_t *new_event(void); -extern void free_event(event_t *); -extern void event_add(event_t *); -extern void event_del(event_t *); -extern event_t *get_expired_event(void); - -#endif /* __TINC_EVENT_H__ */