xref: /freebsd/usr.sbin/dumpcis/main.c (revision 1d386b48a555f61cb7325543adbbb5c3f3407a66)
11de7b4b8SPedro F. Giffuni /*-
2*4d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
31de7b4b8SPedro F. Giffuni  *
4f86e6000SWarner Losh  * Copyright (c) 2006 M. Warner Losh <imp@FreeBSD.org>
50738c00eSWarner Losh  *
60738c00eSWarner Losh  * Redistribution and use in source and binary forms, with or without
70738c00eSWarner Losh  * modification, are permitted provided that the following conditions
80738c00eSWarner Losh  * are met:
90738c00eSWarner Losh  * 1. Redistributions of source code must retain the above copyright
100738c00eSWarner Losh  *    notice, this list of conditions and the following disclaimer.
110738c00eSWarner Losh  * 2. Redistributions in binary form must reproduce the above copyright
120738c00eSWarner Losh  *    notice, this list of conditions and the following disclaimer in the
130738c00eSWarner Losh  *    documentation and/or other materials provided with the distribution.
140738c00eSWarner Losh  *
150738c00eSWarner Losh  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
160738c00eSWarner Losh  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
170738c00eSWarner Losh  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
180738c00eSWarner Losh  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
190738c00eSWarner Losh  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
200738c00eSWarner Losh  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
210738c00eSWarner Losh  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
220738c00eSWarner Losh  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
230738c00eSWarner Losh  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
240738c00eSWarner Losh  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
250738c00eSWarner Losh  */
260738c00eSWarner Losh 
270738c00eSWarner Losh #include <sys/cdefs.h>
282bbc3fd5SWarner Losh #include <fcntl.h>
292bbc3fd5SWarner Losh #include <stdio.h>
302bbc3fd5SWarner Losh #include <unistd.h>
312bbc3fd5SWarner Losh #include "readcis.h"
322bbc3fd5SWarner Losh 
332bbc3fd5SWarner Losh static void
scanfile(char * name)342bbc3fd5SWarner Losh scanfile(char *name)
352bbc3fd5SWarner Losh {
362bbc3fd5SWarner Losh 	int     fd;
372d875dc5SWarner Losh 	struct tuple_list *tl;
382bbc3fd5SWarner Losh 
392bbc3fd5SWarner Losh 	fd = open(name, O_RDONLY);
402bbc3fd5SWarner Losh 	if (fd < 0)
412bbc3fd5SWarner Losh 		return;
422d875dc5SWarner Losh 	tl = readcis(fd);
432d875dc5SWarner Losh 	if (tl) {
442bbc3fd5SWarner Losh 		printf("Configuration data for file %s\n",
452bbc3fd5SWarner Losh 		    name);
462d875dc5SWarner Losh 		dumpcis(tl);
472d875dc5SWarner Losh 		freecis(tl);
482bbc3fd5SWarner Losh 	}
492bbc3fd5SWarner Losh 	close(fd);
502bbc3fd5SWarner Losh }
510738c00eSWarner Losh 
520738c00eSWarner Losh int
main(int argc,char ** argv)530738c00eSWarner Losh main(int argc, char **argv)
540738c00eSWarner Losh {
552bbc3fd5SWarner Losh 	for (argc--, argv++; argc; argc--, argv++)
562bbc3fd5SWarner Losh 		scanfile(*argv);
572bbc3fd5SWarner Losh 	return 0;
580738c00eSWarner Losh }
59