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