123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- #! /usr/bin/awk -f
- # $NetBSD: devlist2h.awk,v 1.2 1998/09/05 14:42:06 christos Exp $
- #-
- # SPDX-License-Identifier: BSD-2-Clause-NetBSD AND BSD-4-Clause
- #
- # Copyright (c) 1998 The NetBSD Foundation, Inc.
- # All rights reserved.
- #
- # This code is derived from software contributed to The NetBSD Foundation
- # by Christos Zoulas.
- #
- # 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.
- #
- # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- #
- # Copyright (c) 1995, 1996 Christopher G. Demetriou
- # 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 model includes software developed by Christopher G. Demetriou.
- # This model includes software developed by Christos Zoulas
- # 4. The name of the author(s) may not be used to endorse or promote models
- # derived from this software without specific prior written permission
- #
- # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
- #
- # $FreeBSD$
- #
- function collectline(f, line) {
- oparen = 0
- line = ""
- while (f <= NF) {
- if ($f == "#") {
- line = line "("
- oparen = 1
- f++
- continue
- }
- if (oparen) {
- line = line $f
- if (f < NF)
- line = line " "
- f++
- continue
- }
- line = line $f
- if (f < NF)
- line = line " "
- f++
- }
- if (oparen)
- line = line ")"
- return line
- }
- BEGIN {
- nmodels = nouis = 0
- hfile="miidevs.h"
- }
- NR == 1 {
- VERSION = $0
- gsub("\\$", "", VERSION)
- printf("/* \$FreeBSD\$ */\n\n") > hfile
- printf("/*\n") > hfile
- printf(" * THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.\n") \
- > hfile
- printf(" *\n") > hfile
- printf(" * generated from:\n") > hfile
- printf(" *\t%s\n", VERSION) > hfile
- printf(" */\n") > hfile
- next
- }
- $1 == "oui" {
- nuios++
- ouiindex[$2] = nouis; # record index for this name, for later.
- ouis[nouis, 1] = $2; # name
- ouis[nouis, 2] = $3; # id
- printf("#define\tMII_OUI_%s\t%s\t", ouis[nouis, 1],
- ouis[nouis, 2]) > hfile
- ouis[nouis, 3] = collectline(4, line)
- printf("/* %s */\n", ouis[nouis, 3]) > hfile
- next
- }
- $1 == "model" {
- nmodels++
- models[nmodels, 1] = $2; # oui name
- models[nmodels, 2] = $3; # model id
- models[nmodels, 3] = $4; # id
- printf("#define\tMII_MODEL_%s_%s\t%s\n", models[nmodels, 1],
- models[nmodels, 2], models[nmodels, 3]) > hfile
- models[nmodels, 4] = collectline(5, line)
- printf("#define\tMII_STR_%s_%s\t\"%s\"\n",
- models[nmodels, 1], models[nmodels, 2],
- models[nmodels, 4]) > hfile
- next
- }
- {
- print $0 > hfile
- }
|