# /*########################################################################## # Copyright (C) 1995-2017 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. # # ############################################################################*/ /*************************************************************************** * * File: Lists.h * * Description: Include file for dealing with lists. * * Author: Vicente Rey * * Created: 22 May 1995 * * (copyright by E.S.R.F. March 1995) * ***************************************************************************/ #ifndef LISTS_H #define LISTS_H /* #include */ typedef struct _ObjectList { struct _ObjectList *next; struct _ObjectList *prev; void *contents; } ObjectList; typedef struct _ListHeader { struct _ObjectList *first; struct _ObjectList *last; } ListHeader; extern ObjectList * findInList ( ListHeader *list, int (*proc)(void *,void *), void *value ); extern long addToList ( ListHeader *list, void *object,long size); extern void unlinkFromList ( ListHeader *list, ObjectList *element); #endif /* LISTS_H */