#!/bin/sh # $NetBSD: mkioctls,v 1.19 2004/06/22 17:30:52 christos Exp $ # # Copyright (c) 1994 # The Regents of the University of California. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by the University of # California, Berkeley and its contributors. # 4. Neither the name of the University nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # @(#)mkioctls 8.2 (Berkeley) 4/28/95 # echo "/* Automatically generated file, do not edit! */" echo "#define const" # XXX: timepps lossage echo "struct ap_control { int _xxx; };" # XXX: ip_nat.h lossage echo "#define COMPAT_43" echo "struct lwp;" echo "struct videomemory_t { int _xxx; };" # XXX arm video lossage echo "typedef struct videomemory_t videomemory_t;" # XXX arm video lossage echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " echo "#include " for i do echo "#include <$i>" done | sed -e "s,${DESTDIR}/usr/include/,,g" ${CC:-cc} -E -nostdinc -idirafter $DESTDIR/usr/include -dM ${1+"$@"} | awk ' BEGIN { keep["SLIOCGUNIT"] = 1; # Same as PPPIOCGASYNCMAP keep["TUNSLMODE"] = 1; # Same as PPPIOCGASYNCMAP keep["SIOCRMNAT"] = 1; # Same as SIOCRMAFR keep["SIOCADNAT"] = 1; # Same as SIOCADAFR keep["SIOCDELST"] = 1; # Same as SIOCRMNAT keep["CHIOGPICKER"] = 1; # Same as CDIOREADTOCHEADER print "" print "char *ioctlname __P((long));" print "" print "char *" print "ioctlname(val)" print "\tlong val;" print "{" print "" print "\tswitch (val) {\n" } /^#[ ]*define[ ]*[A-Z]*[ ]*_IO/ { # find where the name starts for (i = 1; i <= NF; i++) if ($i ~ /define/) break; ++i; printf("/* %s [%s] */\n", $0, $i); # if ($i ~ /^[A-Z0-9a-z_]*$/) { if (keep[$i] != 1) { printf("\tcase %s:\n\t\treturn \"%s\";\n", $i, $i); keep[$i] = 1; } } } END { print "\tdefault:\n\t\treturn NULL;\n" print "\t}\n" print "}" } '