xref: /freebsd/contrib/libarchive/unzip/bsdunzip.h (revision bd66c1b43e33540205dbc1187c2f2a15c58b57ba)
1d91bfe0fSMartin Matuska /*-
2*bd66c1b4SMartin Matuska  * SPDX-License-Identifier: BSD-2-Clause
3*bd66c1b4SMartin Matuska  *
4d91bfe0fSMartin Matuska  * Copyright (c) 2023, Martin Matuska
5d91bfe0fSMartin Matuska  * All rights reserved.
6d91bfe0fSMartin Matuska  */
7d91bfe0fSMartin Matuska 
8d91bfe0fSMartin Matuska #ifndef BSDUNZIP_H_INCLUDED
9d91bfe0fSMartin Matuska #define BSDUNZIP_H_INCLUDED
10d91bfe0fSMartin Matuska 
11d91bfe0fSMartin Matuska #if defined(PLATFORM_CONFIG_H)
12d91bfe0fSMartin Matuska /* Use hand-built config.h in environments that need it. */
13d91bfe0fSMartin Matuska #include PLATFORM_CONFIG_H
14d91bfe0fSMartin Matuska #else
15d91bfe0fSMartin Matuska /* Not having a config.h of some sort is a serious problem. */
16d91bfe0fSMartin Matuska #include "config.h"
17d91bfe0fSMartin Matuska #endif
18d91bfe0fSMartin Matuska 
19d91bfe0fSMartin Matuska #include <archive.h>
20d91bfe0fSMartin Matuska #include <archive_entry.h>
21d91bfe0fSMartin Matuska 
22d91bfe0fSMartin Matuska struct bsdunzip {
23d91bfe0fSMartin Matuska 	/* Option parser state */
24d91bfe0fSMartin Matuska 	int		  getopt_state;
25d91bfe0fSMartin Matuska 	char		 *getopt_word;
26d91bfe0fSMartin Matuska 
27d91bfe0fSMartin Matuska 	/* Miscellaneous state information */
28d91bfe0fSMartin Matuska 	int		  argc;
29d91bfe0fSMartin Matuska 	char		**argv;
30d91bfe0fSMartin Matuska 	const char	 *argument;
31d91bfe0fSMartin Matuska };
32d91bfe0fSMartin Matuska 
33d91bfe0fSMartin Matuska enum {
34d91bfe0fSMartin Matuska 	OPTION_NONE,
35d91bfe0fSMartin Matuska 	OPTION_VERSION
36d91bfe0fSMartin Matuska };
37d91bfe0fSMartin Matuska 
38d91bfe0fSMartin Matuska int bsdunzip_getopt(struct bsdunzip *);
39d91bfe0fSMartin Matuska 
40058ab969SMartin Matuska extern int bsdunzip_optind;
41058ab969SMartin Matuska 
42d91bfe0fSMartin Matuska #endif
43