1214501Srpaulo/* $OpenBSD: stringlist.h,v 1.9 2024/05/21 05:00:48 jsg Exp $ */ 2214501Srpaulo/* $NetBSD: stringlist.h,v 1.2 1997/01/17 06:11:36 lukem Exp $ */ 3214501Srpaulo 4214501Srpaulo/* 5252190Srpaulo * Copyright (c) 1994 Christos Zoulas 6252190Srpaulo * All rights reserved. 7214501Srpaulo * 8214501Srpaulo * Redistribution and use in source and binary forms, with or without 9214501Srpaulo * modification, are permitted provided that the following conditions 10214501Srpaulo * are met: 11214501Srpaulo * 1. Redistributions of source code must retain the above copyright 12252190Srpaulo * notice, this list of conditions and the following disclaimer. 13252190Srpaulo * 2. Redistributions in binary form must reproduce the above copyright 14214501Srpaulo * notice, this list of conditions and the following disclaimer in the 15214501Srpaulo * documentation and/or other materials provided with the distribution. 16214501Srpaulo * 17214501Srpaulo * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 18214501Srpaulo * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19214501Srpaulo * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20214501Srpaulo * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 21214501Srpaulo * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22214501Srpaulo * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23214501Srpaulo * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24214501Srpaulo * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25214501Srpaulo * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26214501Srpaulo * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27214501Srpaulo * SUCH DAMAGE. 28214501Srpaulo */ 29214501Srpaulo 30214501Srpaulo#ifndef SMALL 31214501Srpaulo 32214501Srpaulo#ifndef _STRINGLIST_H 33214501Srpaulo#define _STRINGLIST_H 34214501Srpaulo 35214501Srpaulo#include <sys/types.h> 36214501Srpaulo 37214501Srpaulo/* 38214501Srpaulo * Simple string list 39214501Srpaulo */ 40214501Srpaulotypedef struct _stringlist { 41214501Srpaulo char **sl_str; 42214501Srpaulo size_t sl_max; 43214501Srpaulo size_t sl_cur; 44214501Srpaulo} StringList; 45214501Srpaulo 46214501Srpaulo__BEGIN_DECLS 47214501SrpauloStringList *sl_init(void); 48214501Srpaulovoid sl_add(StringList *, char *); 49214501Srpaulovoid sl_free(StringList *, int); 50214501Srpaulo__END_DECLS 51214501Srpaulo 52214501Srpaulo#endif /* _STRINGLIST_H */ 53214501Srpaulo 54214501Srpaulo#endif /* !SMALL */ 55214501Srpaulo 56214501Srpaulo