Print this page
3764 Semantic of nawk's print statement changed


   5 # CDDL HEADER START
   6 #
   7 # The contents of this file are subject to the terms of the
   8 # Common Development and Distribution License, Version 1.0 only
   9 # (the "License").  You may not use this file except in compliance
  10 # with the License.
  11 #
  12 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  13 # or http://www.opensolaris.org/os/licensing.
  14 # See the License for the specific language governing permissions
  15 # and limitations under the License.
  16 #
  17 # When distributing Covered Code, include this CDDL HEADER in each
  18 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  19 # If applicable, add the following below this CDDL HEADER, with the
  20 # fields enclosed by brackets "[]" replaced with your own identifying
  21 # information: Portions Copyright [yyyy] [name of copyright owner]
  22 #
  23 # CDDL HEADER END
  24 #
  25 # ident "%Z%%M% %I%     %E% SMI"
  26 #
  27 # mkterm.awk
  28 #
  29 # XCurses Library
  30 #
  31 # Copyright 1990, 1995 by Mortice Kern Systems Inc.  All rights reserved.
  32 #
  33 # $Header: /rd/src/libc/xcurses/rcs/mkterm.awk 1.12 1995/07/26 17:40:26 ant Exp $
  34 #
  35 # USAGE:
  36 #       awk -f mkterm.awk caps >term.h
  37 # 
  38 
  39 BEGIN {
  40 print "/*"
  41 print " * term.h"
  42 print " *"
  43 print " * XCurses Library"
  44 print " *"
  45 print " * **** THIS FILE IS MACHINE GENERATED."
  46 print " * **** DO NOT EDIT THIS FILE."
  47 print " *"
  48 print " * Copyright 1990, 1995 by Mortice Kern Systems Inc.  All rights reserved."
  49 print " *"
  50 printf " * $Header%s\n", "$"
  51 print " */"
  52 print
  53 print "#ifndef __term_h__"
  54 print "#define __term_h__\t1"
  55 print
  56 print "#define _XOPEN_CURSES"
  57 print
  58 print "#ifndef NCCS"
  59 print "#include <termios.h>"
  60 print "#endif"
  61 print "#ifndef STDIN_FILENO"
  62 print "#include <sys/types.h>"
  63 print "#include <unistd.h>"
  64 print "#endif"
  65 print
  66 print "#define __TERM cur_term->"
  67 }
  68 




  69 $4 == "bool" {
  70         printf "#define %-30s __TERM _bool[%d]\n", $1, BoolCount++
  71 }
  72 
  73 $4 == "number" {
  74         printf "#define %-30s __TERM _num[%d]\n", $1, NumberCount++
  75 }
  76 
  77 $4 == "str" {
  78         printf "#define %-30s __TERM _str[%d]\n", $1, StringCount++
  79 }
  80 
  81 END {
  82 print
  83 printf "#define __COUNT_BOOL\t\t%d\n", BoolCount
  84 printf "#define __COUNT_NUM\t\t%d\n", NumberCount
  85 printf "#define __COUNT_STR\t\t%d\n", StringCount
  86 print
  87 print "/*"
  88 print " * MKS Header format for terminfo database files."
  89 print " *"
  90 print " * The header consists of six short integers, stored using VAX/PDP style"
  91 print " * byte swapping (least-significant byte first).  The integers are"
  92 print " *"
  93 print " *  1) magic number (octal 0432);"
  94 print " *  2) the size, in bytes, of the names sections;"
  95 print " *  3) the number of bytes in the boolean section;"
  96 print " *  4) the number of short integers in the numbers section;"
  97 print " *  5) the number of offsets (short integers) in the strings section;"
  98 print " *  6) the size, in bytes, of the string table."
  99 print " *"
 100 print " * Between the boolean and number sections, a null byte is inserted, if"
 101 print " * necessary, to ensure that the number section begins on an even byte"
 102 print " * offset.  All short integers are aligned on a short word boundary."
 103 print " */"
 104 print
 105 print "#define __TERMINFO_MAGIC\t\t0432"
 106 print
 107 print "typedef struct {"
 108 print "\tshort magic;"
 109 print "\tshort name_size;"
 110 print "\tshort bool_count;"
 111 print "\tshort num_count;"
 112 print "\tshort str_count;"
 113 print "\tshort str_size;"
 114 print "} terminfo_header_t;"
 115 print
 116 print "/*"
 117 print " * The following __MOVE_ constants are indices into the _move[] member"
 118 print " * of a SCREEN structure.  The array is used by m_mvcur() for cursor"
 119 print " * motion costs and initialized by newterm()."
 120 print " *"
 121 print " * The following indices refer to relative cursor motion actions that"
 122 print " * have a base-cost times the distance/count."
 123 print " */"
 124 print "#define __MOVE_UP\t\t0"
 125 print "#define __MOVE_DOWN\t\t1"
 126 print "#define __MOVE_LEFT\t\t2"
 127 print "#define __MOVE_RIGHT\t\t3"
 128 print "#define __MOVE_TAB\t\t4"
 129 print "#define __MOVE_BACK_TAB\t\t5"
 130 print
 131 print "#define __MOVE_MAX_RELATIVE\t6"
 132 print
 133 print "/*"
 134 print " * These should have fixed costs."
 135 print " */"
 136 print "#define __MOVE_RETURN\t\t6"
 137 print "#define __MOVE_HOME\t\t7"
 138 print "#define __MOVE_LAST_LINE\t8"
 139 print
 140 print "/*"
 141 print " * These have worst case cost based on moving the maximum possible"
 142 print " * value for a parameter given the screen size."
 143 print " */"
 144 print "#define __MOVE_N_UP\t\t9"
 145 print "#define __MOVE_N_DOWN\t\t10"
 146 print "#define __MOVE_N_LEFT\t\t11"
 147 print "#define __MOVE_N_RIGHT\t\t12"
 148 print "#define __MOVE_ROW\t\t13"
 149 print "#define __MOVE_COLUMN\t\t14"
 150 print "#define __MOVE_ROW_COLUMN\t15"
 151 print
 152 print "#define __MOVE_MAX\t\t16"
 153 print
 154 print "/*"
 155 print " * For a cursor motion to be used there must be a base-cost of at least 1."
 156 print " */"
 157 print "#define __MOVE_INFINITY\t\t1000"
 158 print
 159 print "#define __TERM_ISATTY_IN\t0x0001\t/* Input is a terminal */"
 160 print "#define __TERM_ISATTY_OUT\t0x0002\t/* Output is a terminal */"
 161 print "#define __TERM_HALF_DELAY\t0x0004\t/* halfdelay() has priority. */"
 162 print "#define __TERM_INSERT_MODE\t0x0008\t/* Terminal is in insert mode. */"
 163 print "#define __TERM_NL_IS_CRLF\t0x8000\t/* Newline is mapped on output. */"
 164 print
 165 print "/***"
 166 print " *** Opaque data type.  Keep your grubby mits off."
 167 print " ***/"
 168 print "typedef struct {"
 169 print "\tint _ifd;\t\t\t/* Input file descriptor */"
 170 print "\tint _ofd;\t\t\t/* Output file descriptor */"
 171 print "\tstruct termios _prog;"
 172 print "\tstruct termios _shell;"
 173 print "\tstruct termios _save;"
 174 print "\tshort _co;\t\t\t/* Current colour-pair. */"
 175 print "\tunsigned short _at;\t\t/* Current attribute state. */"
 176 print "\tshort (*_pair)[2];"
 177 print "\tshort (*_color)[3];"
 178 print "\tunsigned short _flags;"
 179 print "\tchar _bool[__COUNT_BOOL];"
 180 print "\tshort _num[__COUNT_NUM];"
 181 print "\tchar *_str[__COUNT_STR];\t/* Pointers into _str_table. */"
 182 print "\tchar *_str_table;"
 183 print "\tchar *_names;\t\t\t/* Terminal alias in _str_table. */"
 184 print "\tchar *_term;\t\t\t/* TERM name loaded. */"
 185 print "\tstruct {"
 186 print "\t\tchar *_seq;"
 187 print "\t\tshort _cost;"
 188 print "\t} _move[__MOVE_MAX];"
 189 print "} TERMINAL;"
 190 print
 191 print "extern TERMINAL *cur_term;"
 192 print
 193 print "extern char *__m_boolnames[];"
 194 print "extern char *__m_boolcodes[];"
 195 print "extern char *__m_boolfnames[];"
 196 print "extern char *__m_numnames[];"
 197 print "extern char *__m_numcodes[];"
 198 print "extern char *__m_numfnames[];"
 199 print "extern char *__m_strnames[];"
 200 print "extern char *__m_strcodes[];"
 201 print "extern char *__m_strfnames[];"
 202 print
 203 print "#ifndef _XOPEN_SOURCE"
 204 print "/*"
 205 print " * Old System V array names."
 206 print " */"
 207 print "#define boolnames\t__m_boolnames"
 208 print "#define boolcodes\t__m_boolcodes"
 209 print "#define boolfnames\t__m_boolfnames"
 210 print "#define numnames\t__m_numnames"
 211 print "#define numcodes\t__m_numcodes"
 212 print "#define numfnames\t__m_numfnames"
 213 print "#define strnames\t__m_strnames"
 214 print "#define strcodes\t__m_strcodes"
 215 print "#define strfnames\t__m_strfnames"
 216 print "#endif /* _XOPEN_SOURCE */"
 217 print
 218 print "/*"
 219 print " * Exposed internal functions."
 220 print " */"
 221 print "extern int __m_putchar(int);"
 222 print "extern int __m_mvcur(int, int, int, int, int (*)(int));"
 223 print "extern int __m_read_terminfo(const char *, TERMINAL *);"
 224 print "extern int __m_setupterm(const char *, int, int, int *);"
 225 print
 226 print "/*"
 227 print " * Globals"
 228 print " */"
 229 print "extern int del_curterm(TERMINAL *);"
 230 print "extern TERMINAL *set_curterm(TERMINAL *);"
 231 print "extern int restartterm(const char *, int, int *);"
 232 print "extern int setupterm(const char *, int, int *);"
 233 print
 234 print "extern int tgetent(char *, char *);"
 235 print "extern int tgetflag(const char *);"
 236 print "extern int tgetnum(const char *);"
 237 print "extern char *tgetstr(const char *, char **);"
 238 print "extern char *tgoto(const char *, int, int);"
 239 print
 240 print "extern int tigetflag(const char *);"
 241 print "extern int tigetnum(const char *);"
 242 print "extern char *tigetstr(const char *);"
 243 print
 244 print "extern int putp(const char *);"
 245 print "extern const char *tparm("
 246 print "\tconst char *, long, long, long, long, long, long, long, long, long);"
 247 print "extern int tputs(const char *, int, int (*)(int));"
 248 print
 249 print "#ifndef _XOPEN_SOURCE_EXTENDED"
 250 print
 251 print "#define putp(str)\t\ttputs(str,1,__m_putchar)"
 252 print "#define del_term\t\tdel_curterm"
 253 print "#define setterm(t)\t\tsetupterm(t,STDOUT_FILENO,(int *) 0)"
 254 print "#define tgoto(cm,c,r)\t\ttparm((char *)(cm), (long)(r), (long)(c))"
 255 print
 256 print "#ifndef _XOPEN_SOURCE"
 257 print "#define beehive_glitch\t\tno_esc_ctrlc"
 258 print "#define teleray_glitch\t\tdest_tabs_magic_smso"
 259 print "#endif /* _XOPEN_SOURCE */"
 260 print
 261 print "#endif /* _XOPEN_SOURCE_EXTENDED */"
 262 print
 263 print "#endif /* __term_h__ */"
 264 }


   5 # CDDL HEADER START
   6 #
   7 # The contents of this file are subject to the terms of the
   8 # Common Development and Distribution License, Version 1.0 only
   9 # (the "License").  You may not use this file except in compliance
  10 # with the License.
  11 #
  12 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  13 # or http://www.opensolaris.org/os/licensing.
  14 # See the License for the specific language governing permissions
  15 # and limitations under the License.
  16 #
  17 # When distributing Covered Code, include this CDDL HEADER in each
  18 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  19 # If applicable, add the following below this CDDL HEADER, with the
  20 # fields enclosed by brackets "[]" replaced with your own identifying
  21 # information: Portions Copyright [yyyy] [name of copyright owner]
  22 #
  23 # CDDL HEADER END
  24 #


  25 # mkterm.awk
  26 #
  27 # XCurses Library
  28 #
  29 # Copyright 1990, 1995 by Mortice Kern Systems Inc.  All rights reserved.
  30 #
  31 # $Header: /rd/src/libc/xcurses/rcs/mkterm.awk 1.12 1995/07/26 17:40:26 ant Exp $
  32 #
  33 # USAGE:
  34 #       awk -f mkterm.awk caps >term.h
  35 # 
  36 
  37 BEGIN {
  38 print "/*"
  39 print " * term.h"
  40 print " *"
  41 print " * XCurses Library"
  42 print " *"
  43 print " * **** THIS FILE IS MACHINE GENERATED."
  44 print " * **** DO NOT EDIT THIS FILE."
  45 print " *"
  46 print " * Copyright 1990, 1995 by Mortice Kern Systems Inc.  All rights reserved."
  47 print " *"
  48 printf " * $Header%s\n", "$"
  49 print " */"
  50 print ""
  51 print "#ifndef __term_h__"
  52 print "#define __term_h__\t1"
  53 print ""
  54 print "#define _XOPEN_CURSES"
  55 print ""
  56 print "#ifndef NCCS"
  57 print "#include <termios.h>"
  58 print "#endif"
  59 print "#ifndef STDIN_FILENO"
  60 print "#include <sys/types.h>"
  61 print "#include <unistd.h>"
  62 print "#endif"
  63 print ""
  64 print "#define __TERM cur_term->"
  65 }
  66 
  67 /^#/ || /^$/ {
  68         next
  69 }
  70 
  71 $4 == "bool" {
  72         printf "#define %-30s __TERM _bool[%d]\n", $1, BoolCount++
  73 }
  74 
  75 $4 == "number" {
  76         printf "#define %-30s __TERM _num[%d]\n", $1, NumberCount++
  77 }
  78 
  79 $4 == "str" {
  80         printf "#define %-30s __TERM _str[%d]\n", $1, StringCount++
  81 }
  82 
  83 END {
  84 print ""
  85 printf "#define __COUNT_BOOL\t\t%d\n", BoolCount
  86 printf "#define __COUNT_NUM\t\t%d\n", NumberCount
  87 printf "#define __COUNT_STR\t\t%d\n", StringCount
  88 print ""
  89 print "/*"
  90 print " * MKS Header format for terminfo database files."
  91 print " *"
  92 print " * The header consists of six short integers, stored using VAX/PDP style"
  93 print " * byte swapping (least-significant byte first).  The integers are"
  94 print " *"
  95 print " *  1) magic number (octal 0432);"
  96 print " *  2) the size, in bytes, of the names sections;"
  97 print " *  3) the number of bytes in the boolean section;"
  98 print " *  4) the number of short integers in the numbers section;"
  99 print " *  5) the number of offsets (short integers) in the strings section;"
 100 print " *  6) the size, in bytes, of the string table."
 101 print " *"
 102 print " * Between the boolean and number sections, a null byte is inserted, if"
 103 print " * necessary, to ensure that the number section begins on an even byte"
 104 print " * offset.  All short integers are aligned on a short word boundary."
 105 print " */"
 106 print ""
 107 print "#define __TERMINFO_MAGIC\t\t0432"
 108 print ""
 109 print "typedef struct {"
 110 print "\tshort magic;"
 111 print "\tshort name_size;"
 112 print "\tshort bool_count;"
 113 print "\tshort num_count;"
 114 print "\tshort str_count;"
 115 print "\tshort str_size;"
 116 print "} terminfo_header_t;"
 117 print ""
 118 print "/*"
 119 print " * The following __MOVE_ constants are indices into the _move[] member"
 120 print " * of a SCREEN structure.  The array is used by m_mvcur() for cursor"
 121 print " * motion costs and initialized by newterm()."
 122 print " *"
 123 print " * The following indices refer to relative cursor motion actions that"
 124 print " * have a base-cost times the distance/count."
 125 print " */"
 126 print "#define __MOVE_UP\t\t0"
 127 print "#define __MOVE_DOWN\t\t1"
 128 print "#define __MOVE_LEFT\t\t2"
 129 print "#define __MOVE_RIGHT\t\t3"
 130 print "#define __MOVE_TAB\t\t4"
 131 print "#define __MOVE_BACK_TAB\t\t5"
 132 print ""
 133 print "#define __MOVE_MAX_RELATIVE\t6"
 134 print ""
 135 print "/*"
 136 print " * These should have fixed costs."
 137 print " */"
 138 print "#define __MOVE_RETURN\t\t6"
 139 print "#define __MOVE_HOME\t\t7"
 140 print "#define __MOVE_LAST_LINE\t8"
 141 print ""
 142 print "/*"
 143 print " * These have worst case cost based on moving the maximum possible"
 144 print " * value for a parameter given the screen size."
 145 print " */"
 146 print "#define __MOVE_N_UP\t\t9"
 147 print "#define __MOVE_N_DOWN\t\t10"
 148 print "#define __MOVE_N_LEFT\t\t11"
 149 print "#define __MOVE_N_RIGHT\t\t12"
 150 print "#define __MOVE_ROW\t\t13"
 151 print "#define __MOVE_COLUMN\t\t14"
 152 print "#define __MOVE_ROW_COLUMN\t15"
 153 print ""
 154 print "#define __MOVE_MAX\t\t16"
 155 print ""
 156 print "/*"
 157 print " * For a cursor motion to be used there must be a base-cost of at least 1."
 158 print " */"
 159 print "#define __MOVE_INFINITY\t\t1000"
 160 print ""
 161 print "#define __TERM_ISATTY_IN\t0x0001\t/* Input is a terminal */"
 162 print "#define __TERM_ISATTY_OUT\t0x0002\t/* Output is a terminal */"
 163 print "#define __TERM_HALF_DELAY\t0x0004\t/* halfdelay() has priority. */"
 164 print "#define __TERM_INSERT_MODE\t0x0008\t/* Terminal is in insert mode. */"
 165 print "#define __TERM_NL_IS_CRLF\t0x8000\t/* Newline is mapped on output. */"
 166 print ""
 167 print "/***"
 168 print " *** Opaque data type.  Keep your grubby mits off."
 169 print " ***/"
 170 print "typedef struct {"
 171 print "\tint _ifd;\t\t\t/* Input file descriptor */"
 172 print "\tint _ofd;\t\t\t/* Output file descriptor */"
 173 print "\tstruct termios _prog;"
 174 print "\tstruct termios _shell;"
 175 print "\tstruct termios _save;"
 176 print "\tshort _co;\t\t\t/* Current colour-pair. */"
 177 print "\tunsigned short _at;\t\t/* Current attribute state. */"
 178 print "\tshort (*_pair)[2];"
 179 print "\tshort (*_color)[3];"
 180 print "\tunsigned short _flags;"
 181 print "\tchar _bool[__COUNT_BOOL];"
 182 print "\tshort _num[__COUNT_NUM];"
 183 print "\tchar *_str[__COUNT_STR];\t/* Pointers into _str_table. */"
 184 print "\tchar *_str_table;"
 185 print "\tchar *_names;\t\t\t/* Terminal alias in _str_table. */"
 186 print "\tchar *_term;\t\t\t/* TERM name loaded. */"
 187 print "\tstruct {"
 188 print "\t\tchar *_seq;"
 189 print "\t\tshort _cost;"
 190 print "\t} _move[__MOVE_MAX];"
 191 print "} TERMINAL;"
 192 print ""
 193 print "extern TERMINAL *cur_term;"
 194 print ""
 195 print "extern char *__m_boolnames[];"
 196 print "extern char *__m_boolcodes[];"
 197 print "extern char *__m_boolfnames[];"
 198 print "extern char *__m_numnames[];"
 199 print "extern char *__m_numcodes[];"
 200 print "extern char *__m_numfnames[];"
 201 print "extern char *__m_strnames[];"
 202 print "extern char *__m_strcodes[];"
 203 print "extern char *__m_strfnames[];"
 204 print ""
 205 print "#ifndef _XOPEN_SOURCE"
 206 print "/*"
 207 print " * Old System V array names."
 208 print " */"
 209 print "#define boolnames\t__m_boolnames"
 210 print "#define boolcodes\t__m_boolcodes"
 211 print "#define boolfnames\t__m_boolfnames"
 212 print "#define numnames\t__m_numnames"
 213 print "#define numcodes\t__m_numcodes"
 214 print "#define numfnames\t__m_numfnames"
 215 print "#define strnames\t__m_strnames"
 216 print "#define strcodes\t__m_strcodes"
 217 print "#define strfnames\t__m_strfnames"
 218 print "#endif /* _XOPEN_SOURCE */"
 219 print ""
 220 print "/*"
 221 print " * Exposed internal functions."
 222 print " */"
 223 print "extern int __m_putchar(int);"
 224 print "extern int __m_mvcur(int, int, int, int, int (*)(int));"
 225 print "extern int __m_read_terminfo(const char *, TERMINAL *);"
 226 print "extern int __m_setupterm(const char *, int, int, int *);"
 227 print ""
 228 print "/*"
 229 print " * Globals"
 230 print " */"
 231 print "extern int del_curterm(TERMINAL *);"
 232 print "extern TERMINAL *set_curterm(TERMINAL *);"
 233 print "extern int restartterm(const char *, int, int *);"
 234 print "extern int setupterm(const char *, int, int *);"
 235 print ""
 236 print "extern int tgetent(char *, char *);"
 237 print "extern int tgetflag(const char *);"
 238 print "extern int tgetnum(const char *);"
 239 print "extern char *tgetstr(const char *, char **);"
 240 print "extern char *tgoto(const char *, int, int);"
 241 print ""
 242 print "extern int tigetflag(const char *);"
 243 print "extern int tigetnum(const char *);"
 244 print "extern char *tigetstr(const char *);"
 245 print ""
 246 print "extern int putp(const char *);"
 247 print "extern const char *tparm("
 248 print "\tconst char *, long, long, long, long, long, long, long, long, long);"
 249 print "extern int tputs(const char *, int, int (*)(int));"
 250 print ""
 251 print "#ifndef _XOPEN_SOURCE_EXTENDED"
 252 print ""
 253 print "#define putp(str)\t\ttputs(str,1,__m_putchar)"
 254 print "#define del_term\t\tdel_curterm"
 255 print "#define setterm(t)\t\tsetupterm(t,STDOUT_FILENO,(int *) 0)"
 256 print "#define tgoto(cm,c,r)\t\ttparm((char *)(cm), (long)(r), (long)(c))"
 257 print ""
 258 print "#ifndef _XOPEN_SOURCE"
 259 print "#define beehive_glitch\t\tno_esc_ctrlc"
 260 print "#define teleray_glitch\t\tdest_tabs_magic_smso"
 261 print "#endif /* _XOPEN_SOURCE */"
 262 print ""
 263 print "#endif /* _XOPEN_SOURCE_EXTENDED */"
 264 print ""
 265 print "#endif /* __term_h__ */"
 266 }