Home | History | Annotate | Download | only in strace
      1 /*
      2  * Copyright (c) 1991, 1992 Paul Kranenburg <pk (at) cs.few.eur.nl>
      3  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs (at) 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: ioctlsort.c,v 1.2 2001/03/17 17:26:34 wichert Exp $
     29  */
     30 
     31 
     32 #include <stdio.h>
     33 
     34 #ifdef STDC_HEADERS
     35 #include <stdlib.h>
     36 #endif
     37 
     38 struct ioctlent {
     39 	char *doth;
     40 	char *symbol;
     41 	unsigned long code;
     42 };
     43 
     44 #include "ioctlent.raw"
     45 
     46 int nioctlents = sizeof ioctlent / sizeof ioctlent[0];
     47 
     48 int
     49 compare(a, b)
     50 const void *a;
     51 const void *b;
     52 {
     53 	unsigned long code1 = ((struct ioctlent *) a)->code;
     54 	unsigned long code2 = ((struct ioctlent *) b)->code;
     55 	return (code1 > code2) ? 1 : (code1 < code2) ? -1 : 0;
     56 }
     57 
     58 int
     59 main(argc, argv)
     60 int argc;
     61 char *argv[];
     62 {
     63 	int i;
     64 
     65 	qsort(ioctlent, nioctlents, sizeof ioctlent[0], compare);
     66 	for (i = 0; i < nioctlents; i++) {
     67 		printf("{\"%s\", \"%s\", %#lx},\n",
     68 			ioctlent[i].doth, ioctlent[i].symbol, ioctlent[i].code);
     69 	}
     70 	return 0;
     71 }
     72