Annotation of sys/dev/onewire/devlist2h.awk, Revision 1.1
1.1 ! nbrk 1: # $OpenBSD: devlist2h.awk,v 1.4 2007/02/28 22:31:32 deraadt Exp $
! 2:
! 3: #
! 4: # Copyright (c) 2006 Alexander Yurchenko <grange@openbsd.org>
! 5: #
! 6: # Permission to use, copy, modify, and distribute this software for any
! 7: # purpose with or without fee is hereby granted, provided that the above
! 8: # copyright notice and this permission notice appear in all copies.
! 9: #
! 10: # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
! 11: # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
! 12: # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
! 13: # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
! 14: # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
! 15: # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
! 16: # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
! 17: #
! 18:
! 19: BEGIN {
! 20: hfile = "onewiredevs.h"
! 21: dfile = "onewiredevs_data.h"
! 22: }
! 23:
! 24: NR == 1 {
! 25: VERSION = $0
! 26: gsub("\\$", "", VERSION)
! 27:
! 28: printf("/*\t\$OpenBSD\$\t*/\n\n" \
! 29: "/*\n * THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.\n" \
! 30: " *\n * Generated from:\n *\t%s\n */\n\n", VERSION) > hfile
! 31:
! 32: printf("/*\t\$OpenBSD\$\t*/\n\n" \
! 33: "/*\n * THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.\n" \
! 34: " *\n * Generated from:\n *\t%s\n */\n\n", VERSION) > dfile
! 35:
! 36: printf("struct onewire_family {\n") > dfile
! 37: printf("\tint\t\tof_type;\n") > dfile
! 38: printf("\tconst char\t*of_name;\n") > dfile
! 39: printf("};\n\n") > dfile
! 40:
! 41: printf("static const struct onewire_family " \
! 42: "onewire_famtab[] = {\n") > dfile
! 43: }
! 44:
! 45: $1 == "family" {
! 46: printf("#define ONEWIRE_FAMILY_%s\t%s\n", toupper($2), $3) > hfile
! 47: printf("\t{ ONEWIRE_FAMILY_%s, \"", toupper($2)) > dfile
! 48:
! 49: f = 4
! 50: while (f <= NF) {
! 51: if (f > 4)
! 52: printf(" ") > dfile
! 53: printf("%s", $f) > dfile
! 54: f++
! 55: }
! 56: printf("\" },\n") > dfile
! 57: next
! 58: }
! 59:
! 60: END {
! 61: printf("\t{ 0, NULL }\n};\n") > dfile
! 62: }
CVSweb