diff options
124 files changed, 568 insertions, 701 deletions
| diff --git a/include/ouroboros/bitmap.h b/include/ouroboros/bitmap.h index 8b7dcc5e..d6ce623a 100644 --- a/include/ouroboros/bitmap.h +++ b/include/ouroboros/bitmap.h @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Bitmap implementation   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   *    Francesco Salvestrini <f.salvestrini@nextworks.it>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_BITMAP_H @@ -42,4 +43,4 @@ int          bmp_release(struct bmp * instance,  bool         bmp_is_id_valid(struct bmp * b,                               ssize_t      id); -#endif +#endif /* OUROBOROS_BITMAP_H */ diff --git a/include/ouroboros/cdap.h b/include/ouroboros/cdap.h index f808d40d..23a8a3d6 100644 --- a/include/ouroboros/cdap.h +++ b/include/ouroboros/cdap.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The Common Distributed Application Protocol   * diff --git a/include/ouroboros/config.h.in b/include/ouroboros/config.h.in index efdfec55..4b5943c5 100644 --- a/include/ouroboros/config.h.in +++ b/include/ouroboros/config.h.in @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Configuration information   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_CONFIG diff --git a/include/ouroboros/dev.h b/include/ouroboros/dev.h index 9bb55529..8ac38124 100644 --- a/include/ouroboros/dev.h +++ b/include/ouroboros/dev.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * API for applications   * diff --git a/include/ouroboros/errno.h b/include/ouroboros/errno.h index e50b180d..600f016f 100644 --- a/include/ouroboros/errno.h +++ b/include/ouroboros/errno.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Ouroboros specific error numbers   * diff --git a/include/ouroboros/fcntl.h b/include/ouroboros/fcntl.h index c614340a..ad968a1d 100644 --- a/include/ouroboros/fcntl.h +++ b/include/ouroboros/fcntl.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Flows   * diff --git a/include/ouroboros/fqueue.h b/include/ouroboros/fqueue.h index 1828b4e5..d34665d6 100644 --- a/include/ouroboros/fqueue.h +++ b/include/ouroboros/fqueue.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Flow queues   * diff --git a/include/ouroboros/hashtable.h b/include/ouroboros/hashtable.h index b54f28b8..4cb6000d 100644 --- a/include/ouroboros/hashtable.h +++ b/include/ouroboros/hashtable.h @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Hash table with integer keys with separate chaining on collisions   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_HASHTABLE_H diff --git a/include/ouroboros/ipcp-dev.h b/include/ouroboros/ipcp-dev.h index fe6a99bd..d4e174fb 100644 --- a/include/ouroboros/ipcp-dev.h +++ b/include/ouroboros/ipcp-dev.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Additional API for IPCPs   * diff --git a/include/ouroboros/irm.h b/include/ouroboros/irm.h index b15e8933..b281d4c5 100644 --- a/include/ouroboros/irm.h +++ b/include/ouroboros/irm.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The API to instruct the IPC Resource Manager   * diff --git a/include/ouroboros/irm_config.h b/include/ouroboros/irm_config.h index 76472ca6..ac94e9c8 100644 --- a/include/ouroboros/irm_config.h +++ b/include/ouroboros/irm_config.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Configuration information for the IPC Resource Manager   * diff --git a/include/ouroboros/list.h b/include/ouroboros/list.h index 91fe6660..cb9bf4d9 100644 --- a/include/ouroboros/list.h +++ b/include/ouroboros/list.h @@ -1,173 +1,59 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Simple doubly linked list implementation.   * - * Some of the internal functions ("__xxx") are useful when - * manipulating whole lists rather than single entries, as - * sometimes we already know the next/prev entries and we can - * generate better code by using them directly rather than - * using the generic single-entry routines. + *    Sander Vrijders    <sander.vrijders@intec.ugent.be> + *    Dimitri Staessense <dimitri.staessens@intec.ugent.be>   * - *    Sander Vrijders <sander.vrijders@intec.ugent.be> + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_LIST_H  #define OUROBOROS_LIST_H -/* - * This file is from the Linux Kernel (include/linux/list.h) - * and modified by simply removing hardware prefetching of list items. - * Here by copyright, credits attributed to wherever they belong. - * Kulesh Shanmugasundaram (kulesh [squiggly] isis.poly.edu) - */ +#include <stdbool.h> +#include <sys/types.h>  struct list_head { -        struct list_head * next, * prev; +        struct list_head * nxt, * prv;  }; -#define LIST_HEAD_INIT(name) { &(name), &(name) } - -#define LIST_HEAD(name)                                 \ -        struct list_head name = LIST_HEAD_INIT(name) +#define list_entry(ptr, type, mbr)                              \ +        ((type *)((char *)(ptr)-(size_t)(&((type *)0)->mbr))) -#define INIT_LIST_HEAD(ptr) do {                                \ -                (ptr)->next = (ptr); (ptr)->prev = (ptr);       \ -        } while (0) - -/** - * list_add - add a new entry - * @new: new entry to be added - * @head: list head to add it after - * - * Insert a new entry after the specified head. - * This is good for implementing stacks. - */ -void list_add(struct list_head * new, -              struct list_head * head); +#define list_first_entry(ptr, type, mbr)        \ +        list_entry((ptr)->nxt, type, mbr) -/** - * list_add_tail - add a new entry - * @new: new entry to be added - * @head: list head to add it before - * - * Insert a new entry before the specified head. - * This is useful for implementing queues. - */ -void list_add_tail(struct list_head * new, -                   struct list_head * head); +#define list_for_each(p, h)                             \ +        for (p = (h)->nxt; p != (h); p = p->nxt) -/** - * list_del - deletes entry from list. - * @entry: the element to delete from the list. - * Note: list_empty on entry does not return true after this, - * the entry is in an undefined state. - */ -void list_del(struct list_head * entry); +#define list_for_each_safe(p, t, h)               \ +        for (p = (h)->nxt, t = p->nxt; p != (h);  \ +             p = t, t = p->nxt) -/** - * list_del_init - deletes entry from list and reinitialize it. - * @entry: the element to delete from the list. - */ -void list_del_init(struct list_head * entry); +void list_head_init(struct list_head * h); -/** - * list_move - delete from one list and add as another's head - * @list: the entry to move - * @head: the head that will precede our entry - */ -void list_move(struct list_head * list, -               struct list_head * head); +void list_add(struct list_head * e, +              struct list_head * h); -/** - * list_move_tail - delete from one list and add as another's tail - * @list: the entry to move - * @head: the head that will follow our entry - */ -void list_move_tail(struct list_head * list, -                    struct list_head * head); +void list_add_tail(struct list_head * e, +                   struct list_head * h); -/** - * list_empty - tests whether a list is empty - * @head: the list to test. - */ -int list_empty(struct list_head * head); +void list_del(struct list_head * e); -/** - * list_splice - join two lists - * @list: the new list to add. - * @head: the place to add it in the first list. - */ -void list_splice(struct list_head * list, -                 struct list_head * head); - -/** - * list_splice_init - join two lists and reinitialise the emptied list. - * @list: the new list to add. - * @head: the place to add it in the first list. - * - * The list at @list is reinitialised - */ -void list_splice_init(struct list_head * list, -                      struct list_head * head); - -/** - * list_entry - get the struct for this entry - * @ptr:        the &struct list_head pointer. - * @type:       the type of the struct this is embedded in. - * @member:     the name of the list_struct within the struct. - */ -#define list_entry(ptr, type, member)                                   \ -        ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member))) - -/** - * list_first_entry - get the struct for the first entry - * expects the list to be non-empty - * @ptr:        the &struct list_head pointer. - * @type:       the type of the struct this is embedded in. - * @member:     the name of the list_struct within the struct. - */ -#define list_first_entry(ptr, type, member) \ -        list_entry((ptr)->next, type, member) - -/** - * list_for_each - iterate over a list - * @pos:        the &struct list_head to use as a loop counter. - * @head:       the head for your list. - */ -#define list_for_each(pos, head)                \ -        for (pos = (head)->next; pos != (head); \ -             pos = pos->next) -/** - * list_for_each_prev   -       iterate over a list backwards - * @pos:        the &struct list_head to use as a loop counter. - * @head:       the head for your list. - */ -#define list_for_each_prev(pos, head)           \ -        for (pos = (head)->prev; pos != (head); \ -             pos = pos->prev) - -/** - * list_for_each_safe - iterate over a list safe against removal of list entry - * @pos:        the &struct list_head to use as a loop counter. - * @n:          another &struct list_head to use as temporary storage - * @head:       the head for your list. - */ -#define list_for_each_safe(pos, n, head)                        \ -        for (pos = (head)->next, n = pos->next; pos != (head);  \ -             pos = n, n = pos->next) +bool list_is_empty(struct list_head * h);  #endif diff --git a/include/ouroboros/local-dev.h b/include/ouroboros/local-dev.h index f7fe2e1e..3c95e589 100644 --- a/include/ouroboros/local-dev.h +++ b/include/ouroboros/local-dev.h @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Optimized calls for the local IPCPs   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_LOCAL_DEV_H diff --git a/include/ouroboros/lockfile.h b/include/ouroboros/lockfile.h index ebb90f0e..561e31ab 100644 --- a/include/ouroboros/lockfile.h +++ b/include/ouroboros/lockfile.h @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   * - * Lockfile for ouroboros system + * Lockfile for Ouroboros   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_LOCKFILE_H diff --git a/include/ouroboros/logs.h b/include/ouroboros/logs.h index 06befb50..ed7c7f8c 100644 --- a/include/ouroboros/logs.h +++ b/include/ouroboros/logs.h @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Logging facilities   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   *    Francesco Salvestrini <f.salvestrini@nextworks.it>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_LOGS_H diff --git a/include/ouroboros/np1_flow.h b/include/ouroboros/np1_flow.h index c5ed0b40..6144ec06 100644 --- a/include/ouroboros/np1_flow.h +++ b/include/ouroboros/np1_flow.h @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Adapter functions for N + 1 flow descriptors   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_NP1_FLOW_H diff --git a/include/ouroboros/nsm.h b/include/ouroboros/nsm.h index b89e942c..0bcc028a 100644 --- a/include/ouroboros/nsm.h +++ b/include/ouroboros/nsm.h @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The API to instruct the global Namespace Manager   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_NSM_H diff --git a/include/ouroboros/qos.h b/include/ouroboros/qos.h index 74e898da..57d0ab0e 100644 --- a/include/ouroboros/qos.h +++ b/include/ouroboros/qos.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Quality of Service specification   * diff --git a/include/ouroboros/shared.h b/include/ouroboros/shared.h index 2592134a..1f309d27 100644 --- a/include/ouroboros/shared.h +++ b/include/ouroboros/shared.h @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Shared definitions between IRMd and IPCPs   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_SHARED_H diff --git a/include/ouroboros/shm_flow_set.h b/include/ouroboros/shm_flow_set.h index 1f7c73bc..95b1718e 100644 --- a/include/ouroboros/shm_flow_set.h +++ b/include/ouroboros/shm_flow_set.h @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Management of flow_sets for fqueue   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_SHM_FLOW_SET_H diff --git a/include/ouroboros/shm_rbuff.h b/include/ouroboros/shm_rbuff.h index 5b07c64d..14cfb79a 100644 --- a/include/ouroboros/shm_rbuff.h +++ b/include/ouroboros/shm_rbuff.h @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Ring buffer for incoming SDUs   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_SHM_RBUFF_H diff --git a/include/ouroboros/shm_rdrbuff.h b/include/ouroboros/shm_rdrbuff.h index f803d3fd..cdac51f0 100644 --- a/include/ouroboros/shm_rdrbuff.h +++ b/include/ouroboros/shm_rdrbuff.h @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Random Deletion Ring Buffer for Data Units   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   *    Sander Vrijders   <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_SHM_RDRBUFF_H diff --git a/include/ouroboros/sockets.h b/include/ouroboros/sockets.h index c042333c..efd4a08f 100644 --- a/include/ouroboros/sockets.h +++ b/include/ouroboros/sockets.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The sockets layer to communicate between daemons   * diff --git a/include/ouroboros/time_utils.h b/include/ouroboros/time_utils.h index 560ac19b..f45df27f 100644 --- a/include/ouroboros/time_utils.h +++ b/include/ouroboros/time_utils.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Time utilities   * diff --git a/include/ouroboros/utils.h b/include/ouroboros/utils.h index 2e1bf17b..52873a7e 100644 --- a/include/ouroboros/utils.h +++ b/include/ouroboros/utils.h @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Handy utilities   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_UTILS_H diff --git a/include/ouroboros/wrap/ouroboros.i b/include/ouroboros/wrap/ouroboros.i index a68a3930..23d05f7b 100644 --- a/include/ouroboros/wrap/ouroboros.i +++ b/include/ouroboros/wrap/ouroboros.i @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * SWIG wrapper file   * diff --git a/src/ipcpd/ipcp-data.c b/src/ipcpd/ipcp-data.c index 132684c2..47c4c472 100644 --- a/src/ipcpd/ipcp-data.c +++ b/src/ipcpd/ipcp-data.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * IPC process utilities   * @@ -119,9 +119,9 @@ struct ipcp_data * ipcp_data_init(struct ipcp_data * dst,          dst->dif_name = NULL;          /* init the lists */ -        INIT_LIST_HEAD(&dst->registry); -        INIT_LIST_HEAD(&dst->directory); -        INIT_LIST_HEAD(&dst->dir_queries); +        list_head_init(&dst->registry); +        list_head_init(&dst->directory); +        list_head_init(&dst->dir_queries);          /* init the locks */          pthread_rwlock_init(&dst->reg_lock, NULL); @@ -437,7 +437,7 @@ struct dir_query * ipcp_data_dir_query_create(char * name)          pthread_cond_init(&query->cond, &cattr);          pthread_mutex_init(&query->lock, NULL); -        INIT_LIST_HEAD(&query->next); +        list_head_init(&query->next);          return query;  } diff --git a/src/ipcpd/ipcp-data.h b/src/ipcpd/ipcp-data.h index 71dbcdbd..877aa04a 100644 --- a/src/ipcpd/ipcp-data.h +++ b/src/ipcpd/ipcp-data.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Utitilies for building IPC processes   * diff --git a/src/ipcpd/ipcp-ops.h b/src/ipcpd/ipcp-ops.h index d780c6dc..6a42ec5c 100644 --- a/src/ipcpd/ipcp-ops.h +++ b/src/ipcpd/ipcp-ops.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * IPC process ops   * diff --git a/src/ipcpd/local/main.c b/src/ipcpd/local/main.c index 01e58b91..58949aea 100644 --- a/src/ipcpd/local/main.c +++ b/src/ipcpd/local/main.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Local IPC process   * diff --git a/src/ipcpd/normal/addr_auth.c b/src/ipcpd/normal/addr_auth.c index 4f7a5a85..a4084ac5 100644 --- a/src/ipcpd/normal/addr_auth.c +++ b/src/ipcpd/normal/addr_auth.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Address authority   * diff --git a/src/ipcpd/normal/addr_auth.h b/src/ipcpd/normal/addr_auth.h index 521cfe50..8d67bc66 100644 --- a/src/ipcpd/normal/addr_auth.h +++ b/src/ipcpd/normal/addr_auth.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Address authority   * diff --git a/src/ipcpd/normal/crc32.c b/src/ipcpd/normal/crc32.c index 10b9b5f0..98c91fb8 100644 --- a/src/ipcpd/normal/crc32.c +++ b/src/ipcpd/normal/crc32.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * 32-bit Cyclic Redundancy Check   * diff --git a/src/ipcpd/normal/crc32.h b/src/ipcpd/normal/crc32.h index 080451a4..8580e553 100644 --- a/src/ipcpd/normal/crc32.h +++ b/src/ipcpd/normal/crc32.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * 32-bit Cyclic Redundancy Check   * diff --git a/src/ipcpd/normal/dir.h b/src/ipcpd/normal/dir.h index 18e6441e..867cb87a 100644 --- a/src/ipcpd/normal/dir.h +++ b/src/ipcpd/normal/dir.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * DIF directory   * diff --git a/src/ipcpd/normal/dt_const.h b/src/ipcpd/normal/dt_const.h index 55d5067e..c94e9395 100644 --- a/src/ipcpd/normal/dt_const.h +++ b/src/ipcpd/normal/dt_const.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Data Transfer Constants for the IPCP   * diff --git a/src/ipcpd/normal/flow_alloc.proto b/src/ipcpd/normal/flow_alloc.proto index 02be47a0..16e8be2c 100644 --- a/src/ipcpd/normal/flow_alloc.proto +++ b/src/ipcpd/normal/flow_alloc.proto @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Flow allocation message   * diff --git a/src/ipcpd/normal/frct.h b/src/ipcpd/normal/frct.h index 39c47cdd..462b8cc3 100644 --- a/src/ipcpd/normal/frct.h +++ b/src/ipcpd/normal/frct.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The Flow and Retransmission control component   * diff --git a/src/ipcpd/normal/pathname.c b/src/ipcpd/normal/pathname.c index cf6e08b0..d6d4fd79 100644 --- a/src/ipcpd/normal/pathname.c +++ b/src/ipcpd/normal/pathname.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Functions to construct pathnames   * diff --git a/src/ipcpd/normal/pathname.h b/src/ipcpd/normal/pathname.h index dc91b7d9..1d7fffa2 100644 --- a/src/ipcpd/normal/pathname.h +++ b/src/ipcpd/normal/pathname.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Functions to construct pathnames   * diff --git a/src/ipcpd/normal/pff.c b/src/ipcpd/normal/pff.c index 513f54b7..2f7d554b 100644 --- a/src/ipcpd/normal/pff.c +++ b/src/ipcpd/normal/pff.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * PDU Forwarding Function   * diff --git a/src/ipcpd/normal/pff.h b/src/ipcpd/normal/pff.h index b6b475cc..b4a1400b 100644 --- a/src/ipcpd/normal/pff.h +++ b/src/ipcpd/normal/pff.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * PDU Forwarding Function   * diff --git a/src/ipcpd/normal/pol/flat.c b/src/ipcpd/normal/pol/flat.c index 13eaf215..abcb1ad4 100644 --- a/src/ipcpd/normal/pol/flat.c +++ b/src/ipcpd/normal/pol/flat.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Policy for flat addresses in a distributed way   * diff --git a/src/ipcpd/normal/pol/flat.h b/src/ipcpd/normal/pol/flat.h index 7661500b..73d7de8b 100644 --- a/src/ipcpd/normal/pol/flat.h +++ b/src/ipcpd/normal/pol/flat.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Policy for flat addresses in a distributed way   * diff --git a/src/ipcpd/normal/ribmgr.c b/src/ipcpd/normal/ribmgr.c index e52db08a..6356d48c 100644 --- a/src/ipcpd/normal/ribmgr.c +++ b/src/ipcpd/normal/ribmgr.c @@ -471,9 +471,9 @@ static int write_ro_msg(struct cdap *    neighbor,  int ribmgr_init()  { -        INIT_LIST_HEAD(&rib.flows); -        INIT_LIST_HEAD(&rib.subs); -        INIT_LIST_HEAD(&rib.ro_ids); +        list_head_init(&rib.flows); +        list_head_init(&rib.subs); +        list_head_init(&rib.ro_ids);          rib.root = malloc(sizeof(*(rib.root)));          if (rib.root == NULL) @@ -993,7 +993,7 @@ static int ro_id_create(char * name, ro_msg_t * msg)          tmp->seqno = msg->seqno;          tmp->full_name = strdup(name); -        INIT_LIST_HEAD(&tmp->next); +        list_head_init(&tmp->next);          if (tmp->full_name == NULL) {                  free(tmp); @@ -1154,7 +1154,7 @@ static int ribmgr_add_flow(int fd)                  return -1;          } -        INIT_LIST_HEAD(&flow->next); +        list_head_init(&flow->next);          flow->instance = instance;          flow->fd = fd; @@ -1310,7 +1310,7 @@ int ribmgr_enrol()          pthread_rwlock_wrlock(&rib.flows_lock); -        assert(!list_empty(&rib.flows)); +        assert(!list_is_empty(&rib.flows));          flow = list_first_entry((&rib.flows), struct mgmt_flow, next);          instance = flow->instance; @@ -1631,7 +1631,7 @@ int ro_subscribe(const char * name, struct ro_sub_ops * ops)          if (sub == NULL)                  return -ENOMEM; -        INIT_LIST_HEAD(&sub->next); +        list_head_init(&sub->next);          sub->name = strdup(name);          if (sub->name == NULL) { diff --git a/src/ipcpd/normal/ro.proto b/src/ipcpd/normal/ro.proto index 308bfe19..cceaae7c 100644 --- a/src/ipcpd/normal/ro.proto +++ b/src/ipcpd/normal/ro.proto @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * RIB object message   * diff --git a/src/ipcpd/normal/shm_pci.c b/src/ipcpd/normal/shm_pci.c index ed6bf184..c648618a 100644 --- a/src/ipcpd/normal/shm_pci.c +++ b/src/ipcpd/normal/shm_pci.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Protocol Control Information in Shared Memory Map   * diff --git a/src/ipcpd/normal/shm_pci.h b/src/ipcpd/normal/shm_pci.h index d239b535..c1d823bf 100644 --- a/src/ipcpd/normal/shm_pci.h +++ b/src/ipcpd/normal/shm_pci.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Protocol Control Information in Shared Memory Map   * diff --git a/src/ipcpd/normal/static_info.proto b/src/ipcpd/normal/static_info.proto index b265d6e4..18f02e36 100644 --- a/src/ipcpd/normal/static_info.proto +++ b/src/ipcpd/normal/static_info.proto @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Static information message   * diff --git a/src/ipcpd/shim-eth-llc/main.c b/src/ipcpd/shim-eth-llc/main.c index 623f2071..0ff8007b 100644 --- a/src/ipcpd/shim-eth-llc/main.c +++ b/src/ipcpd/shim-eth-llc/main.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Shim IPC process over Ethernet with LLC   * diff --git a/src/ipcpd/shim-eth-llc/shim_eth_llc_messages.proto b/src/ipcpd/shim-eth-llc/shim_eth_llc_messages.proto index 63ab4519..cedb0fd4 100644 --- a/src/ipcpd/shim-eth-llc/shim_eth_llc_messages.proto +++ b/src/ipcpd/shim-eth-llc/shim_eth_llc_messages.proto @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Shim Ethernet with LLC message   * diff --git a/src/ipcpd/shim-udp/shim_udp_config.h.in b/src/ipcpd/shim-udp/shim_udp_config.h.in index fb223e13..c8d2ff18 100644 --- a/src/ipcpd/shim-udp/shim_udp_config.h.in +++ b/src/ipcpd/shim-udp/shim_udp_config.h.in @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Configuration information specific for the shim UDP   * diff --git a/src/ipcpd/shim-udp/shim_udp_messages.proto b/src/ipcpd/shim-udp/shim_udp_messages.proto index cc535a60..75f0cb64 100644 --- a/src/ipcpd/shim-udp/shim_udp_messages.proto +++ b/src/ipcpd/shim-udp/shim_udp_messages.proto @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Shim UDP message   * diff --git a/src/ipcpd/shim-udp/tests/shim_udp_test.c b/src/ipcpd/shim-udp/tests/shim_udp_test.c index b02da53d..a342712e 100644 --- a/src/ipcpd/shim-udp/tests/shim_udp_test.c +++ b/src/ipcpd/shim-udp/tests/shim_udp_test.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Test of the Shim UDP IPCP Daemon   * diff --git a/src/ipcpd/tests/timerwheel_test.c b/src/ipcpd/tests/timerwheel_test.c index 05ab5027..486358f9 100644 --- a/src/ipcpd/tests/timerwheel_test.c +++ b/src/ipcpd/tests/timerwheel_test.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Test of the timer wheel   * diff --git a/src/ipcpd/timerwheel.c b/src/ipcpd/timerwheel.c index 4ef7ce2f..bb61bd91 100644 --- a/src/ipcpd/timerwheel.c +++ b/src/ipcpd/timerwheel.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Timerwheel   * @@ -232,7 +232,7 @@ struct timerwheel * timerwheel_create(unsigned int resolution,          tw->intv.tv_sec = (tw->resolution / FRAC) / 1000;          tw->intv.tv_nsec = ((tw->resolution / FRAC) % 1000) * MILLION; -        INIT_LIST_HEAD(&tw->wq); +        list_head_init(&tw->wq);          if (pthread_mutex_init(&tw->lock, NULL)) {                  LOG_DBG("Could not init mutex."); @@ -265,7 +265,7 @@ struct timerwheel * timerwheel_create(unsigned int resolution,          now.tv_nsec -= (now.tv_nsec % MILLION);          for (i = 0; i < tw->elements; ++i) { -                INIT_LIST_HEAD(&tw->wheel[i].funcs); +                list_head_init(&tw->wheel[i].funcs);                  tw->wheel[i].expiry = now;                  ts_add(&now, &res_ts, &now);          } diff --git a/src/ipcpd/timerwheel.h b/src/ipcpd/timerwheel.h index d5bc853f..8ef9437c 100644 --- a/src/ipcpd/timerwheel.h +++ b/src/ipcpd/timerwheel.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Ring buffer for incoming SDUs   * diff --git a/src/irmd/api_table.c b/src/irmd/api_table.c index 97b8eb0f..7619fcf6 100644 --- a/src/irmd/api_table.c +++ b/src/irmd/api_table.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The IPC Resource Manager - Application Instance Table   * @@ -42,8 +42,8 @@ struct api_entry * api_entry_create(pid_t api, char * apn)          if (e == NULL)                  return NULL; -        INIT_LIST_HEAD(&e->next); -        INIT_LIST_HEAD(&e->names); +        list_head_init(&e->next); +        list_head_init(&e->names);          e->api      = api;          e->apn      = apn; diff --git a/src/irmd/api_table.h b/src/irmd/api_table.h index d2943532..df788bbc 100644 --- a/src/irmd/api_table.h +++ b/src/irmd/api_table.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The IPC Resource Manager - Application Instance Table   * diff --git a/src/irmd/apn_table.c b/src/irmd/apn_table.c index 34983f78..955618d8 100644 --- a/src/irmd/apn_table.c +++ b/src/irmd/apn_table.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The IPC Resource Manager - Application Process Table   * @@ -41,8 +41,8 @@ struct apn_entry * apn_entry_create(char * apn,          if (e == NULL)                  return NULL; -        INIT_LIST_HEAD(&e->next); -        INIT_LIST_HEAD(&e->names); +        list_head_init(&e->next); +        list_head_init(&e->names);          e->apn   = apn;          e->ap    = ap; diff --git a/src/irmd/apn_table.h b/src/irmd/apn_table.h index dfc514d7..550012bf 100644 --- a/src/irmd/apn_table.h +++ b/src/irmd/apn_table.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The IPC Resource Manager - Application Process Names Table   * diff --git a/src/irmd/ipcp.c b/src/irmd/ipcp.c index 07ae0dc2..cad4dd88 100644 --- a/src/irmd/ipcp.c +++ b/src/irmd/ipcp.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The API to instruct IPCPs   * diff --git a/src/irmd/ipcp.h b/src/irmd/ipcp.h index a3c2e89a..429e0d5d 100644 --- a/src/irmd/ipcp.h +++ b/src/irmd/ipcp.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The API for the IRM to instruct IPCPs   * diff --git a/src/irmd/irm_flow.c b/src/irmd/irm_flow.c index c2b4db62..86252a03 100644 --- a/src/irmd/irm_flow.c +++ b/src/irmd/irm_flow.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The IPC Resource Manager - Flows   * diff --git a/src/irmd/irm_flow.h b/src/irmd/irm_flow.h index d3033418..dc60d139 100644 --- a/src/irmd/irm_flow.h +++ b/src/irmd/irm_flow.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The IPC Resource Manager - Flows   * diff --git a/src/irmd/main.c b/src/irmd/main.c index b7292e74..9dc08cbe 100644 --- a/src/irmd/main.c +++ b/src/irmd/main.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The IPC Resource Manager   * @@ -150,7 +150,7 @@ static struct ipcp_entry * ipcp_entry_create(void)          e->name = NULL;          e->dif_name = NULL; -        INIT_LIST_HEAD(&e->next); +        list_head_init(&e->next);          return e;  } @@ -260,7 +260,7 @@ static pid_t create_ipcp(char * name, enum ipcp_type ipcp_type)                  return -1;          } -        INIT_LIST_HEAD(&tmp->next); +        list_head_init(&tmp->next);          tmp->api = api->pid;          tmp->name = strdup(name); @@ -743,7 +743,7 @@ static int name_reg(char * name, char ** difs, size_t len)          pthread_rwlock_wrlock(&irmd->reg_lock); -        if (list_empty(&irmd->ipcps)) { +        if (list_is_empty(&irmd->ipcps)) {                  pthread_rwlock_unlock(&irmd->reg_lock);                  pthread_rwlock_unlock(&irmd->state_lock);                  return -1; @@ -1988,12 +1988,12 @@ static int irm_create(void)                  return -1;          } -        INIT_LIST_HEAD(&irmd->ipcps); -        INIT_LIST_HEAD(&irmd->api_table); -        INIT_LIST_HEAD(&irmd->apn_table); -        INIT_LIST_HEAD(&irmd->spawned_apis); -        INIT_LIST_HEAD(&irmd->registry); -        INIT_LIST_HEAD(&irmd->irm_flows); +        list_head_init(&irmd->ipcps); +        list_head_init(&irmd->api_table); +        list_head_init(&irmd->apn_table); +        list_head_init(&irmd->spawned_apis); +        list_head_init(&irmd->registry); +        list_head_init(&irmd->irm_flows);          irmd->port_ids = bmp_create(IRMD_MAX_FLOWS, 0);          if (irmd->port_ids == NULL) { diff --git a/src/irmd/registry.c b/src/irmd/registry.c index 34d0a921..35c17069 100644 --- a/src/irmd/registry.c +++ b/src/irmd/registry.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The IPC Resource Manager - Registry   * @@ -63,10 +63,10 @@ static struct reg_entry * reg_entry_init(struct reg_entry * e,          if (e == NULL || name == NULL)                  return NULL; -        INIT_LIST_HEAD(&e->next); -        INIT_LIST_HEAD(&e->difs); -        INIT_LIST_HEAD(&e->reg_apns); -        INIT_LIST_HEAD(&e->reg_apis); +        list_head_init(&e->next); +        list_head_init(&e->difs); +        list_head_init(&e->reg_apns); +        list_head_init(&e->reg_apis);          e->name = name; @@ -228,7 +228,7 @@ void reg_entry_del_apn(struct reg_entry * e, char * apn)                  }          } -        if (e->state == REG_NAME_AUTO_ACCEPT && list_empty(&e->reg_apns)) { +        if (e->state == REG_NAME_AUTO_ACCEPT && list_is_empty(&e->reg_apns)) {                  e->state = REG_NAME_IDLE;                  pthread_cond_broadcast(&e->state_cond);          } @@ -237,7 +237,7 @@ void reg_entry_del_apn(struct reg_entry * e, char * apn)  char * reg_entry_get_apn(struct reg_entry * e)  { -        if (!list_empty(&e->reg_apis) || list_empty(&e->reg_apns)) +        if (!list_is_empty(&e->reg_apis) || list_is_empty(&e->reg_apns))                  return NULL;          return list_first_entry(&e->reg_apns, struct str_el, next)->str; @@ -311,8 +311,8 @@ void reg_entry_del_api(struct reg_entry * e, pid_t api)                  }          } -        if (list_empty(&e->reg_apis)) { -                if (!list_empty(&e->reg_apns)) +        if (list_is_empty(&e->reg_apis)) { +                if (!list_is_empty(&e->reg_apns))                          e->state = REG_NAME_AUTO_ACCEPT;                  else                          e->state = REG_NAME_IDLE; @@ -328,7 +328,7 @@ pid_t reg_entry_get_api(struct reg_entry * e)          if (e == NULL)                  return -1; -        if (list_empty(&e->reg_apis)) +        if (list_is_empty(&e->reg_apis))                  return -1;          return list_first_entry(&e->reg_apis, struct pid_el, next)->pid; diff --git a/src/irmd/registry.h b/src/irmd/registry.h index 20c06a51..bdd5cad0 100644 --- a/src/irmd/registry.h +++ b/src/irmd/registry.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The IPC Resource Manager - Registry   * diff --git a/src/irmd/utils.c b/src/irmd/utils.c index 97b0cfa0..7d63f020 100644 --- a/src/irmd/utils.c +++ b/src/irmd/utils.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The IPC Resource Manager - Utilities   * diff --git a/src/irmd/utils.h b/src/irmd/utils.h index 1214b721..03296259 100644 --- a/src/irmd/utils.h +++ b/src/irmd/utils.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Utils of the IPC Resource Manager   * diff --git a/src/lib/bitmap.c b/src/lib/bitmap.c index 6aafccfb..5905dfee 100644 --- a/src/lib/bitmap.c +++ b/src/lib/bitmap.c @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   * - * Bitmap implementation - taken partly from Linux kernel + * Bitmap implementation   * - *    Sander Vrijders <sander.vrijders@intec.ugent.be> + *    Sander Vrijders       <sander.vrijders@intec.ugent.be>   *    Francesco Salvestrini <f.salvestrini@nextworks.it>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #define OUROBOROS_PREFIX "bitmap" diff --git a/src/lib/cdap.c b/src/lib/cdap.c index 17104770..956486d1 100644 --- a/src/lib/cdap.c +++ b/src/lib/cdap.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The Common Distributed Application Protocol   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/config.h> @@ -365,8 +366,8 @@ struct cdap * cdap_create(int fd)                  return NULL;          } -        INIT_LIST_HEAD(&instance->sent); -        INIT_LIST_HEAD(&instance->rcvd); +        list_head_init(&instance->sent); +        list_head_init(&instance->rcvd);          instance->fd = fd; @@ -573,7 +574,7 @@ cdap_key_t cdap_request_wait(struct cdap *      instance,          pthread_cleanup_push((void(*)(void *))pthread_mutex_unlock,                               (void *) &instance->rcvd_lock); -        while (list_empty(&instance->rcvd)) +        while (list_is_empty(&instance->rcvd))                  pthread_cond_wait(&instance->rcvd_cond, &instance->rcvd_lock);          rcvd = list_first_entry(&instance->rcvd, struct cdap_rcvd, next); diff --git a/src/lib/cdap.proto b/src/lib/cdap.proto index 1a00eaa8..5fde1658 100644 --- a/src/lib/cdap.proto +++ b/src/lib/cdap.proto @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016- 2017   *   * CDAP message   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   *    Sander Vrijders   <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  syntax = "proto2"; diff --git a/src/lib/cdap_req.c b/src/lib/cdap_req.c index 57ad22c5..565cafd0 100644 --- a/src/lib/cdap_req.c +++ b/src/lib/cdap_req.c @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * CDAP - CDAP request management   *   *    Sander Vrijders   <sander.vrijders@intec.ugent.be>   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/config.h> @@ -51,7 +52,7 @@ struct cdap_req * cdap_req_create(cdap_key_t key)          pthread_cond_init(&creq->cond, &cattr);          pthread_mutex_init(&creq->lock, NULL); -        INIT_LIST_HEAD(&creq->next); +        list_head_init(&creq->next);          clock_gettime(PTHREAD_COND_CLOCK, &creq->birth); diff --git a/src/lib/cdap_req.h b/src/lib/cdap_req.h index b2ded060..2d69526b 100644 --- a/src/lib/cdap_req.h +++ b/src/lib/cdap_req.h @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * CDAP - CDAP request management   *   *    Sander Vrijders   <sander.vrijders@intec.ugent.be>   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #ifndef OUROBOROS_CDAP_REQ_H diff --git a/src/lib/dev.c b/src/lib/dev.c index 91fc3c0a..8cd8cd53 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * API for applications   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   *    Sander Vrijders   <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/config.h> diff --git a/src/lib/dif_config.proto b/src/lib/dif_config.proto index 318055fe..8a1d329e 100644 --- a/src/lib/dif_config.proto +++ b/src/lib/dif_config.proto @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * DIF config message   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   *    Sander Vrijders   <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  syntax = "proto2"; diff --git a/src/lib/hashtable.c b/src/lib/hashtable.c index 8dcd4ec1..f17accaf 100644 --- a/src/lib/hashtable.c +++ b/src/lib/hashtable.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Hash table with separate chaining on collisions   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/config.h> @@ -69,7 +70,7 @@ struct htable * htable_create(uint64_t buckets, bool hash_key)          }          for (i = 0; i < buckets; i++) -                INIT_LIST_HEAD(&(tmp->buckets[i])); +                list_head_init(&(tmp->buckets[i]));          return tmp;  } @@ -136,7 +137,7 @@ int htable_insert(struct htable * table, uint64_t key, void * val)          entry->key = key;          entry->val = val; -        INIT_LIST_HEAD(&entry->next); +        list_head_init(&entry->next);          list_add(&entry->next, &(table->buckets[lookup_key])); diff --git a/src/lib/ipcpd_messages.proto b/src/lib/ipcpd_messages.proto index 09e959fa..827bd370 100644 --- a/src/lib/ipcpd_messages.proto +++ b/src/lib/ipcpd_messages.proto @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * IPCPd message   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   *    Sander Vrijders   <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  syntax = "proto2"; diff --git a/src/lib/irm.c b/src/lib/irm.c index 969a78c3..635c8f9b 100644 --- a/src/lib/irm.c +++ b/src/lib/irm.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The API to instruct the IRM   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #define OUROBOROS_PREFIX "libouroboros-irm" diff --git a/src/lib/irmd_messages.proto b/src/lib/irmd_messages.proto index 74d08f9b..a0965f43 100644 --- a/src/lib/irmd_messages.proto +++ b/src/lib/irmd_messages.proto @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * IRMd message   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   *    Sander Vrijders   <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  syntax = "proto2"; diff --git a/src/lib/list.c b/src/lib/list.c index 0f3493e3..2c577ea9 100644 --- a/src/lib/list.c +++ b/src/lib/list.c @@ -1,124 +1,72 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Simple doubly linked list implementation.   * - * Some of the internal functions ("__xxx") are useful when - * manipulating whole lists rather than single entries, as - * sometimes we already know the next/prev entries and we can - * generate better code by using them directly rather than - * using the generic single-entry routines. + *    Sander Vrijders    <sander.vrijders@intec.ugent.be> + *    Dimitri Staessense <dimitri.staessens@intec.ugent.be>   * - * This file is from the Linux Kernel (include/linux/list.h) - * and modified by simply removing hardware prefetching of list items. - * Here by copyright, credits attributed to wherever they belong. - * Kulesh Shanmugasundaram (kulesh [squiggly] isis.poly.edu) + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - *    Sander Vrijders <sander.vrijders@intec.ugent.be> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/list.h> -static void __list_add(struct list_head * new, -                       struct list_head * prev, -                       struct list_head * next) -{ -        next->prev = new; -        new->next = next; -        new->prev = prev; -        prev->next = new; -} - -void list_add(struct list_head * new, -              struct list_head * head) -{ -        __list_add(new, head, head->next); -} - -void list_add_tail(struct list_head * new, -                   struct list_head * head) -{ -        __list_add(new, head->prev, head); -} - -static void __list_del(struct list_head * prev, -                       struct list_head * next) -{ -        next->prev = prev; -        prev->next = next; -} +#include <stddef.h> -void list_del(struct list_head * entry) +void list_head_init(struct list_head * h)  { -        __list_del(entry->prev, entry->next); -        entry->next = (void *) 0; -        entry->prev = (void *) 0; +        h->nxt = h; +        h->prv = h;  } -void list_del_init(struct list_head * entry) +static void add_list(struct list_head * n, +                     struct list_head * prv, +                     struct list_head * nxt)  { -        __list_del(entry->prev, entry->next); -        INIT_LIST_HEAD(entry); +        nxt->prv = n; +        n->nxt = nxt; +        n->prv = prv; +        prv->nxt = n;  } -void list_move(struct list_head * list, -               struct list_head * head) +static void del_list(struct list_head * prv, +                     struct list_head * nxt)  { -        __list_del(list->prev, list->next); -        list_add(list, head); +        nxt->prv = prv; +        prv->nxt = nxt;  } -void list_move_tail(struct list_head * list, -                    struct list_head * head) +void list_add(struct list_head * n, +              struct list_head * h)  { -        __list_del(list->prev, list->next); -        list_add_tail(list, head); +        add_list(n, h, h->nxt);  } -int list_empty(struct list_head * head) +void list_add_tail(struct list_head * n, +                   struct list_head * h)  { -        return head->next == head; -} - -static void __list_splice(struct list_head *list, -                          struct list_head *head) -{ -        struct list_head *first = list->next; -        struct list_head *last = list->prev; -        struct list_head *at = head->next; - -        first->prev = head; -        head->next = first; - -        last->next = at; -        at->prev = last; +        add_list(n, h->prv, h);  } -void list_splice(struct list_head * list, -                 struct list_head * head) +void list_del(struct list_head * e)  { -        if (!list_empty(list)) -                __list_splice(list, head); +        del_list(e->prv, e->nxt); +        e->nxt = e->prv = NULL;  } -void list_splice_init(struct list_head * list, -                      struct list_head * head) +bool list_is_empty(struct list_head * h)  { -        if (!list_empty(list)) { -                __list_splice(list, head); -                INIT_LIST_HEAD(list); -        } +        return h->nxt == h;  } diff --git a/src/lib/lockfile.c b/src/lib/lockfile.c index 45e95ef0..2868cb71 100644 --- a/src/lib/lockfile.c +++ b/src/lib/lockfile.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   * - * Lockfile for ouroboros system + * Lockfile for Ouroboros   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/config.h> diff --git a/src/lib/logs.c b/src/lib/logs.c index 5a2ef26f..449ee191 100644 --- a/src/lib/logs.c +++ b/src/lib/logs.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Logging facilities   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #define OUROBOROS_PREFIX "logging" diff --git a/src/lib/nsm.c b/src/lib/nsm.c index b61bb57a..3fc98021 100644 --- a/src/lib/nsm.c +++ b/src/lib/nsm.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The API to instruct the global Namespace Manager   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/nsm.h> diff --git a/src/lib/shm_flow_set.c b/src/lib/shm_flow_set.c index ca8e6142..161e070c 100644 --- a/src/lib/shm_flow_set.c +++ b/src/lib/shm_flow_set.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Management of flow_sets for fqueue   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/config.h> diff --git a/src/lib/shm_rbuff.c b/src/lib/shm_rbuff.c index a585226e..0d0795aa 100644 --- a/src/lib/shm_rbuff.c +++ b/src/lib/shm_rbuff.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Ring buffer for incoming SDUs   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/config.h> diff --git a/src/lib/shm_rdrbuff.c b/src/lib/shm_rdrbuff.c index c3e527eb..ce81d171 100644 --- a/src/lib/shm_rdrbuff.c +++ b/src/lib/shm_rdrbuff.c @@ -1,23 +1,24 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Random Deletion Ring Buffer for Data Units   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   *    Sander Vrijders   <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/config.h> diff --git a/src/lib/sockets.c b/src/lib/sockets.c index 3d8fc488..e57cd748 100644 --- a/src/lib/sockets.c +++ b/src/lib/sockets.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * The sockets layer to communicate between daemons   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/config.h> diff --git a/src/lib/tests/bitmap_test.c b/src/lib/tests/bitmap_test.c index 292397df..b1684f72 100644 --- a/src/lib/tests/bitmap_test.c +++ b/src/lib/tests/bitmap_test.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Test of the bitmap   * diff --git a/src/lib/tests/hashtable_test.c b/src/lib/tests/hashtable_test.c index ccd34ebd..fb7f1156 100644 --- a/src/lib/tests/hashtable_test.c +++ b/src/lib/tests/hashtable_test.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Test of the hash table   * diff --git a/src/lib/time_utils.c b/src/lib/time_utils.c index 99b18706..3b791157 100644 --- a/src/lib/time_utils.c +++ b/src/lib/time_utils.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Time utilities   *   *    Dimitri Staessens <dimitri.staessens@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <ouroboros/config.h> diff --git a/src/lib/utils.c b/src/lib/utils.c index a5f46f52..40d1c285 100644 --- a/src/lib/utils.c +++ b/src/lib/utils.c @@ -1,22 +1,23 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Handy utilities   *   *    Sander Vrijders <sander.vrijders@intec.ugent.be>   * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation.   * - * This program is distributed in the hope that it will be useful, + * This library 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. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA   */  #include <stdlib.h> diff --git a/src/tools/cbr/cbr.c b/src/tools/cbr/cbr.c index 91473f22..752395da 100644 --- a/src/tools/cbr/cbr.c +++ b/src/tools/cbr/cbr.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * CBR traffic generator   * diff --git a/src/tools/cbr/cbr_client.c b/src/tools/cbr/cbr_client.c index f720fc9c..173dab24 100644 --- a/src/tools/cbr/cbr_client.c +++ b/src/tools/cbr/cbr_client.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * A simple CBR generator   * diff --git a/src/tools/cbr/cbr_server.c b/src/tools/cbr/cbr_server.c index 6b99c036..7105ff09 100644 --- a/src/tools/cbr/cbr_server.c +++ b/src/tools/cbr/cbr_server.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * A simple CBR generator   * diff --git a/src/tools/echo/echo.c b/src/tools/echo/echo.c index 543aa2c8..3dd7527b 100644 --- a/src/tools/echo/echo.c +++ b/src/tools/echo/echo.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * A simple echo application   * diff --git a/src/tools/echo/echo_client.c b/src/tools/echo/echo_client.c index e861c129..783188d5 100644 --- a/src/tools/echo/echo_client.c +++ b/src/tools/echo/echo_client.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * A simple echo application   * diff --git a/src/tools/echo/echo_server.c b/src/tools/echo/echo_server.c index abd51386..8940a0b5 100644 --- a/src/tools/echo/echo_server.c +++ b/src/tools/echo/echo_server.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * A simple echo application   * diff --git a/src/tools/irm/irm.c b/src/tools/irm/irm.c index ce92d3d5..85d03245 100644 --- a/src/tools/irm/irm.c +++ b/src/tools/irm/irm.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * A tool to instruct the IRM daemon   * diff --git a/src/tools/irm/irm_bind.c b/src/tools/irm/irm_bind.c index 7a244cfb..bb19d13c 100644 --- a/src/tools/irm/irm_bind.c +++ b/src/tools/irm/irm_bind.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Bind names in the processing system   * diff --git a/src/tools/irm/irm_bind_ap.c b/src/tools/irm/irm_bind_ap.c index a5be5a03..dc66e399 100644 --- a/src/tools/irm/irm_bind_ap.c +++ b/src/tools/irm/irm_bind_ap.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Bind AP to a name   * diff --git a/src/tools/irm/irm_bind_api.c b/src/tools/irm/irm_bind_api.c index 61e3b8df..dd405347 100644 --- a/src/tools/irm/irm_bind_api.c +++ b/src/tools/irm/irm_bind_api.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Bind AP-I to a name   * diff --git a/src/tools/irm/irm_bind_ipcp.c b/src/tools/irm/irm_bind_ipcp.c index 5d645bda..404207c0 100644 --- a/src/tools/irm/irm_bind_ipcp.c +++ b/src/tools/irm/irm_bind_ipcp.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Bind IPCP Instance to a name   * diff --git a/src/tools/irm/irm_ipcp.c b/src/tools/irm/irm_ipcp.c index 5fae199e..59869a12 100644 --- a/src/tools/irm/irm_ipcp.c +++ b/src/tools/irm/irm_ipcp.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * A tool to instruct the IRM daemon   * diff --git a/src/tools/irm/irm_ipcp_bootstrap.c b/src/tools/irm/irm_ipcp_bootstrap.c index a812f0b4..8fd2fb73 100644 --- a/src/tools/irm/irm_ipcp_bootstrap.c +++ b/src/tools/irm/irm_ipcp_bootstrap.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Bootstrap IPC Processes   * diff --git a/src/tools/irm/irm_ipcp_create.c b/src/tools/irm/irm_ipcp_create.c index b4a2d5f7..9f636f34 100644 --- a/src/tools/irm/irm_ipcp_create.c +++ b/src/tools/irm/irm_ipcp_create.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Create IPC Processes   * diff --git a/src/tools/irm/irm_ipcp_destroy.c b/src/tools/irm/irm_ipcp_destroy.c index b7f86692..96808850 100644 --- a/src/tools/irm/irm_ipcp_destroy.c +++ b/src/tools/irm/irm_ipcp_destroy.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Destroy IPC Processes   * diff --git a/src/tools/irm/irm_ipcp_enroll.c b/src/tools/irm/irm_ipcp_enroll.c index 824b68de..f7807f42 100644 --- a/src/tools/irm/irm_ipcp_enroll.c +++ b/src/tools/irm/irm_ipcp_enroll.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Enroll IPC Processes   * diff --git a/src/tools/irm/irm_ops.h b/src/tools/irm/irm_ops.h index afe5d115..514570f5 100644 --- a/src/tools/irm/irm_ops.h +++ b/src/tools/irm/irm_ops.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Functions of the IRM tool that are one level deep   * diff --git a/src/tools/irm/irm_register.c b/src/tools/irm/irm_register.c index b3ab3eef..cdb4b888 100644 --- a/src/tools/irm/irm_register.c +++ b/src/tools/irm/irm_register.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Register names in IPCPs   * diff --git a/src/tools/irm/irm_unbind.c b/src/tools/irm/irm_unbind.c index 7b2442b0..2a570547 100644 --- a/src/tools/irm/irm_unbind.c +++ b/src/tools/irm/irm_unbind.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Unbind names in the processing system   * diff --git a/src/tools/irm/irm_unbind_ap.c b/src/tools/irm/irm_unbind_ap.c index af5214c7..779506bd 100644 --- a/src/tools/irm/irm_unbind_ap.c +++ b/src/tools/irm/irm_unbind_ap.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Unbind AP names   * diff --git a/src/tools/irm/irm_unbind_api.c b/src/tools/irm/irm_unbind_api.c index 2c276786..29e4a9c1 100644 --- a/src/tools/irm/irm_unbind_api.c +++ b/src/tools/irm/irm_unbind_api.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Unbind AP-I names   * diff --git a/src/tools/irm/irm_unbind_ipcp.c b/src/tools/irm/irm_unbind_ipcp.c index 41b45bd4..be7e995f 100644 --- a/src/tools/irm/irm_unbind_ipcp.c +++ b/src/tools/irm/irm_unbind_ipcp.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Unbind name from IPCP Instance   * diff --git a/src/tools/irm/irm_unregister.c b/src/tools/irm/irm_unregister.c index d90013f7..d8cadc33 100644 --- a/src/tools/irm/irm_unregister.c +++ b/src/tools/irm/irm_unregister.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Unregister names from IPCPs   * diff --git a/src/tools/irm/irm_utils.c b/src/tools/irm/irm_utils.c index 9303db6e..25f8dc3a 100644 --- a/src/tools/irm/irm_utils.c +++ b/src/tools/irm/irm_utils.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Handy helper functions for the IRM tool   * diff --git a/src/tools/irm/irm_utils.h b/src/tools/irm/irm_utils.h index 708b3462..b5a6f56f 100644 --- a/src/tools/irm/irm_utils.h +++ b/src/tools/irm/irm_utils.h @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Handy helper functions for the IRM tool   * diff --git a/src/tools/operf/operf.c b/src/tools/operf/operf.c index 676a515b..1d91ff42 100644 --- a/src/tools/operf/operf.c +++ b/src/tools/operf/operf.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Ouroboros perf application   * diff --git a/src/tools/operf/operf_client.c b/src/tools/operf/operf_client.c index d425510b..5b31e27b 100644 --- a/src/tools/operf/operf_client.c +++ b/src/tools/operf/operf_client.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Ouroboros ping application   * diff --git a/src/tools/operf/operf_server.c b/src/tools/operf/operf_server.c index 37e47a19..3c3b9788 100644 --- a/src/tools/operf/operf_server.c +++ b/src/tools/operf/operf_server.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Ouroboros perf application   * diff --git a/src/tools/oping/oping.c b/src/tools/oping/oping.c index b9e98608..64cb7dd8 100644 --- a/src/tools/oping/oping.c +++ b/src/tools/oping/oping.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Ouroboros ping application   * diff --git a/src/tools/oping/oping_client.c b/src/tools/oping/oping_client.c index 41841952..ee2d9df6 100644 --- a/src/tools/oping/oping_client.c +++ b/src/tools/oping/oping_client.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Ouroboros ping application   * diff --git a/src/tools/oping/oping_server.c b/src/tools/oping/oping_server.c index ca8d9101..d7294fa1 100644 --- a/src/tools/oping/oping_server.c +++ b/src/tools/oping/oping_server.c @@ -1,5 +1,5 @@  /* - * Ouroboros - Copyright (C) 2016 + * Ouroboros - Copyright (C) 2016 - 2017   *   * Ouroboros ping application   * | 
