1*4d131170SRobert Mustacchi /* $Id: compat_stringlist.h,v 1.5 2020/06/15 21:48:09 schwarze Exp $ */ 2*4d131170SRobert Mustacchi /* $NetBSD: stringlist.h,v 1.7 2008/04/28 20:22:54 martin Exp $ */ 3*4d131170SRobert Mustacchi 4*4d131170SRobert Mustacchi /*- 5*4d131170SRobert Mustacchi * Copyright (c) 1994 The NetBSD Foundation, Inc. 6*4d131170SRobert Mustacchi * All rights reserved. 7*4d131170SRobert Mustacchi * 8*4d131170SRobert Mustacchi * This code is derived from software contributed to The NetBSD Foundation 9*4d131170SRobert Mustacchi * by Christos Zoulas. 10*4d131170SRobert Mustacchi * 11*4d131170SRobert Mustacchi * Redistribution and use in source and binary forms, with or without 12*4d131170SRobert Mustacchi * modification, are permitted provided that the following conditions 13*4d131170SRobert Mustacchi * are met: 14*4d131170SRobert Mustacchi * 1. Redistributions of source code must retain the above copyright 15*4d131170SRobert Mustacchi * notice, this list of conditions and the following disclaimer. 16*4d131170SRobert Mustacchi * 2. Redistributions in binary form must reproduce the above copyright 17*4d131170SRobert Mustacchi * notice, this list of conditions and the following disclaimer in the 18*4d131170SRobert Mustacchi * documentation and/or other materials provided with the distribution. 19*4d131170SRobert Mustacchi * 20*4d131170SRobert Mustacchi * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 21*4d131170SRobert Mustacchi * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22*4d131170SRobert Mustacchi * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23*4d131170SRobert Mustacchi * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 24*4d131170SRobert Mustacchi * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25*4d131170SRobert Mustacchi * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26*4d131170SRobert Mustacchi * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27*4d131170SRobert Mustacchi * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28*4d131170SRobert Mustacchi * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29*4d131170SRobert Mustacchi * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30*4d131170SRobert Mustacchi * POSSIBILITY OF SUCH DAMAGE. 31*4d131170SRobert Mustacchi */ 32*4d131170SRobert Mustacchi 33*4d131170SRobert Mustacchi #include <sys/types.h> 34*4d131170SRobert Mustacchi 35*4d131170SRobert Mustacchi /* 36*4d131170SRobert Mustacchi * Simple string list 37*4d131170SRobert Mustacchi */ 38*4d131170SRobert Mustacchi typedef struct _stringlist { 39*4d131170SRobert Mustacchi char **sl_str; 40*4d131170SRobert Mustacchi size_t sl_max; 41*4d131170SRobert Mustacchi size_t sl_cur; 42*4d131170SRobert Mustacchi } StringList; 43*4d131170SRobert Mustacchi 44*4d131170SRobert Mustacchi StringList *sl_init(void); 45*4d131170SRobert Mustacchi int sl_add(StringList *, char *); 46*4d131170SRobert Mustacchi void sl_free(StringList *, int); 47*4d131170SRobert Mustacchi char *sl_find(StringList *, const char *); 48*4d131170SRobert Mustacchi int sl_delete(StringList *, const char *, int); 49