blob: 51aef406b091f276e85fa8096eb97bf5a4a97e78 [file] [log] [blame]
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00001/*
2 * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
3 * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * $Id$
29 */
30
31#ifdef HAVE_CONFIG_H
32#include "config.h"
33#endif
34
35#include <stdio.h>
36
37#ifdef STDC_HEADERS
38#include <stdlib.h>
39#endif
40
41struct ioctlent {
42 char *doth;
43 char *symbol;
44 unsigned long code;
45};
46
47#include "ioctlent.raw"
48
49int nioctlents = sizeof ioctlent / sizeof ioctlent[0];
50
51int
52compare(a, b)
53const void *a;
54const void *b;
55{
56 unsigned long code1 = ((struct ioctlent *) a)->code;
57 unsigned long code2 = ((struct ioctlent *) b)->code;
58 return (code1 > code2) ? 1 : (code1 < code2) ? -1 : 0;
59}
60
61int
62main(argc, argv)
63int argc;
64char *argv[];
65{
66 int i;
67
68 qsort(ioctlent, nioctlents, sizeof ioctlent[0], compare);
69 for (i = 0; i < nioctlents; i++) {
70 printf("{\"%s\", \"%s\", %#lx},\n",
71 ioctlent[i].doth, ioctlent[i].symbol, ioctlent[i].code);
72 }
73 return 0;
74}