unistd.awk (310B)
1 BEGIN { 2 guard = toupper("_ASM_" file) 3 gsub(/[^A-Za-z0-9_]/, "_", guard) 4 print "#ifndef " guard 5 print "#define " guard 6 print "" 7 } 8 9 $0 ~ /^[^#]+/ && $2 ~ "^(" abi ")$" { 10 if (off != "") 11 $1 = "(" off " + " $1 ")" 12 print "#define __NR_" $3, $1 13 } 14 15 END { 16 print "" 17 print "" 18 print "#endif /* " guard " */" 19 }