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