GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: sbin/kbd/main.c Lines: 0 14 0.0 %
Date: 2017-11-13 Branches: 0 9 0.0 %

Line Branch Exec Source
1
/*	$OpenBSD: main.c,v 1.8 2007/12/30 13:50:43 sobrado Exp $	*/
2
3
/*
4
 * Copyright (c) 1996 Juergen Hannken-Illjes
5
 * All rights reserved.
6
 *
7
 * Redistribution and use in source and binary forms, with or without
8
 * modification, are permitted provided that the following conditions
9
 * are met:
10
 * 1. Redistributions of source code must retain the above copyright
11
 *    notice, this list of conditions and the following disclaimer.
12
 * 2. Redistributions in binary form must reproduce the above copyright
13
 *    notice, this list of conditions and the following disclaimer in the
14
 *    documentation and/or other materials provided with the distribution.
15
 * 3. All advertising materials mentioning features or use of this software
16
 *    must display the following acknowledgement:
17
 *	This product includes software developed for the NetBSD Project
18
 *	by Juergen Hannken-Illjes.
19
 * 4. The name of the author may not be used to endorse or promote products
20
 *    derived from this software without specific prior written permission.
21
 *
22
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
23
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
26
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32
 * SUCH DAMAGE.
33
 */
34
35
#include <unistd.h>
36
#include <stdio.h>
37
#include <stdlib.h>
38
39
extern void kbd_list(void);
40
extern void kbd_set(char *, int);
41
42
extern char *__progname;
43
44
static void
45
usage(void)
46
{
47
	fprintf(stderr, "usage: %s -l\n", __progname);
48
	fprintf(stderr, "       %s [-q] name\n", __progname);
49
	exit(1);
50
}
51
52
int
53
main(int argc, char *argv[])
54
{
55
	char *optstring = "lq";
56
	int ch, list_tables = 0, verbose = 1;
57
58
	while ((ch = getopt(argc, argv, optstring)) != -1)
59
		switch (ch) {
60
		case 'l':
61
			list_tables = 1;
62
			break;
63
		case 'q':
64
			verbose = 0;
65
			break;
66
		default:
67
			usage();
68
		}
69
	if (argc != optind + list_tables ? 0 : 1)
70
		usage();
71
72
	if (list_tables)
73
		kbd_list();
74
	else
75
		kbd_set(argv[optind], verbose);
76
	exit(0);
77
}