syscallhdr.sh 644 B

12345678910111213141516171819202122232425262728
  1. #!/bin/sh
  2. in="$1"
  3. out="$2"
  4. my_abis=`echo "($3)" | tr ',' '|'`
  5. prefix="$4"
  6. offset="$5"
  7. fileguard=_ASM_X86_`basename "$out" | sed \
  8. -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
  9. -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
  10. grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
  11. echo "#ifndef ${fileguard}"
  12. echo "#define ${fileguard} 1"
  13. echo ""
  14. while read nr abi name entry ; do
  15. if [ -z "$offset" ]; then
  16. echo "#define __NR_${prefix}${name} $nr"
  17. else
  18. echo "#define __NR_${prefix}${name} ($offset + $nr)"
  19. fi
  20. done
  21. echo ""
  22. echo "#endif /* ${fileguard} */"
  23. ) > "$out"