xref: /freebsd/usr.sbin/dumpcis/main.c (revision 2d875dc571e55ed49d8f062f4d226a671501c73c)
10738c00eSWarner Losh /*
20738c00eSWarner Losh  * Copyright (c) 2006 M. Warner Losh.  All rights reserved.
30738c00eSWarner Losh  *
40738c00eSWarner Losh  * Redistribution and use in source and binary forms, with or without
50738c00eSWarner Losh  * modification, are permitted provided that the following conditions
60738c00eSWarner Losh  * are met:
70738c00eSWarner Losh  * 1. Redistributions of source code must retain the above copyright
80738c00eSWarner Losh  *    notice, this list of conditions and the following disclaimer.
90738c00eSWarner Losh  * 2. Redistributions in binary form must reproduce the above copyright
100738c00eSWarner Losh  *    notice, this list of conditions and the following disclaimer in the
110738c00eSWarner Losh  *    documentation and/or other materials provided with the distribution.
120738c00eSWarner Losh  *
130738c00eSWarner Losh  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
140738c00eSWarner Losh  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
150738c00eSWarner Losh  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
160738c00eSWarner Losh  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
170738c00eSWarner Losh  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
180738c00eSWarner Losh  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
190738c00eSWarner Losh  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
200738c00eSWarner Losh  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
210738c00eSWarner Losh  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
220738c00eSWarner Losh  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
230738c00eSWarner Losh  */
240738c00eSWarner Losh 
250738c00eSWarner Losh #include <sys/cdefs.h>
260738c00eSWarner Losh __FBSDID("$FreeBSD$");
270738c00eSWarner Losh 
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
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
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