/* * List.h -- Header of list module. * * Authors : Patrick Lecoanet. * Creation date : Tue Mar 15 17:24:51 1994 * * $Id$ */ /* * Copyright (c) 1993 - 1999 CENA, Patrick Lecoanet -- * * This code is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This code 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this code; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */ #ifndef _List_h #define _List_h #ifdef __CPLUSPLUS__ extern "C" { #endif /* ********************************************************************************** * * Included files * ********************************************************************************** */ /* ********************************************************************************** * * Constants * ********************************************************************************** */ #define RadarListHead 0 #define RadarListTail (~(1 << ((8*sizeof(int)) - 1))) /* ********************************************************************************** * * New types * ********************************************************************************** */ typedef void *RadarList; /* ********************************************************************************** * * Prototypes * ********************************************************************************** */ RadarList RadarListNew(int /* initial_size */, int /* element_size */); RadarList RadarListDuplicate(RadarList /* list */); void RadarListEmpty(RadarList /* list */); RadarList RadarListFromArray(void */* array */, int /* array_size */, int /* element_size */); void *RadarListArray(RadarList /* list */); void RadarListFree(RadarList /* list */); int RadarListSize(RadarList /* list */); void RadarListAssertSize(RadarList /* list */, int /* size */); void RadarListCopy(RadarList /* to */, RadarList /* from */); void RadarListAppend(RadarList /* to */, RadarList /* from */); void RadarListAdd(RadarList /* list */, void */* value */, int /* index */); void *RadarListAt(RadarList /* list */, int /* index */); void RadarListAtPut(RadarList /* list */, void */* value */, int /* index */); void RadarListDelete(RadarList /* list */, int /* index */); void RadarListTruncate(RadarList /* list */, int /* index */); int RadarListDo(RadarList /* list */, void *data, int (*/* to_do */)(void */* value */, void */*data*/)); #ifdef __CPLUSPLUS__ } #endif #endif /* _List_h */