1 /** @file contains all the stringlist types and functions. 2 3 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials are licensed and made available under 5 the terms and conditions of the BSD License that accompanies this distribution. 6 The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php. 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 13 14 * Copyright (c) 1994 The NetBSD Foundation, Inc. 15 * All rights reserved. 16 * 17 * This code is derived from software contributed to The NetBSD Foundation 18 * by Christos Zoulas. 19 * 20 * Redistribution and use in source and binary forms, with or without 21 * modification, are permitted provided that the following conditions 22 * are met: 23 * 1. Redistributions of source code must retain the above copyright 24 * notice, this list of conditions and the following disclaimer. 25 * 2. Redistributions in binary form must reproduce the above copyright 26 * notice, this list of conditions and the following disclaimer in the 27 * documentation and/or other materials provided with the distribution. 28 * 29 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 30 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 31 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 32 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 33 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 34 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 35 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 36 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 37 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 38 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 39 * POSSIBILITY OF SUCH DAMAGE. 40 $NetBSD: stringlist.h,v 1.7 2008/04/28 20:22:54 martin Exp $ 41 **/ 42 43 #ifndef _STRINGLIST_H 44 #define _STRINGLIST_H 45 #include <sys/cdefs.h> 46 #include <sys/types.h> 47 48 /* 49 * Simple string list 50 */ 51 typedef struct _stringlist { 52 char **sl_str; 53 size_t sl_max; 54 size_t sl_cur; 55 } StringList; 56 57 __BEGIN_DECLS 58 StringList *sl_init(void); 59 int sl_add(StringList *, char *); 60 void sl_free(StringList *, int); 61 char *sl_find(StringList *, const char *); 62 int sl_delete(StringList *, const char *, int); 63 __END_DECLS 64 65 #endif /* _STRINGLIST_H */ 66